下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于RT-Linux的嵌入式PLC设计及实现引言 在数控机床中, 通常用可编程控制器( PLC) 对机床开关量信号进行控制。PLC可靠性高, 使用方便。但在大多数数控机床, 特别是经济型数控机床中, 要求的输入输出点数并不多, 通常在60点以下,因此, 为了降低数控机床成本, 在基于工业PC机的数控系统中, 可以采用开关量I/O板加外接继电器,配合主机的软件对机床开关进行控制。但如果PC机采用单任务操作系统(如DOS) , 数控系统的所有任务运行都置于一个总体的消息循环中, 软件的模块化和可维护性较差, 系统故障的风险相对集中, 而且不能充分利用PC机系统资源。而采用非实时多任务操作系统(如W
2、indows) 时, Win32 API的设计没有考虑到实时环境的开发用途, 其系统调用的效率不高,不能满足数控系统PLC控制的实时性要求。为此, 本文提出一种基于RT - Linux操作系统的嵌入式PLC, 利用RT - Linux的开放性、模块化和可扩展性的系统结构特性和多线程/多任务的系统环境,在保证实时性的同时, 使故障风险相对分散。数控系统嵌入式PLC的硬件结构数控系统硬件建立在通用工业PC的开放体系之上, 数控系统嵌入式PLC硬件包括: 工控机及其外围设备, 基于ISA总线的开关量输入输出接口卡, 光电隔离模块, 继电器输出模块。其结构如图1所示。 工控机采用RedHatLinux
3、810 + RTLinux311操作系统, 数控系统的人机界面、数控代码处理、轨迹规划、参数管理以及PLC控制都通过工控机由软件来实现, 不需要独立的PLC控制器, 减少了数控系统对硬件的依赖, 有利于提高系统的开放性。 I/O输入输出信息通过PC机I/O接口卡实现主机与伺服接口模块和I/O接口模块之间的信息交换,PC机I/O接口卡基于ISA或者PCI总线。RT - Linux的体系结构RT - Linux是基于Linux系统并可运行于多种硬件平台的32位硬实时操作系统( hard real - time operating system) 。 它继承了MERT系统的设计思想, 即以通用操作系
4、统为基础, 在同一操作系统中既提供严格意义上的实时服务, 又提供所有的标准POSIX服务。RT - Linux源代码公开, 易于修改, 使系统成本降低, 源代码的公开使数控系统的开发摆脱了对国外软件公司的依赖, 有利于提高数控软件国产化程度。 RT - Linux是基于Linux并可运行于多种硬件平台的多任务实时操作系统。通过修改Linux内核的硬件层, 采用中断仿真技术, 在内核和硬件之间实现了一个小而高效的实时内核, 并在实时内核的基础上形成了小型的实时系统, 而Linux内核仅作为实时系统最低优先级的任务运行。对于普通X86的硬件结构,RT - Linux拥有出色的实时性和稳定性, 其最
5、大中断延迟时间不超过15s, 最大任务切换误差不超过35s。这些实时参数与系统负载无关, 而取决于计算机的硬件, 如在PII350, 64M内存的普通PC机上,系统最大延迟时间不超过1s。RT - Linux按实时性不同分为实时域和非实时域, 其结构如图2所示。 实时域在设计上遵循实时操作系统的设计原则,即系统具有透明性、模块化和可扩展性。RT - Linux的实时内核由一个核心部分和多个可选部分组成, 核心部分只负责高速中断处理, 支持SMP操作且不会被底层同步或中断例程延迟或重入。其它功能则由可动态加载的模块扩充。RT - Linux把不影响系统实时性的操作(即非实时域的操作) 都留给了非
6、实时的Linux系统完成。基于多任务环境的Linux为软件开发提供了丰富的系统资源, 如多种进程间通讯机制,灵活的内存管理机制。嵌入式PLC的设计及实现嵌入式PLC的模块组成数控系统的PLC控制模块实时性要求较高, 因而必须在系统的实时域内运行。根据通用数控系统的PLC控制以及数控系统软件模块化设计的要求, 将数控系统的PLC控制模块作为RT - Linux系统的实时任务之一, 其优先级和调用周期取决于数控系统各任务的实时性要求以及控制要求的响应时间。PLC控制模块主要完成数控系统的逻辑控制, 而被控制的输入输出也就是I/O的输入输出由PC机I/O接口卡输入输出模块来完成, 即完成数控系统的P
7、LC控制需要两个RT - Linux实时任务, 如图3所示, 这两个任务分别为RT - Task1 (以下称“适配卡输入输出”) 、RT - Task2 (以下称“PLC控制”) 。 图3是基于RT - Linux系统的嵌入式PLC实时任务关系图, 其中适配卡输入输出主要是完成数控系统的输入输出, 即各轴位置控制命令的输出、I/O的输出、I/O输入以及位置反馈输入, 它实际上是数控系统控制卡的设备驱动模块, 其优先级在数控系统的各实时任务中为最高级。根据其硬件特征以及运动控制要求, 其响应周期为100s, 响应时钟周期由PC机I/O接口卡上的硬件定时器产生。
8、根据RT - Linux系统对硬件中断的响应机制, 输入输出控制任务的实时性是可以保证的, 这一点在我们的数控系统已经得到验证。 图3中PLC控制主要是完成数控系统的PLC控制功能, 其任务优先级低于适配卡输入输出, 同时也低于数控系统的精插补实时任务和位置伺服实时任务。根据通用数控系统的PLC控制要求, 确定其响应周期为5ms, 响应周期由RT - Linux的软件定时器产生, 根据RT - Linux系统的实时多任务调度机制,PLC控制任务的实时性是可以保证的。在实际应用中也得到验证。嵌入式PLC的实时任务模块数据通讯完成数控系统PLC控制的两个实时任务之间由于需要输入输出的数据量(一般情
9、况下为64 输入,64输出, 但输入输出根据需要还可以扩展) 不太大,因而采用共享内存的通讯方式, 在适配卡输入输出和PLC控制 两个实时任务之间开两块共享内存, 一块用于适配卡向PLC控制传输I/O 口状态信息, 另一块用于PLC控制向适配卡输入输出任务传输经PLC逻辑处理后的控制信息。 在这里, 两个实时任务间不采用RT - FIFO进行通讯的原因在于这两个实时任务间通讯的数据量不是很大, 而这两个实时任务运行周期差别较大, 采用RT - FIFO传输数据, 为了避免FIFO的阻塞, 相应地要增加两个任务间的协调机制, 这样的通讯效果未必比采用共享内存好, 而且共享内存的读写速度比FIFO相对较快。嵌入式PLC的实时任务的实现适配卡输入输出为动态可加载模块, 适配卡输入输出模块(任务) 以100s为周期的硬件定时中断,完成各轴位置控制指令和I/O的输出、各轴位置反馈值和I/O的输入, 适配卡输出值来自于位置伺服任务和PLC控制任务, 输入值来自于适配卡的输入接口。PLC控制模块(任务) 同样也是一个动态可加载模块, 它以5ms的软定时, 周期性地从它与总控模块通讯的RT - FIFO读取控制信息(如M指令, S指令及T指令) , 同时从它与适配卡输入输出模块通讯的共享内存中读取
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025沈阳北软信息职业技术学院教师招聘考试题目及答案
- 2025江南影视艺术职业学院教师招聘考试题目及答案
- 2026年六年级上学期语文入学考试及答案
- 2026年教师岗招聘考试提高及答案
- 2026福建莆田市卫生健康委员会高层次及重点紧缺专业人才招聘25人建设考试参考题库及答案解析
- 2026西昌学院招聘年薪制高层次人才32人建设笔试模拟试题及答案解析
- 2026内蒙古股权交易中心股份有限公司社会招聘4人建设考试参考题库及答案解析
- 2026重庆九龙坡区社会保险事务中心公益岗招聘1人建设笔试参考题库及答案解析
- 招20人!人才招聘 格尔木健桥医院医务人员招聘建设考试参考试题及答案解析
- 2026西安浐灞国际港新合社区卫生服务中心招聘建设考试备考试题及答案解析
- APQC跨行业流程分类框架 (8.0 版)( 中文版-2026年4月)
- 江苏省南京市2024年高二上学期期中考试英语试题含解析
- DB32T3916-2020建筑地基基础检测规程
- 2024中国心衰器械白皮书-沙利文
- 中深层地热供热技术规范 井下换热
- 人事档案情况摘抄表
- 学生满意度测评 证明
- 基于ABAQUS的刹车盘热应力分析
- 项目任务活动挖掘有价值客户课时
- 2023学年完整公开课版横断面测量
- 2022年04月新疆石河子大学医学院第二轮教师招聘0笔试参考题库答案解析版
评论
0/150
提交评论