3 嵌入式数控系统中PLC模块的软件结构
如图3所示,嵌入式PLC模块是建立在嵌入式微控制器硬件开发平台和嵌入式操作系统之上,通过开发内核驱动程序与应用程序,将驱动程序添加到嵌入式系统的内核中,形成嵌入式PLC系统软件的一部分。用户输入PLC指令表形式的PLC应用程序,系统编译程序通过对用户程序与内核驱动程序的交互实现对PLC指令表语言程序的解释和执行,实现PLC的控制功能。
本文所设计的嵌入式PLC建立在EmbededLinux操作系统平台之上,通过软件方法实现传统PLC的计算、控制和编程等功能。嵌入式PLC由编辑环境和执行环境组成。首先,通过编辑环境编辑输入PLC指令表语言的应用程序,由文本预处理生成plc.txt的文件;其次,进入执行环境,由解释处理程序读取该文件解释为系统可识别的机器码;同时,通过I/O模块以及现场总线等物理设备完成现场数据的采集,把这些采集来的信号作为外部输人信号同内部其它控制模块发来的控制信号共同映射到输入共享内存地址区,供PLC解释处理程序使用,并将处理完的结果存储到输出共享内存地址;最后,读取内存中的数据并反馈给其它模块或输出到外部线圈执行控制。嵌入式PLC应用程序在编辑环境中编写,其余的均于执行环境内实现。
3.1 嵌入式PLC程序编辑器的设计
MiniGUI是根据嵌入式系统应用特点量身定做的完整嵌入式图形支持系统,为实现在嵌入式数控系统中开发操作简便的图形界面且满足数控系统的实时性要求,经过比较分析,开发时选用MiniGUI-Thread运行模式。界面程序为现场应用而开发,在实际应用过程中主要处理PLC程序的编辑、导入与执行,此界面设计时只做了PLC语言中语句表程序的编辑修改界面,而梯形图的编辑、开发、翻译界面则选择在Windows下用VC开发,以增加通用性。在设计中,充分考虑到IEC61 131国际标准中关于PLC指令表语言的标准及具体输人格式。通过软PLC界面菜单“文件导人”把宰.PLC文件打开,点击“执行程序”启动软PLC解释程序,开始解释并运行被打开的*.PLC文件。此时“执行程序”按钮转换为“程序停止”(如图4)。
3.2 嵌入式PLC程序执行环境的设计
3.2.1 采用内存映射技术实现数据在内核空间与用户空问的交互
内存映射,采用get_free—page()在内核空间里申请一页内存‘引,存储外部采集的信号和内部控制信号,然后通过fileoperation的mmap()函数,将该页的内存映射到用户空间,使得用户空间和内核空间都可以读写该段内存数据;用户空间通过mmap()映射/dev/men实现对所有lY0寻址空间的读写。
3.2.2具体解释程序的实现
嵌入式PLC源程序由编辑环境输出为plc.txt文件,再由解释程序具体解释、执行。解释程序首先调用字处理子程序对PLC.t:xt结点的行指令信息进行处理,处理后用1个字结构体来存储分离出来的字信息。
首先定义一个字结构体word,用于存放字处理结果信息,变量元素有num(行号),order(命令字),com(元件),para(元件参数);打开文件plc.txt;定义字结构体变量,动态分配存储空间并且调用字处理子程序根据处理结果给字结构体变量元素分别赋值;根据order变量值,调用相应的指令解释子程序对指令进行解释处理;之后判断文本结束否,未结束则获取下一个节点的行指令信息进行字处理,如此反复操作直至文本结束,完成解释程序流程。
4 结语
嵌入式PLC是一项具有巨大潜力的技术,其强大的网络功能是传统的PLC无法比拟的。本文针对PLC的控制特点设计数控系统中嵌入式PLC模块,阐述了嵌入式入式PLC模块实现的方法对其中的关键技术作了详细的解释,这为多轴联动的嵌入式数控机床的研制在电气控制方面奠定良好的基础。