同品牌PLC之间直连通讯,实际工程中应用很多。目前市场主流小型PLC,基本都集成提供有基于RS485的通讯功能,使用者只需按照厂家提供的软硬件要求,做一些简单的设置编程就能完成多站点通讯,这不要求使用者掌握复杂的通讯底层原理机制,大大降低了使用门槛。利用它,我们可以快速准确的建立起一个小型自动化网络。 l 台达DVP系列小型PLC之间通讯 台达DVP系列PLC从第一代产品开始就集成有一个RS232 和一个RS485 通讯接口,两通讯口均支持标准MODBUS 协议。该系列PLC 之间组网,台达提供了一个简易的PLC-LINK 网络,PLC 之间RS485 通讯端口直连,主从式单主站网络结构,从站与主站直接交换数据,从站之间通过主站交换数据。 主站主动发出读写从站指令,从站被动响应。 主站发送数据过程:主站给每个从站分配有特定的写入数据交换区,主站只需将发送的数据保存在该写入数据交换区,从站从自己指定的数据区域拿来就用。
例如:主站要将数据1000 发送给1#从站接收,那么只需要将数据1000 保存在寄存器D1496,1#从站从自己的寄存器(如被指定为D200)D200 中就可以获得主站发送的数据1000;同样主站要将数据1000 发送给2#从站接收,只需要将数据1000 保存在寄存器D1528,2#从站从自己的寄存器(如被指定为D200)D200 中就可以获得主站发送的数据1000。 主站接收数据过程:主站给每个从站分配有特定的读出数据交换区,主站从这些数据交换区内直接读取接收到的数据,从站只需负责将主站要读取的数据保存到自己被指定的数据区域(如指定为D100-D115)。数据流示意如下:
例如:主站要读取1#从站数据1000,1#从站只需将数据1000 保存在自己的寄存器D100(如指定为D100),主站从D1480 中就可以获得需要的数据;同样主站要读取2#从站数据1000,2#从站只需将数据1000 保存在自己的寄存器D100(如指定为D100),主站从D1512 中就可以获得需要的数据。 通讯实例:三台台达DVP14SS2,一台做主站(站号:0),另外两台做从站,站号分别为1和2。实现主站X1有信号,1#从站Y0有输出;主站X2有信号,2#从站Y0 有输出。1#从站X1 有信号,主站Y1 有输出;2#从站X1 有信号,主站Y2 有输出。 主站程序详解如下:
将以上程序下载到一台DVP14SS2,作为主站0。
从站程序详解如下:
将以上程序下载到一台DVP14SS2,作为从站1。程序首行设定站号数据改为K2,下载到另一台DVP14SS2,作为从站2。
将主站0、从站1、从站2 三台PLC 的RS485(COM2)通讯接口连接,启动程序运行,可以看到主站输入信号X1/X2 分别控制1#从站/2#从站的输出Y0;1#从站/2#从站的输入X1 分别对应控制主站的输出Y1/Y2。
PS:需要说明的是,台达DVP系列PLC不是所有型号都支持PLC-LINK,见下表,ES/EX/EC3不支持,所有在网络中以上三种型号控制器不能作为主站使用。
l 三菱FX系列小型PLC之间通讯 三菱FX3GA 之间组网,PLC 自身没有RS485 通讯接口,需要扩展一个通讯接口模块FX3G-CNV-ADP + FX3U-485ADP-MB,下图示意一主站两从站的简单连接。 主站发送数据过程(模式2):
主站固定站号为0,主站将需要发送给各个分站的信息保存到位软元件M1000-M1063 或者字软元件D0-D7 中,从站在自己的相应位软元件或者字软元件中接收主站发送的数据。
例如:主站要将数据1000 发送给1#从站接收,那么只需要将数据1000保存在寄存器D0,1#从站从自己的寄存器D0中就可以获得主站发送的数据1000,2#从站从自己的寄存器D0中同样可以获得主站发送的数据1000。 主站接收数据过程(模式2): 各个分站数据交换区独立,分别映射到主站同名的寄存器,这样主站读取各分站数据就变成直接读取同名寄存器数据。
例如:主站要接收1#从站D10中数据,就可以直接从D10 中取值;主站要接收2#从站D20中数据,就可以直接从D20中取值。
从站之间数据交换过程(模式2): 在1#从站直接取M1128 的状态就可以反映2#从站的M1128 状态;同样道理 在2#从站直接取M1064 的状态就可以反映1#从站的M1064 状态。 例如1#从站有以下程序段:
上图动作①表示在1#从站中直接读出储存在主站M1000~M1003 软元件中的数据,输出到Y010~Y013;动作②表示在1#从站中将输入状态量X000~X003 储存在1#交换区软元件M1064~M1067 中供其他站使用;动作③表示在1#从站中直接读出储存在2#从站数据交换区软元件M1128~M1131 中的数据,输出到Y020~Y023。 总结: 1.台达提供的EASY PLC LINK 最大可以组织多达64台PLC 联网通讯,三菱提供的N:N 网络最大只能组织8台PLC 联网。 2.台达EASY PLC LINK 网络、三菱N:N 网络都是建立在RS485 接口基础上的通讯网络,一般情况下理论通讯距离(双绞屏蔽电缆)可以达到1200米左右。 3.台达EASY PLC LINK 网络各个分站之间交换数据,要通过主站;三菱N:N网络中从站之间可以直接交换数据。 l 西门子S7-200CN之间通讯 (一)系统结构框图
之前做过的一个项目,控制系统结构如下图示。CPU226CN 作为主站,通讯口PORT 1 级联7台CPU224CN 作为从站,8台PLC连接构成PPI通讯网络;CPU226CN 作为从站,通讯口PORT 0 与1台CPU222CN 通讯口PORT 0连接上位机 hmi 的一个RS485 通讯接口。下面以7台PU224CN 与1台CPU226CN连接实现PPI 网络交换数据为例详解实现过程。 (二)PPI 网络编程 西门子S7200CN 之间PPI 通讯可以使用软件提供的指令向导,通过简单设置来实现数据交换。 在西门子S7200CN 编程软件环境下,主站CPU226CN 控制程序中组态设置如下。 1.打开指令向导,选择NETR/NETW。 2.点击“下一步”进入界面,选择删除原来已经存在的NETR/NETW 配置或者重新修改配置或者新建配置。 本项目CPU226CN 分别读取、写入7个CPU224CN 各2个字节,所以要配置14项网络读写操作,如下图示例配置。 3.点击“下一步”进入界面,选择主站CPU226CN 的通讯口(本示例项目选择的是CPU226CN 的PORT 1)以及为将来生成的读写操作子程序命名,如下图示例。 4.点击“下一步”进入界面,选择NETR 或者NETW 操作(本例先选择了NETR),读取字节数量、读取分站(远程)PLC 地址以及本地PLC(主站)和远程PLC(分站)交换数据区。本例表示CPU226CN读取1#站一个字节VB0 存储在自己的VB10 中,即就是在分站VB0 与主站VB10 之间建立了数据映射关系。 5.点击“下一项操作”进入界面,选择NETW 操作。写入字节数量、写入分站PLC(远程)地址以及本地PLC(主站)和远程PLC(分站)交换数据区。本例表示CPU226CN 写入1#站一个字节数据VB11存储在1#站的VB1 中,即就是在分站VB1 与主站VB11 之间建立了数据映射关系。 6.点击“下一项操作”进入界面,按照以上4、5 步骤分别建立2-7#分站与主站之间的数据交换映射关系。 7.设置完所有要连接的PLC 后,点击“下一步”,进入如下界面,注意此界面中VB1028-VB1142 为系统分配给PPI 网络完成数据交换所要使用的地址,在主站CPU226CN 的其他逻辑编程中就不能再次使用此地址区存取数据。 8.点击“下一步”进入如下界面给此次配置命名后点击完成。指令向导自动生成一个命名为“PPI_EXE”的子程序。 至此连接7台CPU24CN的任务完成。在主站CPU226CN 程序中只需要使用SM0.0 一直调用这个自动生成的子程序,如下程序示例。 (三)映射数据交换逻辑 以上配置过程,实质上就是建立了主站与各个分站之间交换数据的地址映射关系。如下图示: 主站读取过程: 主站VB10 映射1#分站VB0,所以当1#分站V0.0 有输出,那么主站对应位V10.0 闭合,这样以上逻辑就完成了将1#分站输出Q0.0状态传递到主站保存在M20.0 的过程。
主站写入过程: 假如1#分站有以下逻辑: 主站有以下逻辑:
主站VB11 映射1#分站VB1,当主站I1.1闭合,输出V11.0 时,1#分站对应位V1.0 闭合,这样就完成了将主站输入信号I1.1 状态传递到分站Q0.0的过程。 主站与其他分站读写数据的交换过程同上。 目前业界流行的各大品牌小型PLC 都提供用户简易组网功能,尽管各家称呼不同,细节上有些许差别,但是从使用层面看,基本用法一致,用户只要简单设置完成数据交换的地址对应映射关系就行。 来源:工控论坛 |