[西门子] 西门子 S7-1200 系列十六:干货!实例手把手教你如何实现s7-1200(1500) Mod

[复制链接]
查看175 | 回复0 | 2024-6-8 14:24:03 | 显示全部楼层 |阅读模式
>
v2-2d1878572b7b248c834331d0cce38daa_1440w
Modbus TCP Client说明
在 Modbus TCP 网络中,客户端(Client)是指发起通信请求的设备,它向服务器(Server)或服务器端设备(Slave)发送请求来读取或写入数据。
Modbus TCP 客户端的工作流程通常包括以下步骤:

  • 建立连接:客户端通过 TCP/IP 网络向服务器发起连接请求。通常,服务器在默认的 Modbus TCP 端口 502 上监听来自客户端的连接。
  • 发送请求:一旦连接建立,客户端会构造一个 Modbus 请求,并将其发送到服务器。请求包括 Modbus 功能码、数据地址、数据数量等信息。
  • 等待响应:客户端发送请求后,会等待服务器处理请求并返回响应。
  • 处理响应:服务器处理完请求后,会发送一个包含操作结果或请求数据的响应给客户端。客户端接收到响应后,会根据响应数据进行相应的处理。
  • 关闭连接或继续通信:在完成一次请求/响应周期后,客户端可以选择关闭连接或继续发送其他请求。
“MB_CLIENT”指令的参数:
TIA Portal中Modbus TCP Client配置步骤
本期内容使用1台s7-1500与Modbus Slave仿真软件进行Modbus TCP通讯,s7-1500作为客户端(发送查询数据,相当于主站)
软件测试环境:

  • TIA Portal V17
  • Modbus Slave V9.3.2
硬件测试环境:

  • CPU 1515-2 PN
注:Modbus TCP需要使用真实PLC或 PLCsim advance仿真(不支持1200)进行测试,小编手头没有1200用1500替代,两种PLC配置及调试方式一致
MB_Client配置步骤如下:

  • 打开TIA Portal项目,新建FC块,并将MB_SERVER功能块拖入程序中,需要为该块指定背景数据块;
    image-20240606155949611“MB_CLIENT”指令的参数如下:
    参数
    声明
    数据类型
    说明
    REQ
    Input
    BOOL
    对 Modbus TCP 服务的 Modbus 查询
    REQ 参数受到等级控制。这意味着只要设置了输入 (REQ=true),指令就会发送通信请求。
    Modbus 查询开始后,背景数据块将锁定,其它客户端无法使用。
    在服务器进行响应或输出错误消息之前,对输入参数的更改不会生效。
    如果在 Modbus 请求期间再次设置了参数 REQ,此后将不会进行任何其它传输。
    DISCONNECT
    Input
    BOOL
    通过该参数,可以控制与 Modbus 服务器建立和终止连接:
    0:与通过 CONNECT 参数组态的连接伙伴(请参见 CONNECT 参数)建立通信连接。
    1:断开通信连接。在终止连接的过程中,不执行任何其它功能。成功终止连接后,STATUS 参数将输出值 0003。
    而如果在建立连接的过程中设置了参数 REQ,将立即发送 Modbus 请求。
    MB_MODE
    Input
    USINT
    选择 Modbus 的请求模式(读取、写入或诊断)或直接选择 Modbus 功能
    MB_DATA_ADDR
    Input
    UDINT
    取决于 MB_MODE
    注:该参数不适用于 Modbus 功能 23,并且其值必须为默认值。
    MB_DATA_LEN
    Input
    UINT
    数据长度:数据访问的位数或字数
    注:该参数不适用于 Modbus 功能 23,并且其值必须为默认值。
    MB_DATA_PTR
    InOut
    VARIANT
    指向待从 Modbus 服务器接收的数据或待发送到 Modbus 服务器的数据所在数据缓冲区的指针。
    注:该参数不适用于 Modbus 功能 23,并且其值必须为默认值。
    CONNECT
    InOut
    VARIANT
    指向连接描述结构的指针
    可以使用以下结构(系统数据类型):
    TCON_IP_v4:包括建立指定连接时所需的所有地址参数。使用 TCON_IP_v4 时,可通过调用指令“MB_CLIENT”建立连接。
    TCON_Configured:包括所组态连接的地址参数。使用 TCON_Configured 时,将使用下载硬件配置后由 CPU 创建的已有连接。
    对于 V4.1 以上指令版本的 MB_CLIENT,TCP 的以下连接描述也可用:
    TCON_IP_V4_SEC(S7-1200 CPU 固件版本 V4.3 及以上版本,或 S7-1500 CPU 固件版本 V2.5 及以上版本)
    TCON_QDN(S7-1200 CPU 固件版本 V4.4 及以上版本,或 S7-1500 CPU 固件版本 V2.5 及以上版本)
    TCON_QDN_SEC(S7-1200 CPU 固件版本 V4.4 及以上版本,或 S7-1500 CPU 固件版本 V2.5 及以上版本)
    DONE
    Out
    BOOL
    如果最后一个 Modbus 作业成功完成,则输出参数 DONE 中的该位将立即置位为“1”。
    BUSY
    Out
    BOOL
    0:无正在进行的 Modbus 请求
    1:正在处理 Modbus 请求
    在建立和终止连接期间,不会设置输出参数 BUSY。
    ERROR
    Out
    BOOL
    0:无错误
    1:出错。出错原因由参数 STATUS 指示。
    STATUS
    Out
    WORD
    F1查看帮助

  • 为MB_Client配置引脚参数,及数据读取后存入寄存器指针(注意DB块必须是非优化块访问)
    image-20240606163524703数据存储指针区域:
    image-20240606164042362注:
    1. 参数CONNECT参数数据类型为“TCON_IP_v4”,直接复制进DB块即可
    2. REQ参数可以使用1HZ脉冲,发出请求
  • 将程序下载至PLC,下载完成后,STATUS状态报错;需要对CONNECT参数进行设置
    image-20240606164340015必须配置参数如下:
    字节
    参数
    数据类型
    起始值
    说明
    0 … 1
    InterfaceID
    HW_ANY
    -
    本地接口的硬件标识符(值范围:0 到 65535)。
    2 … 3
    ID
    CONN_OUC
    -
    引用该连接(取值范围:1 到 4095)。
    该参数将唯一确定 CPU 中的连接。指令“MB_CLIENT”的每个实例都必须使用唯一的 ID。
    注:对于固件版本为 V2.9 或更高版本的 S7-1500 CPU 和固件版本为 V4.5 或更高版本的 S7-1200 CPU,ID 也可能由指令“TCONSettings”提供。
    4
    ConnectionType
    BYTE
    11
    连接类型
    对于 TCP,选择 11(十进制)。不允许使用其它连接类型。如果使用了其它连接类型(如 UDP),该指令的 STATUS 参数将输出相应的错误消息。
    5
    ActiveEstablished
    BOOL
    TRUE
    建立连接的方式所对应的 ID
    对于主动连接建立,应选择 TRUE。
    6 … 9
    RemoteAddress
    ARRAY [1..4] of BYTE
    -
    连接伙伴(Modbus 服务器)的 IP 地址,例如,192.168.0.1:
    addr[1] = 192
    addr[2] = 168
    addr[3] = 0
    addr[4] = 1
    10 … 11
    RemotePort
    UINT
    502
    远程连接伙伴的端口号(取值范围:1 - 49151)。
    使用客户端通过 TCP/IP 协议与其建立连接并最终通信的服务器的 IP 端口号(默认值:502)。
    12 … 13
    LocalPort
    UINT
    0
    本地连接伙伴的端口号:
    端口号:1 至 49151
    任意端口:“0”

  • 参数配置完成,打开Modbus Slave仿真软件,组态Modbus_TCP从站
    image-20240606164919028
  • 配置服务端连接参数
    image-20240606165041789
  • 连接服务器后,并写入寄存器数据,进行测试;
    image-20240606165216815
  • MB_Client通讯成功,配置完成;
总结
“MB_CLIENT”指令作为 Modbus TCP 客户端通过 PROFINET 连接进行通信。通过“MB_CLIENT”指令,可以在客户端和服务器之间建立连接、发送 Modbus 请求、接收响应并控制 Modbus TCP 客户端的连接终端。
多个客户端连接
Modbus TCP 客户端可以支持多个 TCP 连接,连接的最大数目取决于所使用的 CPU。一个 CPU 的总连接数,包括 Modbus TCP 客户端和服务器的连接数,不能超过所支持的最大连接数。Modbus TCP 连接还可由“MB_CLIENT”和/或“MB_SERVER”实例共用。使用各客户端连接时,请记住以下规则:

  • 每个“MB_CLIENT”连接都必须使用唯一的背景数据块。
  • 对于每个“MB_CLIENT”连接,必须指定唯一的服务器 IP 地址。
  • 每个“MB_CLIENT”连接都需要一个唯一的连接 ID。该指令的各背景数据块都必须使用各自相应的连接 ID。连接 ID 与背景数据块组合成对,对每个连接,组合对都必须唯一。
  • 根据服务器组态,可能需要或不需要 IP 端口的唯一编号。
加小编,邀您加入“工控技术交流群”
image-20240324184601616
下载链接
如果您觉得文章对您有帮助,欢迎评论、点赞、收藏,加关注!您的支持将是小编最大动力
关注公众号,发送 30037,获取ModbusSlave仿真工具
public

西门子 s7-1200 系列文章--持续更新中


  • 西门子 S7-1200 系列一:s7-1200 plc 产品介绍


  • 西门子 S7-1200 系列二:干货!教你做西门子S7-1200 PLC系统选型(其它系统适用) 附选型工具及1200文档下载


  • 西门子 S7-1200 系列三:最全S7-1200 固件使用及三种固件更新方式详解(附S7-1200 V2~V4.6固件包下载)


  • 西门子 S7-1200 系列四:西门子 TIA Portal 编程软件介绍及应用范围说明(附V15~V19软件下载连接)


  • 西门子 S7-1200 系列五:TIA博图中OB、DB、FC、FB介绍及应用范围说明再也不用担心混淆了


  • 西门子 S7-1200 系列六:S7-1200(1500适用)控制系统程序中数据类型详解(上)


  • 西门子 S7-1200 系列七:S7-1200(1500适用)控制系统程序中数据类型详解(下)


  • 西门子 S7-1200 系列八:无论新手老手你肯定没有全面了解过的 TIA Portal 中图标大全说明


  • 西门子 S7-1200 系列九:TIA Portal软件中那些你经常用到但却容易忽略的常用的基础操作说明(上)


  • 西门子 S7-1200 系列十:TIA Portal软件中那些你经常用到但却容易忽略的常用的基础操作说明(中)


  • 西门子 S7-1200 系列十一:TIA Portal软件中那些你经常用到但却容易忽略的常用的基础操作说明(下)


  • 西门子 S7-1200 系列十二:手把手教你如何激活S7-1200 OPC UA Server并配置服务器接口数据(附测试软件)


  • 西门子 S7-1200 系列十三:干货!西门子 s7-1200 Modbus RTU通讯详解(上)--(硬件篇,接线不发愁)


  • 西门子 S7-1200 系列十四:干货! 西门子 s7-1200 Modbus RTU通讯详解(下)--(程序篇,篇幅较长)


  • 西门子 S7-1200 系列十五:干货!实例手把手教你如何实现s7-1200(1500) Modbus TCP通讯及测试(上)



西门子 s7-200 smart 系列文章


  • 西门子 s7-200 smart 全系列(文档、编程软件、基本控制库、CAX图纸、实例应用)汇总分享


软件下载


  • 软件资源分享一:Modbus调试软件ModScan32 + Modsim32
  • 软件资源分享二:s7-200 smart 编程软件 V2.3~V2.8整合分享
  • 软件资源分享三:最新西门子精彩(smart line V4)触摸屏组态软件wincc flexible smart v4 sp2
  • 软件资源分享四:TIA Portal V15~V18编程软件 分享+s7-200 smart 技术应用汇总
  • 软件资源分享三:最新西门子博图编程软件 TIA Portal V19 软件更新分享附下载链接
  • 软件资源分享六:EPLAN Electric P8 2024 | Eplan 2024 中文版软件介绍+保姆级安装教程
  • 软件分享七:使用NetToPLCsim实现触摸屏、上位机与西门子PLC-SIM仿真软件的在线无硬件通讯测试(附下载链接+样例)
  • 软件分享八:推荐两款现场调试自用的两款IP扫描工具,很方便!(附:工具下载链接)
  • 软件分享九:西门子官方PROFINET网络调试和诊断工具PRONETA介绍及使用分享(附下载链接)
  • 软件分享十:功能更加强大全面的操作及维护工具 SIMATIC Automation TOOL可实现免TIA Portal下载程序




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

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

本版积分规则