S7-200 SMART Modbus TCP 客户端指令用法 西门子STEP7-Micro/WIN SMART 从V2.4 版本开始,软件中直接集成 Modbus TCP 库指令,无需单独安装或者购买就能直接调用功能块。安装软件后,Modbus TCP 指令位于 STEP7-Micro/WIN SMART 项目树中"指令"文件夹的"库"文件夹中。如图1 Modbus TCP库指令所示。 指令分为客户端和服务器两种,目前指令版本为 V1.0。客户端指令会占用开放式用户通信资源主动连接,最多8个;服务器指令会占用开放式用户通信资源的被动连接资源,最多也是8个。 图1 Modbus TCP库指令 一、实验环境及通信任务 下面以两台S7-200 SMART 之间进行Modbus TCP 通信为例,详细阐述客户端与服务器侧如何编程及通信的过程。具体的实验环境见图2,通信任务见图3。 图2 实验环境 图3 通信任务 二、客户端侧指令编程 1、系统块中设置客户端的IP地址,以确保IP地址设置无误。此步骤为可选,如果确定IP地址设置无误,可忽略此步骤。设置方法如图4所示。 图4 系统块设置IP地址 2、鼠标点击 MAIN 主程序的程序段1的编程区域,从库文件夹下找到 Modbus TCP 客户端指令 MBUS_CLIENT,鼠标双击,指令出现在程序段1中,操作如图5所示。 图5 添加客户端指令 3、填写客户端指令参数,如图6所示。 图6填写客户端参数 程序块具体参数详细解释介绍见图7。 图7程序块具体参数 4、鼠标选中程序块文件夹,单击右键,下拉菜单中选择库存储器,如图8所示。 图8点击库存储器 5、在库存储区分配对话框中手动输入存储区的起始地址。此实例为VB5000开始,以使指令库可以正常工作。确保库存储区与程序中其他已使用的地址不冲突。使用建议地址无法确定是否有地址重叠,所以推荐手动输入正确的库存储区首地址。如图9所示。 图9库存储区地址分配 设置完成,编译项目,下载程序。 三、通信测试结果 将M0.0置位为1,然后在状态图表中创建变量,VW20-VW30 共6个字,监视值如图10所示。 图10读取服务器数据 四、关于Modbus地址与CPU中数据区域地址对应关系说明 S7-200 SMART 做 Modbus TCP 通信,可以支持的功能码及功能描述及所占用的地址区,如图11所示。客户端会主动的发送请求,服务器响应。在通信指令填写参数中没有直接填写功能码,而是通过多个参数填写共同确定功能码的。 图11功能吗概况说明 举例: 和Modbus TCP服务器交换数据参数支持功能码:03,在客户端指令中设置两个参数确定03功能码: RW=0:确定读取数据,(筛选出可能会使用的功能码:01,02,03,04), Addr:40001-49999/400001-465535,表示交换数据为寄存器类型的数据。 不足之处还望海涵,请各界大佬多多批评指教! 程序仅供参考!