嵌入式数控系统中PLC模块设计与实现

来源:网络

点击:1670

A+ A-

所属频道:新闻中心

关键词:嵌入式 数控系统 PLC

    引言

      近年来,嵌入式数控系统已成为研究热点。PLC模块是数控系统的重要组成部分,它与数控装置配合,完成机床开关量控制。工业自动化控制领域的国际编程标准IEC61131的推出和实施,打破以前各PLC生产厂商的产品不兼容的‘局限性。充分利用嵌入式系统硬件和软件资源,使PLC的性价比大大提高。相对于通用型PLC,嵌入式PLC具有兼容性、通用性、性价比高、网络连接简便、编程方便等优点。目前,大多数嵌人式PLC以Windows CE系统为操作平台,具有操作界面良好、程序开发相对容易等优点,但Windows操作系统是收费的,这将增加数控系统的开发应用成本。本文中嵌入式PLC配合数控系统的开发,以免费的具有开放式源码和良好可靠性的Linux系统作为软件平台,利用C语言在普通PC上做好设计和开发,再将软件移植到嵌入式数控系统中。

    1 数控系统中嵌入式PLC系统框图

      如图1所示,嵌入式PLC系统由硬件层、引导层、驱动层、系统层、用户层构成。硬件层是整个系统的最底层,驱动层是应用层与硬件层之间的一个纽带,系统层用来管理系统的任务、用户层提供用户良好的人机界面,方便使用,用户层通过驱动层实现对硬件的控制。在数控机床中PLC主要实现对机床的坐标的零位控制、主轴的起停、冷却液的起停、自动润滑以及过载、超程、碰撞、掉电等紧急控制等。

     

    图1嵌入式PLC系统结构图

    2 嵌入式PLC硬件结构框图

      PLC的硬件电路采用“ARM+CPLD”的方案来实现。如图2所示,其中ARM和CPLD通过三总线连接,数据总线为16根,分别为D[O~15],而地址总线5根,分别为A[0~4],控制总线为4根,分别为NEW、NOE、OE1和片选信号NGCS2。ARM外围设计利用HHARM2410开发板进行再开发,底板上现有一个RS-232串口、一个RJ-45以太网口与宿主机通讯、一个USB设备接口、一个LCD及触摸屏接口,在这基础上,增加CAN总线功能模块电路,并引出S3C2410核心板上的空余引脚以达到本系统控制要求。

     

    图2嵌入式PLC硬件结构图

      ARM9通过RS-232通讯接口和以太网口与宿主机通讯,利用宿主机在Redhat9.0 Linux操作系统以上的平台上进行驱动开发、程序调试和数据传输;HHARM2410核心板中的存储系统较小,为达到开发系统的要求,利用USB设备接口提供方便的移动存储。外围设计主要是PLC的I/O模块和主轴及进给轴的A/D模块,其中PLC的I/O模块主要用于PLC的开关量的输人与输出,用来采集机床传感器的信号、控制主轴和冷却液等电机的启停。而A/D模块则是用于主轴和进给轴的调速。采集的信号通过CAN模块发送给上位机,上位机调用解释程序处理后通过CAN模块把结果发送下位机,实现电气开关量控制。

    3 嵌入式数控系统中PLC模块的软件结构

      如图3所示,嵌入式PLC模块是建立在嵌入式微控制器硬件开发平台和嵌入式操作系统之上,通过开发内核驱动程序与应用程序,将驱动程序添加到嵌入式系统的内核中,形成嵌入式PLC系统软件的一部分。用户输入PLC指令表形式的PLC应用程序,系统编译程序通过对用户程序与内核驱动程序的交互实现对PLC指令表语言程序的解释和执行,实现PLC的控制功能。

     

    图3嵌入式数控系统中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)。

     

    图4嵌入式数控系统中的PLC编辑器

      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模块实现的方法对其中的关键技术作了详细的解释,这为多轴联动的嵌入式数控机床的研制在电气控制方面奠定良好的基础。

     

     

    (审核编辑: 智汇李)