不用在PLC内编程,实现西门子与罗克韦尔(AB)PLC之间数据通讯 二维码
智能网关IGT-DSER支持多种PLC之间、PLC与智能仪表之间多对多通讯,支持以太网,串口设备混合数据交换;无需PLC内编程开发,只需在智能网关的参数管理软件上配置数据的起始地址和数量即可,支持热插拔,断电断网后自恢复运行,在实际的工程项目中应用方便。 下面是罗克韦尔(AB)的Compact系列的PLC与西门子S7-1500之间的通讯的配置,实现AB的标签数组与西门子DB数据块之间通讯。 首先在AB的PLC内建立输入和输出数组,用于接收和写入S7-1500的PLC数据,名称分别是IN_INT16、OUT_OUT16,输入80个字即160个字节,输出40个字即80个字节,类型都为INT,如下图。智能网关也支持BOOL、DINT、REAL、STRING等数据类型,注意新建立的变量须要下载到PLC才会生效。 在西门子PLC内建立数据块_4和数据块_5两个DB,号码分别是DB101、DB102,DB101写入到AB的PLC,DB102接收AB的PLC数据,都需要取消优化访问,字节数据与AB的PLC对应,如下图,同样新建立的DB须要下载后重启PLC才会生效。 然后开始配置网关,通过网关的参数设置软件(下载地址)搜索到网关模块后,读取默认参数,在'功能'->‘类型与设备驱动’页面的四种类型选择最下面一项,即‘PLC之间数据实时通讯 ...’点'确认当前选择'按钮,然后写入到网关重启: 重启后设置网关模块的网口参数,AB PLC的IP地址为192.168.1.9,S7-1500的IP地址为192.168.2.111,不在同一个网段,分别接入网关的两个网口。网口1的IP地址默认是192.168.1.244,网口2的IP地址是192.168.2.244,可以都用默认IP,网口1接AB的PLC,网口2接S7-1500。通过‘功能’->‘PLC之间实时通讯’切换到通讯配置表页面,根据以上地址空间配置数据,配置好的数据如下通讯配置表。 下表中连接ID是每台PLC设备的连接号码,可在1~254之间自由分配,支持TCP多连接的同一台PLC可为每个任务分配不同的号码,来实现多线程高速通讯;DB号码/文件号码参数里AB的PLC对应数组内的起始地址,支持多维数组,比如二维数据格式为0,0;起始地址参数里AB的PLC对应数组名称,或者变量名称,须要与PLC内的名称完全一致;字节数量设置交互的字节数据,只需设置目标设备的数量,上图中的160.1表示总计160个字节的INT类型数据,如果PLC的数组数据类型是DINT,则设置为160.3;网络端口参数AB的是44818,S7的是102;更详细的参数介绍查看网关的手册第6章(用户手册下载地址)。 任务01:读取西门子DB101.DBW0开始的80个的INT类型的数据,写入到罗克韦尔AB的IN_INT16控制器数组(从0开始),共160字节; 任务02:读取罗克韦尔AB的OUT_INT16控制器数组(从0开始)的40个INT类型的数据,写入到西门子DB102.DBW0开始的80字节; 任务03:读取西门子M2.4的1个BOOL类型的数据,写入到罗克韦尔AB的TBOOL控制器标签; 任务04:读取罗克韦尔AB的ARR_DINT_50[12]的1个DINT类型的数据,写入到西门子DB6.DBD8,共4字节; 任务05:读取西门子DB6.DBD32的1个的REAL类型的数据,写入到罗克韦尔AB的MainProgram.TReal程序标签,共4字节; 任务06:读取罗克韦尔AB的TSTR控制器标签的1个STRING类型的数据,写入到西门子DB6.DBB42的STRING[64]类型的地址,共64字节。 通过网关的参数配置软件读取网关参数(参数->从网关读取参数)后,看软件上状态消息区域显示的状态消息,根据状态消息调试;如果状态正常,可以通过PLC的编程软件分别强制数据进行监视测试,先在DB101里面的前10个数据和最后10个数据分别设置上数据,然后通过RSLogix 5000监视,如下图:
可以看到数值都能对应上,然后同样的方法测试从AB的PLC到S7的数据,在OUT_INT16数组的前5个和最后5个设置上数据,然后通过博图软件监视,如下图: 可以看到数据已经实现了双向正常交互。 |