基于PLC和MCGS的实时生产数据采集系统*
2016-02-07曾鹏飞郝永平
贾 冰,曾鹏飞,郝永平
(沈阳理工大学 a.机械工程学院; b.CAD/CAM技术研究与开发中心,沈阳 110159)
基于PLC和MCGS的实时生产数据采集系统*
贾 冰a,b,曾鹏飞a,b,郝永平b
(沈阳理工大学a.机械工程学院;b.CAD/CAM技术研究与开发中心,沈阳 110159)
文章针对某炮弹装配兵工厂实时数据管理系统的应用需求,提出了基于工控组态软件MCGS与可编程控制器PLC的数据采集实现。PLC采用西门子S7-300系列,组态软件采用MCGS,通信方式采用工业以太网,数据存储采用ODBC方式,外部数据库采用SQLServer2008数据库。文中详细介绍了组态软件MCGS与PLC之间的通信过程以及数据存储到外部SQLServer2008的具体实现,并且数据可以在生产管理系统中实时的显示。
实时数据系统;生产管理;可编程控制器;工控组态软件;数据库存储
0 引言
随着自动化技术[1]的不断发展,推动了过程控制系统[2]和现场控制系统[3]在炮弹装配兵工厂的普及。由于炮弹装配兵工厂生产的都是一些要求极其严格的产品,这就需要现场的生产过程中的每一环节都要反馈出数据,以用作后期产品出现问题的追溯依据。这些现场实时的数据,如何采集、保存和使用就成了急需解决的问题。
近年来,国内外在实时数据采集方面做了大量的研究。文献[4]通过动态加载规约处理、基于CIM/E文件的数据采集运行维护、标签加密认证、多机冗余负载均衡、基于DL/T476和S语言的远程浏览等技术,解决了多应用下数据重复采集、程序重复开发、维护复杂的问题;文献[5]介绍了在LabVIEW环境下利用ActiveX技术实现与MicrosoftExcel之间实时通信方法;文献[6]提出了一种基于工业网关的数据采集系统。
1 系统分析
整个数据采集系统具体的要求是:从PLC中的DB模块中实时的采集生产现场返回的数据,这些数据具体包括:称重值、拧紧力值、电检测值、跳动值和过镗力值等。并且要把这些数据存储到外部数据库中,已做制造企业生产过程执行管理系统(MES)的上层使用。PLC采用的是西门子公司的S7-300,通信选择的是工业以太网,组态软件采用的是MCGS,数据存储方式采用ODBC,数据库采用的是SQLServer2008。
S7-300是模块化的中小型PLC,适用于中等性能的控制要求。它由中央处理单元(CPU)、电源模块(PS)、信号模块(SM)、功能模块(FM)、通信处理器(CP)、接口模块(IM)和导轨组成[8]。本系统具体的选型如图1所示。
图1 PLC各模块选型图
近年来,以太网在性能和速度上有很大的提高,使用以太网建立高效、开放的现场级通信网络已不存在任何技术问题。基于以太网的工业网络体系,从信息网络管理层、控制层到设备层,以太网以其良好的互连性和可扩展性使控制网络成为真正的开放式网络,极大地促进了信息从传感器层到管理层的集成[9]。
MCGS(MonitorandControlGeneratedSystem)是一套基于Windows平台的、用于快速构造和生成上位机监控系统的组态软件系统。MCGS拥有非常出色的人机界面(HMI)[10],为用户提供了解决实际工程问题的完整方案和开发平台,能够完成现场数据采集、实时和历史数据处理、报警和安全机制、流程控制、动画显示、趋势曲线和报表输出以及企业监控网络等功能。MCGS具有操作简便、可视性好、可维护性强、高性能、高可靠性等突出特点[11]。具体的逻辑关系如图2所示。
图2 MCGS逻辑关系图
数据存储采用ODBC。开放式数据库互连(ODBC)是一种用在相关或不相关的数据库管理系统(DBMS)中存取数据的标准应用程序接口(API)[12]。基于ODBC的数据库系统开发,开发人员可以不需考虑与数据源相联的复杂性,同时为实现异构数据库访问提供了一种有效的途径。
本系统需要可信任的、高效的、智能的数据库,可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中,可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。因此系统选用SQLServer2008数据库。
2 数据采集的具体实现
本系统的整体构架如图3所示。主要就是通过PLC的以太网模块连接上位机的普通网卡,使用MCGS中的驱动进行实时数据采集,并存储到数据库中,最后在生产管理系统中显示实时数据。
我刚盼出点儿希望,又成了枉然。到下午我实在忍不住,就使劲拍门板。东洋人开了门,我大声说:“我找伊藤!伊藤!我是他娘……”
图3 系统整体构架图
2.1 以太网通信的实现
(1)硬件连接
系统采用交换式以太网通信。它提供了多个通信通道,且可以实现在不同速率的网络间自由转换,增加整个网络的协同性。简单地连接方式就是:PLC的以太网模块与双绞线的一端连接,中间通过交换机,另一端与计算机的网口连接。
(2)参数设置
完成硬件连接后,进行参数设置:计算机IP与PLC的以太网模块的IP地址应在同一个网段,它们应使用相同的子网掩码。首先设置计算机的IP,本系统采用PLC以太网接口默认的子网网段地址192.168.0,计算机的IP地址的最后一位只要不和其他站点冲突就可以了。子网掩码使用默认的255.255.255.0。然后,通过西门子step7编程软件进行PLC方面的设置。在SIMATIC管理器中,执行菜单命令“选项”→“设置PG/PC接口”,选择TCP/IP(Auto)的计算机网卡,在HWConfig中,双击CP343-1所在的插槽,点击打开CP属性对话框的“常规”选项卡中的“属性”按钮,对IP地址和子网掩码进行设置,这里使用默认即可,当然最重要的是一定要和计算机在同一个网段。最后使用MPI接口或ISO协议的普通网卡将IP地址下载到PLC的CPU模块中。这样就可以进行TCP/IP以太网通信了。
(3)通信验证
在MCGS的设备窗口中选择与西门子S7-300通信的的以太网驱动。把以太网模块添加到设备窗口中,然后双击此模块打开属性模块进行相关参数设置。这里需要注意的是本地IP地址和远端IP地址一定要和上面设置的IP一致,否则通信不成功。设置完成后,在设备调试中测试是否建立通信,如果通讯状态为0表明连接成功。连接状态如图4所示。
图4 MCGS与PLC的通信状态界面图
2.2 组态过程
(1)数据对象建立
在MCGS的实时数据库中进行数据对象的建立。只有建立了数据对象,才可以实现上位机与PLC中数据的关联,同时,数据对象也是数据存储必不可少的。本系统要使用的数据类型有:开关类型、数值类型和组对象类型。开关型是记录开关信号(0或非0)的数据对象,通常与外部设备的数字量输入输出通道连接,用来表示某一设备当前所处的状态;数值型数据对象除了存放数值及参与数值运算外,还提供报警信息,与外部设备的模拟量输入输出通道连接;数据组对象是MCGS引入的一种特殊类型的数据对象,类似于一般编程语言中的数组和结构体,用于把相关的多个数据对象集合在一起,作为一个整体来定义和处理。
(2)动画界面建立
在MCGS的用户界面中建立不同的动画窗口,以用来显示采集到的实时数据。
(3)设备构件通道连接
首先进行通道建立,在MCGS的设备窗口中打开西门子PLC以太网模块,本系统要从PLC的DB模块中取出数据,在MCGS中“V寄存器”就是专门用来连接PLC的DB模块读写数据的,所以要选择“V寄存器”;数据类型项中,系统只取两类数据,一种是Bool型的,一种是Real型的,Bool型使用“通道的第00位”来获取,Real型使用“16位无符号二进制”来获取;寄存器地址,这一项就是对应PLC中的DB模块中具体的地址数值,本系统要连接的是DB1中的地址,所以使用“1.0”、“1.1”等地址进行连接通信;操作方式:使用“只读”。根据不同的地址,进行逐一添加,这样就完成了数据通道的建立。接下来就是把这些通道与MCGS中实时数据库中建立的数据对象一一对应的连接起来。需要注意的地方是一定要把数据对象与通道对应正确,不同类型的对象是不能建立连接的,不然会组态不成功。数据对象与通道的一一对应的关系如图5所示。
图5 数据对象与通道对应关系
最后运行设置好的工程,做具体调试,运行效果如图6所示。
图6 实时数据显示效果图
2.3 数据库存储实现
对于已经采集到的的实时数据,要进行存储,这样才可以长久的保存,已做后期的查询、使用。由于大部分组态软件自带的数据库并不是现在企业中通用的数据库(比如:Oracle、DB2、MySQL、SQLServer等)[13],这样对于后期的操作就会带来很多不便。因此本系统通过ODBC来实现组态软件直接把实时数据存储于外部的数据库。在MCGS网络版中有一个模块专门用来连接外部数据库,通过做一些简单地设置便可与SQLServer2008获得连接。连接中需要注意的是“数据库名”这一选项就是要存储到的数据库,这个数据库要提前在SQLServer2008客户端进行建立,否则会出现错误。当连接成功之后,从PLC中获取的数据就会存储到外部的SQLServer2008中。具体的数据表是根据实时数据库中定义的组对象来命名的,一般默认为“组对象名_MCGS”。数据表中的字段是根据组对象中添加的不同成员组成的,这里就需要我们自己根据需求来进行添加设置,以满足系统需求。
2.4 实时数据在生产管理系统中的显示
通过调用数据库中各个实时数据表,可以实时的在生产管理系统中进行显示或查询。
图7 实时数据显示
3 结论
通过上面几步的设置,就可以实现了从PLC的DB模块中实时采集数据并存储于外部数据库中。通信采用以太网解决了多台上位机与PLC连接的不方便,且连接简单、成本低。通过组态软件进行数据库连接,解决了自己编写代码带来的一些协议问题,大大的减轻了工作量。本方案的创新之处在于把采集的数据实时地存储于关系型数据库中,一方面可以实现实时数据的查看,另一方面可以实现永久历史数据的分析查阅。但此方案也存在一个小缺陷,因为SQLServer2008是关系型数据库,在数据的实时性上存在一些时间延迟,不过对炮弹装配于兵工厂的实际生产造不成影响。
[1] 王英. 机械自动化技术应用与发展前景[J]. 科技传播,2010,24:40.
[2] 李敏,邹涛,杨马英,等. 过程控制系统综合性实验设计与教学实践[J]. 实验技术与管理,2011(6):100-104.
[3] 万相林,林睿,谢毅. 现代控制系统与.net[J]. 自动化与仪器仪表,2014(12):19-22.
[4] 杜鹏,陶洪铸,高保成,等. 面向多应用的通用数据采集技术方案[J]. 电力系统自动化,2015(1):26-30.
[5] 熊舸,刘娴,张煜,等. 基于LabVIEW的实时串口数据采集及Excel报表生成技术[J]. 软件,2014(3):28-32.
[6] 毛苏杭,宋蕴璞,刘林. 基于工业网关的钢铁企业实时数据采集技术[J]. 物联网技术,2015(12):10-12.
[7] 张彩芳,尹超. 基于MES的制造全过程物流精益管理研究[J]. 组合机床与自动化加工技术,2014(6):143-146.
[8] 廖常初.S7-300/400PLC应用技术[M].北京:机械工业出版社,2011.
[9] 徐皑冬,王宏,邢志浩. 工业以太网实时通信技术[J]. 信息与控制,2005(1):60-65.
[10]SeungWooLee,SoJeongNam,Jai-KyungLee.Real-timedataacquisitionsystemandHMIforMES[J].JournalofMechanicalScienceandTechnology,2012,8:2381-2388.
[11] 吴作明. 工业组态软件与PLC应用技术[M]. 北京:北京航空航天大学出版社,2007.
[12]DanYe.AutomatedTestingFrameworkforODBCDriver[J].JournalofSoftwareEngineeringandApplications,2011, 12:688-699.
[13] 聂辉华,江艇,杨汝岱. 中国工业企业数据库的使用现状和潜在问题[J]. 世界经济,2012(5):142-158.
(编辑 李秀敏)
Implementation of Data Collection Based on PLC and MCGS
JIABinga,b,ZENGPeng-feia,b,HAOYong-pingb
(a.SchooloftheMechanicalEngineering;b.R&DCenterofCAD/CAMTechnology,ShenyangLigongUniversity,Shenyang110159,China)
Inthispaper,accordingtotheapplicationrequirementofthereal-timedatamanagementsystemforashellassemblyfactory,theimplementationofdatacollectionwasproposedbasedontheindustrialcontrolconfigurationsoftwareMCGSandprogrammalbecontrollerPLC.TheS7-300seriesofSiemenswasusedinthePLC,MCGSwasusedintheconfigurationsoftware,IndustrialEthernetwasusedinthecommunicationmode,ODBCwasusedinthesavingdataandSQLServer2008isusedintheexternaldatabase.ThecommunicationprocessbetweenMCGSandPLCconfigurationsoftwareandthedatastoredintheexternalSQLServer2008implementationwereintroducedindetail,Andthereal-timedisplayofthedatacanbeachievedintheproductionmanagementsystem.
real-timedatasystem;productionmanagement;programmablecontroller;industrialcontrolconfigurationsoftware;databasestorage
1001-2265(2016)12-0006-03DOI:10.13462/j.cnki.mmtamt.2016.12.002
2016-03-01;
2016-04-07
国家863计划项目(2014AA041603-03)
贾冰(1989—),男,山东临清人,沈阳理工大学硕士研究生,研究方向为先进数控技术及应用,(E-mail)jiabing.yx@163.com。
TH166;TG
A