- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
ModbusTCP服务器指令MB_SERVERV5.0新功能概述
如下图1所示服务器指令MB_SERVER从V5.0以后增加了三个新功能,分别为:
访问数据块中的数据区域,而不是直接访问MODBUS地址
过程映像区的读访问限制
统计变量NDR_immediate和DR_immediate
图1.MB_SERVER指令
SIMATICS7-1200使用要求
TIAPortalV15及以上版本
CPU固件V4.2及以上版本
对于ModbusTCP基础版本V4.0,请参见:
客户端:链接
服务器:链接
新功能实验环境和内容
在本应用实例中,通过以下产品进行ModbusTCP服务器V5.0新功能编程,实现了访问1217CCPU中数据块的数据区域以及限制对1217CPU过程映像区的读访问。
软件:
TIAProfessionalV16
ModbusPoll
硬件:
CPU1217CDC/DC/DCV4.4
新功能通信程序
1、指令调用及参数分配
1.1、打开TIAPortalV16软件,新建一个项目命名为ModbusTCPV5.0,在项目中添加CPU1217CDC/DC/DCV4.4,为以太网接口新建一个子网并设置IP地址为192.168.0.1,如下图3所示。
图2.分配IP地址
1.2、在OB1组织块中添加ModbusTCPServer功能块MB_SERVER,软件将提示会为该FB块增加一个背景数据块,本例中为DB1MB_SERVER_DB,如下图3所示。指令各引脚具体含义及如何分配与先前版本一致,请参考链接。
图3.指令创建
2、访问数据块中的数据区域
用户可访问数据块中的数据区域,而不用直接访问过程映像和保持性寄存器。在此情况下,必须禁用数据块的“优化块访问”(Optimizedblockaccess)属性,并且该属性不得单独存在于装载存储器中。
2.1、创建标准数据块,DB10(Area1forInput)、DB11(Area2forInputRegister)、DB12(Area3forHoldingRegister)、DB13(Area4forHoldingRegister)如下图4所示。并修改数据块属性为标准访问数据块,如下图5所示。
图4.创建数据块
图5.数据块属性
2.2、分配数据区域及注意事项
用户最多可在不同数据块中定义八个数据区域,每个数据块只能包含一个数据区域。单个MODBUS请求只能对恰好一个数据区域进行读写操作。每个数据区域对应于一个MODBUS地址区域。可以在MB_SERVER背景数据块的静态变量中Data_Area_Array中定义数据区域。
如果要使用的数据区域不到八个,则所需数据区域必须紧密相连,没有间隙。在处理过程中,数据区域中的第一个空白条目会终止数据区域搜索。例如,如果已定义字段元素1、2、4和5,由于字段元素3留空,则Data_Area_Array只会识别字段元素1和2。
如果MODBUS请求到达时尚未定义相应功能代码的MODBUS数据类型的数据区域,请求会按之前的指令版本处理,即直接访问过程映像和保持性寄存器。如果已为功能代码的MODBUS数据类型定义了数据区域,则指令MB_SERVER可对该数据区域进行读写操作。具体是读操作还是写操作取决于作业类型。如果有两个区域都是03呢,是否会读写搞混了?测试一下功能码1和15可以放在2个功能区吗,并且起始地址和长度一样
单个MODBUS请求只能对一个数据区域进行读写操作。如果要读取覆盖多个数据区域的保持性寄存器,则需要多个MODBUS请求。
Data_Area_Array字段包含八个元素:Data_Area_Array[1]到Data_Area_Array[8],每个字段元素Data_Area_Array[x](其中1=x=8)都是MB_DataArea类型的UDT,结构如下表1。
表1:Data_Area_Array结构
参数
数据类型
含义
data_type
UInt
映射到此数据区域的MODBUS数据类型的标识符:
?0:空字段元素或未使用数据区域的标识符。此时,db、start和length的值无效。
?1:过程映像输出(与功能代码1、5和15一起使用)
?2:过程映像输入(与功能代码2一起使用)
?3:保持寄存器(与功能代码3、6和16一起使用)
?4:输入寄存器(与功能代码4一起使用)
db
UInt
映射的数据区编号,该D
您可能关注的文档
最近下载
- 中国国家标准 GB 4806.11-2023食品安全国家标准 食品接触用橡胶材料及制品.pdf
- 2025-2026学年小学信息技术清华版2012六年级上册-清华版(2012)教学设计合集.docx
- 光伏电站检测规范.docx VIP
- 监理实施细则(装饰装修工程).docx
- 《古建筑油漆彩画作》课件——绪论 古建筑彩画概论.pptx VIP
- 《古建筑油漆彩画作》课件——中国建筑彩画产生及发展简况.pptx VIP
- 心脏介入治疗流程图解.pptx VIP
- 《古建筑油漆彩画作》课件——第四章 清代建筑彩画.pptx VIP
- 《蝙蝠侠:黑暗骑士》完整中英文对照剧本.docx VIP
- 《古建筑油漆彩画作》课件——第五章 晋系地方建筑彩画.pptx VIP
文档评论(0)