丰富的主站和从站单元:有C200HW-SRM21-V1、CQM1-SRM21-V1、SRM-C0-V2主站单元和SRT2系列的从站单元,支持高速通信和远距离通信。
高速通信:在高速通信方式下,接16台从站单元,128点控制时,可实现0.5ms的快速通信。
配线简单:主单元和从站单元间、从单元和从单元间可用4线制电缆连接,其中2根为信号线,2根为电源线,从而大幅度减少了配线。Compo BUS/S通信参数如表4所示。
表4 Compo BUS/S通信参数
3、 PLC与上位计算机之间的通信
在计算机与PLC构成的集散控制系统中,多数是由一台计算机与数台PLC形成1:N的通信模式。该模式系统中PLC负责现场高速数据采集、实现逻辑、定时、计数、PID调节等控制任务并通过串行通信口向上位计算机传送PLC工作状态及有关数据,从而实现计算机对控制系统的管理。PLC与上位计算机之间通信的准确、可靠、高效率是集散控制系统的关键所在。
3.1 PLC与上位机的链接方式
PLC与上位计算机形成1:N通信模式有两种连接方式:
方式一
方式二
方式一较少使用连接适配器,也不用信号转换,但若中间某一台PLC出故障,其后的PLC将无法与上位机通信;方式二使用了信号转换模块,当某一台PLC出故障不影响其它PLC通信。
3.2 PLC与上位机的通信过程
通信开始先由上位机依次向网内的PLC发出一串测试帧命令,PLC接到上位机的完整帧后,首先判断是不是自己的代号,若不是就不予理睬,若是则发送回答信号。上位机接到回答信号后,与发送测试数据比较,若两者无误,发出可以进行数据通信的信号,转入正常的数据通信。上位机与PLC实施链接通信,上位机具有优先发送权,每发送完一帧发送权就在上位机与PLC之间轮换。当收到结束符或分界符时,发送权从发送单元传给接收单元。其帧发送与接收如图3.2所示。
图3.2 上位机与PLC间的帧发送与接收
上位机发出命令格式和PLC响应格式如下图:
@: 帧开始标志
节点号:通信网络中每一台PLC被分配给的唯一番号
标题号:该帧的通信命令码
结束码:返回命令的完成状态
正 文:设置命令参数
FCS: 帧校验顺序代码
结束符:命令结束
通信参数设置为:波特率9600bps,数据格式由DM0902/DM1920的第00-07位和DM0921/DM1921共同设定,默认方式时DM0902/DM1920的第00-07位的值为00000000,此时DM0921/DM1921区不起作用。每条指令都以标识号(Unit Number)和操作码/头(Header)开始,以校验码(FCS)和结束标志(Terminator)结束。
帧发送时,FCS置于结束符前以检查是否发生数据错误。FCS是转换成2个ASCⅡ字符的8位数据,这个8位数据对帧开始的数据直到此帧正文结束的数据进行“异或”运算的结果。FCS检查程序如下:
400 *FCSCHECK
410 L=LEN(RESPONSE$)’
420 Q = 0:FCSCK $ = “ ”
430 A$ = RIGHT $ (RESPONSE $ ,1)
440 PRINT RESPONSE $ , AS, L
450 IF A $ = “*” THEN LENGS = LEN(RESPONSE $) -3
ELSE LENGS = LEN(RESPONSE $) -2
460 FCSP $ =MID(RESPONSE $, LENGS+1,2)’
470 FOR I = 1 TO LENGS’
480 Q = ASC (MID $ (RESPONSE $,I,1)) XOR Q
490 NEXT I
500 FCSD $ =HEX $ (Q)
510 IF LEN (FCSD $) =1,THEN, FCSD $ =”0”+FCSD $’
520 IF FCSS $ 《 》FCSP $ , THEN FCSCK $ = “ERR”
530 PRINT “FCSD $ =” ; FCSD $ , “FCSP $ =” ; FCSP $ , “FCSCK $ =”; FCSCK $
540 RETURN
帧发送检查格式如图3.4所示。
图3.4 帧发送检查
3.3 PLC与上位计算机通信程序
上位机通信软件是用VB开发的。VB具有强大的图形显示功能,可以容易开发出界面良好的图形用户界面,同时VB还提供了串行端口控件 MSCOMM,程序员在利用该控件时,只需设置、监视其属性和事件,即可完成对串口初始化和数据的传输工作。通信程序如下:
Sub forml load ( )
Mscomml. Comport = 1
Mscomml. Settings = “9600,n,8,1”
End sub
Sub commandl click
Mscomml. Inputlen = 0
If mscomml. Portopen = false then
Mscomml. Portopen = true
End if
For I = 1 to N ;N为网络系统中的PLC个数
If i《10 then
S $ = “@” + “0” +str $ (i) + “ts” + “abcd”
Else
S $ = “@” + str $ (i) + “ts” + “abcd”;abcd 为测试字符
Endif
……;
Mscomml. Lutprt =sedate $
Timer 1 on = false
Timer l. Enable = true
Do until (mscomml.inbuffercount 《 》 0)
Or (timer 1 on = true )
Domy = doevents( )
Loop
Timer 1.enable = false
……
Redata,$ = msconmml. Input
If rdata $ = sedate $
…… ; 转入正常通信数据处理
Else
Labell. Cation = str $ ( i ) + “测试通信失败,检查线睡后再测试”
Endif
Endsub
4、 结束语
OMRON PLC已广泛应用于工业过程控制,随着网络技术的不断提高和推广,PLC的控制能力和控制范围从设备级的控制发展到生产线级的控制乃至工厂级的控制。大力推广PLC的网络技术,必将加快我国工业企业向自动化、智能化发展的步伐。
转载请注明出处。