


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ModbusASCII协议仿真在实验教学中的应用获奖科研报告摘
要:在工业测控相关的教学实践课程中,常常涉及上位机与智能仪器设备通信问题,而智能仪器仪表广泛采用Modbus通信协议。鉴于工业用Modbus协议的设备价格昂贵,实验过程复杂,本文开发了用于实验的ModbusASCII仿真器,实现了ModbusASCII通信协议。
关键词:通信协议;上位机;ModbusASCII;仿真
00TP2
000B
引言
在工业测控相关的教学实践课程中,常常购买大量昂贵的工业测控智能仪器、仪表和实验台,硬件设备维护工作量巨大。工业测控课程主要是通过计算机或PLC等上位机对测控仪器仪表(下位机)发送控制命令并从其采集数据实现测量与控制,主要涉及双方的通信问题。由于智能仪器仪表都是用在工业控制系统中的,其功能强、可靠性高,价格昂贵,用于教学操作复杂,也过于奢侈浪费。为了降低测控实验教学成本,本文开发了一个ModbusASCII仿真器,可构成虚拟的测控系统,用于学习编写、运行及调试计算机测控程序,进行测控实验。这样,充分利用学校的计算机资源,减少了智能仪器仪表的费用和维护工作量,同时也可为学生提供了形象直观的实验过程。
1
ModbusASCII通信协议
Modbus协议已经成为工业领域通信协议的业界标准,是智能仪器仪表之间常用的通信方式。Modbus协议支持传统的RS-232、RS-422、RS-485和以太网设备,有ASCII、RTU和TCP三种通信格式,其标准性和多样性非常适合作为测控软件的教学内容。其中ModbusASCII通信数据格式比较简单,使用ASCII即字符串格式,字符传输间隔要求不高,小于1秒就行,数据串可读性强,易于实现。本文在分析了ModbusASCII通信格式的基礎上实现了相应的软件仿真器。
Modbus通信协议通常用于RS-485工业总线上,采用一主多从的通信方式,由于从机多,需要为每一个从机分配一个地址,主从之间采用异步传输方式,1位起始位,8位数据位,可不用奇偶校验位,可采用1位停止位。
本文以ModbusASCII的2个常用功能03和06进行说明。03功能为读取一个或多个寄存器的数据;06功能把1个16位的数据写入某一寄存器。主机通过03和06号功能对从机的寄存器操作来读写其中任意存储器中的数据,实现主从机的远程测控。
以ModbusASCII的03功能为例(其它功能类似),其通信格式如下“:AA03XXXXYYYYLRCCRLF”,通信数据字符串可分为由2个16进制数构成的1个字节形式的2个字符对,连在一起构成命令或响应数据串。这里,“:”为数据串的起始位,AA(01到FF之间)为从机地址,03即功能码,XXXX为起始寄存器号,YYYY为读取寄存器数量,LRC为纵向校验码,由前面的2位数对求和取补得到,以检测数据串传输是否有误。CRLF为回车和换行符号,表示数据串结束。
2
ModbusASCII仿真器设计
ModbusASCII下位机仿真仿真器的设计思想是程序运行后处于字符串接收状态,当从串行口收到命令串后,在接收事件中处理,根据命令要求,将需要的寄存器值构成应答串。
为了在VB中实现串行通信[1],仿真器设计中采用了微软的MSCOMM控件,其属性设置为:CommPort=3,即仿真器连接在串口3上;Rthreshold=1,即事件接收方式;InputMode=0为字符串收发方式,对应ModbusASCII的数据串格式;Settings=”9600,n,8,1”,即通信波特率为9600,无校验,8位数据位,1个停止位。
Modbus协议是针对线圈和寄存器操作的,在仿真器程序中设计了10个16位寄存器,用户可通过键盘输入或显示主机发来的4位16进制数。主机可通过ModbusASCII命令串读取或改写这些寄存器中的值。仿真器运行时,处于等待被查询状态,随时接收上位机发来的命令串。在接收事件中对收到的命令串进行分析。首先检查地址,确定是否接收命令串;然后再对数据串进行纵向冗余校验,无错则进一步查看是被读命令还是写命令;如果是被读则发送需要的寄存器值,如果被写则按设定值改写相应寄存器的值。
3
仿真实验测试
为了在一台计算机上进行测试,首先建立实验测试环境,测试环境搭建需要3个软件,一个是本文设计的仿真器;一个是测控工程中常用的ModbusPoll测试软件;一个是模拟主从设备通过串口连接的虚拟串口软件[2]。
如下图所示,测试软件用03功能读取仿真器的10个寄存器数据,也可以通过双击测试软件中的数据改写仿真器端对应寄存器中的值。可以看到主从双方数据传输一致,仿真器测试成功。
测试成功后就可以将仿真器作为PLC、变频器或各种智能仪器仪表使用。上位机测控软件可以采用VB、VC或VC#等编程软件设计,方便地通过字符串命令读写仿真器中寄存器数据,实现工业测控上位机监控系统。
4
结束语
本文分析了ModbusASCII通信协议,开发了相应的实验教学用的仿真器,可代替ModbusASCII通信协议的工业智能仪器仪表,该仿真器已
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六年级下册数学教学设计-总复习 鸡兔同笼|北师大版
- 三年级下册数学教案-6.1 面积的初步认识 丨苏教版
- 六年级下册数学教案-1.2 百分数和分数、小数的互化 ︳西师大版
- 2025年学习雷锋精神62周年主题活动方案 合计3份
- 2024年槽钢项目资金需求报告代可行性研究报告
- 2025年河北司法警官职业学院单招职业技能测试题库完美版
- 专题21 信息的传递-2025年中考《物理》一轮复习知识清单与解题方法
- 2025年广西自然资源职业技术学院单招职业倾向性测试题库参考答案
- 2025年度代养大型猪群养殖基地合作协议
- 2025年度专业瓷砖铺贴班组劳务合同
- 生物产品检验检疫基础知识单选题100道及答案
- 江苏省中职《英语》学业水平考试备考试题集(含历年真题)
- Unit 3 Environmental Protection Reading and Thinking 选择性必修第三册
- 2025年合伙型公司新合伙人加入协议
- 小学道德与法治课堂教学中提升学生核心素养策略
- 中水回用项目可行性研究报告
- 大学生创新创业基础(创新创业课程)完整全套教学课件
- 人教版小学数学四年级下册第一单元测试卷附答案(共9套)
- 广西版三年级美术下册全册教案
- 统编版六年级下册道德与法治1-学会尊重-课件(54张课件)
- 2024年新改版青岛版(六三制)三年级下册科学全册知识点复习资料
评论
0/150
提交评论