Modbus TCP 服务器指令使用示例:
MB_Server 指令库安装
1) 打开STEP 7-Micro/WIN SMART V2.2 版本软件,鼠标右键项目树的“库”节点,并从快捷菜单中选择“打开库文件夹”,如图 1. 所示。
2) 将MB_Server 指令库添加到打开的 STEP 7-Micro/WIN SMART 库文件夹中,如图2. 所示。
备注:STEP 7-Micro/WIN SMART 库文件夹一般存储路径为C:UsersPublicDocumentsSiemensSTEP 7-MicroWIN SMARTLib
3) 关闭STEP 7-Micro/WIN SMART 库文件夹,然后鼠标右键项目树的“库”节点,并从快捷菜单中选择“刷新库”。刷新后,您可以看见“MB_Server_0”指令库已经被添加到项目树的库节点下。
调用MB_Server 指令库
MB_Server 指令库包含MBS_Connect 和MBS_Slave 等2个指令。
MBS_Connect 指令用于建立或断开 Modbus TCP 连接;MBS_Slave 指令用于处理来自Modbus TCP 客户端的请求,并且该指令必须在每次扫描时执行,以便检查和响应 Modbus 请求。
每个 MB_Server 指令库只能创建一个 Mdobus TCP 连接,如果一个 S7-200 SMART 需要连接多个Modbus TCP 客户端,则需要购买多个名称不同的MB_Server 指令库(例如 MB_Server_0,MB_Server_1,MB_Server_2)。
1) 在“MAIN”主程序中调用 MBS_Connect 和MBS_Slave 指令,如图 3. 所示。
MBS_Connect 指令各个参数定义如下:
EN 使能:必须保证每一扫描周期都被使能。
Connect:启动TCP 连接建立操作。
Disconnect: 断开TCP连接操作。
ConnID: TCP 连接标识。
注意:Modbus TCP 属于TCP通信,也是开放式用户通信中的一种,所以ConnID 参数不能与其他 TCP、ISO-on-TCP 、UDP通信相同。
IPaddr1~IPaddr4: Modbus TCP 客户端的IP 地址,IPaddr1 是 IP 地址的最高有效字节,IPaddr4 是 IP 地址的最低有效字节。如果不指定伙伴IP ,则可以设置为 0.0.0.0 。LocPort:本地设备上端口号
MaxHold: 用于设置 Modbus 地址 4xxxx 或 4yyyyy 可访问的 V 存储器中的字保持寄存器数。
HoldStart: 间接地址指针,指向 CPU 中 V 存储器中保持寄存器的起始地址。本例中VW1000 即对于 Modbus 地址 40001 。
ConnectDone :Modbus TCP 连接已经成功建立。
Busy: 连接操作正在进行时。
Error: 建立或断开连接时,发生错误。
Status:如果指令置位 “Error”输出,Status 输出会显示错误代码。
MBS_Slave 指令各个参数定义如下:
EN 使能:必须保证每一扫描周期都被使能。
Done:当 MB_Server 指令响应 Modbus 请求时,Done 完成位在当前扫描周期被设置为 1 ;如果未处理任何请求, Done 完成位为 0 。
Error:错误代码,只有在 Done 位为1时错误代码有效。
2) 为MB_Server 指令库分配库存储器地址。
MB_Server 指令库需要占用 300 个字节 V 存储区用于库存储器地址分配。
该库存储器分配地址不能与 MBS_Connect 指令参数 HoadStart 指向的 V 存储器地址重叠,也不能与其它程序使用的地址有重叠,库存储器地址分配过
程见图4.所示。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !