谁知道这远程智能电表偷电技巧的Modbus协议是什么意思,寄存码,功能码怎么填

modbus tcp协议功能码,
5.完成以上设定后,SCADA只需利用MODBUSTCP/IP协议,发送读/写4x1~4x50地址的命令,即可以直接存取FATEKFBSeriesPLC的D0~D49地址。...关键词:
12345678910
123456789101112131415161718
本页关键词:modbus tcp协议功能码
Copyright &
All Rights Reserved每日登录:+1西币&+1积分
立即签到已签到已签到0天
累计可抽西币次数:0次抽奖机会抽西币奖
累计可抽大奖次数:0次抽奖机会抽终极大奖
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。
&下次自动登录
绑定第三方账号登录 &
扫描二维码登录支持中心移动端
获取动态密码
售前文档售后文档
热门视频系列热门版区售后服务概述自助服务帮助信息
You are here:
请问整流器和西门子1200进行modb...
热点活动:
置评已完成,谢谢!
您现在可以为该问题添加标签。
请问整流器和西门子1200进行modbus485通讯,整流器给出的通讯协议里地址码和功能码都代表着什么,该如何往MB_Slave功能块里填写啊?
- 已解决问题
请问整流器和西门子1200进行modbus485通讯,整流器给出的通讯协议如下,这个协议是什么意思啊,地址码和功能码都代表着什么,该如何往MB_Slave功能块里填写啊?1.从站输出电压设置及从站应答&向从站设置电压(主-&从)&从站应答(从-&主)地址码&07H&07H功能码&06H&06H寄存器起始地址(H)&00H&00H寄存器起始地址(L)&70H&70H数据区(H)&电压值高字节&写入状态高字节数据区(L)&电压值低字节&写入状态低字节校验码(L)&CRC校验值低字节&CRC校验值低字节校验码(H)&CRC校验值高字节&CRC校验值高字节2.从站工作模式设置及应答(只能在AFE关机状态下设置)&向从站设置工作模式(主-&从)&从站应答(从-&主)地址码&07H&07H功能码&06H&06H寄存器起始地址(H)&00H&00H寄存器起始地址(L)&72H&72H数据区(H)&工作模式高字节00H&写入状态高字节数据区(L)&工作模式低字节00H(CV)&01H(CC)&02H(CP)&写入状态低字节校验码(L)&CRC校验值低字节&CRC校验值低字节校验码(H)&CRC校验值高字节&CRC校验值高字节3.读取从站运行状态及从站应答主-&从&从从站读取运行状态&&从-&主&从站应答地址码&07H&&地址码&07H功能码&03H&&功能码&03H寄存器起始地址(H)&00H&&字节计数器&01H寄存器起始地址(L)&71H&&数据区(H)&返回数据高字节数据区(H)&数据总数高字节&00H&&数据区(L)&返回数据低字节数据区(L)&数据总数低字节&01H&&校验码(L)&CRC校验值低字节校验码(L)&CRC校验值低字节&&校验码(H)&CRC校验值高字节校验码(H)&CRC校验值高字节
产品版区:
悬赏西币:5 | 解决时间: 22:36:22 | 提问者:& - 中级技术员&nbsp&nbsp第6级
问题ID:141480
看了这个问题的网友还看了
你的PLC应该是做主站,应该调用MB_Master,整流器是从,进行波特率、奇偶校验、地址码设置等通讯方面的设置,如果说你只是读取整流器数据,那就用第三条就可以了,就是读取寄存器数据,功能码是03,然后再看你需要读取几个寄存器,起始地址和寄存器个数都是按十进制格式填写,你可以先用串口调试助手发送指令07(地址码)03(功能码)0071(起始地址)0001(寄存器个数)D477(用校验工具输入然后生成),看整流器是否回数,注意整流器的波特率必须和串口调试助手的波特率、奇偶校验、数据位、停止位一致
毕业实践员&nbsp&nbsp第4级&
以下网友赞了您的问题:
月雨风云,hatian7628
填写您的评论...
提问者对于答案的评价:谢谢
已阅,最佳答案正确。
置评专家:西门子自动化产品支持& 10:05:22
等您来回答
本版相关问题
作者/最新回复
最后回复时间
是USS协议吧?
- 高级工程师&nbsp&nbsp第11级
& 08:29:18
请看相应的使用说明书
- 资深学长&nbsp&nbsp第3级
& 08:35:47
你这个查看MODBUS报文格式就行了;地址码就是从站的地址站号;功能码就是不同的数字表示不同的功能;06H表示写单个寄存器;03H表示读寄存器
- 中级技术员&nbsp&nbsp第6级
& 09:17:29
上一页1下一页&
扫描打开手机版
支持中心新发布“关注”功能了!实时查看彼此动态,更方便地进行技术交流。
不管是“关注”与“被关注”,相信都是一个美好的开始!
还有多重奖励派送,快快行动起来吧!
20秒帮我们优化支持中心!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
欢迎您来到找答案
在“找答案”,已有超过7万个被解决的技术问题供您参考!
西门子技术专家亲自把关!常规的,简单的问题,在这里您都可以找到答案!
遇到了问题,就来“找答案”提问。
点击搜索框右侧的提问按钮,只需2步就能成功提交问题!分分钟就有无数大侠前来帮你。
在“找答案”每天都有大量的新问题。
别犹豫,只需要点击问题下方的“我要回答”就能参与。答题不光有积分相送,也会给您积攒大侠人气。
“找答案”定期开展各种有奖活动期待您的参与。
更有机会参加西门子高端用户峰会。领略西门子的博大精深!Modbus协议———常用功能码详解
01H-读线圈状态
1)描述:读从机线圈寄存器,位操作,可读单个或者多个;
2)发送指令:
假设从机地址位0x01,寄存器开始地址0x0023,寄存器结束抵制0x0038,总共读取21个线圈。协议图如下:
返回数据的每一位对应线圈状态,1-ON,0-OFF,如下图;
上表中data1表示0xa的线圈状态,data1的最低位代表最低地址的线圈状态,可以理解为小端模式;
data2表示地址0x002b-0x0033的线圈状态,如下表:
data3表示地址0x8的线圈状态,不够8位,字节高位填充为0,如下表:
02H-读离散输入状态
1):读离散输入寄存器,位操作,可读单个或多个,协议类似功能码0X01协议,此处省;
03H-读保持寄存器
1)描述:读保持寄存器,字节指令操作,可读单个或者多个;
2)发送指令:
从机地址0x01,保持寄存器起始地址0x0032,读2个保持寄存器
数据存储顺序
04H-读输入寄存器
1)描述:读输入寄存器,字节指令操作,可读单个或者多个;
2)发送指令:同03H;
3)响应:同03H;
05H-写单个线圈
1)描述:写单个线圈,位操作,只能写一个,写0xff00表示设置线圈状态为ON,写0x0000表示设置线圈状态为OFF
2)发送指令:
设置0x0032线圈为ON;
同发送指令;
06H-写单个保持寄存器
1)描述:写单个保持寄存器,字节指令操作,只能写一个;
2)发送指令:
写0x0032保持寄存器为0x1232;
3)响应:同发送指令;
0FH-写多个线圈
1)描述:写多个线圈寄存器。若数据区的某位值为“1”表示被请求的相应线圈状态为ON,若某位值为“0”,则为状态为OFF。
2)发送指令:
线圈地址为0x04a5,写12个线圈,
上图中DATA1为0x0c,表示:
DATA2为0x02,不够8位,字节高位填充0:
10H-写多个保持寄存器
1)描述:写多个保持寄存器,字节指令操作,可写多个;
2)发送指令:
保持寄存器起始地址为0x0034,写2个寄存器4个字节的数据;
Modbus-RTU通讯协议中CRC校验码的计算步骤
一个ModBus RTU程序(支持01、02、03、05、06、15、16功能码)
Modbus协议分析——TCP/RTU
经过整理的Modbus通讯协议详解(一)
Modbus通讯协议学习 - 认识篇
MODBUS协议整理——功能码简述
modbus TCP IP功能码及报文解析
Modbus通讯协议详细解释
MODBUS-寄存器与功能码学习
没有更多推荐了,modbus&入门篇,不冗长,很好理解!(转自中国工控网)
& 先来简单分析一条MODBUS-RTU报文,例如:01 &06
&00 01 &00 17
& &00 01 &
& 00 17 & &
& & &98 04
& 从机地址 & &
& &功能号 &
&数据地址 & &
这一串数据的意思是:把数据 0x0017(十进制23) 写入 1号从机地址 0x0001数据地址。
先弄明白下面的东西。
& &一个报文就是一帧数据,一个数据帧就一个报文:
指的是一串完整的指令数据,就像上面的一串数据。
2、CRC校验
意义:例如上面的 &98 04 &是它前面的数据(01 06 00
17)通过一算法(见附录2,很简单的)计算出来的结果,其实就像是计算累加和那样。(累加和:就是加起来的值,然后它的算法就是加法)。
作用:在数据传输过程中可能数据会发生错误,CRC检验检测接收的数据是否正确。比如主机发出01 06 00 01 00 17 98
04,那么从机接收到后要根据01 06 00 01 00 17
再计算CRC校验值,从机判断自己计算出来的CRC校验是否与接收的CRC校验(98
04主机计算的)相等,如果不相等那么说明数据传输有错误这些数据不能要。
& 意义:modbus 定义。见附录1。
& 作用:指示具体的操作。
MODBUS-RTU
一、一个报文分析
先声明下我们的目的,我们是要两个设备通讯,用的是MODBUS协议。上面简单介绍了:“报文”“CRC校验”“功能号”。
在单片机中拿出一部分内存(RAM)进行两个设备通讯,例如:
数组后面的注释,说明
OX[20] & 代表是输出线圈,用功能码 0x01,0x05,0x0F 访问, 开头地址是 0
(这个后续说明)
IX[20] & &代表是输入线圈,用功能码 0x02 访问,
& & & 开头地址是 1
(这个后续说明)
另外两个一样的道理。
注意:所谓的“线圈”“寄存器”就是“位变量”“16位变量”,不要被迷惑。之所以称“线圈”我觉得应该是对于应用的设备,MODBUS协议是专门针对485总线设备(例PLC)开发的。
1、主机对从机写数据操作
如果单片机接收到一个报文那么就对报文进行解析执行相应的处理,如上面报文:
& &00 01 &
& 00 17 & &
& & &98 04
& 从机地址 & &
& &功能号 &
&数据地址 & &
假如本机地址是 1 ,那么单片机接收到这串数据根据数据计算CRC校验判断数据是否正确,如果判断数据无误,则结果是:
HoldDataReg[1] &= &0x0017;
MODBUS主机就完成了一次对从机数据的写操作,实现了通讯。
2、主机对从机读数据操作
主机进行读HoldDataReg[1] 操作,则报文是:
& &00 01 &
& 00 01 & &
& & &D5 CA
&从机地址 & &
& &功能号 &
&数据地址 & &
&读取数据个数 & &
那么单片机接收到这串数据根据数据计算CRC校验判断数据是否正确,如果判断数据无误,则结果是:返回信息给主机,返回的信息也是有格式的:
返回内容: &
& & & 0017
& 从机地址 & 功能号 &
& 数据字节个数 &
&两个字节数据 &
MODBUS主机就完成了一次对从机数据的读操作,实现了通讯。
二、MODBUS报文模型
以上了解到了MODBUS的一帧报文是如何通讯的,其实每个报文的格式都基本一样的。
这里两个缩略词以前不知道,但是现在要明白指的是什么,“ADU”“PDU”
ADU: 应用数据单元
PDU: 协议数据单元
三、MODBUS数据模型
四、MODBUS事务处理
& 下列状态图描述了在服务器侧MODBUS事务处理的一般处理过程。
五、MODBUS请求与响应
& 看MODBUS协议手册,中文第 10 页开始,英文第 24
页开始。手册非常详细举例说明了MODBUS协议各个功能号的请求与响应。
& &modbus协议在单片机上实现过程
MODBUS 任务处理函数
函数中,RcvBuf 为串口接收缓冲区,如果接收了一个报文则,RcvBuf[0] 为从机地址,RcvBuf[0]
为MODBUS功能号。根据功能号做出响应,而具体的操作根据功能号在各自的函数中执行,相当于解析接收到的数据。
附录1:MODBUS-RTU功能码
&最常用功能码:
&下面“线圈”“寄存器”其实分别直的就是“位变量”“16位变量”
& 01 (0x01) & &
& 02 (0x02) & &
& &读离散量输入
& 03 (0x03) & &
& &读保持寄存器
& 04(0x04) & &
& & 读输入寄存器
& 05 (0x05) & &
& &写单个线圈
& 06 (0x06) & &
& &写单个寄存器
& 15 (0x0F) & &
& &写多个线圈
& 16 (0x10) & &
& &写多个寄存器
附录2:CRC Generation
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。什么是ModBus通讯协议?--ModBus TCP协议软件包--ModBus TCP通讯协议-配套软硬件模块-配套扩展模块
方案与技术文档
ModBus通讯协议软件包
重置选项搜索产品
ModBus通讯协议软件包
产品介绍相关资料
产品及定制服务
方案与技术文档
英创官方微信}

我要回帖

更多关于 智能电表如何看度数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信