基于高档数控的实时多任务实现

发布者:草莓熊猫最新更新时间:2014-01-08 来源: eccn关键字:数控  实时多任务  IPC 手机看文章 扫描二维码
随时随地手机看文章
引言

通信在IPC(Industrial Personal Computer)与运动控制器构成的开放式数控系统开发平台上,虽然这种主从式结构,确保了运动控制指令在运动控制器内高速、实时的被执行,但在PC平台上,仍需要完成诸如实时显示、预处理计算、系统状态监控等许多任务。为了保证系统的实时性能,拟采用多线程技术,通过多任务并行处理的方式,提高系统实时性。

1 进程与线程以及多线程技术

Windows操作系统既支持多进程,又支持多线程。一个进程就是应用程序的一个实例,一次执行过程也就是调入内存准备执行的程序,包括当前执行的应用程序的执行代码和程序执行相关的一些环境信息。每个进程拥有整台计算机的资源,无须知道其他进程在计算机中的信息。通常每个进程至少有一个线程在执行所属地址空间中的代码,该线程称为主线程,如果该主线程运行结束,系统将自动清除进程及其他地址空间。

线程是进程内部执行的路径,是操作系统分配CPU时间的基本实体,是程序运行的最小单位。每个进程都由主线程开始进行应用程序的执行。线程由一个堆栈、CPU寄存器的状态和系统调用列表中的一个人口组成。每个进程可以包含一个以上的线程,这些线程可以同时独立地执行进程地址空间中的代码,共享进程中的所有资源。

Windows系统分配处理器时间的最小单位是线程,系统不停地在各个线程之间切换。在PC机中,同一时间只有一个线程在运行。通常系统为每个线程划分的时间片很小(ms级别),这样快速系统的实时性就有了保障。

要实现多线程编程,可建立辅助线程(Worker Thread)和用户界面线程(User Interface Thread)。辅助线程主要用来执行数控程序、坐标显示、动态仿真和数据预处理;用户界面线程用来处理用户的输入,响应用户产生的事件和消息。

2 实时多任务的实现

数控系统软件具有实时性和多任务两大特点。数控系统中要管理和控制的任务很多,如当数控系统正处于加工控制状态时,为了保证加工的连续性,在各个程序段之间不停顿,各数控加工程序段的预处理、插补计算、位置控制和各种辅助控制任务都要及时进行;为了使操作人员及时了解和干预数控系统的工作状态,系统在执行加工任务的同时还应该及时进行一些人机交互工作,即显示加工状态、接收操作人员通过操作面板输入的各种改变系统状态的控制信号等。为了及时检查和预报软、硬件的各种故障,系统在运行控制程序和人机交互程序同时还要及时运行诊断程序;此外,系统还可能被要求及时完成通信等其他任务。可见,理想的数控程序,应具有实时多任务的处理能力。

针对数控系统软件的实时性和多任务性两大特点,采用分时并行处理技术来确定数控系统软件结构。分时并行处理技术是指一个处理器同时完成多种任务。系统用时间片轮换的方式处理和完成各任务,即按照某种轮换次序给每个任务分配一段CPU时间进行各任务的处理。从微观上看,各任务分时占用CPU;从宏观的角度来看,在一段时间内,CPU并行完成了多个任务。在软件设计中,利用Windows的多线程技术以“资源分时共享”为原则,有效地解决CNC系统的实时多任务问题。应用优先级抢占方式来进行线程调度,以满足系统的实时性要求,利用时间重叠和资源共享的方法来实现并行处理。

2.1 系统线程的总体设计

Windows提供两种线程,辅助线程和主线程。主线程有窗口,因此它有自己的消息循环,可以处理消息,使程序能够迅速响应命令和其他事件;辅助线程没有窗口,所以它不需要处理消息。它可用于完成一些费时的工作,以免在由主线程处理这些工作时阻碍程序消息的处理。软件设计时有并行要求的模块置于独立的线程中,以实现系统的多任务并行工作。根据对系统实时多任务的分析,将软件系统中的线程设计为:

(1)主线程

主线程是应用系统启动时创建的第一个线程,其他线程都是由主线程直接或间接创建。主线程主要负责创建客户界面、数据显示、与客户交互、系统初始化以及对其他线程进行监控。

(2)译码线程

译码线程是由主线程创建的,负责程序的译码,并将计算结构存入公共数据区,为通信线程提供数据来源。

(3)通信线程

通信线程负责上下位机间的数据传输。上下位机间的传输以一来一回的形式进行。通信线程接收到下位机传来的数据,根据事先定义好的协议对它进行识别,并根据识别的结果来判断是否需要将插补命令等传给下位机,还需要通知主线程来处理异常情况。[page]

通信线程所承担的任务是强实时周期性任务,译码线程所承担的任务是弱实时性任务,主线程承担的是实时突发性任务。因此根据系统任务实时性强弱不同,可为各个线程设置相应的优先级来确保实时性。主线程与进程的优先级相同,通信线程的优先级高于主线程,而译码线程的优先级高于主线程低于通信线程。

在线程优先级设置中,通信线程的优先级最高,这使得通信线程在需要CPU时间片等资源时,能够顺利的抢占其他线程的资源,保证上下位机的通信顺畅,使下位机在加工时能够平稳的实现进程,并且使下位机在出现异常情况时能及时通知上位机。由于通信这一动作是依照某种频率进行的,因此通信线程不会一直占用CPU资源,从而不会因为它的优先级高使其他线程无法运行。

具体实现原理架构如图1所示。



2.2 系统线程的具体实现

Delphi提供了许多与多线程编程相关的组件,其中最重要的是Tthread类,本文就是利用它来实现多线程编程。该类封装了大多数与线程相关的方法,使用Tthread类大大简化了多线程程序的开发步骤。Tthread类是一个抽象类,不可以直接创建它的实例,但是可以创建它的派生类。创建方法在Delphi菜单中依次选择“File”→“New”→“Other”→“New”,选择“Thread Object”项,在对话框中输入新的线程类的名称,确认后即创建了一个新的线程类:





其中:“private”及“protected”用来定义变量和程序函数,“procedure Execute;override;”是线程函数,用来编写线程的执行部分。同时Delphi还提供了各种函数用来运行和终止线程等。创建了线程的派生类后可以生成该类的对象,来表示应用程序的执行线程。各个线程创建好后将NC的解释程序、通信程序等放在各自线程函数内,再创建线程的对象,设置几个线程就生成几个对象,在对象内编写打开或终止线程等函数来控制线程的运行。

3 结语

本课题下步的目标是将此实时系统的设计实现在Windows XPEmbedded平台上,使其具备高档数控系统需要的嵌入式设备的特性。
关键字:数控  实时多任务  IPC 引用地址:基于高档数控的实时多任务实现

上一篇:组态王软件在变频调速系统中的应用
下一篇:PLC与DDC实现电梯监控

推荐阅读最新更新时间:2024-05-02 22:55

TERESA ROWE就任IPC组装与标准技术总监
2014年8月12日,美国伊利诺伊州班诺克本—IPC-国际电子工业联接协会®任命Teresa Rowe担任组装与标准技术总监,Rowe将负责管理电子组装材料和工艺标注的开发工作,并为标准开发委员会主席提供支持、制定工作草案、组织标准草案投票、处理收集到的有关标准开发的意见及标准的出版等工作内容。 Rowe在电子制造、维护与维修等部门有25年的质量管理、工程和管理经验,在加入IPC之前,她在航天国防制造公司AAI担任质量、物流和技术支持总监。 Rowe曾先后在25个IPC标准委员会工作,并担任5-22焊接分委会的主席、5-22a J-STD-001工作组的联席主席、5-22bt j-std-001技术培训委员会主席、
[嵌入式]
基于LabVIEW的数控机床网络测控系统--B/S模式的软件设计(二
  在Analog Tag Configuration的Connect目录下的Item与OPC服务器的项名进行匹配,并对Tag进行了详细的描述,如OPC服务器,工程量的范围,报警的上下限,更新的死区等等。在运行时,标签引擎Tag Engine会根据。scf文件的配置建立与OPC服务器的连接。当OPC服务器与。scf文件配置好以后,可以在LabVIEW的前面板上通过Numeric Control,Numeric Indicator控件读写现场采集的数据,Numeric Control,Numeric Indicator控件通过人机向导HMI Wizard For Analog Control与。scf文件Tag进行匹配,并自动默认控
[测试测量]
基于LabVIEW的<font color='red'>数控</font>机床网络测控系统--B/S模式的软件设计(二
2015年数控机床与机器人市场供求特征分析
  1-10月,数控金属成形机床产量2.00万台,同比下降4.64%,不过,尽管行业总体产量下滑,但龙头企业结构升级效果正在显现,数控机床产量的收入实现大幅增长,以武汉华中数控为例,2015年公司在总体营业收入下降6.06%的同时,数控系统与数控机床营业收入双双破亿,分别同比增长153.12%和153.02%,公司产品与技术升级效果显着。    1、数控机床   受制造业增长放缓,下游需求减弱,以及上年基数垫高等多重因素共同影响,2015年数控机床产量大幅回落。全年,数据金属切削机床产量23.56万台,同比下降9.53%;1-10月,数控金属成形机床产量2.00万台,同比下降4.64%,不过,尽管行业总体产量下滑,但龙头企业结构
[机器人]
基于变频与PLC控制的车床主轴数控系统设计
引言     随着计算机技术和信息技术的不断发展,作为国家装备工业基础的机床在向数字控制和智能控制的方向发展。数控机床是先进机械制造技术、数字控制技术、计算机技术、信息技术、微电子技术、自动控制技术、检测技术等先进技术的系统集成,只要改变零件加工程序就能加工所需要的产品,加工速度快、精度高、花样多,能快速满足市场需求。目前小型数控车床在玩具制造、小零件小五金加工、装饰广告等行业有着广阔的前景,为适应市场灵活多变的需求,开发设计各种小型数控车床能较好的满足一大批中小企业的多样化需求,走与中大型数控系统设备厂家不同的差异化道路。本文主要探讨以国产华中数控系统为控制软件,对C6140型车床主轴进行以变频技术与PLC控制技术为主的数控系统设
[嵌入式]
大族数控成功过会,距离上市再进一步
广告摘要声明广告 【文/伍勿武】9月2日,创业板上市委员会2021年第54次审议会议公告, 深圳市大族数控科技股份有限公司 (简称:大族数控)首发获通过。中信证券为其保荐机构,拟募资17.0653亿元。 据了解,大族数控17.0653亿元融资金额,将 用于投建PCB专用设备生产改扩建项目以及PCB专用设备技术研发中心建设项目 ,主要目的为推进PCB专用设备生产改扩建项目及PCB专用设备技术研发中心建设项目,提高大族数控的核心竞争力。 公开资料显示,大族数控成立于2002年,是大族激光旗下负责PCB业务的平台,主要从事PCB专用设备的研发、生产和销售,其产品覆盖钻孔、 曝光、成型、检测等关键工序,被广泛应用在多层板、HDI板、IC封
[机器人]
基于CVITEK_CV1821+SOI_K306P的IPC方案
该方案基于主控平台CVITEK_CV1821和sensor SOI_K306P,运用于智能监控IP摄像头,可用于户外或室内。采用了2560x1440的分辨率,30的帧率,支持HDR。作为4M的监控摄像头,通过ISP图像调校技术,提升成像质量与色彩真实度,通过专用CMOS传感器和后期处理,实现更强的感光能力与更少噪点。 产品概述: 1.主控: 晶视智能(CVITEK)是一家开放式人工智能芯片研发商,专注于视频监控及边缘计算技术研发,拥有国内性能*的AI TPU运算核心及soc芯片整合技术,目前研发领域涵盖soc芯片设计, AI TPU处理器及工具链,图像处理算法及设计等,致力于打造人工智能机器视觉一站式平台解决方案,为客户带来丰
[嵌入式]
IPC会员数量超过4000家创历史新高
   IPC 为电子制造业提供的产品和服务价值日益得到充分体现, IPC 会员数量于2017年初增至4000多家,开创了历史新高。会员企业遍及世界79个国家, IPC 会员数量在亚洲以两位数的速度增长,亚太区会员接近1000家;受IPC新设布鲁塞尔办公室的驱动,欧洲会员增至600家下面就随手机便携小编一起来了解一下相关内容吧。  2015年推出的企业会员是极具性价比的服务项目,允许企业分别在世界各地的分支机构同时使用IPC服务,特别是IPC标准,因而增长显著。因IPC认证、标准和活动对企业生产效率和盈利性的促进作用,使得会员续会率保持在85%以上。   IPC会员服务副总裁Sanjay Huprikar说:“去年,IPC引入了很
[手机便携]
浅析数控机床线性坐标轴的全闭环控制
半闭环控制系统引起的误差已经严重影响到数控机床的加工精度及其稳定性,如采用线性光栅尺对数控机床各线性坐标轴进行全闭环控制,可以提高机床的定位精度、重复定位精度以及精度可靠性。本文就线性光栅尺选型、安装专用工具设计、安装及数控系统参数测整等内容进行了探讨。 随着现代制造业的迅速发展,数控机床越来越多地被广泛应用,同时对数控机床定位精度、重复定位精度也日益提高,原来精密滚珠丝杠加编码器式的半闭环控制系统已无法满足用户的需求。半闭环控制系统无法控制机床传动机构所产生的传动误差、高速运转时传动机构所产生热变形误差以及加工过程中冈传动系统磨损而产生的误差,而这些误差已经严重影响到数控机床的加工精度及其稳定性。线性光栅尺对数控机床各线性坐标轴进
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved