嵌入式数控系统中的软PLC的应用与实现*摘要:介绍了软PLC技术的有关概念和组成结构,并把它和传统的硬PLC在控制方案上作了简要的比较。结合本课题数控机床控制系统的实际例子,在介绍了软PLC开发工具MatPLC的工作原理之后,详细描述了在Linux下基于MatPLC的软PLC的实现过程及实现过程中的注意事项。结果表明:所设计的软PLC通过PCI接口卡实现了对外围IO端口的读写操作,在嵌入式数控系统中应用稳定,节约了成本。关键词:软PLC;嵌入式数控系统;MatPLC软件;PCI接口卡中图分类号:TP273文献标识码:A文章编号:Realization&ImplementationofSoft-PLCinEmbeddedNumericalControlSystemWUyi-lin1,LIUlin-dong1,HUANGying2(1・Dept,ofComputerScience,GuangdongEducationInstitute,GuangzhouGuangdong510310,China2.DepartmentofAutomation,SouthChinaUniversityofTechnology,Guangdong,Guangzhou,510640,China)Abstract:TheSoft-PLCtechnologyisaddressed,inwhichtherelatedconceptsandthearchitecturesarementioned・Moreover,thecontrolschemesbetweeninSoft-FLCandthetraditionalHard-PLCarecomparedconcisely.CombinedwiththepracticalexampleofCNCmachinetoolofcontrolsystem,ithasdiscussedtheworkingmodeofMatPLCdevelopmentsoftware・Henceforth,therealizationprocessandthecautionpointofSoft-PLCbased-onMatPLCworkinginLinuxOSisexplainedindetail・Asaresult,Soft-PLCdesignedcanread/writetheperipheralIOviaPCIinterfacecard・TheapplicationoftheSoft-PLCtechnologyinembeddedCNCsystemisrelativelystable,andsavesthecost.Keywords:Soft-PLC;EmbeddedCNCSystem;MatPLCsoftware;PCIinterfacecard1引言本文所论述是数控系统大课题中人机交互的外围部分子课题中软PLC的开发应用。在数控系统中,PLC⑴在处理开关量辅助控制问题时起着重要作用。在以前,需要根据数控系统的控制要求分析PLC与机床、主控机之间的信息交互种类和数量,来选用相应的外部硬件PLC,采用这种方法设计,产品一旦定型就很难更改,工控领域的研究人员一直在寻求解决这些问题的途径。近年来,随着计算机技术的迅猛发展以及PLC方面的国际性标准IEC1131®的制定,一项打破传统PLC局限性的新兴技术发展起來,这就是软PLC技术。基丁-PC平台的软PLC在数控系统中正逐渐取代硬件PLC,成为该领域辅助功能控制的新方法l3,o软PLC提供了与硬PLC同样的功能,而同时具备了PC环境的各种优点⑷。本文就嵌入式数控系统开发课题中人机交互部分所应用到的软PLC技术进行论述,对在Linux环境下基于MatPLC开发工具的软PLC具体实现过程,以及在实现过程中的注意事项上做了详细介绍。2软PLC技术简介硬PLC由于技术标准对外封闭,各厂商的硬PLC的软硬件平台各不相同。而软PLC的技术标准对外开放,其硬件平台一般是工业控制计算机或通用计算机或嵌入式控制器,软件平台是商业性的操作系统。虽然两者的软硬件平台不同,但实现PLC功能的软件结构相同,都可分为PLC开发系统和PLC运行系统两部分。PLC开发系统用于开发各种适用于工业控制的PLC程序。PLC运行系统通过运行PLC程序,与I/O板卡或现场总线或直接与I/O信号等配合完成逻辑控制,其控制方案⑸⑹根据PLC硬件平台的不同,可分为以下三种:⑴基于IPC或PC的控制方案。在这种控制方案中,PLC开发系统和PLC运行系统都是在同一台计算机上运行的。(2)基于嵌入式控制器的控制方案。在这种控制方案中,PLC开发系统独立于嵌入式控制器,而PLC运行系统被固化在嵌入式控制器中。(3)基于传统PLC的控制方案。在这种控制方案中,PLC开发系统一般在普通PC上运行,而PLC运行系统在传统PLC硕件上运行。从以上3个方案可以看出,软PLC和硬PLC的最大区别在于它们所采用的软硬件平台不同。3MatPLC开发软件介绍MatPLC是Linux下的软PLC开发软件,它是开放源代码的,很容易对它进行内核定制,并嵌入到白己的程序中。MatPLC采用的是模块化设计方法,其内核主要包含以下几个部分:I/O模块、逻辑模块和用户界面模块等。MatPLC的工作原理与硬件PLC类似,只是内核控制由软件实现。其结构如图1所示。每个模...