面向 PLC自动控制生产过程的实时仿真系统设计❋
2012-01-23谢小成姜莉莉许玉枝
谢小成,姜莉莉,许玉枝
(广东工业大学 机电工程学院,广东 广州 510006)
随着我国国内生产成本的不断攀升,传统生产模式的企业利润越来越低.如何提高企业的生产效率和质量,已经成为攸关企业生存的大问题.生产自动化作为一种快速提高企业生产效率的方式,已经成为国内生产企业产业升级的发展趋势.由于生产自动化是一个相当复杂的系统,为了确保实现产业升级的目标,必须引入一种能够对整个系统进行全面评估的方法.系统仿真作为一种全面分析、设计、运行、评价复杂系统的重要工具[1],因而被广泛地运用在企业生产自动化升级改造过程中[2-6].
仿真建模需要采集生产现场的各种设备参数和生产过程的各种工艺参数.设备参数一般可以通过现场设备来直接获取,生产工艺参数则必须通过大量的生产数据来总结.因此,如何准确有效地采集生产过程数据并将其转化为生产工艺参数,是仿真建模过程中必须解决的问题.一般情况下,生产过程参数是由人工来采集和总结的,这就使得仿真工艺参数不能准确及时地反映现实生产状况.
可编程逻辑控制器(PLC)作为一种专为工业自动化控制现场环境而设计的控制器,因其具有编程简单、通用性好、抗干扰能力强和可靠性高等特点而广泛应用在自动化生产中,已经成为现代工业自动化的主要支柱之一[7].PLC作为一种工业控制器,除了具有强大的工业控制能力外,还具有数据处理和通信联网功能.在先进的工业网络技术的帮助下,PLC可以迅速有效地收集、传送和管理生产数据[8-9].本文将提出一种建立实时仿真模型的方法来获取生产过程数据.该实时仿真模型是一种以 Flexsim仿真软件为平台,以 PLC控制的自动化生产过程为仿真对象的三维实时动态仿真模型.
1 实时仿真系统结构
本文设计的实时仿真系统将主要由仿真引擎、决策系统、数据采集系统、仿真模型、数据模型、仿真输出以及设备间的通信组成.仿真引擎主要在综合仿真模型信息、实时参数和决策状态修改指令等参数后,生成离散任务并安排事件触发;决策系统可以根据实时参数对系统运行状态进行评估和修改;数据采集系统接收来自自动化控制系统的加工信号,采集其中各设备和工件的实时加工数据,并将这些数据保存到数据模型中.实时仿真系统主要的工作流程为:
1)数据采集系统实时采集自动化控制现场的加工数据,包括设备的加工状态,零件的加工工序,加工时间等,并将这些数据保存到对应的数据模型中.
2)仿真引擎获取实时仿真模型中的相关信息,如设备信息,现场布局信息,设备可利用信息和各设备间的相互关系等.
3)仿真引擎接收来自数据模型的实时参数,主要包括工件和设备的实时加工信息.
4)仿真引擎综合实时参数和模型信息后,向决策系统发出状态修改请求指令.
5)仿真引擎根据决策系统的状态修改指令对仿真系统的运行状态进行修改.
6)实时仿真系统在运行相应的时间后,暂停系统运行,输出各仿真实体的过程数据.
实时仿真系统框架结构如图 1所示.
实时仿真系统对实时数据的响应模式:当实时参数与模型实体的参数存在差异时,可通过相应的仿真实体脚本程序不断循环刷新实体状态参数来实现.
2 实时仿真模型数据处理
实时仿真模型的数据处理过程主要包括 PLC控制现场数据采集和 Flexsim模型运行所需数据调用.PLC与 Flexsim间的数据传输是以数据库为中介的,如图 2所示.
在数据传输过程中,PLC,DB和 Flexsim三者之间的数据变量存在一一对应的关系.在数据采集时,将 PLC的控制数据保存到对应的数据库变量中;在数据调用时,从数据库中找到与 Flexsim设备名称相对应的设备变量值,并将此值赋给仿真实体的对应变量.在整个实时仿真模型的数据处理过程中,共用到四款软件:Step7 v5.4+PLCSIM v5.3+WinCC v6.2+ SQL2005.其中,PLCSIM v5.3是一款 PLC仿真软件.由于PLCSIM可以很好地模拟真实 PLC的控制过程,同时为了更好地展示仿真模型与 PLC控制的同步过程,本文选用S7-PLCSIM作为自动化控制设备.
2.1 PLC数据采集
Step v5.4,PLCSIM v5.3和 WinCC v6.2是西门子公司基于全集成自动化系统的思路而设计的三款软件.全集成自动化 TIA(Totally Integrated Automation)即统一的组态和编程,统一的数据库管理和统一的通信,是集统一性和开放性于一身的自动化技术[10].因此,PLC控制系统在集成自动化技术框架下,可以将仿真 PLC和仿真实验对象集成在一台计算机,实现 PLC控制系统的全仿真.全仿真 PLC系统结构框架如图 3所示.
如图 3所示,PLC全仿真控制系统由三个软件通过各自的对应接口相连.该系统不需要任何硬件就实现了将 PLC编程软件、PLC本身和组态软件的所有功能集成于一台计算机上.在全集成自动化的系统架构下,不需要为这些程序之间的通信编写程序就可以进行通信,大大简化了 PLC实验系统的设计难度[11].
对于 PLC特定变量的采集,也可以通过WinCC的全局 VBS脚本动作和全局 C脚本动作来实现.下面一段代码是在 WinCC全局 C脚本中触发一段程序,其作用是旨在周期性地通过内部变量来采集与 PLC相关联的外部变量的值.同理,也可以通过内部变量来改变外部变量的方式,实现对 PLC的控制状态的操控.
Set TagBit("output",Get TagBit("P100"));//内部变量 P100赋值给外部变量output
Set TagDouble("Tank100",GetTagDouble//外部变量赋值给内部变量 Tank100
VB作为一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可直接调用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL),对象的链接与嵌入(OLE),开放式数据连接(ODBC)等技术[12].利用 WinCC中 VBS全局脚本触发器,可以快速建立 WinCC与具有数据源名称 (DSN)的数据库连接,并且可运用 objcommand.execute等操作命令对数据库进行数据库修改、更新和读写等指令操作[13].
因此,在西门子全集成自动化框架下,通过WinCC的全局脚本,可以很方便地采集 PLC中的设备控制参数,并可将这些数据保存到各种开放式的数据库中.
2.2 Flexsim数据调用
Flexsim是美国 Flexsim公司开发的,迄今为止世界上第一个在图形环境中集成了 C++IDE和编译器的仿真软件.Flexsim的资料、图像和结果都可以与其它软件公用,而且它可以从 Excel表读取资料和输出资料(或任何 ODBC DAT ABASE),可以从生产线上读取实时资料以作分析功能[14-15].
Flexsim可通过 ODBC接口访问 Access,SQL server等数据库,从数据库中读取相关数据信息.其主要操作步骤为:①在 Windows系统下创建数据源名称,用以定义一个数据库和必须用到的 ODBC驱动程序;② 在 Flexsim的任何脚本中都可以利用dbopen()命令打开相关数据库.如:通过 Flexsim实体脚本中输入语句命令即可建立与 DSN名为数据库的链接.因此Flexsim可对数据库上相关数据进行调用.另外,Flexism中也存在如 Custom Draw Code等实时触发的脚本.所以,以 Flexsim软件作为仿真平台,利用脚本触发器可以实时读取数据库中的数据.
3 油路控制实时仿真实例
仿真实例是基于广东工业大学 CALS实验室的“环保型废旧轮胎综合处理设备”项目中产品油回收油路控制系统的相关功能需求来设计的.其主要设备包括一个进油阀门,一个出油阀门,上限液位传感器,下限液位传感器,集油罐容器等设备见图 4.该油路的 PLC控制过程要求能实现自动启动、自动停止和自动预警等功能.
图4 集油罐Fig.4 Gathering tank
图5 仿真实体与组态控制Fig.5 Simulation object and configuration control
图6 仿真输出与组态过程对比Fig.6 Contrast between the simulation output and the config uration progress
图7 实时仿真数据输出Fig.7 Output data of real-time simulation
当上一级炼油设备有初级原油输出时,打开进油阀;当集油罐中的油位上升到上限位传感器时,打开出油阀;当集油罐中的油位下降到下限位传感器时,关闭输出阀;开始下一个工作流程;当上一级炼油设备没有原油输出时,关闭进油阀和输油阀.
在油路控制实时仿真中,Flexsim需要采集PLC控制系统中的 5个过程变量,分别是进油阀的开关量,出油阀的开关量,上限位传感器值,下限位传感器值和集油罐容量.当油路 PLC控制系统控制现场设备的状态参数发生变化时,Flexsim相对应地根据相关采集参数的变化来改变仿真模型状态.图 5(a)为集油罐在 Flexsim中的仿真模型,其中实体 FluidTank2右侧长方条为其液位标示,左右折管分别为输入输出阀.
WinCC是作为一种过程监视软件,具有对PLC的状态进行实时监控的特性.为了对比本文所设计的仿真系统的实时性,对油路 PLC控制系统建立了基于WinCC的组态监控系统,图 5(b)为油路控制系统的WinCC控制界面.
运行油路控制实时仿真系统与WinCC组态监控系统,使集油罐进出油工作一个周期,分别得出 Flexsim和 WinCC中如图 6所示的油位随时间变化图.其中(a)图为 Flexsim的仿真输出,(b)图为WinCC组态监控输出.需要说明的是,由于集油罐中出油的速率是进油速率的两倍,所以两图中的油位与时间两分段函数直线与时间轴所成的角度分别为 45°和 60°.从(a)(b)两图可以看出,Flexsim实时仿真系统较好地保持了与 PLC运行状态的一致性.
油路控制系统实时仿真不仅实现了仿真效果与自动化生产现场运行状态的同步,而且对现实系统进行了全面的数据收集,这其中包括系统中设备的运行利用率,各种事件的触发时间以及相关变量的变化等,如图 7所示.
4 结束语
本文建立了面向 PLC自动化控制生产过程的仿真系统,该系统不仅实现了对 PLC自动化生产系统的实时仿真,而且记录了所有仿真过程参数.仿真过程参数的采集将有助于提取自动化生产现场的过程工艺参数,这就为对现实系统作进一步的分析优化和仿真优化建模提供了数据基础.由于仿真优化是基于现实系统的运行过程数据,所以可信度大大提升.实时仿真的实现也拓展了仿真在自动化生产中的应用,使得仿真可以对整个自动化生产过程进行数据采集和仿真优化,这将有助于提升自动化生产的生产效率.
[1]humfa,计算机仿真 [EB/O L].(2011.9.8)[2011.9.18]http://baike.baidu.com/view/113908.htm.
[2]卓奕君.基于 Flexsim的生产线优化设计[J].北京信息科技大学学报(自然科学版),2011,26(3):83.Zhuo Yijun.Design of optimized product lines based on flexsim[J].Journal of Beijing Information Science& Technology University,2011,26(3): 83. (in Chinese)
[3]宝斯琴塔娜.基于 FLEXSIM的流水线生产物流优化[J].工业工程与管理,2008(4):106-109.Bao Siqintana.Optimizing the logistics of streamIine based on software FLEX SIM [J]. Industrial Engineering and Management,2008(4):106-109.(in Chinese)
[4]王福鑫,向号.基于 Flexsim软件的生产线仿真优化[J].机械工程师,2010(11):88-89.Wang Fuxin,Xiang Hao.Simulation and optimization of the production line based on flexsim software[J].M echanical Engineer,2010(11):88-89.(in Chinese)
[5]肖聃.基于车间仿真的工艺经济性评价系统的研究与开发[J].武汉理工大学,2009(8):79-82.XiaoDan. Research and developmentofprocess economical evaluation system based on workshop simulation[J]. Thesis ofWuhan University of Technology,2009(8):79-82.(in Chinese)
[6]石宇强.基于 Flexsim仿真的生产物流系统分析 [J].制造技术与机床,2008(6):137.Shi Yuqiang.Analysis on production logistics system based on flexsim simulation software [J].Manufacturing Technology & Anufacturing Technology& MachineTool,2008(6): 137.(in Chinese)
[7]袁池.远程监控与维护系统及其在 PC-PLC网络上的实现[J].上海交通大学学报,2003,37(3):450.Yuan Chi. Remote monitoring and maintenance system and its realization on PC-PLC network[J].Journal of Shanghai Jiaotong University,2003,37(3):450.(in Chinese)
[8]曹子龙.一种基于 rfid/Plc的生产状态数据采集技术[J].工业控制计算机,2009,22(8):12-14.Cao Zilong. An RFID/PLC-based technology for acquiring production state data[J].Industrial Control Computer,2009,22(8):12-14.(in Chinese)
[9]何默为.上位机与 PLC远程通信实现动态数据采集研究[J].机械与电子,2007(4):49-52.He Mowei. Research on using remote serial communication to realize data acquisition [J].Machinery& Electronics,2007(4): 49-52. (in Chinese)
[10]吕增芳.西门子全集成自动化理念初探[J].山西电子技术,2006(3):89-90.L ǜ Zengfang. The primary investigates on totally integrated automation principle of siemens[J].Shanxi Electronic Technology, 2006(3): 89-90. (in Chinese)
[11]曾兴柱,齐强,张鑫意.基于西门子全集成自动化技术的全仿真 PLC实验系统[J].西安电力高等专科学校学报,2009(1):34-36.Zeng Xingzhu,Qi Qiang,Zhang Xiyi.Develop a fully simulated PLC testing system in laboratory by using totally integrated automation principle of siemes[J].Journal of Xi’an Electric Power College,2009(1):34-36.(in Chinese)
[12]李波.基于 V C的 PLC数据采集管理系统 [J].现代电子技术,2009(6):46-49.Li Bo. PLC data acquisition management system based on VC[J].China Academic Journal Electronic Publishing House,2009(6):46-49.(in Chinese)
[13]杨力,李月恒,于智.基于 WinCC V6.2的 VB脚本操作自定义 SQL数据库[J].工业控制计算机,2010(5):23-25.YangLi,Li Yueheng,Yu Zhi.Operating userdefined SQL database based on V BS script of WinCC V6.2[J].Industrial Control Computer 2010(5):23-25.(in Chinese)
[14]戴虎,刘根豹,虞春跃.Flexsim模拟环境[C].中国系统工程学会决策科学专业委员会第六届学术年会论文集,2005.
[15]赖明勇.物流信息系统驱动 Flexsim的仿真互操作机制研究 [J].湖南大学学报(自然科学版),2009,36(11):83-87.Lai Mingyong.Simulation interoperating mechanism of logistic information system driven Flexsim[J].Journal of Hunan University(Natural Sciences),2009,36(11):83-87.(in Chinese)