图3 状态任务模块算法
主程序为每一个子功能模块预留了对应的两个子函数,PLC 编辑器有其相应的 无键处理子函数和向键处理子函数。在向键处理子函数中进行输入键值的判断处理,而无键处理子函数则进行实时状态参数的屏幕刷新处理。对于每个子功能模块,都有一个共同的特点,那就是其无键处理子程序相对于向键处理子程序较为短小。在当前子功能模块状态下、没有键值输入时就调用无键处理子函数,并且每一主程 序循环周期都要调用它;当在有键值输入的情况下,就转而调用向键处理子程序。一旦有按键输入,系统是以中断方式被CPU 所接收的,它首先进行相应的预处理,然后再调用任务管理模块子程序。任务管理模块程序是通过判断当前状态变量是否为初始状态,如果是则进入相应的初始处理,如果不是则判断是否按键状态,如是则分别进入相应的分支程序。
在有按键的情况下,程序首先判断该键值的类型,如果是改变功能子函数模块的 命令时,则首先调用相应的功能键值子函数模块,并送去状态变量值TASKSTART,同时把当前运行中的功能子模块放入后台等待该中断执行完后,接着执行 完;如果不是改变功能子模块,而是在当前功能子函数状态下的键值输入,系统则调用该功能键值处理子函数模块,并且送去TASKRUN 状态,这样也就进入了各子程序的键值处理子程序。
3.2 操作系统
该数控系统的操作系统采用的是AVAIL 公司自行开发设计的,并已经成功应用于公司生产的绣花机上,该公司生产的绣花机多年行销中国大陆等地,已经得到实践和用户的验证和认可。该操作系统是专门为任务相对比较单一的控制系统所设计的,其中有一个非常重要的时间任务控制模块,它负责对各任务的处理分配运行时间,并对任务执行时间进行监控。我们知 道,对于一个实时系统来说,系统的正确性不仅取决于计算的逻辑结果,而且还依赖于产生结果的时间。为了保证数控加工的精度,该操作系统采用一种硬实时任务的管理模式,即系统给一个特定的任务指定了一个最后的期限,而系统必须在这个最后期限之前处理完所规定的任务,否则系统就会强制中断该任务的执行。这个时 间任务模块决定了该数控系统的加工精度,依赖于多种因素的制约,比如CPU 执行速度的快慢、通讯口传输速率等等。由于该操作系统功能简单、任务可预测且单一,这就为该系统可靠性更高,稳定性更强提供了根本的保证。
4 梯形图主要功能实现
4.1梯形图符号的输入和编辑
该梯形图编辑器采用软键盘按菜单梯形图编辑器[1-4]工 具绘制相应的图形符号,具有增加、删除、修改等功能,操作方便。操作者在使用时,只需移动到合适的位置,然后用键盘按相应的梯形图符号,即可在该位置画出 该符号,并可以标注编号。将作图窗口划分成一定间隔的行与列,使插入的图形符号只能定位在网格点上。这既不影响梯形图编辑的直观性,又使解释程序易于实现。
4.2 梯形图符号的存储和提取
每个梯形图符号是一幅位图,我们存储每幅位图的类型、位置、文本显示信息等。提取时仍按照原 来的顺序绘制各幅位图。由于梯形图的行数是不能预知的,因此,对梯形图的编辑采用动态数据存储,以双向链表数据结构来记录梯形图的所有信息。由于双向链表的每个链结都具有向前和向后的指针,既能向前查找,又可向后访问,因此各类操作十分灵活方便。
上一篇:三菱FX-PLC定位控制模块