background image

项任务而能较好的满足这一要求,同时结合采用有效的中断方式来加强对实时性要求的实
现。
      根据运动控制系统的功能要求,整个系统主要分为以下几个模块:(1)主轴控制模块,
控制主轴电机运转,带动绣针上下移动。(

2)XY 步进电机控制模块,控制 XY 步进电机,

移动绣框。(

3)剪线模块,控制剪线电机,完成自动剪线操作。(4)换色模块,控制换色

电机,完成自动换色操作。(

5)光电检测模块(A 相 Z 相),主轴电机旋转位置及圈数的

计数反馈。(

6)限位处理模块,防止步进电机移框时越位。(7)断线检测模块,检测绣针

上的线是否断掉。(

8)报警模块,绣花机异常状态报警。各个模块之间的通信关系如图 1 所

示:

3 多线程技术在运动控制系统中的应用
      Windows CE5.0 是一个多线程的多任务操作系统,一个进程由一个或多个线程组成,线
程来负责执行包含在进程地址空间的代码。实际上,操作系统以一种轮转的方式为每个独立
的线程分配

CPU 时间片,客观上是所有的线程近乎同时执行。根据线程任务的特点,在进

行运动控制系统结构设计时,将功能相关、相互之间通信较多的任务,设计成一个进程中的
多个线程,使这些任务共享该进程的地址空间,减小通信和同步的开销。本文设计中,就是
根据这一机制实现的。
      在整个绣花机系统中。运动控制部分为一个单独的进程,在这个进程中根据图 1 中的各
个模块之间的关系,划分处几个线程,这些线程主要由两个大的部分组成:强实时线程部
分,包括主轴电机线程、步进电机线程、光电编码器线程、限位中断线程和断线处理线程;实
时线程部分,包括换色线程、剪线线程和报警线程。系统中的线程同步主要是针对强实时线
程而言的,而实时线程是通过像调用函数一样被调用来实现功能的。
3.1 多线程优先级设置
      在多线程系统中,由于高优先级的线程能随时中断低优先级的线程,获得运行权,这样
在设计系统时就要精心安排各个线程的优先级,只有合理的划分应用线程的优先级,系统
才能合理调度这些线程,从而保障系统的实时性能要求。
      Windows CE5.0 支持 0~255 共 256 了优先级,其中 0 优先级最高,255 优先级最低。根