Siemens 西门子PLC1200的S7通讯(同一项目下)3.通讯测试

发布时间 2023-08-08 11:42:49作者: 一杯清酒邀明月

  前面两篇介绍了S7连接的主要指令PUT写入和GET读取,这期讲测试下这个指令,首先说下有两个注意,一个是如下图要设置组态,有绿色勾选的就说明没大问题,这里要注意连接名称要统一,用同一个连接,因为不同的连接会造成不同的ID设置,另外主动建立连接只能作为客户端的勾选,服务端不需要勾选,第二张图要勾选S7通信访问许可

 1.0 S7通讯测试,可以直接仿真测试,如下图,同时监控PLC_1和PLC_2的两个data数据块,我们可以看到PLC1的GET指令块,读取的是PLC2的,DB3(也就是data数据块)地址0.0开始的int类型的1个,存放在PLC1同样的地方,这时候我们右键强制GET指令的,REQ操作数改成1

 1.1 当REQ上升沿触发,可以看到监控的PLC1,地址0.0的int整形变量,他的实际数值已经变成333,说明已经从PLC读取到了他所需要的数值。这个指令每个上升沿只执行一次读取,就算之后REQ一直为1,PLC2那边的值也不会读取到PLC1这边

 2.0 同样的方法,我们来测试PUT写入指令,如下图,当REQ为1时,上升沿会触发写入,把PLC1-DB3-4.0开始的DWORD类型的值,写入到PLC2相同位置,监控看到数据就写入了,

 3.0 同样的,可以连续读取3个int类型数据,如下图

4.0 读取8个BOOL变量,测试了下不能连续读取几个BOOL量,只能用BYTE字节来整体读取8位,BOOL只能读取写入一位,字节等可以设置多个数量,具体如下图