这个是一个非常实用的功能,不需占用通信资源,也不需要编写复杂程序。
实测采用了两台S7-1200CPU1214C(版本要4.0以上),为了方便加了一台小型交换机。配置如下图:
这里在博途软件中同一项目中组态了两个硬件项目,分别是PLC_1和PLC_2,其中PLC_1作为IO-Controller,PLC_2作为IO-Device,这里只需要在PLC_2中做一个简单设置即可。如下图:
开辟一块存储空间作为数据传输区,Q意为输出,I意为输入,字节对等。如下图:
这是在同一项目中的组态,后面会有在不同项目中组态的测试,也是最为实用的部分。 组态好之后,把项目分别下载到相应的PLC中。如下图:
然后把想要传输的数据放入数据传输区就可以了,这里是把PLC_2的IB0的数据放到QB3传输区中,那么在PLC_1的IB3中就会得到IB0的数据。如下图:
只需要写这么一小段就可以了。
下面可以用在线监控来看一下是否有数据传到PLC_1中来。如下图:
实际上该数据是把PLC_2的数字量输入点DI0.5接通了。如下图:
绿灯不是太清楚。
S7-1200智能IO设备(I-Device)实测2
接上次,测试一下不同项目中的组态。
首先新创建一个作为I-Device的单独项目,勾选IO设备选项,此处就不分配IO控制器了,设置传输区。如下图:
导出GSD文件。如下图:
起个名字,I-Device。如下图:
保存该项目,下载到作为I-Device的PLC中。
关闭该项目,再创建一个新项目,作为IO-Controller,安装并导入刚才创建的GSD文件。如下图:
分配IO控制器,然后双击该I-Device或在设备视图中找到该设备。然后分配对应传输区。如下图:
此处输入输出都用的256,然后下载项目到相应的CPU中。监控一下数据。如下图:
只要不改变传输区,作为I-Device的项目程序可以随意改动。 另外,用仿真可是不能模拟智能IO设备的测试的。
因篇幅问题不能全部显示,请点此查看更多更全内容