MODBUS从站通讯应用
更新时间:2024-04-01 13:55:01 阅读量: 综合文库 文档下载
- modbus从站地址推荐度:
- 相关推荐
MODBUS从站通讯应用
有些工业应用中,PLC作为工业自动化系统的一部分,要接受自动化控制网络的监控,典型的上位机如DCS、运行组态软件的工业PC等,作为监控主机,以MODBUS主站协议与PLC等设备进行通讯,此时PLC的通讯口需要以MODBUS从站协议与上位机通讯。TH系列PLC内置有MODBUS-RTU从站协议和MODBUS-ASCII从站协议,并且只有com2口可以支持该协议运行。 MODBUS从站协议的相关寄存器
PLC程序中,将上述几个寄存器配置完毕,当相应通讯口有MODBUS主站发送给本机地址的通讯帧时,PLC系统程序即会根据通讯要求,自动组织MODBUS
通讯帧进行应答,无需用户程序的参与。 MODBUS从站支持的操作
TH系列plc作为MODBUS从站时,支持MODBUS的0x01,0x03,0x05,0x06,0x 0f,0x10等通讯操作命令;通过这些命令,可读写PLC的线圈有M,S,T,C,X(只读),Y等变量;寄存器变量有D,T,C。 MODBUS通讯主机在访问(读取或改写)PLC从机的内部变量时,必须遵循如下的通讯命令帧定义,以及变量地址索引方法,才能进行正常的通讯操作。
1.1命令码0x01(01):读线圈
请求帧格式:从机地址+0x01+线圈起始地址+线圈数量+CRC检验 序号 1 2 3 4 5 数据(字节)意义 从机地址 0x01(命令码) 线圈起始地址 线圈数量 CRC校验 字节数量 1个字节 1个字节 2个字节 2个字节 2个字节 说明 取值1~247,由D8121设定 读线圈 高位在前,低位在后,见线圈编址 高位在前,低位在后( N) 高位在前,低位在后 响应帧格式:从机地址+0x01+字节数+线圈状态+CRC检验 序号 数据(字节)意义 字节数量 1 2 3 4 5 从机地址 1个字节 说明 取值1~247,由D8121设定 读线圈 值:[(N+7)/8] 0x01(命令码) 1个字节 字节数 线圈状态 CRC校验 1个字节 每8个线圈合为一个字节,最后一个若不足8位,[(N+7)/8]未定义部分填0。前8个线圈在第一个字节,最地个字节 址最小的线圈在最低位。0为OFF,256为ON. 2个字节 高位在前,低位在后 错误响应:见错误响应帧
1.2命令码0x03(03):读寄存器
请求帧格式:从机地址+0x03+寄存器起始地址+寄存器数量+CRC检验
序号 1 2 3 4 5 数据(字节)意义 字节数量 从机地址 1个字节 0x03(命令码) 1个字节 寄存器起始地址 2个字节 寄存器数量 2个字节 CRC校验 2个字节 说明 取值1~247,由D8121设定 读寄存器 高位在前,低位在后,见寄存器编址 高位在前,低位在后(N) 高位在前,低位在后 响应帧格式:从机地址+0x03+字节数+寄存器值+CRC检验 序号 1 2 3 4 5 数据(字节)意义 从机地址 0x03(命令码) 字节数 寄存器值 CRC校验 字节数量 说明 1个字节 取值1~247,由D8121设定 1个字节 读寄存器 1个字节 值:N*2 N*2个字节 每两字节表示一个寄存器值,高位在前低位在后。寄存器地址小的排在前面 2个字节 高位在前,低位在后 错误响应:见错误响应帧
1.3 命令码0x05(05):写单线圈
请求帧格式:从机地址+0x05+线圈地址+线圈状态+CRC检验 序号 1 2 3 4 5 数据(字节)意义 从机地址 0x05(命令码) 线圈地址 线圈状态 CRC校验 字节数量 1个字节 1个字节 2个字节 2个字节 2个字节 说明 取值1~247,由D8121设定 写单线圈 高位在前,低位在后,见线圈编址 高位在前,低位在后。0为OFF,-256为ON 高位在前,低位在后 响应帧格式:从机地址+0x05+线圈地址+线圈状态+CRC检验 序号 1 2 3 4 5 数据(字节)意义 从机地址 0x05(命令码) 线圈地址 线圈状态 CRC校验 字节数量 1个字节 1个字节 2个字节 2个字节 2个字节 说明 取值1~247,由D8121设定 写单线圈 高位在前,低位在后,见线圈编址 高位在前,低位在后。0为OFF,-256为ON 高位在前,低位在后 错误响应:见错误响应帧
1.4 命令码0x06(06):写单个寄存器
请求帧格式:从机地址+0x06+寄存器地址+寄存器值+CRC检验 序号 1 2 3 4 5 数据(字节)意义 从机地址 0x06(命令码) 寄存器地址 寄存器值 CRC校验 字节数量 1个字节 1个字节 2个字节 2个字节 2个字节 说明 取值1~247,由D8121设定 写单寄存器 高位在前,低位在后,见寄存器值编址 高位在前,低位在后。 高位在前,低位在后 响应帧格式:从机地址+0x06+寄存器地址+寄存器值+CRC检验。 序号 1 2 3 4 5 数据(字节)意义 字节数量 说明 从机地址 1个字节 取值1~247,由D8121设定 0x06(命令码) 1个字节 写单寄存器 寄存器地址 2个字节 高位在前,低位在后,见寄存器编址 寄存器值 2个字节 高位在前,低位在后。 CRC校验 2个字节 高位在前,低位在后 错误响应:见错误响应帧。
1.5 命令码0x 0f(15):写多个线圈
请求帧格式:从机地址+0x 0f+线圈起始地址+线圈数量+字节数+线圈状态+CRC检验。
> 序号 数据(字节)意义 1 从机地址 2 0x 0f(命令码) 3 线圈起始地址 4 线圈数量 5 字节数 说明 取值1~247,由D8121设定 写多个单线圈 高位在前,低位在后,见线圈编址 高位在前,低位在后。N,最大为1968 值:值:[(N+7)/8] 每8个线圈合为一个字节,最后一个若不足8位,[(N+7)/8]6 线圈状态 未定义部分填0。前8个线圈在第一个字节,最地个字节 址最小的线圈在最低位。依次类推 7 CRC校验 2个字节 高位在前,低位在后 >响应帧格式:从机地址+0x 0f +线圈起始地址+线圈数量+CRC检验 序号 数据(字节)意义 字节数量 说明 1 从机地址 1个字节 取值1~247,由D8121设定 2 0x 0f(命令码) 1个字节 写多个单线圈 3 线圈起始地址 2个字节 高位在前,低位在后,见线圈编址 4 线圈数量 2个字节 高位在前,低位在后。 字节数量 1个字节 1个字节 2个字节 2个字节 1个字节 序号 数据(字节)意义 字节数量 说明 5 CRC校验 2个字节 高位在前,低位在后 错误响应:见错误响应帧。
1.6 命令码0x10(16):写多个寄存器
请求帧格式:从机地址+0x10+寄存器起始地址+寄存器数量+字节数+寄存器值+CRC检验。 序号 数据(字节)意义 字节数量 说明 1 从机地址 1个字节 取值1~247,由D8121设定 2 0x10(命令码) 1个字节 写多个寄存器 3 寄存器起始地址 2个字节 高位在前,低位在后,见寄存器编址 4 寄存器数量 2个字节 高位在前,低位在后。N,最大为120 5 字节数 1个字节 值:N*2 6 寄存器值 N*2(N*4) 7 CRC校验 2个字节 高位在前,低位在后 响应帧格式:从机地址+0x10+寄存器起始地址+寄存器数量+CRC检验。 序号 1 2 3 4 5 数据(字节)意义 从机地址 0x10(命令码) 寄存器起始地址 寄存器数量 CRC校验 字节数量 1个字节 1个字节 2个字节 2个字节 2个字节 说明 取值1~247,由D8121设定 写多个寄存器 高位在前,低位在后,见寄存器编址 高位在前,低位在后。N,最大为120 高位在前,低位在后 错误响应:见错误响应帧。 1.7 错误响应帧
错误响应:从机地址+(命令码+0x80)+错误码+CRC校验。
序号 1 2 3 4 数据(字节)意义 从机地址 命令码+0x80 错误码 CRC校验 字节数量 1个字节 1个字节 1个字节 2个字节 说明 取值1~247,由D8121设定 错误命令码 1~4 高位在前,低位在后 2.1 线圈编址
线圈:指位变量,只有两种状态0和1。在本PLC中包含M,S,T,C,X,Y等变量。
变量名称 M0~3071 起始地址 0(0) 线圈数量 说明 3072 变量名称 M8000~M8256 S0~S999 T0~T256 C0~C255 X0~X255 Y0~Y255 2.2 寄存器编址
起始地址 线圈数量 说明 0x 1F40(8000) 256 0xE000(57344) 1000 0xF000(61440) 256 0xF400(62464) 256 0xF800(63488) 256 0xFC00(64512) 256 寄存器:指16位(字)或32位(双字)变量,在本PLC中,16位变量包
含D,T,C0~199;32位变量为C200~255。
变量名称 D0~D8255 T0~T255 C0~C199 C200~C255 起始地址 寄存器数量 说明 0(0) 8256 0xF000(61440) 256 0xF400(62464) 200 0xF700(63232) 56 32位寄存器 说明:通过MODBUS访问C200~C255段32位寄存器时,一个寄存器作两寄
存器看待,一个32位寄存器占用两个16寄存器空间。比如用户要读或写
C205~C208这4个寄存器,MODBUS地址为0xF 70A(0xF700+10),寄存器数量8(4*2)。
32位寄存器不支持写单个寄存器(0x06)命令码。
变量名称 M8000~M8256 S0~S999 T0~T256 C0~C255 X0~X255 Y0~Y255 2.2 寄存器编址
起始地址 线圈数量 说明 0x 1F40(8000) 256 0xE000(57344) 1000 0xF000(61440) 256 0xF400(62464) 256 0xF800(63488) 256 0xFC00(64512) 256 寄存器:指16位(字)或32位(双字)变量,在本PLC中,16位变量包
含D,T,C0~199;32位变量为C200~255。
变量名称 D0~D8255 T0~T255 C0~C199 C200~C255 起始地址 寄存器数量 说明 0(0) 8256 0xF000(61440) 256 0xF400(62464) 200 0xF700(63232) 56 32位寄存器 说明:通过MODBUS访问C200~C255段32位寄存器时,一个寄存器作两寄
存器看待,一个32位寄存器占用两个16寄存器空间。比如用户要读或写
C205~C208这4个寄存器,MODBUS地址为0xF 70A(0xF700+10),寄存器数量8(4*2)。
32位寄存器不支持写单个寄存器(0x06)命令码。
正在阅读:
MODBUS从站通讯应用04-01
黏胶纤维工艺流程11-24
党员条件和入党程序04-24
2017新年搞笑祝福语02-24
云南艺术学院学士学位论文封面06-06
数据库应用基期末试卷10-19
国家电网公司施工项目部标准化工作手册 110(66)千伏变电工程分册05-13
中医医术确有专长人员师承学习人员05-14
?研究生入党程序09-08
九年级语文下册第六单元测试题05-16
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 通讯
- 应用
- MODBUS
- 高考一轮等高线地形图的判读及应用同步训练
- 小学生后进生转化工作总结(多篇)
- 义乌市农村宅基地超标准占用有偿使用细则(试行)
- 2015年高考,日照一中8名学子齐刷刷考入北大清华 - 图文
- pep人教版小学英语六年级下册期末测试卷4带答案 - 图文
- 高速公路文明服务心得体会
- 中考作文常见病点评范例汇总
- 急救护理学(专科)纸质作业及答案
- 苏教版小学信息技术上册《画圆形和方形》教学设计
- 蚁穴式通风系统在现代建筑中的应用 - 图文
- 小学英语外研版六年级下册Module4《Unit1 I cant carry all thes
- 公共场所卫生安全承诺书
- 岗位职责说明书(12315指挥中心)
- 教师思想面貌师德师风鉴定
- 干部推荐报告格式
- OSPF单区域、多区域
- 医疗广告审查申请表模板
- 文言文断句练习100句附答案的
- 平塘县委书记臧侃简历
- 第一届全国环境监测大比武试题模板