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

最新更新时间:2012-03-09来源: 互联网关键字:高档  数控  实时多任务 手机看文章 扫描二维码
随时随地手机看文章

为了解决高档数控系统对控制软件实时性的要求,提出了分时并行处理的设计方法,以实时环境下多线程技术的原理为依据,用Delphi提供的多线程编程组件完成了系统线程的具体实现,并且以开发实例的方式给出了多线程技术在实现数控系统实时响应中的应用。实时多任务的实现,显著提高了CPU的利用率,并使系统的可靠性得到了保证。

  引言

  通信在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)通信线程

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

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

  在线程优先级设置中,通信线程的优先级最高,这使得通信线程在需要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平台上,使其具备高档数控系统需要的嵌入式设备的特性。

关键字:高档  数控  实时多任务 编辑:神话 引用地址:基于高档数控的实时多任务实现

上一篇:ADI公司:以先进设计理念,促高校人才发展
下一篇:DCS及其在CIMS系统中的作用

推荐阅读最新更新时间:2023-10-12 20:37

3S举办基于IEC 61131-3的数控系统
一年一度的德国3S软件公司"CODESYS Technology Conference"即将在金秋十月再次拉开大幕,今年探讨的主题是“ 基于IEC 61131 - 3 的数控系统及工业机器人软件平台技术及应用” 。 自从德国3S软件公司在亚洲的全资子公司- 欧德神思软件系统(北京)有限公司成立和运营以来,CODESYS软件在中国市场的发展进入了一个突飞猛进的时期,而这其中尤为重要的是CODESYS软件在数控系统和工业机器人领域的崛起。 2013年,欧德神思公司通过层层审核与考察,当选为中国机器人产业联盟副理事长单位;2013年7月,CODESYS盛装出席了中国国际机器人展览会。在本届的CODESYS技术大会中,CODE
[工业控制]
基于LabVIEW的数控机床网络测控系统--网络通信关键技术研究 2
4.2.3共享变量方法 共享变量是LabVIEW为简化网络编程迈出的又一大步。通过共享变量,用户无需编程就可以在不同计算机之间方便的实现数据的共享。用户无需了解任何的底层复杂的网络通信,就能轻松地实现数据交换。用户建立和使用共享变量就如同操作全局变量一样方便。 通过共享变量,用户可以在不同的计算机上的VI之间、本地不同或同一个程序框图的不同循环之间交换数据。共享变量的使用与全局变量类似,用户在程序框图中不仅仅看到的是一个变量而已,而变量具体与网络中哪台计算机哪个变量连接,以及各种其他属性等都已经事先在共享变量的属性中设定了。用户不用了解网络协议,不用任何编程就能轻松实现网络数据交换。共享变量有三种类型:Single-P
[测试测量]
基于LabVIEW的<font color='red'>数控</font>机床网络测控系统--网络通信关键技术研究 2
一种基于大功率FET的数控直流电流源设计
  本文研制的电源是为满足生产和教学科研应用的直流恒流源。采用软硬件结合的方法,能够输出恒定直流0~2000mA,步进8mA,纹渡电流≤2mA。用户通过手动设定需要的数值,可以准确得到稳流输出。本系统拥有友好的界面,是可以应用在生产、科研及教学活动中的数控直流恒流源。并且,产品扩展了网络仪器的功能,用户通过远端监控。能够使本产品工作在比较恶劣的远端生产环境中,达到恒流输出的效果。   l 方案论证及比较   1.1 控制方案   方案一:采用数字信号处理器(DSP)。   DSP功能强大,能完成许多复杂的控制和数据处理任务,但其价格一直居高不下,成本较单片机高。对于恒流源控制来说,不具有普适性。   方案二:采
[电源管理]
一种基于大功率FET的<font color='red'>数控</font>直流电流源设计
数控系统伺服电机控制
近年来,伺服电机控制技术正朝着交流化、数字化、智能化三个方向发展。作为数控机床的执行机构,伺服系统将电力电子器件、控制、驱动及保护等集为一体,并随着数字脉宽调制技术、特种电机材料技术、微电子技术及现代控制技术的进步,经历了从步进到直流,进而到交流的发展历程。本文对其技术现状及发展趋势作简要探讨。   一、数控机床伺服系统   (一)开环伺服系统。开环伺服系统不设检测反馈装置,不构成运动反馈控制回路,电动机按数控装置发出的指令脉冲工作,对运动误差没有检测反馈和处理修正过程,采用步进电机作为驱动器件,机床的位置精度完全取决于步进电动机的步距角精度和机械部分的传动精度,难以达到比较高精度要求。步进电动机的转速不可能很高,运动部件的速度
[工业控制]
一种具有多轴多面加工功能的数控加工中心研究
引言 数控加工中心是由机械设备与数控系统组成的适用于加工复杂零件的高效率自动化机床。它的综合加工能力较强,工件一次装夹后能完成较多的加工内容,更加适用于加工形状较复杂、精度要求高的工件。现在需要加工的工件越来越复杂,对加工的精度要求越来越高,同时还要保证一定的生产效率。 1数控加工中心为实现多轴多面加工功能需具备的条件 1.1多个加工轴既可分别控制、独立运动,又可以协同控制、同时加工 对于不同的工件,所需要加工的平面数量、加工要求是不一样的,所以多个加工轴对同一工件进行加工时,有时需要独立运动,以节省运作流程:有时需要同时加工,以提高加工效率。 1.2加工主轴满足一定的加工自由度 工件有时需要加工复杂曲面,所以加工主轴在x
[嵌入式]
一种具有多轴多面加工功能的<font color='red'>数控</font>加工中心研究
ZigBee技术在ARM数控系统组网中的应用
0 引言   当前嵌入型数控系统接收由CAD/CAM软件生成的G加工代码通过串口或以太网口传送。但使用串口传送通常需在数控系统旁再配备1台主机,而利用以太网口传送又会增加嵌入式处理器的运算压力。在目前常用的无线通信中,ZigBee具有低功耗,成本低,时延短,网络容量大,安全可靠,无需注册公共频段2.4G等优点,尤其是其低功耗的优势突出,适合数控系统的代码传输。故基于ARM技术和ZigBee技术实现嵌入型数控系统的无线组网,由ARM网关负责网络管理和数据分发,并提供Intemet接口,可远程登陆传输代码和进行控制。 1 系统网络的组建结构   网络结构拓扑采用星形结构,如图1。结构中心是基于ARM处理器设计的
[单片机]
ZigBee技术在ARM<font color='red'>数控</font>系统组网中的应用
华中数控1亿元设立子公司 扩大在动力电池智能产线装备的市场份额
  武汉华中数控股份有限公司(以下简称“公司”)于2021年8月17日召开第十一届董事会二十二次会议,审议通过了《关于拟投资设立全资子公司的议案》,同意公司根据战略规划和经营管理需要,拟在武汉市黄陂区设立全资子公司武汉华数锦明智能科技有限公司,注册资本10,000万元,开展新能源汽车动力电池装备智能生产线的应用集成、工厂级物流系统、工厂级包装系统和智能软件等领域的智能制造装备业务。   为了满足新能源动力电池设备快速增长的市场需求,公司本次拟在武汉市黄陂区投资设立全资子公司,提升公司产能,扩大公司在新能源动力电池智能产线装备的市场份额,提升公司的盈利能力,增强公司综合竞争实力。
[新能源]
MPC08运动控制卡在开放式钻床数控系统中的应用
引言 在计算机技术飞速发展的今天,数控系统由传统的专用型封闭式系统向灵活的开放式数控系统转变已成为一种必然趋势。与传统的封闭式数控系统相比,开放式数控系统有以下优势: 可伸缩性,CNC系统的功能、规模(硬件或软件模块)可根据具体应用灵活增减; 可移植性,系统的功能软件与运行平台无关,能运行于不同供应商提供的硬件平台上; 可扩展性,开发者能有效地将自己的软件集成到NC系统中,形成自己的专用系统; 可互操作性,通过标准化接口,通信和交互机制,使不同功能模块获得相互操作能力,协调工作。 目前开放式数控系统主要形式是基于PC的NC,即在PC的总线上插上具有NC功能的运动控制器完成实时性要求较高的
[工业控制]
小广播
最新模拟电子文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved