QNX操作系统下的Modbus串口通信设计.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《QNX操作系统下的Modbus串口通信设计.pdf》由会员分享,可在线阅读,更多相关《QNX操作系统下的Modbus串口通信设计.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计计算算机机工工程程第第3535卷卷第第1212期期Vol.35 No.12Vol.35 No.12Computer EngineeringComputer Engineering开发研究与设计技术开发研究与设计技术文章编号:文章编号:100010003428(2009)123428(2009)12024502450303文献标识码:文献标识码:A A20092009 年年 6 6 月月 June 2009 June 2009中图分类号:中图分类号:TP311TP311QNXQNX 操作系统下的操作系统下的 ModbusModbus 串口通信设计串口通信设计许许森,潘海鹏,任森,潘海鹏,任佳,
2、苏佳,苏洁洁(浙江理工大学自动化研究所,杭州 310018)摘摘要:要:在分析 QNX 设备驱动程序体系结构和 Modbus 协议的基础上,提出 QNX 操作系统串行接口设备驱动程序设计的一般方法,用 C语言设计 Modbus 在 QNX 下的串口通信程序,经过和西门子 S7-200 PLC 长时间的严格通信测试,结果表明该方法实时性强、稳定性好、可靠性高,取得令人满意的通信效果。关键词:关键词:QNX 操作系统;现场总线;串口通信;设备驱动程序DesignDesign ofof ModbusModbus SerialSerial PortPort CommunicationCommunica
3、tionin QNX Operating Systemin QNX Operating SystemXU Sen,PAN Hai-peng,REN Jia,SU JieXU Sen,PAN Hai-peng,REN Jia,SU Jie(Institute of Automation,Zhejiang Sci-Tech University,Hangzhou 310018)【AbstractAbstract】This paper presents a general design method on serial interface device driver,which is based o
4、n the analysis of Modbus protocolandQNX Operating System(QNX OS)device driver architecture.Itspecifies serial port communication in C program under QNX OS,and tests itscommunication with SIEMENS S7-200 PLC.The test result proves that the method is real-time,stable and reliable.【Key wordsKey words】QN
5、X Operating System(QNX OS);Modbus;serial port communication;device driver1 1概述概述QNX 操作系统是实时多任务操作系统之一,它建立在微内核和完全地址空间保护基础之上,具有实时、稳定、可靠等优点,已被广泛应用在工业自动化、航空航天、汽车、电信等领域,其性能已被无数用户在实践中证实。Modbus 协议是工业自动化协议中使用最普遍的协议之一,许多工业仪器和设备都将该协议作为通信标准,如施耐德Twido 系列和Modicon M340系列 PLC、西门子S7-200 PLC、台达VFD-M系列变频器、威纶通 MT8000 系
6、列人机界面。很多厂商在开发工业仪器过程中将 Modbus 集成为其中的一部分,使仪器具备开放性。由于 QNX 系统并不集成 Modbus 串口通信协议,因此本文主要介绍 QNX 操作系统中串行接口设备驱动程序的设计及 Modbus协议的实现。并对这 20 种进行了详细的评测1,QNX 操作系统排名第一,可以看出QNX 系统综合性能是非常优秀的。3 QNX3 QNX 操作系统设备驱动程序的体系结构操作系统设备驱动程序的体系结构在 QNX 系统中,所有的设备和Unix 操作系统一样,是以设备文件的形式来处理的。从总体上来看,QNX 下的设备驱动程序包括 2 层:(1)硬件屏蔽/抽象层(Hardwa
7、re Shielding/abstraction Layer,HSL);(2)硬件获取层(Hardware AccessLayer,HAL)。HSL 提供对硬件的逻辑接口;而HAL 负责对硬件的操作2。QNX 的设备驱动程序体系结构如图1 所示。用户 进程流接口界面HSL2 QNX2 QNX 操作系统操作系统QNX 操作系统是加拿大 QNX 软件系统公司开发的一种分布式、多用户、多任务嵌入式实时操作系统,是一个类 Unix操作系统,遵循POSIX 1003.1-2001(即 POSIX.1)标准,这使得 Linux,Unix 以及很多的开源程序很容易移植到QNX 中。QNX 由一个微内核和一些
8、可以根据需要进行定制的系统模块组成,其内核一般为几十KB,即使加上其他必要的模块,所占用的空间也很小,而且能保持其实时、多任务的系统特征。QNX 的实时性主要体现在中断响应延时和上下文切换延时上,对于常用平台,QNX 响应都在微秒级,是目前实时性最强的操作系统之一,能满足苛刻的实时性要求。QNX 还具有可嵌入的图形用户界面,并且支持多种处理器。2003 年加拿大航天局经过研究,从市场中的 48 种实时操作系统(Real-Time Operating System,RTOS)中挑出 20 种,设备1资源管理器设备2资源管理器设备3资源管理器HAL设备1设备2设备3图图 1 QNX1 QNX 的设
9、备驱动程序体系结构的设备驱动程序体系结构在 HAL 层,资源管理器接收到 HSL 层传递的信息后,立即对硬件进行相应的操作,然后将结果返回HSL 层。QNX在设备驱动程序 HAL 层提供一个统一的设备驱动程序编制框架,按照这个框架编写的程序就是资源管理器。资源管理基金项目:基金项目:浙江省科技计划基金资助项目(2006C31016,021101039)作者简介:作者简介:许森(1982),男,硕士研究生,主研方向:智能控制,嵌入式系统;潘海鹏,教授;任佳,讲师、博士;苏洁,硕士研究生收稿日期:收稿日期:2008-11-12E-mailE-mail:245器是一个用户级的服务程序,它接收来自其他
10、程序的消息,并且随时可以和硬件设备进行通信3。与其他操作系统不同,QNX 的资源管理器是一种普通的进程,因此,可以随意起动、配置和停止,支持硬件的热插拔。由于内核接口与用户层分开,因此资源管理器访问内核是通过消息机制进行信息传递的,以保证内核与接口的可靠通信。由于资源管理器都在独自的保护地址空间中运行,因此在 QNX 系统中随意加载资源管理器并不影响系统的其他部分,而且不会因个别设备驱动程序故障而导致整个系统崩溃3,这种体系结构为驱动程序的设计和调试带来很大方便。4 Modbus4 Modbus 通信协议通信协议Modbus 通信协议是 Modicon 公司开发的应用于工业控制网络的主从式通信
11、协议,在工业控制中得到广泛应用,现已成为流行的开放性工业标准之一。Modbus 协议描述了控制器请求访问其他设备的过程以及如何响应来自其他设备的请求,怎样侦测错误并记录错误,制定了消息域格式和消息内容的公共格式。Modbus 的接口可以采用RS-232/422/485 规范,支持Modbus 的设备可以连在一起组成主-从访问的网络。在主节点轮询(即逐一单独访问从节点)时,从节点执行相应操作并返回一个应答信息;主节点也可以对网络上所有的从节点进行广播通信,此时从设备不作任何回应。如果从设备产生正常的回应,应答消息中的功能代码和查询消息中的功能代码相同,数据段包含了从设备的相关数据。如果有错误发生
12、,功能代码将被修改,以指出回应消息是错误的,此时数据段包含了描述该错误的代码。Modbus 通信协议有 2 种串行传输模式:ASCII 模式和RTU 模式,与这 2 种模式对应的帧格式是 ASCII 帧格式和RTU 帧格式4。ASCII 方式的主要优点是字符发送的时间间隔可达到 1 s 而不产生错误,RTU方式的主要优点是在同样的波特率下,可比ASCII 方式传送更多的数据,为了达到更高的通信效率,本文采用RTU方式。配置网络时,在同一个Modbus 网络上的所有设备必须选择相同的传输模式、帧格式和串口参数。本系统中 PLC 采用西门子 S7-200,上位机采用三星 2440 芯片构成硬件平台
13、,QNX 系统作为软件平台。上位机采用Modbus 协议与 S7-200 PLC 进行通信,从而可以实现一台上位机对现场的多台织机进行实时监控。在 QNX 操作系统中,外设一般分为字符型设备和块设备,串行端口和并行端口都是典型的字符型设备。因此,通过串口实现的 Modbus 通信应采用字符型设备的方式处理。QNX 系统在同一时刻可能运行多个字符型设备,因此,系统内部提供一个 io-char 模块来处理,io-char 模块包含了所有POSIX 相关的代码,同时也扩充了一些实时系统常用的 I/O接口代码。总之,字符型外设都继承了这些特性,驱动程序可以调用 io-char 模块实现对设备的控制3。
14、io-char 模块接口如图 3 所示。io-char模块串行口驱动并行口驱动控制台驱动伪终端驱动图图 3 io-char3 io-char 模块接口结构模块接口结构io-char 模块负责管理应用程序和驱动程序之间的数据流。数据在驱动程序和 io-char 模块之间的传输是通过 FIFO内存队列机制实现的,每一个设备有3 个队列:一个原始输入队列,一个规范输入队列和一个输出队列3,整个串行端口的体系结构如图4 所示。io-char模块串行驱动接口输出队列 原始规范输入输入队列队列串行驱动串行通信端口5 QNX5 QNX 系统中系统中 ModbusModbus通信的设计与实现通信的设计与实现织
15、机采用电子送经和电子卷取系统既能提高产品质量,解决织疵问题,又可调节纬密,更新织造品种,而且结构简单,灵敏度高,是当前送经和卷取系统发展的方向之一5。本文研究的剑杆织机电子送经和电子卷取系统结构如图2所示。上位机光电编码器AC伺服放大器PLCAC伺服放大器设定值A/D转换器卷取交流伺服电机张力传感器织机主轴送经交流伺服电机图图 4 QNX4 QNX 系统下的串行口系统下的串行口 I/OI/O织机串行驱动接收到外设发送的数据后,将收到的数据放入原始输入队列中,应用程序可以到原始输入队列或规范输入队列中取数据。应用程序将需要的数据放到输出队列中,驱动程序负责把输出队列中的数据传送给目的设备。在 Q
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QNX 操作系统 Modbus 串口 通信 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内