3. 3软PLC任务线程的调度
多线程程序是指在一个进程中同时运行多个线程,每个线程完成不同的任 务。采用多线程编程可充分利用进程中的共享资源、减少进程切换所需的资源切 换、从而大幅提升CPU的使用效率,多用于需要花大量时间处理以及处理大量 10数据等耗时的应用程序。
软PLC运行系统主要是对I/O输入输出影响区的数据进行处理,采用多线 程编程可提升控制系统的性能,因此在程序启动后主线程会为每个任务创建对应 的线程。然而通用PC机只有一个CPU,每一时刻只能执行一个任务线程,多个 线程之间通过快速地进行切换来实现运行。因此要实现软PLC运行系统多任务 的并行运行就必须对任务线程进行调度,确保每个任务顺序执行。下面在介绍操 作系统调度原理的基础上给出本软PLC系统的调度方法。
线程是操作系统的最小调度单位。对于通用PC机而言,计算机操作系统以 轮转方式向每个任务线程提供运行时间片,利用“中断”机制对线程的运行状态 进行切换,从而确保每个任务线程都能得到CPU时间片而被执行。
软PLC运行系统需要对系统管理任务、通信任务、程序执行任务以及I/O 读写任务进行调度。通信任务包括软PLC与HMI进程的通讯任务、软PLC与软 CNC的通讯任务,I/O读写任务包括I/O读任务和I/O写任务。每个任务线程对 应就绪、运行、终止和阻塞四种状态,因此对软PLC运行系统多个任务的调度 可通过改变任务线程的状态来实现。本文结合以下两种方式对任务线程进行调 度。
直接调度
直接调度按任务执行的先后顺序设定任务线程的优先级进行调度,使任务线 程队列中的优先级最高的任务优先获得CPU时间片而被操作系统调用执行。
RTX实时子系统提供了 128个线程优先级,其系统内核按照优先级从高到 低的顺序安排任务线程占有CPU资源。由于采用抢占式调度算法,所以RTX允 许高优先级的任务打断正在运行的低优先级任务线程,以此抢占对CPU的控制 权,这非常方便我们对软PLC运行系统的每个任务线程进行调度和管理。
在软PLC运行系统的设计过程中,系统任务管理线程负责软PLC运行系统 所有任务的调度,不应被软PLC系统中的其它任务线程所打断,因此设置为第 一优先级。通讯任务线程和I/O读写任务线程用于提供操作数和指令,是执行用 户程序的先决条件,所以设置为第二优先级。程序执行任务设置为第三优先级, 其中快速执行任务线程的优先级高于普通执行任务线程。
间接调度
间接调度采用同步对象进行调度,利用多个任务为争夺同一临界资源引起的 互斥来协调多任务的运行。也就是说只有获得同步对象句柄的任务线程才能被执行,对共享资源进行操作,未获得的任务线程只能等待同步对象被释放。
RTX提供四种同步对象:信号量对象Semaphore、事件对象Event、互斥体 X寸象Mutex和共享内存对象SharedMemory。其中事件对象Event具有使用简单、 易于实现多个任务的同步运行等优点,所以软PLC运行系统为每个任务创建了 相应的事件对象,利用函数RtWaitForSingleObjectG等待单个事件对象的信号状 态,以及函数RtWaitForSingleObjects〇等待多个事件对象的信号状态。当等待时 间达到设定值时,改变当前执行线程的状态,转去执行获得同步事件对象句柄的 任务线程,执行完返回当前任务线程继续执行;若设定的等待时间为INFINITE, 则当前任务线程一直等待同步事件对象句柄。这使程序运行过程中只有一个任务 线程能够操作数据共享区,从而保证数据访问的安全性。
软PLC运行系统创建的事件对象初始时都处于FALSE(无信号)状态,在事 件被触发后变为有信号状态,事件所对应的任务线程获得临界区资源被执行,然 后利用RtResetEventG函数重置为无信号状态,让软PLC运行系统触发其它事件 对象,以此协调多任务的运行。软PLC任务线程的调度过程如图3.8所示。
本文采摘自“五轴数控加工中心软PLC控制系统的研究”,因为编辑困难导致有些函数、表格、图片、内容无法显示,有需要者可以在网络中查找相关文章!本文由伯特利数控整理发表文章均来自网络仅供学习参考,转载请注明!
2024-11
本文以组合式六角亭模型为实例,分析工艺难点与加工可行性,指出该模型的加工难点是模型形状不规则和整体刚性差,并通过设计新的工艺方案解决加工难点,完成了模型整体的加工。新的加工工艺有助于提高加工效率和精度,为五轴数控加工提供了一个典型案例,对于五轴加工中心数控加工也具有指导作用和重要… [了解更多]
2024-11
宇匠数控 备注:为保证文章的完整度,本文核心内容由PDF格式显示,如未有显示请刷新或转换浏览器尝试,手机浏览可能无法正常使用!本文摘要:通过对混联五轴加工中心自适应深度学习控制方法的 研 究,可 知 此 方 法 的 创 新 之 处 在 于:1)建 立 了 机 床 的 运 动 学 … [了解更多]
2024-11
在机测量技术由于其成本低、检测效率高、无需二次装夹等优势被广泛用于零件加工测量当中,使得五轴加工中心和五轴钻攻中心,同时又兼具测量功能。在机测量系统的构成如图1所示,硬件部分主要是由高精度探头、信号接收器、机床整个本体,软件部分由机床控制系统、测量软件等组成[8]。待零件加工完成… [了解更多]
2024-11
加工精度是影响机床性能和产品质量的主要难题,也是制约国家精密制造能力的重要因素。本文以五轴加工中心为对象,针对提升机床精度进行了研究。并且随着科技的发展,精密的仪器和零件在生产实践中占据的分量逐渐增加,在数控机床这种精密机器精度不断提高的同时,必须控制内外界环境的随机影响因素在… [了解更多]