以下教案为西门子PLC之间的S7通讯(叶强制作):
分两部分:
1.1200主动读写SMART200
2.SMART200主动读写1200
Smart200主动去访问、读写1200PLC:
SMART200的IP:192.168.0.10
1200的IP地址:192.168.0.1
先在smart那边组态,下图意思是将1200的MB500-MB600,读取到smart200的VB1000-VB1100
下图的意思为将smart200 VB500开始的100个字节,写入到1200的MB900开始的100个字节
程序里调用S7通讯指令NET_EXE
1200 的连接机制里勾选允许put/get通讯访问
1.硬件组态里,设置IP地址,添加新子网
2.右键添加新连接,S7连接
填写smart200的IP
当1200PLC中MB500赋值为8时
此时smart200中VB1000也变为8
Samrt200主动读取1200数据 实验成功
当VB550赋值为18时
1200中MB950变为16#12,实验成功
1200主动去访问smart200:
SMART200 ST40 IP:192.168.0.12
1214C DC/DC/DC IP:192.168.0.7
本机PC IP:192.168.0.30
三根网线都连接至交换机
西门子之间最常用的通讯(S7通讯) (基于PROFINET)
创建项目,选择对应的硬件cpu、固件版本
硬件组态里,设置IP地址,添加新子网
选择连接,添加S7连接
勾选来自远程对象的PUT/GET通信访问
勾选启用系统存储器和时钟存储器
配置好S7连接参数
通讯连接ID ,16#100, 后面会用到
优化的块访问,勾选与不勾选是有区别的
SMART里面的VB 就是指博途里的DB1数据块,相对应
将DB2的数据发送给VB0-VB3这四个字节,发送成功
当数据5为0的时候,Q点不接通;当数据5 为1的时候Q点接通
REQ引脚,上升沿触发指令的发送
当VB10=2时,V10.1为1(V10.1是VB10的第二位),十进制与二进制的转化
将DB2数据块里面的数据6这个双整数数据类型的数值传送给SMART200里的VD100