[西门子] 西门子1200PLC的S7通讯组态编程

[复制链接]
查看302 | 回复0 | 2024-1-1 10:47:48 | 显示全部楼层 |阅读模式

S7-1200 的 PROFINET 通信口可以做 S7 通信的服务器端或客户端(CPU V2.0及以上版本)。S7-1200 支持 S7 单边通信,仅需在客户端单边组态连接和编程,而服务器端只准备好通信的数据就行。

组态步骤如下:



1. 添加设备,设置IP地址



2.在“设备组态”中 ,选择“网络视图”栏进行配置网络,连接PLC网络



3.建立数据块,取消优化块访问



4.添加PUT,GET指令





5.功能块参数意义如下

CALL “PUT”
, %DB3
//调用 PUT,使用背景DB块:DB3
REQ
:=%M0.0
//上升沿触发
ID
:=W#16#100
//连接号,要与连接配置中一致,创建连接时的本地连接号
DONE
:=%M0.5
// 为1时,发送完成
ERROR
:=%M0.6
// 为1时,有故障发生
STATUS
:=%MW10
// 状态代码
ADDR_1
:=P#DB1.DBX0.0 BYTE 10
// 发送到通信伙伴数据区的地址
SD_1
:=P#DB1.DBX0.0 BYTE 10
// 本地发送数据区

CALL “GET”
, %DB4
//调用 GET,使用背景DB块:DB4
REQ
:=%M1.0
//上升沿触发
ID
:=W#16#100
//连接号,要与连接配置中一致,创建连接时的本地连接号
NDR
:=%M1.5
//为1时,接收到新数据
ERROR
:=%M1.6
//为1时,有故障发生
STATUS
:=%MW12
//状态代码
ADDR_1
:=P#DB2.DBX0.0 BYTE 10
//从通信伙伴数据区读取数据的地址
RD_1
:=P#DB2.DBX0.0 BYTE 10
//本地接收数据地址

6.请注意,以上例子中使用的作为服务器的PLC是固件版本V2.0的S7-1200 CPU,如果您使用固件版本为 V4.0 以上的 S7-1200 CPU 作为服务器,则需要如下额外设置,才能保证S7通信正常。

请点开CPU 的设备组态,“属性->常规->防护与安全”里“连接机制”一项需要勾选“允许来自远程对象的PUT/GET通信访问”,如下图所示:



End


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则