关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于HCS08的数控工作台控制系统设计与建模

基于HCS08的数控工作台控制系统设计与建模

作者: 时间:2010-05-18 来源:网络 收藏

 校零是设定当前的位置为零点位置,通过上位机操作将数据写入Flash中,在下次上电工作时会在自动找零时,自动运行到这个设定的零点位置。由图2可以清楚地看到,整个状态模型可以分为4个部分:自动找零状态、手动控制状态(包括高低速转换、三轴电机运动的方向)、校零状态和故障状态。其中故障状态可以与其他的状态根据转移条件发生状态转移,而手动控制状态只能与校零状态和故障状态根据转移条件发生状态转移,其内部各个状态之间不能发生状态转移,这是由的工作特性所决定的。从上电开始工作,在同一时间内只允许进行一种活动,只有在当前活动结束后才允许进行其他的活动,这种的工作特性就可以用UML状态图[6]清晰地表现出来,使得任何人都能对系统软件模型有比较直观的认识。
根据状态来划分整个系统软件结构[2],可以有效地对系统工作进行掌控,防止软件功能互相耦合而引起逻辑混乱。简单来说,当系统正处在手动控制中,如果此时收到校零指令,系统就可以根据当前状态转移条件转移到校零状态,工作台会按顺序依次走到各轴的两端限位位置,将两端限位之间的距离保存到Flash中以便下次读取,这样就提高了系统的稳定性和可靠性。
3.2 下位机软件算法活动模型
鉴于工作台在日常生产中对于控制的要求,以及Freescale的特点,在软件算法程序时,对电机发脉冲采用PWM重载中断的方式,这样极大地发挥了芯片的性能,并且提高了程序的可靠性。下面采用UML活动图将主循环流程按照时间的顺序展开,如图3所示。

本文引用地址://m.amcfsurvey.com/article/163078.htm

从图3中能够清楚地看到下位机程序就是一直循环采集和事件处理的过程。系统一上电首先对硬件模块和软件功能进行初始化设置,保证程序处在可运行状态。然后程序进入主循环,先进行事件采集,包括读写Flash、串口数据接收、限位传感器输入信号以及伺服报警信号采集。如果没有事件发生,则程序一直处于事件采集状态;如果有事件发生,则对采集到的事件进行分析决策。事件决策则是对当前系统状态进行判断和转移,决定哪些事件可以被执行。最后事件分配和事件处理则是将被允许执行的事件分配给相关的执行函数,调用相关函数来对事件进行处理,完成后返回到主循环开始,而程序也因此周而复始地一直执行下去。
 由此可以看出,在程序中事件按从总体到个别的顺序被执行,每一步都有明确的目的性和层次性,条理清晰,逻辑清楚,这样就使得程序在编制和维护时简单易行。
 由于下位机采用的Freescale型单片机作为核心,其运算处理速度能达到每秒20 M条指令,这样就使得下位机程序对外部事件有了较高的响应速度和处理速度,其实时性可以比较好地满足工作台的应用需求。
3.3 下位机软件通信模块
Freescale单片机采用异步通信RS-232作为串行,其适用于设备之间的通信距离不大于15 m、传输速度最大为20 KB/s的数据传输领域。本系统采用标准不归零NRZ(Non Return to Zero)的数据格式进行数据交互。
本文介绍了工作台下位机程序,分析和构建了下位机软件的主要功能、实现方式和软件算法,并通过UML图分别展示了下位机供需用例图、软件状态模型和主循环活动模型。使用UML图进行软件设计使得软件层次更加清晰,结构严谨,可维护性强,充分体现出UML图[7]在面向对象的软件编程中起到的重要作用。同时,本文所叙述的软件设计与的方法, 对其他下位机的软件开发也有很好的借鉴作用。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭