欧姆龙plc网络与通讯

1、引言
近年来,plc的网络应用日益广泛,组成更高级的集散控制系统甚至整个工厂的自动化,已成为工业现代化的趋势,实现远程连接和通信成为了plc的基本性能之一。而plc网络结构复杂,技术难度大,投资较高,给用户在开发应用造成了一定的困难。omron公司的plc较早投入我国市场,在我国工控领域应用较为广泛,掌握其plc的网络技术和通信方法,对进一步推广plc的应用,提高工厂自动化水平具有较大的现实意义。
2、omronplc网络
欧姆龙plc的网络分为三层:ethernet网、controllerlink控制器网、compobus/d与compobus/s元器件网,其三层网络控制平台如图1所示。
图1omronplc三层网络
2.1ethernet网
ethernet网络即所说的以太网,它是工厂自动化领域用于信息管理层上的网络,它的通信速率高,可达100mbps,以太网模块使plc可以作为工厂局域网的一个节点,网络上的任何一台计算机都可以实现对它的控制。在omron的plc中,中型机以上的plc才能上以太网,通常有三种机型,cs1系列、cv系列、和c200h系列。在cs1系列和cv系列上分别直接装ethernet单元cs1w-etn01/11、cv500-etn01,而在c200hα上除了必须安装pc卡单元(c200hw-pcs01)外,还必须配置通信板(c200hw-com01/04),并用总线单元将pc卡单元与通信板连接起来。omronplc的ethernet网具有以下功能:
远程编程和监控:在连接到ethernet网络的计算机上运行cx-programmer可以对所有连接的ethernet网络上的plc进行编程和监控。
fins信息服务:在plc之间和plc与计算机之间发送fins信息,使用ethernetfinsgateway能够不必编写fins指令程序而直接管理信息。
socket服务:由windows提供一组函数,允许用户程序直接调用及使用tcp和udp协议,在ethernet网上进行数据传输。
ftp服务:使用ftp在cpu单元的存储卡和计算机存储器之间传送文件。
email服务:当在出错或在预定的时间内,一个标志变为on,此时从plc向上位机发送电子邮件。
网络间通信:处在网络上的不同节点可以通过网关通信,通过fins指令可实现跨网络的连接。plc通过使send、recv、cmnd指令跨网并与其它plc进行通信,网间通信限制在三级网络内进行。omronplc的ethernet网的主要技术指标如表1所示。
表1ethernet网的主要技术指标
2.2controllerlink控制器网
controllerlink控制器网能够在工厂现场以一种全功能的fa网络形式连接plc,controllerlink是一种令牌总线网,可以在omron的cs1/cv/c200hx系列plc和计算机之间方便灵活地发送和接收大容量的数据包,它支持能共享数据的数据链接和在需要时发送和接收数据的信息服务,数据链接区域能自由设置以建立灵活的数据链接系统。controllerlink网具有以下功能:
数据链接:在plc之间以及plc和上位计算机之间,能够柔性的创建大容量数据链接,使用controllerlinkfinsgateway能够在应用层上管理数据链接,无需梯形图。i/o、链接区、数据存储器区和扩展数据存储器区均可作为发送或接收区。
远程编程和监控:通过与rs-232c链接,controllerlink网络上能够使用cx-programmer进行编程和监控plc。
fins通信服务:在plc和上位计算机之间实现大容量数据传送,controllerlinkfinsgateway能够在应用层上管理数据链接,而不必编写fins指令程序。
信息服务:可以对特定节点进行读写数据、改变操作模式等操作,通过在程序中执行send/recv指令发送和接收数据,通过cmnd指令发送fins命令执行读写操作。
esa功能:实时监控网络的状态,当网络上产生错误时,eas可记录和显示错误发生的时间和错误信息。controllerlink控制器网的主要技术指标如表2所示。
表2controllerlink控制器网的主要技术指标
2.3compobus/d网络
compobus/d是omron的一种开放、多主控的设备网,开放性是其特色,采用devicenet的通信协议。其它厂家的设备,只要符合devicenet的标准,就可以接入其中,是一种控制功能齐全、配置灵活、实现方便的分散控制网络。compobus/d的主要功能有:
远程i/o通信:无需编写特殊的程序,装有主单元plc的cpu可以直接读写i/o,从单元的i/o点现实远程控制。
信息通信:安装主单元的plc在cpu单元里执行特殊指令(send、recv、cmnd和iowr)可以向其它主单元、从单元、甚至其它公司的设备读写信息,控制它们的运行。compobus/d的通信标准如表3。
表3compobus/d的通信标准
2.4compobus/s网络
compobus/s网络是一种主从式总线结构的控制网络,它的响应速度快,实时性强,实现简便,可以对远程的i/o实现分散控制。该系统由一台plc(cs1、cqm1h、c200hα)带compobus/s主站模块或一台srm1主控单元作为主站,一个主单元最多可带32个远程从站单元,控制256个输入输出点。接16台从站单元、128点输入输出点时可达到0.5ms的高速通信。compobus/s通信系统具有以下特点:
主干线远距离通信:新增了远距离通信模式,允许主干线的通信距离达到500m。
丰富的主站和从站单元:有c200hw-srm21-v1、cqm1-srm21-v1、srm-c0-v2主站单元和srt2系列的从站单元,支持高速通信和远距离通信。
高速通信:在高速通信方式下,接16台从站单元,128点控制时,可实现0.5ms的快速通信。
配线简单:主单元和从站单元间、从单元和从单元间可用4线制电缆连接,其中2根为信号线,2根为电源线,从而大幅度减少了配线。compobus/s通信参数如表4所示。
表4compobus/s通信参数
3、plc与上位计算机之间的通信
在计算机与plc构成的集散控制系统中,多数是由一台计算机与数台plc形成1:n的通信模式。该模式系统中plc负责现场高速数据采集、实现逻辑、定时、计数、pid调节等控制任务并通过串行通信口向上位计算机传送plc工作状态及有关数据,从而实现计算机对控制系统的管理。plc与上位计算机之间通信的准确、可靠、高效率是集散控制系统的关键所在。
3.1plc与上位机的链接方式
plc与上位计算机形成1:n通信模式有两种连接方式:
方式一
方式二
方式一较少使用连接适配器,也不用信号转换,但若中间某一台plc出故障,其后的plc将无法与上位机通信;方式二使用了信号转换模块,当某一台plc出故障不影响其它plc通信。
3.2plc与上位机的通信过程
通信开始先由上位机依次向网内的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区不起作用。每条指令都以标识号(unitnumber)和操作码/头(header)开始,以校验码(fcs)和结束标志(terminator)结束。
帧发送时,fcs置于结束符前以检查是否发生数据错误。fcs是转换成2个ascⅱ字符的8位数据,这个8位数据对帧开始的数据直到此帧正文结束的数据进行“异或”运算的结果。fcs检查程序如下:
400*fcscheck
410l=len(response$)’
420q=0:fcsck$=“”
430a$=right$(response$,1)
440printresponse$,as,l
450ifa$=“*”thenlengs=len(response$)-3
elselengs=len(response$)-2
460fcsp$=mid(response$,lengs+1,2)’
470fori=1tolengs’
480q=asc(mid$(response$,i,1))xorq
490nexti
500fcsd$=hex$(q)
510iflen(fcsd$)=1,then,fcsd$=”0”+fcsd$’
520iffcss$<>fcsp$,thenfcsck$=“err”
530print“fcsd$=”;fcsd$,“fcsp$=”;fcsp$,“fcsck$=”;fcsck$
540return
帧发送检查格式如图3.4所示。
图3.4帧发送检查
3.3plc与上位计算机通信程序
上位机通信软件是用vb开发的。vb具有强大的图形显示功能,可以容易开发出界面良好的图形用户界面,同时vb还提供了串行端口控件mscomm,程序员在利用该控件时,只需设置、监视其属性和事件,即可完成对串口初始化和数据的传输工作。通信程序如下:
subformlload()
mscomml.comport=1
mscomml.settings=“9600,n,8,1”
endsub
subcommandlclick
mscomml.inputlen=0
ifmscomml.portopen=falsethen
mscomml.portopen=true
endif
fori=1ton;n为网络系统中的plc个数
ifi<10then
s$=“@”+“0”+str$(i)+“ts”+“abcd”
else
s$=“@”+str$(i)+“ts”+“abcd”;abcd为测试字符
endif
……;
mscomml.lutprt=sedate$
timer1on=false
timerl.enable=true
dountil(mscomml.inbuffercount<>0)
or(timer1on=true)
domy=doevents()
loop
timer1.enable=false
……
redata,$=msconmml.input
ifrdata$=sedate$
……;转入正常通信数据处理
else
labell.cation=str$(i)+“测试通信失败,检查线睡后再测试”
endif
endsub
4、结束语
omronplc已广泛应用于工业过程控制,随着网络技术的不断提高和推广,plc的控制能力和控制范围从设备级的控制发展到生产线级的控制乃至工厂级的控制。大力推广plc的网络技术,必将加快我国工业企业向自动化、智能化发展的步伐。