电气自动化技术网

CAN-bus实现多台PLC之间的远程配置与实时通信

时间:2009-12-28 来源:未知 编辑:电气自动化技术网 点击:次 字体设置:

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 所示。

 

顶一下
(0)
0%
踩一下
(0)
0%
打 印】【顶 部】【关 闭】【挑 错
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
版权与免责声明:
①凡本网注明"来源:电气自动化技术网"的所有作品,版权均属于电气自动化技术网,转载请必须注明出处“电气自动化技术网http://www.dqjsw.com.cn”。违反者本网将追究相关法律责任。
②本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
③如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
>> 相关文章
栏目导航:互感器 | 智能电网 | 无功补偿 | 电容器 | 变压器 | 电源 | 避雷器 | 电抗器 | opc | 三菱PLC | 西门子PLC | 欧姆龙PLC | PLC视频教程 | 电工基础知识
© www.dqjsw.com.cn 2008-2013 版权所有 ICP网站备案:渝ICP备11003104号