设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子 S7-1200 系列十五:干货!实例手把手教你如何实 ...
返回列表
发新帖
[西门子]
西门子 S7-1200 系列十五:干货!实例手把手教你如何实现s7-1200(1500) Mod
[复制链接]
329
|
0
|
2024-6-8 14:26:30
|
显示全部楼层
|
阅读模式
>
一
Modbus TCP简介
Modbus TCP是一种基于Modbus协议的通讯协议,用于实现工业自动化网络中的数据传输。Modbus TCP通讯协议将Modbus协议的消息帧封装在TCP/IP协议中,使其能够通过以太网进行传输。
Modbus TCP通讯协议的主要特点如下:
基于TCP/IP协议:Modbus TCP使用TCP协议作为其传输层协议,保证了数据传输的可靠性和稳定性。同时,Modbus TCP使用标准的以太网接口,使其能够方便地与现有的以太网网络集成。
简单的数据帧结构:Modbus TCP的数据帧结构相对简单,包括事务标识符、协议标识符、长度、单元标识符、功能码、数据区和校验和等字段。这种简单的数据帧结构使得Modbus TCP协议易于实现和解析。
支持多种数据类型:Modbus TCP支持多种数据类型,包括离散输入、线圈、输入寄存器和保持寄存器等。这些数据类型可以满足不同场景下的数据传输需求。
支持多个从站设备:Modbus TCP协议支持多个从站设备,通过设置不同的单元标识符来区分不同的从站设备。这使得Modbus TCP协议能够方便地实现多从站设备的通讯。
支持广播通讯:Modbus TCP协议支持广播通讯,即主站设备可以向所有的从站设备发送广播消息。这种广播通讯方式可以用于实现某些特定的应用场景,如同步时钟等。
二
Modbus TCP与Modbus RTU区别
Modbus TCP和Modbus RTU是两种不同的Modbus通信协议变种,它们在数据传输方式和应用场景上有所区别:
传输介质:
Modbus TCP:通常用于以太网通信,使用TCP/IP协议栈,适合于局域网和广域网环境。
Modbus RTU:通常用于串行通信,如RS-232、RS-485等,适合于短距离通信。
数据帧结构:
Modbus TCP:数据帧包括事务标识符、协议标识符、长度、单元标识符、功能码、数据区和校验和等字段。数据帧较长,但由于基于TCP协议,不需要额外的错误检测和校验。
Modbus RTU:数据帧包括地址、功能码、数据区和循环冗余校验(CRC)码。数据帧较短,且每个字节之间有固定的时间间隔,因此需要CRC来保证数据的完整性。
传输速度和效率:
Modbus TCP:由于使用以太网和TCP协议,传输速度较快,但数据封装较为复杂,可能会增加一些额外的开销。
Modbus RTU:由于使用串行通信,传输速度较慢,但数据帧结构简单,传输效率较高。
错误检测和校验:
Modbus TCP:依赖于TCP协议的错误检测和校验机制,不需要额外的校验。
Modbus RTU:使用CRC校验来检测数据传输过程中的错误。
地址编码:
Modbus TCP:使用单元标识符(通常是设备的IP地址)来寻址。
Modbus RTU:使用设备地址(0x01到0xFF)来寻址。
应用场景:
Modbus TCP:适用于需要高速、可靠通信的网络环境,如工厂自动化、楼宇自动化等。
Modbus RTU:适用于点对点或多点通信的简单环境,如远程监控和控制。
三
TIA Portal中Modbus TCP Server配置步骤
本期内容使用1台s7-1500与Modbus Poll仿真软件进行Modbus TCP通讯,s7-1500作为服务端(
提供数据的一侧,可以理解为从站
)
软件测试环境:
TIA Portal V17
Modbus Poll V10.9.0(
文末附下载链接
)
硬件测试环境:
CPU 1515-2 PN
注:Modbus TCP需要使用真实PLC或 PLCsim advance仿真(不支持1200)进行测试,小编手头没有1200用1500替代,两种PLC配置及调试方式一致
MB_Server配置步骤如下:
打开TIA Portal项目,新建FC块,并将MB_SERVER功能块拖入程序中,需要为该块指定背景数据块;
image-20240605164523869MB_SERVER指令参数如下:
参数
声明
数据类型
说明
DISCONNECT
Input
BOOL
“MB_SERVER”指令建立与一个伙伴模块的被动连接。服务器会响应在 CONNECT 参数的 SDT“TCON_IP_v4”中输入的 IP 地址的连接请求。
接受一个连接请求后,可以使用该参数进行控制:
MB_HOLD_REG
InOut
VARIANT
指向“MB_SERVER”指令中 Modbus 保持性寄存器的指针
MB_HOLD_REG 引用的存储区必须大于两个字节。
保持性寄存器中包含 Modbus 客户端通过 Modbus 功能 3(读取)、6(写入)、16(多次写入)和 23(在一个作业中读写)可访问的值。
作为保持性寄存器,可以使用具有优化访问权限的全局数据块,也可以使用位存储器的存储区。
CONNECT
InOut
VARIANT
指向连接描述结构的指针
可以使用下列结构 (SDT):
对于 V4.2 以上指令版本的 MB_SERVER,TCP 的以下连接描述也可用:
NDR
Output
BOOL
“New Data Ready”:
DR
Output
BOOL
“Data Read”:
ERROR
Output
BOOL
如果在调用“MB_SERVER”指令过程中出错,则将 ERROR 参数的输出设置为“1”。有关错误原因的详细信息,将由 STATUS 参数指定。
STATUS
Output
WORD
指令的详细状态信息。
0:未读取数据
1:从 Modbus 客户端读取的数据
0:无新数据
1:从 Modbus 客户端写入的新数据
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 及以上版本)
TCON_IP_v4:包括建立指定连接时所需的所有地址参数。默认地址为 0.0.0.0(任何 IP 地址),但也可输入具体 IP 地址,以便服务器仅响应来自该地址的请求。使用 TCON_IP_v4 时,可通过调用指令“MB_SERVER”建立连接。
TCON_Configured:包括所组态连接的地址参数。使用 TCON_Configured 时,会在下载硬件配置后由 CPU 建立连接。
0:在无通信连接时建立被动连接。
1:终止连接初始化。如果已置位该输入,那么不会执行其它操作。成功终止连接后,STATUS 参数将输出值 0003。
为MB_Server配置参数,注意CONNECT参数需要使用“TCON_IP_v4”类型数据;(按照小编习惯,通常先不管参数意义是什么,现在DB块中将接口参数建好,保证程序可以下载)
image-20240605165943907
为MB_SERVER指定保持寄存器数据区域,以指针的形式体现,建议使用非优化DB块;
image-20240605170139174
MB_SERVER配置完成,可对程序进行下载;由于CONNECT参数需要设置,因此MB_SERVER会产生错误代码;
image-20240605170400284
对CONNECT参数进行配置,CONNECT参数说明,及配置说明如下:
字节
参数
数据类型
起始值
说明
0 … 1
InterfaceID
HW_ANY
-
本地接口的硬件标识符
2 … 3
ID
CONN_OUC
-
引用该连接(取值范围:1 到 4095)。
该参数将唯一确定 CPU 中的连接。指令“MB_SERVER”的每个实例必须使用唯一的 ID。该 ID 还不得被不同通信类型的其他指令同时使用。
注:对于固件版本为 V2.9 或更高版本的 S7-1500 CPU 和固件版本为 V4.5 或更高版本的 S7-1200 CPU,ID 也可能由指令“TCONSettings”提供。
4
ConnectionType
BYTE
11
连接类型
对于 TCP,选择 11(十进制)。不允许使用其它连接类型。如果使用了其它连接类型(如 UDP),该指令的 STATUS 参数将输出相应的错误消息。
5
ActiveEstablished
BOOL
FALSE
建立连接的方式所对应的 ID
对于被动连接建立,应选择 FALSE。
6 … 9
RemoteAddress
ARRAY [1..4] of BYTE
0.0.0.0
连接伙伴的 IP 地址,例如,192.168.0.1:
如果指令“MB_SERVER”要接受来自任何连接伙伴的连接请求,应将“0.0.0.0”用作 IP 地址。
10 … 11
RemotePort
UINT
0
远程连接伙伴的端口号(取值范围:1 - 49151)。
如果指令“MB_SERVER”要接受来自远程伙伴任何端口的连接请求,应将“0”用作端口号。
12 … 13
LocalPort
UINT
502
本地连接伙伴的端口号(取值范围:1 - 49151)。
此 IP 端口号定义 Modbus 客户端连接请求中要监视的 IP 端口。
默认值为 502。
注:InterfaceID,ID,ConnectionType,LocalPort参数必须设置,其它可以保持默认
。
interfaceID通过硬件组态查看:
image-20240605172055991配置完成如下:
image-20240605172232237
addr[1] = 192
addr[2] = 168
addr[3] = 0
addr[4] = 1
打开Mobdu Pol,设置连接参数,建立通讯连接
image-20240605172409611
新建一个Modbus测试窗口(默认10个数据,功能码03)
image-20240605172502851
监控数据如下:
image-20240605190610142
MB_SERVER配置完成;
四
总结
注意:由于Mobdus TCP内部封装了大量串口通讯的程序,通讯中断或端口变化,都会引起某些莫名奇妙的错误,所以请谨慎使用;更多MB_SERVER使用下期分享
五
加小编,邀您加入“工控技术交流群”
image-20240324184601616
六
下载链接
如果您觉得文章对您有帮助,欢迎评论、点赞、收藏,加关注!您的支持将是小编最大动力
关注公众号,发送 30036,获取Modbus TCP主站模拟软件工具Modubs Poll
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-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
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
工控技术之家
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』