S7通信,此通信方式是西门子创的,其他PLC没有,S7通信既可以用以太网口也可以用串口,都是指S7通信,适用于西门子各型号PLC间通信,不能用于与其他品牌PLC通信。
一个型号的PLC使用每种协议时最多可以连接多少站,可在PLC硬件组态中查看。
S7通信有8个资源,既可做客户端也可做服务器。
1200进行S7通信时,需要在客户端调用PUT/GET指令,服务器端不用调用任何指令,PUT指令用于写数据,GET指令用于读数据。不管服务器端CPU处于运行模式还是停止模式,S7通信都可以正常进行。PUT一次最大可写入212字节,GET一次最大可读取222字节。使用过多通信区域反而会减少通信数据数量。
硬件组态中为PLC分配IP地址。
在网络视图中组态S7连接。
PUT指令,需要分配背景数据块。
REQ:触发PUT指令,上升沿时触发。可以是系统时钟上升沿,也可以是触发条件的上升沿。
ID:S7通信连接的ID号,需要与组态S7连接时产生的ID号一致。创建连接时的本地连接号。
ADDR_1:服务器端PLC的地址,写入数据的地址。需要使用指针形式填写,如P#DB1.DBX0.0 BYTE 10。此处的DB块必须是非优化的。
SD_1:本地PLC的地址,写出数据的地址。需要使用指针形式填写,如P#DB1.DBX0.0开始的数组。此处的DB块必须是非优化的。可以建立数组。确定与ADDR_1的数据长度和数据类型方面一致。
DONE:完成位,数据成功写入后置1
ERROR:错误位
STATUS:状态字
GET指令,需要分配背景数据块。
REQ:触发GET指令,上升沿时触发。可以是系统时钟上升沿,也可以是触发条件的上升沿。
ID:S7通信连接的ID号,需要与组态S7连接时产生的ID号一致。创建连接时的本地连接号。
ADDR_1:服务器端PLC的地址,读取数据的地址。需要使用指针形式填写,如P#DB1.DBX0.0 BYTE 10。此处的DB块必须是非优化的。
RD_1:本地PLC的地址,存放数据的地址。需要使用指针形式填写,如P#DB1.DBX0.0开始的数组,此处的DB块必须是非优化的。可以建立数组。确定与ADDR_1的数据长度和数据类型方面一致。
NDR:完成位,数据成功读取后置1
ERROR:错误位
STATUS:状态字
举报/反馈