设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子 S7-1200 系列十六:干货!实例手把手教你如何实 ...
返回列表
发新帖
[西门子]
西门子 S7-1200 系列十六:干货!实例手把手教你如何实现s7-1200(1500) Mod
[复制链接]
165
|
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
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
工控技术之家
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』