范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

图文详解ModbusTCP协议

  概述
  Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。1996年施耐德公司推出基于以太网TCP/IP的Modbus协议:ModbusTCP。Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。标准的Modbus协议物理层接口有RS232、RS422、RS485和以太网接口,采用master/slave方式通信。
  A
  Modbus TCP数据帧
  ModbusTCP的数据帧可分为两部分:MBAP+PDU。
  (一)报文头MBAP:MBAP为报文头,长度为7字节,组成如下:
  (二)帧结构PDU:PDU由功能码+数据组成。功能码为1字节,数据长度不定,由具体功能决定。
  (1)功能码: Modbus的操作对象有四种:线圈、离散输入、保持寄存器、输入寄存器。
  (2)根据对象的不同,Modbus的功能码有:
  (3)说明更详细的表:
  B
  PDU详细结构
  (1)0x01:读线圈:在从站中读1~2000个连续线圈状态,ON=1,OFF=0 请求:MBAP 功能码 起始地址H 起始地址L 数量H 数量L(共12字节)  响应:MBAP 功能码 数据长度 数据(一个地址的数据为1位)  如:在从站0x01中,读取开始地址为0x0002的线圈数据,读0x0008位
  00 01 00 00 00 06 01 01 00 02 00 08  回:数据长度为0x01个字节,数据为0x01,第一个线圈为ON,其余为OFF
  00 01 00 00 00 04 01 01 01 01
  (2)0x05:写单个线圈:将从站中的一个输出写成ON或OFF,0xFF00请求输出为ON,0x000请求输出为OFF。  请求:MBAP 功能码 输出地址H 输出地址L 输出值H 输出值L(共12字节)  响应:MBAP 功能码 输出地址H 输出地址L 输出值H 输出值L(共12字节)  如:将地址为0x0003的线圈设为ON
  00 01 00 00 00 06 01 05 00 03 FF 00  回:写入成功
  00 01 00 00 00 06 01 05 00 03 FF 00
  (3)0x0F:写多个线圈:将一个从站中的一个线圈序列的每个线圈都强制为ON或OFF,数据域中置1的位请求相应输出位ON,置0的位请求响应输出为OFF。  请求:MBAP 功能码 起始地址H 起始地址L 输出数量H 输出数量L 字节长度 输出值H 输出值L  响应:MBAP 功能码 起始地址H 起始地址L 输出数量H 输出数量L
  (4)0x02:读离散量输入:从一个从站中读1~2000个连续的离散量输入状态。  请求:MBAP 功能码 起始地址H 起始地址L 数量H 数量L(共12字节)  响应:MBAP 功能码 数据长度 数据(长度:9+ceil(数量/8))  如:从地址0x0000开始读0x0012个离散量输入
  00 01 00 00 00 06 01 02 00 00 00 12  回:数据长度为0x03个字节,数据为0x01 04 00,表示第一个离散量输入和第11个离散量输入为ON,其余为OFF
  00 01 00 00 00 06 01 02 03 01 04 00
  (5)0x04:读输入寄存器:从一个远程设备中读1~2000个连续输入寄存器。  请求:MBAP 功能码 起始地址H 起始地址L 寄存器数量H 寄存器数量L(共12字节)  响应:MBAP 功能码 数据长度 寄存器数据(长度:9+寄存器数量×2)  如:读起始地址为0x0002,数量为0x0005的寄存器数据
  00 01 00 00 00 06 01 04 00 02 00 05  回:数据长度为0x0A,第一个寄存器的数据为0x0c,其余为0x00
  00 01 00 00 00 0D 01 04 0A 00 0C 00 00 00 00 00 00 00 00
  (6)0x03:读保持寄存器:从远程设备中读保持寄存器连续块的内容。  请求:MBAP 功能码 起始地址H 起始地址L 寄存器数量H 寄存器数量L(共12字节)  响应:MBAP 功能码 数据长度 寄存器数据(长度:9+寄存器数量×2)  如:起始地址是0x0000,寄存器数量是 0x0003
  00 01 00 00 00 06 01 03 00 00 00 03  回:数据长度为0x06,第一个寄存器的数据为0x21,其余为0x00
  00 01 00 00 00 09 01 03 06 00 21 00 00 00 00
  (7)0x06:写单个保持寄存器:在一个远程设备中写一个保持寄存器。  请求:MBAP 功能码 寄存器地址H 寄存器地址L 寄存器值H 寄存器值L(共12字节)  响应:MBAP 功能码 寄存器地址H 寄存器地址L 寄存器值H 寄存器值L(共12字节)  如:向地址是0x0000的寄存器写入数据0x000A
  00 01 00 00 00 06 01 06 00 00 00 0A  回:写入成功
  00 01 00 00 00 06 01 06 00 00 00 0A
  (8)0x10:写多个保持寄存器:在一个远程设备中写连续寄存器块(1~123个寄存器)。  请求:MBAP 功能码 起始地址H 起始地址L 寄存器数量H 寄存器数量L 字节长度 寄存器值(13+寄存器数量×2)  响应:MBAP 功能码 起始地址H 起始地址L 寄存器数量H 寄存器数量L(共12字节)  如:向起始地址为0x0000,数量为0x0001的寄存器写入数据,数据长度为0x02,数据为0x000F
  00 01 00 00 00 09 01 10 00 00 00 01 02 00 0F  回:写入成功
  00 01 00 00 00 06 01 10 00 00 00 01
  C
  Modbus TCP示例报文
  ModBusTcp与串行链路Modbus的数据域是一致的,具体数据域可以参考串行Modbus。这里给出几个ModbusTcp的链路解析说明,辅助新人分析报文。
  D
  Modbus TCP通信
  (一)通信方式
  Modbus设备可分为主站(poll)和从站(slave)。主站只有一个,从站有多个,主站向各从站发送请求帧,从站给予响应。在使用TCP通信时,主站为client端,主动建立连接;从站为server端,等待连接。  主站请求:功能码+数据  从站正常响应:请求功能码+响应数据  从站异常响应:异常功能码+异常码,其中异常功能码即将请求功能码的最高有效位置1,异常码指示差错类型  需要超时管理机制,避免无期限的等待可能不出现的应答  IANA(Internet Assigned Numbers Authority,互联网编号分配管理机构)给Modbus协议赋予TCP端口号为 502 ,这是目前在仪表与自动化行业中唯一分配到的端口号。
  (二)通信过程 connect 建立TCP连接  准备Modbus报文  使用send命令发送报文  在同一连接下等待应答  使用recv命令读取报文,完成一次数据交换  通信任务结束时,关闭TCP连接
  E
  仿真软件 Modbus poll 和Modbus slave是一组Modbus仿真软件,可以实现Modbus RTU、TCP、串口仿真等。  仿真软件网址:https://modbustools.com/download.html  在ModbusTCP中,Modbus poll 作为客户端请求数据,Modbus slave 作为服务器端处理请求。  使用c语言编写客户端连接Modbus slave时,注意数据格式,一条指令一次性发出,否则连接会出错。  使用软件时,需要指定功能码,在setup->slave definition或者poll definition中进行设置。
  – slave ID:从站编号(事务标识符)
  – function:功能码,0x01对应线圈操作,0x02对应离散量操作,0x03对应保持寄存器操作,0x04对应输入寄存器操作
  – address:开始地址
  – quantity:寄存器/线圈/离散量 的数量

破案了!樊振东意外退赛真因曝光,小胖无奈摊牌,刘国梁遗憾了WTT新乡世界杯决赛已经开始了,目前正在进行第一轮的18决赛。此次国乒派出了9名主力参加了此次的比赛。对于目前来看,此次比赛,国乒获得冠军的概率非常大。根据成都世乒赛和WTT澳门冠世界杯首球被判无效,再牛的战术,也抗不过它每秒500次的监控北京时间11月21日凌晨,2022卡塔尔世界杯揭幕战正式打响。比赛进行到第3分钟,厄瓜多尔队球员瓦伦西亚在禁区起脚攻门,拿下本届世界杯首球。但遗憾的是,这颗进球却因为越位最终被判无腰痛失眠大便溏稀?分享一味菟丝子,三种搭配,对症解决大家好,我是中医柳兴印。最近收到了很多患者的咨询,我总结了几个热度最高的问题,分别是腰痛失眠大便溏稀不成形。针对这三种问题,给大家分享一味中药,叫做菟丝子,菟丝子在神农本草经中列为听说你想要长焦?想都别想就是不给你!荣耀80Pro正式发布11月23日,也就是今天下午,荣耀80系列新机发布会终于召开了,作为极客玩家,我自然不关注什么小杯中杯骁龙782G的屑东西,直奔荣耀80就够了。配置看了下还是挺有诚意的,虽说是3。2022年第三季度手机销量排名,前十国产手机厂商占八位,小米第一根据目前最新的手机销量统计情况来看,在2022年第三季度的手机销量排比中,三星依旧是全球第一,苹果也是全球第二。不过从第三到第十都是中国品牌,分别是小米,OPPO,vivo,传音,荣耀MagicVs发布,7499元起,小米MIXFold2慌不慌?荣耀MagicVs发布了,从产品的配置来看,这款折叠屏手机没有走高大全的路线,而是和小米MIXFold2那样走了轻薄路线,因此在产品配置上无法和vivoXFold相比,但是荣耀MaiPhone15外观设计大改,可能是近几年最舒服的苹果手机了苹果今年发布的iPhone14Pro系列,应该可以算是近几年外观改变最大的一代iPhone。可即便如此,在iPhone14Pro上,最显眼的变化仍然只有灵动岛。而上一次出现类似幅度IPO前哨三年半亏逾7亿!方舟健客押注互联网慢病管理赛道随着互联网医疗在国内蓬勃发展,一些打着互联网医疗健康口号的企业成功连接起了医生患者和药企,流量池越做越大。方舟健客,这家专注于慢性病管理平台的企业,其平台上获取了800多万的月活用嘀嗒出行第二届出行安全有奖挑战赛收官超1。5万名用户参与自测顺风车用户如何理解出行信用?日常如何积累出行信用?有哪些容易被忽略的出行信用常识?近日,嘀嗒出行第二届出行安全知识有奖挑战赛圆满结束,这一系列问题有了答案。在此次答题中,近1。5万信任机制才是数字化时代发展中的精髓所在2008年,美国次贷危机全面爆发并不断蔓延,最终席卷全球,酿成了世界性的金融危机。当年11月1日,一位署名为中本聪的人发表一篇比特币一种点对点的电子现金系统论文提出了一种完全通过点荣耀80系列发布,居中双挖孔前置镜头,比苹果灵动岛面积更小荣耀80系列于今天下午正式发布,全系共带来三款手机,其中荣耀80Pro为主打机型,上面采用居中双挖孔前置镜头,宣称面积比iPhone14Pro灵动岛减小60。后置1。6亿三摄影像系
贝弗利得知斯马特成为DPOY后很愤怒北京时间10月8日,在勇士球员德雷蒙德格林最新一期的TheVolume节目当中,作为嘉宾的湖人后卫帕特里克贝弗利谈到,上赛季在得知马库斯斯马特最终摘得自己渴望已久的DPOY之后,自国乒势如破竹!陈梦30横扫日本新星,世乒赛女团中国队领先日本2022年10月8日,世乒赛继续进行,女团决赛开打,中国队再战日本队,争夺最终的冠军,第一盘单打结束,奥运冠军陈梦先声夺人,轰出30横扫日本新星木原美悠,取得10领先。就在去年东京42岁金卡戴珊又升级,减重21斤,穿特制皮带短裙,把詹娜比下去时间来到十月上旬,NBA季前赛正在如火如荼地进行中。最近,菲尼克斯太阳队连续遭遇麻烦,主力前锋克劳德确定将会离队,球队老大布克的状态也有点糟糕。布克在场上的状态低迷,球迷们并不意外寒咳丨热咳!燥咳丨风咳丨化痰止咳食疗方法深秋正浓,逐渐干燥的天气很容易耗伤津液,更容昜秋燥伤肺而咳嗽。中医将咳嗽分为外感咳嗽和内伤咳嗽,其中外感咳嗽较为常见,季节交替,天气变化异常都会导致外邪侵犯而咳嗽。外感咳嗽根据所受肾透支了,中医教你如何补回来?现在的年轻人生活都不是很节制,结果就造成肾透支了,那么肾虚了,该如何把它补回来呢?我们说要针对性地补,这样药证相符,效果才能见效。首先大家要分清阴阳之精气,到底是哪个虚了。一般由于肾炎患者不能吃哪些肉类?肾炎患者不建议吃的肉类食物包括脂肪含量高的肉类,蛋白含量高的肉类,海鲜类,属于发物的肉类,腌制过以及重口味肉类。1。油腻的肉类,比如猪肥肉,鸭肉的皮。2。高蛋白的肉类,比如牛肉,羊天一冷坐骨神经就疼痛难忍?这个中医名方可治,值得收藏大家好,我是中医骨科阎医生。今天是寒露,寒露意味着天气越来越寒凉了。天气冷,骨头不太好的朋友,就容易出问题,明显节后来找我看病的比往常要多。今天,有好几个病人因为天凉坐骨神经痛来找午评沪指跌0。39险守3000点,科创50指数重挫3。28金融界10月10日消息周一A股三大指数集体小幅高开,盘初一小时市场震荡下挫,沪指退守3000点,深成指创业板指跌超1,随后指数低位震荡拉锯,午前小幅反弹。截止午间收盘,沪指跌0。3谁是今生渡你之人谁是今生渡你之人,对你最不好的那个人就是。拿我来说吧!我和我先生就是这样的,我们同是属鸡的,我无论做什么事,说什么话,在我先生那里基本都是错的,我们会经常吵架搞得生活一团糟。其实我学会分享,温暖人间今日读书看到这句西蜀樱桃也自红,野人相赠满筠笼,仿佛看到了鲜红的樱桃装在质朴的竹筐中,欢笑着送给那个孤寂的诗人,冰冷的草堂里顿时温暖起来。看着鲜红的樱桃,诗人想起了当初在门下省供职三孩政策,真的是为了鼓励生三孩吗?2021年5月31日,中共中央政治局会议决定进一步优化生育政策,实施一对夫妻可以生育三个子女的政策。这一政策立刻引起了全国人民的热议。很多人都在思考三孩政策的有效性,网上也出现各种