最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

数控系统中内嵌式PLC编程软件的实现

发布时间:2013-04-17 作者:库祥臣 韩丰田 侯伯杰 黄明生 刘凯  来源:万方数据
为缩短内嵌式PLC的开发周期.提高其通用性和扩充性.用c语言建立了内嵌式PLC的集成编程环境编程软件可以完成PIE信号定叉、系统设置和梯形图的编译,并形成一个完整的内嵌式PLC模块采用双向链表的数据结构来描述和记录梯形图的各种信息,以实现仝屏幕编辑功能.该编程软件已成功应用于俄罗斯539数控仿型铣床。

  对梯形图的编辑可以通过对结构体LDA的前后项指针*prior和*next来进行,如图2所示。

图2梯形图双向链表数据结构图
图2梯形图双向链表数据结构图 

  双向链表结构存放在内存的堆中,所占用的内存空间在程序运行期间可以动态地变化。用两个全局指针变量LAD*listhead和LAD*lisitail分别指向双向链表的链头和链尾,用全局性指针变量LAD*info来指向正在编辑的链结一般情况下,一个完整的梯形图不可能在一个屏幕内全部显示出来,而只能以屏幕为单位一屏一屏地显示(本系统一屏幕显示10行),因此用fistlin来记录屏幕当前显示的梯形图起始行,用rellin表示光标块所在行在当前屏幕卜的位置,如果rellin >10或rellin < 1,则把当前屏幕的内容更换整个梯形图通过LAD的前项指针*prior和后项指针*nex。按照行号顺序链结在一起。这样,对梯形图的各种操作,如修改、删除、插人等就转化为对双向链表的相应操作,例如删除梯形图的某行,实际卜就是把内存中的梯形图双向链表的链结删除掉,并且这西操作均可用结构体指针的运算来实现。由于双向链表的每个链结都具有向前和向后的指针,既可向前查找,也能向后访间,因此各类操作十分灵活方便。

4 梯形图的编译

  编辑好的梯形图,根据其双向链表中的图素代号和信号代码,可形成各种逻辑关系。利用编译程序、把这种逻辑关系编译成C程序困,以便嵌入到同样用C语言编制的数控程序或仿形数字化程序中,完成机床的顺序控制。在梯形图编译时按照梯形图的梯级顺序进行,编译过程中要进行语法检查,主要是检查所编译的梯形图足否钶台规定的格式,如果梯形目不符合格式要求,则会给出错误信启,同时,在编译过程中还要枝验梯形嘲中的信号代码与信号定义模块PLC。H中所定义的信号是否~致,如果不一致,则提示该信号代码未定义。用户通过查看编译过程中所给出的错误信息,进行相应的修改,直到没有错误为止。梯形图编译程序的流程图如图3所示。

图3梯形围编译程序流程圈
图3梯形围编译程序流程圈 

5 结束语

  该编程软件简化了采用常规方法时要根据系统不同的硬件配置从底层进行设计的繁琐步骤,缩短了设计周期,提高丁工作效率。从其在“数控仿形铣床”研制过程中的使用情况来看,取得了令人满意的效果,为系统的设计、安装和调试带来了极大的便利。 

2
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。