关键词:程序控制器PLC; 现场总线CAN-bus; 虚拟串口; CAN232MB 转换器; PC-CAN 接口卡
1 PLC 特点与PLC 网络
可编程控制器简称PLC(Programmable Logic Controller),是一种数字控制专用电子计算机,它使用了可修改的程序存储器储存指令,执行诸如逻辑、顺序、计时、计数与演算等功能,并通过模拟和数字输入、输出等功能组件,控制各种机械或工作程序。长期以来,PLC一直在各个行业的自动化控制领域得到广泛的使用,为各种各样的自动化设备提供了非常可靠的控制应用。
PLC 系统的工作任务相对简单,且需要传输的数据量一般不会太大,所以常见的PLC系统为一层网络结构。PLC 一般应用在小型自控场所,比如设备的控制或少量模拟量的控制及联锁。小范围的集中式控制环境是PLC 发挥功能的最佳舞台。
目前,只有少量型号的PLC 集成有以太网Ethernet 或现场总线CAN-bus 通讯接口,价格也较昂贵;一般常见PLC 型号没有随本机集成通讯功能,不便于组建多台PLC 构成的中型控制网络。但是,随着应用技术的发展,经常会出现一些应用场合,在面积较大的范围内,需要n 台PLC 协同完成一个系统的综合控制。此时,原有集中控制的单一PLC 控制方案就显得无可奈何,PLC 网络的需求也应运而生。
本文提出了一种基于现场总线CAN-bus 的PLC 网络方案,能够对多台联网的PLC 实现远程配置、数据通信,并能够在投入较低硬件成本的基础上,实现良好的系统运行性能。这个方案也充分发挥了现场总线CAN-bus 的通信特点:实时、可靠、高速、远距离、易维护等。此方案是现场总线技术与集中控制技术的有机结合,联网后的PLC 网络可以构成一个性能优秀的DCS 系统;用户在同一个主控制器上可以远程监控、改变任何一台联网PLC 的程序或状态。
2 PLC 网络的几种方式
通用PLC 一般都会提供1~2 个RS-232 标准或RS-485 标准的通讯端口,用于与其他控制设备或主控制器PC 通讯;这些集成的通讯端口支持自行规定的通讯协议,或者Modbus协议,实现PLC 设备的通讯与配置。构建PLC 网络,即利用PLC 本机的这一类通讯端口,将其扩展成为能够与多台设备联网,实现多点通讯的现场总线CAN-bus 通讯接口。
根据网络中主控制器的不同,PLC 网络可以分为以下方式:
●多台PLC 联网,各PLC 地位平等,可外扩HMI 人机界面。
●多台PLC 联网,由1 台工控PC 作为主控制器与操作界面。
下面将分别描述,从应用区别、硬件配置、软件设置等方面加以说明。
2.1 多台PLC 串行联网
通过一个RS-232/RS-485 转CAN-bus 网关进行信号转换,独立PLC 就具有了现场总线CAN-bus 通讯接口。多台具有现场总线CAN-bus 通讯接口的PLC 之间相互连接,即可以组建PLC 网络。
每一台连接PLC 单元的RS-232/RS-485 转CAN-bus 网关都可以设定一个独立的设备ID号,长度为11 位或29 位,用作为该PLC 单元的地址。每一台联网的PLC 单元在发送数据时,可设定在数据流中自动添加本地网关的设备ID 号;同理,每一台PLC 单元在接收数据时,可设定由网关检查数据流中的设备ID 号,自动接收符合要求的数据。
通过上述方式组建的PLC 网络,各台PLC 地位平等,任何一台PLC 均可以主动发起数据通讯,由CAN-bus 网关起硬件自动仲裁作用,保障每一次通讯的数据不丢失;网络中的PLC 数量不受限制,数百、上千台PLC 都可以连接在同一现场总线CAN-bus 网络中。同时,这个PLC 网络中还可以连接具有CAN-bus 通讯接口的HMI 人机界面,或由其中一台PLC通过其他的串行通讯端口连接HMI 人机界面。
这种方式建立的PLC 网络如图 1 所示。
图 1 多台PLC 串行联网
采用这种方式组建PLC 网络,与选择集成CAN-bus 通讯功能的PLC 设备相比,具有更加灵活的系统扩展能力,也能够获得更好的性价比。
2.2 多台PLC 与工控PC 并行联网
工控PC 能够深入地配合PLC 厂商提供的各种软件,从而实现更多强大的功能,比如系统配置、人机界面、组态开发等,在PLC 领域的作用也越来越不可或缺。通常,工控PC与单台PLC 通过1 个串口连接通讯,实现各种扩展功能;但串口的通讯距离、节点数量都受到了串口本身的性能限制。比如,RS-232 标准只可以实现“点-点”通讯,RS-485/422标准能够实现32 个节点以内的通讯,但通讯距离、抗干扰能力都比较弱,并不能够满足实际工业现场多台PLC 联网应用的需求。
工控PC 内置PC-CAN 接口卡,可以建立起1 条或者多条现场总线CAN-bus 网络,并通过连接在CAN-bus 网络中的网关RS-232/RS-485 转CAN-bus 转换器,借助于CAN-bus 网络配套的“虚拟串口”软件,建立多达2047 个标准的串行通讯端口,从而连接多达2047条串行网络。也就是说,可以在同1 条普通双绞线上连接多达2047 台PLC 设备,工控PC访问连接在这条CAN-bus 网络上的PLC 设备,也与操作标准串口完全一致。这种方式可以充分发挥工控PC 的作用,通讯效率也比较高。
通过工控PC 组建多台PLC 网络的系统结构如图 2 所示。按这一种方式的建立PLC 网
络的通讯效率较高,应用灵活,是一般PLC 网络建设的主流方向。
图 2 多台PLC 与工控PC 并行联网
3 PLC 网络的硬件组成与连接
建立PLC 网络,除了实现具体功能的PLC 设备,还需要一些建立现场总线CAN-bus网络的设备,主要有RS-232 转CAN-bus 网关、PC-CAN 接口卡等。下面将简要介绍一下这些设备。
3.1 RS-232 转CAN-bus 网关
CAN232MB 转换器即一种常用型号的RS-232 转CAN-bus 网关。
CAN232MB 转换器集成有1 个RS-232 通道、1 个CAN-bus 通道,可以很方便地连接到PLC 设备的RS-232 标准通讯端口,使PLC 设备具有与现场总线CAN-bus 网络通讯的能力。CAN232MB 转换器提供三种工作模式——透明转换、透明带标识转换、Modbus 协议转换,分别可以支持不同通讯协议的PLC 设备。
CAN232MB 转换器的RS-232 通道支持多种通讯波特率,范围是600bps~115200bps。CAN-bus 通道支持国际主流的15 种标准通讯波特率,也支持用户自定义波特率,波特率范围为5Kbps~1Mbps。CAN232MB 转换器内设1024 字节的数据缓冲区;一般工作模式中,用户可以软件设定CAN232MB 转换器的CAN-bus 通讯波特率为RS-232 波特率的2 倍以上,用以保证大批量数据传输时数据缓冲区不致溢出。
通过PC 配置软件,CAN232MB 转换器可设定一个独立的11 位或29 位设备ID 号,可以用作为该网关所连接PLC 设备的地址编号,并对往来串口的数据流加以标注或识别。
CAN232MB 转换器满足工业级温度范围(-40℃~+85℃),内置硬件双看门狗,能够在恶劣的工作环境中连续运行。
图 3 CAN232MB 转换器
对于只集成有RS-485/422 通讯端口的PLC 设备,可以选择RS-485 转CAN-bus 网关;类似的产品型号有CAN485MB 转换器,基本功能与CAN232MB 转换器一致。
3.2 PC-CAN 接口卡
工控PC 内置或外接PC-CAN 接口卡,可以令工控PC 具有现场总线CAN-bus 通讯接口,从而成为CAN-bus 网络中的一个主要功能节点。
根据与PC 连接方式的不同,PC-CAN 接口卡可以分为很多种不同的类型,常见的型号有PCI-CAN 接口卡、ISA-CAN 接口卡、PC104-CAN 接口卡、USBCAN 接口卡、以太网转CAN 接口卡,等等。根据型号的不同,同一个PC-CAN 接口卡可以集成1~4 个CAN-bus通道,同一PC 可以连接多达8 块PC-CAN 接口卡,从而可以使同一台PC 连接多个现场总线CAN-bus 网络。
PC-CAN 接口卡一般都提供有强大的软件支持,其中包括CAN-bus 测试工具、多语言版本(VC++、VB、Delphi、C++Builder)的API 开发例程,也提供有支持组态开发的OPC 服务器软件,方便用户针对不同的产品项目开发具体的应用程序。另外,支持工控PC 与多台PLC 联网的“虚拟串口服务器”软件可以令用户在不用修改原有PC 软件的基础上,开发新项目的实际应用。
根据不同的应用场合、参数需求,可以有多种不同型号的PC-CAN 接口卡适用。图 4为一些经常使用的PC-CAN 接口卡。
图 4 常见型号的PC-CAN 接口卡
3.3 通讯附件
通讯电缆是现场总线CAN-bus 网络的重要组件。通讯电缆的合理选择,对CAN-bus 网络的通讯距离也有非常重要的影响。
使用国标AWG18(截面积为Φ0.75 mm2)的普通双绞线作为CAN-bus 网络的通讯电缆,一般可以保证在1Km 距离下实现可靠通讯;使用截面积为Φ1.5 mm2 的普通双绞线,则可以达到6~7Km 的通讯距离。通常,随通讯距离的加长,需要适当加大通讯电缆线的截面积。
现场总线CAN-bus 网络在布线时,必须注意终端电阻的连接。主干线的最远两端必须各连接一个120Ω 的终端电阻,对于主干线上的其它任何CAN-bus 节点设备,则不用接终端电阻;如果使用了CANbridge 网桥分割成多个物理独立的CAN-bus 子网,同样要在每个CAN-bus 子网的最远两端各接一个120Ω 的终端电阻。
另外,CAN-bus 网络的分支线不宜过长,建议每一条连接PLC 设备的分支线长度小于3 米;为保障可靠的连接,分支线宜采用焊接或紧密绞接的方式,以保障CAN-bus 网络中的等效阻抗不超出允许的范围。
4 PLC 网络的软件配置与设置
连接PLC 设备的RS-232 转CAN-bus 网关需要配置一些运行参数,以保障PLC 网络中的每一台PLC 设备都可以正常运行。配置参数包括网关的运行方式、RS-232 通讯波特率、CAN-bus 通讯波特率、设备ID 号等。
我们以组建一个OMRON 公司多台PLC 设备的PLC 网络为例,详细说明各功能软件的配置过程。
4.1 RS232 转CAN-bus 网关的配置
将CAN232MB 转换器的CFG 引脚与GND 引脚短接,CAN232MB 即进入配置方式,可以通过随机光盘的PC 配置软件设置工作参数。
根据OMRON 公司PLC 设备的RS-232 端口数据格式,CAN232MB 转换器应按以下步骤进行配置。
1. 配置网关的数据转换方式,如图 5 所示。
图 5 配置网关的转换方式
转换模式为“双向透明转换”方式,透明转换即意味着两种通讯接口的接收数据不作任何修改的传递给对方通道。
2. 配置网关的串口通信格式,如图 6 所示。
图 6 配置网关的串口通讯参数
根据PLC 设备的RS-232 参数,设定RS-232 通道的波特率参数;示例中为9600bps,与PLC 的运行参数一致。
3. 配置网关的CAN 通信参数,如图 7 所示。
图 7 配置网关的CAN-bus 通讯参数
CAN 通道的波特率主要是考虑CAN-bus 网络的最远通信距离;另外,CAN-bus 网络中所有设备的CAN-bus 通讯波特率必须一致,也与PC-CAN 接口卡的波特率设置一致。
发送标识符设置为十六进制的0x03 值,表示网关发送的CAN-bus 标准报文ID 为0x03值;过滤验收码设置成0x03 值,表示网关只能接收报文ID 为0x03 的标准报文。当使用虚拟串口通讯方式时,这两个设置值必须为同一个值。注意,这里的数值0x03 与下一步配置虚拟串口时的虚拟串口号设置一致。也就是说,该网关设备所映射的虚拟串口号必须为COM3。同理,设置为0x04 值的网关设备所对应的虚拟串口号为COM4,以此类推。
4. 设置好参数后,点击“写配置”按钮,如图 8 所示。
图 8 成功写入网关的配置参数
然后,去除连接在CFG 引脚与GND 引脚之间的短路线,给CAN232MB 转换器重新上电,使刚才的配置参数生效。网关CAN232MB 转换器的设置即告完成。
4.2 虚拟串口的配置
在多台PLC 与工控PC 并行联网的应用场合,通过虚拟串口服务器软件,工控PC 可以沿用标准串口通讯的方式,访问连接在CAN-bus 网络中的各台PLC 设备。
4.2.1 虚拟串口服务器软件
虚拟串口服务器,顾名思义,通过运行此虚拟串口服务器软件,可以在PC 上构建一个或多个虚拟串口。这些虚拟串口的操作和真实串口操作一样,只是在用户调用虚拟串口的软件内部,PC 通过所连接的PC-CAN 系列接口卡把串口通讯数据传输到CAN-bus 网络,并且由连接在CAN-bus 网络中的RS-232 转CAN-bus 网关(例如CAN232MB 转换器),再次将CAN-bus 数据再转成RS-232 串口数据,这样就实现了PC 和远程串口之间的无缝透明衔接,使远程虚拟串口的操作与应用看起来与本地串口没什么不同。一般情况下,PC 串口程序升级到操作远程虚拟串口时,基本无需进行任何修改,只需改变软件操作的串口号即可。
虚拟串口服务器的软件功能如下所列:
1. 支持操作系统Win2000/XP/2003;
2. 可添加多达2047 个虚拟串口;
3. 可以动态添加设备映射到任意已安装的虚拟串口上,也可以动态删除映射到任意虚拟串口上的设备;
4. 可保存当前配置到文件中;
5. 可设置服务器启动条件(比如开机自启动),也可以设置启动时的默认配置。
虚拟串口服务器的应用如图 9 所示。
图 9 用于CAN 的虚拟串口服务器软件
4.2.2 虚拟串口软件设置
由于OMRON 公司系列PLC 设备的串口通讯格式(7/2/1/Even)与通常的PC 软件串口通讯格式(8/1/1/None)有所区别,工控PC 需要运行用专门用于OMRON 公司PLC 的虚拟串口服务器“ZVComCANMgr(for OMRON PLC)”软件。具体按以下步骤,在PC 上进行虚拟串口服务器软件的设置。
1. 点击“文件”菜单,新建一项配置;配置文件命名为OMRON_PLC,如图 10 所示。
图 10 新建一个配置文件
2. 建立虚拟串口,如图 11 所示。
图 11 建立虚拟串口的操作
建立虚拟串口时,首先选择需要创建的虚拟串口数量。在“虚拟串口数”右边的下拉框中,选择需要建立的虚拟串口数量,值为0~2047,其中选择0 表示不建立虚拟串口。如图11 所示,列表数值为“10”表示选择建立10 个虚拟串口设备。在“虚拟串口数”设置完成后,下一步点击“创建虚拟虚拟串口”按钮;PC 即自动加载驱动,完成虚拟串口设备的添加过程。这时,用户可从计算机的设备列表中查找到这些新增的虚拟串口设备,如图 12 所示。
图 12 设备列表中新建的虚拟串口设备
3. 映射端口,如图 13 所示。
虚拟串口建立之后,在“未映射串口”列表中显示PC 已创建的虚拟串口号。此时,点击“添加”(用于添加单个虚拟串口)或“批量添加”(用于添加所有的虚拟串口),将指定的虚拟串口与CAN-bus 网络捆绑属性,并添加到“已映射串口”列表中。
图 13 添加到“已映射串口”
4. 启动服务器,如图 14 所示。
在“服务”菜单中启动虚拟串口服务器,就可以使已映射的虚拟串口能够正常通讯。
图 14 启动虚拟串口服务器
虚拟串口服务器的启动参数可由用户设置,方便系统的日常管理与运行,如图 15 所示。
图 15 设置服务器的系统参数
4.2.3 虚拟串口的测试
PC 运行虚拟串口服务器之后,便在设备列表中多出了一组虚拟串口;虚拟串口的编号一般会从COM3 开始,具体编号会取决于PC 机的硬件配置。
可以使用超级终端软件,对新建的虚拟串口进行通信测试。将1 台测试PC(标识A 机)的标准串口连接到CAN232MB 转换器的RS-232 端口,在另1 台运行虚拟串口服务器软件的测试PC(标识B 机)建立一条CAN-bus 网络并连接到CAN232MB 转换器的CAN 端口。
首先,设置并启动虚拟串口服务器。远程的虚拟串口按以下步骤进行测试:
第一步,A 机和B 机都打开超级终端软件,设置所连接的串口属性,例如将通讯波特率设为9600bps、数据位8、无奇偶校验、停止位1、无流控制;这些参数要与CAN232MB转换器的配置参数一致。
第二步,串行发送字符测试。在A 机的超级终端窗口中键入一些字符,在B 机的超级终端窗口中将会看到这些字符的出现。反之,在B 机的超级终端窗口中键入一些字符,在A机的超级终端窗口中也会出现同样内容的字符。
图 16 虚拟串口的串行发送字符测试
第三步,发送文件测试。点击A 机的超级终端软件菜单“传送→发送文件…”,即可以发送指定的文件到B 机,文件保存在B 机的默认目录中;反之亦然。
图 17 虚拟串口的串行发送文件测试
有关虚拟串口的详细说明,可以参考虚拟串口服务器的软件帮助及技术文档《构建CAN-bus 网络中的虚拟串口》。
5 应用实例
在一个实际的油田控制系统中,需要由超过32 台PLC 组建一个中型PLC 网络。每一台PLC 用于控制一套工作井站的现场设备。选用PLC 型号为OMRON 公司CPM2A 系列,不支持现场总线CAN-bus 网络,但集成有1 个RS-232 通讯端口。单台PLC 之间的最大距离超过了10Km 距离,但这个油田控制系统要求能够在同一个主控制器上,对每一台现场的PLC 实时监控。由于各个现场PLC 工作点距离很远,主控制器PC 不可能实现每一台PLC设备的单独电缆连接。因此,将各台PLC 设备通过现场总线CAN-bus 网络连接,组建一个地区范围内的PLC 网络,从而实现PLC 远程维护、数据实时监控,既能够大大提高系统的管理效率,也可以有效地降低网络建设成本。
井站的PLC 设备集成有1 个RS-232 串行通讯端口,通过CAN232MB 转换器连接到现场总线CAN-bus 网络。主控制器PC 内置1 块PC-CAN 接口卡,型号为PCI-9840 接口卡,可以使PC 成为CAN-bus 网络中的节点,能够同时管理4 路物理独立的CAN-bus 网络。
5.1 CAN-bus 网络的相关概念
现场总线CAN-bus 网络的拓扑结构一般使用直线结构,如图 18 所示。所有CAN-bus设备节点通过短分支线连接至CAN-bus 网络的主干线;短分支线不宜过长,一般必须小于3~6 米。如果因网络布线、地理环境等因素,需要改变CAN-bus 网络的拓扑结构,则可以通过CANbridge 网桥或CANHub 集线器。
图 18 CAN-bus 网络的拓扑结构
在CAN-bus 网络布线中,必须注意终端电阻的连接。CAN-bus 主干线的最远两端必须各端接一个120Ω 的终端电阻;主干线上的其它任何CAN-bus 节点则不用连接终端电阻。
设定为5Kbps 波特率时,使用截面积为Φ1.5 mm2 的普通双绞线,CAN-bus 总线至少可以达到6~7Km 的通讯距离。通常,随着通讯距离的加长,需要适当加大通讯电缆线的截面积。通信距离与波特率的关系如图 19 所示。
图 19 CAN-bus 网络的波特率与通讯距离的关系
随着网络中CAN-bus 节点数量的增加,最大通讯距离会有所降低,同一条CAN-bus 网络中的节点数量达到100 个时,最大通讯距离至少会减少20%左右。通过在CAN-bus 网络的合理位置安装CANbridge 网桥,就可以使CAN-bus 网络延长1 倍的通讯距离,并可以增加连接1 倍的CAN-bus 节点数目。
5.2 PLC 串行通讯协议
OMRON 公司CPM 系列中小型PLC 的串行通讯使用“命令-应答”通信方式,工控PC 可通过对串口编程的方式与CPM 系列PLC 实现数据通信。PC 与PLC 实现一次数据交换的过程,即传输的命令和应答之数据总和称为一帧,一帧最多可包含131 个数据字符。OMRON 公司PLC 采用HOSTLINK 通讯协议。
5.2.1 HOSTLINK 命令帧格式
PC 机遵循HOSTLINK 命令帧的格式,向PLC 发送命令。HOSTLINK 命令帧如图 20所示。
图 20 OMRON 公司PLC 命令帧格式
HOSTLINK 命令帧的规定如下:
●@符号必须置于每个命令的开头;
●节点号,用来辨识每一台PLC 的节点地址;
●读/写,指明PLC 的哪个寄存器单元,例读写IR/SR 区时它的识别码设置分别为RR和WR,读写DM 区分别为RD 和WD。
●FCS,设置两字符的帧检查顺序码,是一个转换成2 个ASCII 字符的8 位数据,这8 位数据为从帧开始到正文结束(即FCS 之前)所有数据执行“异或”操作的结果。
●终止符设置“*”和回车两字符,表示命令结束。
HOSTLINK 命令帧可以有最多131 个字符长。一个等于或大于132 字符的命令必须分成若干帧。命令分段,使用回车定界符(CHR $(13))。
5.2.2 HOSTLINK 应答帧格式
PLC 对于接收到的正确命令帧,都会给予数据响应,发送HOSTLINK 应答帧,格式如图 21 所示。
图 21 OMRON 公司PLC 应答帧格式
识别码、正文取决于PLC 接收到的上位机联结命令,结束字表示命令完成的状态(即是否有错误发生),当应答帧的长度超过132 字符,它必须分成若干帧。
结束字是应答帧中表示PLC 应答的信息。例结束字代码为00 表示正常结束,13 表示FCS 错误,14 表示格式错误,15 表示入口码数据错误,18 表示帧长度错误,A3 表示传输数据时因FCS 错误引起终止,A8 表示传输数据时,因帧长度错误引起终止。
5.3 PLC 与网关CAN232MB 的连接
CPM 系列PLC 集成1 个RS-232 串行通讯端口,采用DB9 孔型插座;CAN232MB 转换器集成1 个RS-232 串行通讯端口,也采用DB9 孔型插座。
按下面的连接方法,可以快速制作CPM 系列PLC 与网关CAN232MB 之间连接的通信电缆;此通讯电缆也可用于PC 与OMRON 公司PLC 之间通讯。制作材料包括两个DB9 针型直脚连接器,3 根细导线,少量焊接工具。
图 22 DB9 针连接器和引脚定义
串行通信电缆一端连接CAN232MB 转换器,另一端连接CPM 系列PLC。注意,通讯电缆的两个DB9 端口不可互换。通讯电缆的连接示意如图 23 所示。
图 23 PLC 通信电缆的引脚连接
5.4 CXP 软件与PLC 通讯
CXP 软件是OMRON 公司CPM 系列PLC 的集成开发环境。这里,将通过CXP 软件与PLC 的串行通讯功能,对建立的虚拟串口进行测试,验证PLC 网络的可靠性。
打开CX-Programmer 软件,选择一个通信端口。例如,选择刚才由虚拟串口服务器软件建立的串口COM3,如图 24 所示。
图 24 在CXP 软件中选择PLC 通信端口
点击“PLC”菜单的“自动在线”项目,CXP 软件会自动查找对应的PLC 类型。一旦通过COM3 与PLC 成功建立了通讯连接,就可以对PLC 进行编程、擦除、调试等操作;这与使用标准串口COM1、COM2 的操作方式完全一致,如图 25 所示。
图 25 通过虚拟串口对PLC 进行远程配置
5.5 PLC 与网关CAN485MB 的连接
OMRON 公司的CXP 软件可以在一个RS-485 标准的串行通讯端口上连接多达32 台CPM2A 系列PLC 设备;每台PLC 设备都需要预先设定一个唯一的5 位地址编号,用于在RS-485 网络中区分各台PLC 设备。
RS-485 标准是一种多点网络通讯方式。按照前面描述的方式,通过网关CAN485MB 转换器,可以建立一个符合RS-485 标准的虚拟串口。CPM2A 系列PLC 可以借助于RS-232转RS-485 电平转换器,得到一个RS-485 标准的通讯端口。多台预设地址编号的PLC 可以通过RS-485 串行通讯方式联网,并与CAN485MB 转换器组成1~32 个节点、1Km 距离范围内、RS-485 标准的PLC 网络。网络结构如图 26 所示。
图 26 由网关CAN485MB 组建小型PLC 网络
按上述方式,整个地区的PLC 网络可以由多个网关CAN485MB 转换器构建面成,而每一个网关CAN485MB 转换器都可以组建一个RS-485 标准的小型PLC 网络构成。这样,就可以形成大型的星形PLC 网络。
5.6 PLC 网络的组态开发
通过网关CAN232MB 转换器或CAN485MB 转换器可以建立多个虚拟串口,用于连接PLC 设备。虚拟串口的操作方式与PC 标准串口完全相同。
通常的组态环境(例如昆仑通态MCGS、组态王KingView 等)都可以按串行通讯设备驱动的方式支持OMRON 公司PLC 设备的开发。如果组态环境可以支持按多串口方式扩展的多台PLC 设备,同样也可以支持基于现场总线CAN-bus 网络的虚拟串口方式构建的串行PLC 网络。
需要注意的是,串行PLC 网络基于现场总线CAN-bus 而构建,每一条命令帧/响应帧都需要一定的传输时间。例如,当CAN-bus 总线的通讯波特率设置为10Kbps 时,传输30 字节的命令帧至少约需60mS 传输时间;加上响应帧的延迟,PLC 网络中的任何一台PLC 与工控PC 需要约150mS 才能够执行1 次完整的通讯过程。这一时间即单台PLC 通讯周期。按此参数计算,当使用1 条现场总线CAN-bus 网络,建立有30 台PLC 设备构成的PLC 网络时,工控PC 主动查询一遍所有PLC 设备的状态,大概需要花费约30 倍的单台PLC 通讯周期。应用组态环境开发PLC 网络时,用户必须重视网络的通讯延迟因素,并在组态环境中设置相关的定时参数;否则,可能会导致组态环境不能够正常运行。
我们可以通过一些方法来提高PLC 网络的响应速度。解决方法之一是增加CAN-bus 网络的数量,由此减少每一个CAN-bus 网络中的PLC 设备数量;另外,提高CAN-bus 网络的通讯波特率也可以获得相同的效果,它的代价是会缩短CAN-bus 网络的通讯距离。
6 结束语
本文介绍的实例“通过现场总线CAN-bus 网络对多台PLC 进行联网控制”已经通过了实际项目的运行考验,现场作业的网络长度达到7Km 以上。在系统的实际运行中,现场总线CAN-bus 的稳定性、抗干扰能力得到充分的体现。在这个工程项目中,不需要改变原有的PC 控制平台,可以将现有控制设备无缝地嵌入先进的现场总线网络,构成新一代的DCS分布式控制系统。方案以较低的成本投入,换取了现场自动化网络的大跨度提升。在煤矿远传、电力通信、石油采集等行业,该方案都有着广泛的市场,较高的应用价值。
图 27 克拉玛依油田的小型PLC 网络