贵州西门子中国(授权)一级代理 代理商 PLC
| 更新时间 2024-11-27 08:00:00 价格 请来电询价 西门子变频器 西门子触摸屏 西门子伺服电机 西门子PLC 西门子直流调速器 西门子电缆 联系电话 13922889745 联系手机 18475208684 联系人 向小姐 立即询价 |
详细介绍
Modbus TCP 常问问题MB_CLIENT 指令的背景数据块中的 "MB_Unit_ID" 有什么功能?注意:Slave ID 是 ZKA-4488-ETH 的站地址,和客户机中“MB_CLIENT” 中的“CONNECT_ID” 不是一个概念,实际上与客户机中“MB_CLIENT”的背景数据块中的 STAT 变量“MB_UNIT_ID”需要一致,在 1200 中该地址默认为 16#00FF,实际使用时可以改成 1, 即:与 ZKA-4488-ETH 配置文件中的站号保持一致,当 S7-1200 挂接了多个 ZKA-4488-ETH 时,该值可以按序编号,也可以都使用值 1,因为 modbus-tcp 依然可以根据指向的 IP地址发送数据:图 11. MB_Unit_ID
S7-1200 MODBUS TCP 通信多请求处理怎么做? 单独的客户机连接需要遵循的规则1. 每个“MB_CLIENT”连接需要使用一个不同的背景数据块;2. 每个“MB_CLIENT”连接必须指定一个服务器 IP 地址;3. 每个“MB_CLIENT”连接必须指定一个唯一的连接 ID;4. 是否需要唯一的 IP 端口号取决于服务器组态;连接 ID 和背景数据块组合成对,对每个连接来说,组合对都是唯一的。对于多请求处理,有两种方法:方法一:如果 TCP 连接充裕,可以建立多个不同的连接发送请求,即每个请求使用一个独立的连接,调用独立的“MB_CLIENT”功能块,具体操作参考“Modbus TCP”部分。通过不同的连接发送多个请求,“MB_CLIENT”功能块多次调用,但是需要使用不同的背景数据块,不同的 ID 号和不同的端口号。方法二:通过公共的连接发送多个请求。通过公共的连接发送多个请求,“MB_CLIENT”功能块多次调用,但是需要使用相同的背景数据块,连接 ID 号,IP 地址和端口号。在任意时间,只能有一个 MB_CLIENT 请求处于激活状态,在一个请求完成执行后,下一个请求再开始执行,轮循处理。在此,我们以方法二为例,介绍 S7-1200 如何通过分次请求获取 ZKA-4488-ETH 内部寄存器的数据:1. S7-1200 的IP 地址 192.168.1.218,将系统存储器字节设置为 MB1,如图 1 所示,图 2 所示。图 1 IP 地址设置
图 2 系统存储器字节设置1、新建数据块,访问指向 ZKA-4488-ETH 的 IP 地址和端口号如图 6 所示,新建 DB,添加变量类型为 TCON_IP_V4,设置 InterfaceId,ID,ActiveEstablished,RemoteAddress,RemotePort 等参数,具体含义参见链接。图 6 设置连接变量如图 7 所示,在 DB 中建立结构数组,用于轮询控制位以及数据,其中元素 0 用于第一次读取,元素 1用于第二次读取。Init 用于初始标志位。图 7 轮询数据2、编写轮循功能1)如图 8 所示,用“FirstScan”在第一次扫描中将初始标志位置位。图 8 初始化标志位
2)如图 9 所示,程序段 2 中,第二步的完成位或者错误位去置位第一步的使能位复位第二步的使能位,同时复位第二步的完成位、错误位、触发的沿变量。程序段 3 中,一般情况下是 EN 通过第一步的使能位使能,REQ 通过使能位的上升沿触发, 设置模式、读取数据地址、长度、存储地址、连接数据、完成、错误位等。此外需要考虑第一次触发轮询,可以使用手动触发,在这里使用初始化标志位实现指令的第一次使能,去进行 CPU 和调试软件的 TCP 连接,使用 Connected 标志位触发第一次的 REQ 触发。图 9 请求 1 触发如图 10 所示,程序段 4 中,第一步的完成位或者错误位去置位第二步的使能位复位第一步的使能位,同时复位第一步的完成位、错误位、触发的沿变量,Zui后复位初始化标志位,确保第一个MB_CLIENT 不会一直接通。程序段 5 中,EN 通过第二步的使能位使能,REQ 通过使能位的上升沿触发,设置模式、读取数据地址、长度、存储地址、连接数据、完成、错误位等。图 10 请求 2 触发5、通讯测试通讯结果如图 11 所示。图 11 测试结果
S7-1200 MODBUS TCP 通信多请求处理怎么做? 单独的客户机连接需要遵循的规则1. 每个“MB_CLIENT”连接需要使用一个不同的背景数据块;2. 每个“MB_CLIENT”连接必须指定一个服务器 IP 地址;3. 每个“MB_CLIENT”连接必须指定一个唯一的连接 ID;4. 是否需要唯一的 IP 端口号取决于服务器组态;连接 ID 和背景数据块组合成对,对每个连接来说,组合对都是唯一的。对于多请求处理,有两种方法:方法一:如果 TCP 连接充裕,可以建立多个不同的连接发送请求,即每个请求使用一个独立的连接,调用独立的“MB_CLIENT”功能块,具体操作参考“Modbus TCP”部分。通过不同的连接发送多个请求,“MB_CLIENT”功能块多次调用,但是需要使用不同的背景数据块,不同的 ID 号和不同的端口号。方法二:通过公共的连接发送多个请求。通过公共的连接发送多个请求,“MB_CLIENT”功能块多次调用,但是需要使用相同的背景数据块,连接 ID 号,IP 地址和端口号。在任意时间,只能有一个 MB_CLIENT 请求处于激活状态,在一个请求完成执行后,下一个请求再开始执行,轮循处理。在此,我们以方法二为例,介绍 S7-1200 如何通过分次请求获取 ZKA-4488-ETH 内部寄存器的数据:1. S7-1200 的IP 地址 192.168.1.218,将系统存储器字节设置为 MB1,如图 1 所示,图 2 所示。图 1 IP 地址设置
图 2 系统存储器字节设置1、新建数据块,访问指向 ZKA-4488-ETH 的 IP 地址和端口号如图 6 所示,新建 DB,添加变量类型为 TCON_IP_V4,设置 InterfaceId,ID,ActiveEstablished,RemoteAddress,RemotePort 等参数,具体含义参见链接。图 6 设置连接变量如图 7 所示,在 DB 中建立结构数组,用于轮询控制位以及数据,其中元素 0 用于第一次读取,元素 1用于第二次读取。Init 用于初始标志位。图 7 轮询数据2、编写轮循功能1)如图 8 所示,用“FirstScan”在第一次扫描中将初始标志位置位。图 8 初始化标志位
2)如图 9 所示,程序段 2 中,第二步的完成位或者错误位去置位第一步的使能位复位第二步的使能位,同时复位第二步的完成位、错误位、触发的沿变量。程序段 3 中,一般情况下是 EN 通过第一步的使能位使能,REQ 通过使能位的上升沿触发, 设置模式、读取数据地址、长度、存储地址、连接数据、完成、错误位等。此外需要考虑第一次触发轮询,可以使用手动触发,在这里使用初始化标志位实现指令的第一次使能,去进行 CPU 和调试软件的 TCP 连接,使用 Connected 标志位触发第一次的 REQ 触发。图 9 请求 1 触发如图 10 所示,程序段 4 中,第一步的完成位或者错误位去置位第二步的使能位复位第一步的使能位,同时复位第一步的完成位、错误位、触发的沿变量,Zui后复位初始化标志位,确保第一个MB_CLIENT 不会一直接通。程序段 5 中,EN 通过第二步的使能位使能,REQ 通过使能位的上升沿触发,设置模式、读取数据地址、长度、存储地址、连接数据、完成、错误位等。图 10 请求 2 触发5、通讯测试通讯结果如图 11 所示。图 11 测试结果
相关产品
产品分类
联系方式
- 电 话:13922889745
- 经理:向小姐
- 手 机:18475208684
- 微 信:18475208684