怎样预防对你的 Modbus slave (S7-1500 / S7-1200) 输出点的写访问?

描述
在STEP 7 V14 SP1你能够使用下列的Modbus指令来定义 SIMATIC S7-1500, S7-1200和 ET200SP支持的接口作为 Modbus从站或者 ModbusTCP服务器:

  • Modbus TCP指令 "MB_SERVER" V4.2给支持的接口
  • Modbus (RTU)指令 "Modbus_Slave" V3.0及更高版给支持的接口

Modbus TCP指令 "MB_SERVER" V4.2在 STEP 7 V14 SP1库 "MODBUS TCP" V4.2下.库 "MODBUS TCP"在 "Instructions > Communication > Other"下.

Modbus (RTU)指令 "Modbus_Slave" V3.0在 STEP 7 V14 SP1库 "MODBUS (RTU)" V3.1下.库 "MODBUS (RTU)"在 "Instructions > Communication > Communications Processor"下.

怎样预防对你的 Modbus slave (S7-1500 / S7-1200) 输出点的写访问?
图. 01

注意
你的项目必须升级到至少 TIA Portal V14 SP1.

在你的项目中调用这些块并且定义实例,在打开 "MB_SERVER" V4.2和更高及 "Modbus_Slave" V3.0和更高的实例数据前。

怎样预防对你的 Modbus slave (S7-1500 / S7-1200) 输出点的写访问?
图. 02
通过下面静态变量的 start values你可以为输出地址定义允许的写操作地址范围

Variable Data type Default value Description
QB_Start Word 0 有效输出地址的起始地址
(字节 0到 65535)
QB_Count Word 0xFFFF 能被 Modbus主站或 Modbus TCP客户端写操作的输出字节数量

举例
使"QB_Start" = 0 "QB_Count" = 10,输出字节地址0-9可以被 Modbus主站或 Modbus TCP客户端写操作.
选择 "QB_Count" = 0会阻止所有的输出被 Modbus主站或 Modbus TCP客户端写操作。

注意
如果写操作访问的是被禁止的输出地址, the指令 "Modbus_Slave"和 "MB_SERVER"返回错误代码 ("STATUS") 16#8383: "请求数据帧包含无效的数据地址".
指令 "Modbus_Master"和 "MB_CLIENT"也会在主站侧返回错误代码.

更多信息
关于以下指令的详细信息可见manual "STEP 7 Professional V14 SP1":

创建环境
FAQ 截图在 STEP 7 V14 SP1 (TIA Portal)下创建.

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc342216.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论