[西门子] 西门子TIA博途ModbusTcpServer的配置方法(MB_SERVER, V5.2)

[复制链接]
查看504 | 回复0 | 2024-5-6 19:03:37 | 显示全部楼层 |阅读模式
第一步:从通信指令库中调用MB_SERVER,选择V5.2版本。如下图:

第二步:为MB_SERVER的CONNECT参数配置对应的数据块和参数。如下图:


ID号用来区分不同的连接,如果创建了多个MB_SERVER连接,应设置多个ID号。本地端口号默认选择502,也可选择其它。远程连接伙伴的IP地址和端口号可以不设置。
第三步:创建一些数据块,作为Modbus TCP的数据Buffer的原始数据,供Modbus客户端访问。如下图:


本例一共创建了5个数据块,第1个类型为:01过程映像输出(线圈),第2个类型为:02过程映像输入(开关输入),第3个和第4个类型为:03保持寄存器,第5个类型为:04输入寄存器。第1个和第2个数据块中定了含有16个布尔类型的元素的一维数组,其余3个数据块定义了含有16个字类型的元素的一维数组。

第四步:在MB_SERVER的背景数据块中定义Modbus TCP的数据Buffer,和Modbus地址形成映射关系。如下图:


注意相同类型的数据的分配与连接,不可叠加但可以以字为单位跳空分配。

第五步:下载程序并用Modbus Poll工具进行数据监控。如下图:


总结:

  • 如果在MB_SERVER背景数据块中的Data_Area_Array中定义数据区域,则通过形参MB_HOLD_REG以指针形式传递的数据将失效,尽管如此,该参数也不能设置为NULL,且其指向的存储区应大于等于2个字节;

  • 如果只打算通过形参MB_HOLD_REG指向的数据来作为Modbus TCP的数据,则MB_SERVER背景数据块中的Data_Area_Array应保持默认参数,不应配置其它参数;
  • 用户最多可在不同数据块中定义8个数据区域(Data_Area_Array只提供了8组),每个数据块只能包含一个数据区域。单个MODBUS请求只能对恰好一个数据区域进行读写操作。每个数据区域对应于一个MODBUS地址区域。可以在MB_SERVER背景数据块的静态变量Data_Area_Array中定义数据区域;
  • 如果要使用的数据区域不到8个,则所需数据区域必须紧密相连,没有间隙。在处理过程中,数据区域中的第一个空白条目会终止数据区域搜索。例如,如果已定义Data_Area_Array字段元素 1、2、4 和 5,由于字段元素 3 留空,则Data_Area_Array只会识别字段元素 1 和 2;
  • 单个 MODBUS 请求只能对一个数据区域进行读写操作。如果要读取覆盖多个数据区域的保持性寄存器,则需要多个 MODBUS 请求。

知识小卡片
在大家进行西门子产品选型的时候,可以使用西门子官方推出的选型工具:TIA Selection Tool(TST),这是一款完全免费免安装的工具。
无论是硬件产品还是软件工具,都可以在选型工具中找到对应的订货号。TST分为在线版和离线版,离线版下载后可直接运行(推荐使用离线版)。
TIA Selection Tool在线及离线下载网站:https://www.siemens.com/global/en/products/automation/topic-areas/tia/tia-selection-tool.html
*小tips:TST更新速度较快,建议在使用之前更新该软件,以获取最新产品信息。

V18最新样本汇总


彩页产品样本通过产品实体照片结合特性的介绍能让您短时间内快速地了解产品性能,第一时间掌握如订货号等信息。
TIA 博途与SIMATIC S7-1500可编程控制器百页彩页介绍,清晰产品定位

SIMATIC S7-1500T 工艺型CPU运动型CPU,关键数据快速查询

SIMATIC S7-1200 可编程控制器图解1200,结构清楚明了

点击下图,可直接跳转至小程序下载样本及其他资源:

S7-1200/1500最新系统手册



系统手册是产品的百科全书,不仅是参数相关的数据,关于安装和编程等方面的信息都能在系统手册中找到答案!(点击图片跳转至小程序,可直接下载最新手册)

SIMATIC S7-1500/ET 200MP 系统手册官方链接:https://support.industry.siemens.com/cs/cn/en/view/86140384
SIMATIC S7-1200 系统手册官方链接:https://support.industry.siemens.com/cs/cn/zh/view/109814829
V18常用软硬件信息


当然,除了使用西门子选型工具、参考最新样本和系统手册外,关于常用的V18软硬件信息,我们已经整理在了小程序后台,不仅是订货号,关于产品描述、相关解释说明、甚至是某些产品图片,也都已经整合在了表格中(如下图),大家可以作为一个简单的选型参考

知识小卡片
标准机器项目是指在STEP 7项目中,将一个包含IO控制器(S7-1500)和所有IO设备的PROFINET IO系统作为“主母板”,只需组态一个项目,根据实际需求,由它派生出不同标准机器版本的“其他”组态。


标准机器项目主要针对以下两种场景:
场景1
机械设备制造时,由于市场需要的变化,一般同一机器会根据价格、功能等因素,衍生出不同的机型,从而导致硬件配置的数目发生变化,比如:

  • 主机架模块/分布式IO站模块数量或位置发生变化

  • 分布式IO站的数量发生了变化(比如系统里需要连接PN接口的变频器数量不同)

场景2
多套设备,程序完全相同,控制系统需要联网,设备名称和IP地址需独立
针对以上在项目中可能会遇到的情景,一般的做法是根据不同需求,在博途中做不同的配置,将项目分别下载到PLC中。这种方式会增加很多重复的工作,繁琐且后期难以维护。
有没有办法只配置一个项目,解决以上所有问题呢?


当然可以!做一个标准的项目,适合于所有的机型,通过修改程序的方式控制参与的硬件、实现自动分配IP地址等实际需求。

主要有以下两种方式实现:场景1—组态控制
针对场景1,可以分为设备级别和IO系统组态控制的解决方案。设备级别的组态控制

CPU中央机架或分布式I/O上的模块或子模块,可根据实际需求灵活地增加或减少、或是更换插槽位置。

在博途中勾选“允许通过用户程序重新组态设备”,借助“WRREC”指令实现。



IO系统的组态控制
PROFINET IO系统中的设备站,可根据需求灵活地增加或减少、或是更改网络互连的拓扑结构。
在博途中勾选“可选IO设备”,借助“ReconfigIOSystem”指令实现。








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

本帖子中包含更多资源

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

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

本版积分规则