S7是西门子专有的协议,它用于PLC之间交换数据。
设备与网络组态:添加两台CPU
PLC连接
连接方法一
连接方法二
或者点击本地PLC以太网口按住拖拉到伙伴PLC的以太网口处松开,也可以建立两台PLC通信连接。
属性设置
S7通讯是本地主动访问伙伴,所以伙伴下图选项必须勾选
IP地址设置
IP地址设置一定要对,且本地和伙伴地址不能相同,可以通过属性,以太网设置,如下图
除了这种方法,也可以在网络试图里面点击显示地址,去更改,如下图
这两种方法更改IP地址都很方便,可自行选择
指令介绍
参数和类型
数据类型
说明
REQ
Input
Bool
上升沿触发
ID
Input
CONN_PRG(Word)
S7 连接 ID(W#16#100)
NDR (GET)
Output
Bool
新数据就绪:● 0:请求尚未启动或仍在运行 ●1:已成功完成任务
DONE (PUT)
Output
Bool
DONE:● 0:请求尚未启动或仍在运行● 1:已成功完成任务
ERROR
Output
Bool
错误状态
STATUS
Output
Word
错误代码
ADDR_1
InOut
远程
指向远程CPU中存储待读取(GET) 或待发送(PUT)数据的存储区。P#DB1.DBX12.0REAL 3
ADDR_2
InOut
远程
RD_1 (GET)
SD_1 (PUT)
InOut
Variant
指向本地CPU中存储待读取(GET)或待发送(PUT)数据的存储区。允许的数据类型:Bool(只允许单个位)、Byte、Char、Word、Int、DWord、DInt或Real。
注:如果该指针访问DB,则必须指定juedui地址,如:
P#DB10.DBX5.0 Byte 10在此情况下,10代表GET或PUT的字节数。
RD_2 (GET)
SD_2 (PUT)
InOut
Variant
案例:两台1200进行S7协议以太网通信,实现如下操作。