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.0 REAL 3 |
|
ADDR_2 |
InOut |
远程 |
|
|
RD_1 (GET) |
InOut |
Variant |
指向本地CPU中存储待读取(GET)或待发送(PUT)数据的存储区。允许的数据类型:Bool(只允许单个位)、Byte、Char、Word、Int、DWord、DInt或Real。 |
|
RD_2 (GET) |
InOut |
Variant |
|
案例:两台1200进行S7协议以太网通信,实现如下操作。

读取设置




写入设置

写入设置与读取设置方法一致,通过组态设置,这里不作细说。
这样,本地设置好以后,将其分别下载到对应PLC中,两台1200PLC进行S7通讯就设置好了,(伙伴不需要写程序),即可进行数据交换。
2026年更新:TIA Portal V20优化与新功能
TIA Portal V20(2024年底发布,支持S7-1200 G2,引入Industrial Copilot AI辅助编程)对S7-1200/1500的通信配置流程做了进一步简化:
- S7连接自动检测:在TIA Portal V20中,将两台PLC拖入同一个项目后,系统会自动识别可用的S7连接路径,无需手动配置连接参数。
- 数据一致性保护:新增”数据块快照”功能,确保GET/PUT指令在一次调用中读取的数据块完全一致(避免读到半更新数据)。
- Modbus与S7共存策略:如果同一台S7-1200需要同时跑S7通信(连接HMI或PLC)和Modbus TCP(连接第三方设备),建议将Modbus连接数控制在4个以内,剩余的以太网资源留给S7连接,确保整体通信稳定。
modbus.cn持续更新PLC相关教程和案例,帮助您高效完成自动化项目。
发表回复