热门关键词:

Entity Framework在KR脱硫自动控制系统中的应用

  • 该文件为pdf格式
  • 文件大小:202.37KB
  • 浏览次数
  • 发布时间:2014-11-25
文件介绍:

本资料包含pdf文件1个,下载需要1积分

KR搅拌脱硫法是 日本新 日铁广田制铁所于1963年开始研究,1965年应用于工业生产的-种铁水炉外脱硫技术,这种脱硫方法是以-个外衬耐火材料的搅拌器浸入铁水罐内进行旋转搅动铁水,使铁水产生旋涡,经过称量的脱硫剂由给料器加入到铁水表面,并被旋涡卷入铁水中,与高温铁水混合、反应,达到脱硫的日 ”。在脱硫车间脱硫的设备主要由南、北罐扒渣机,脱硫搅拌器,铁水罐移动设备组成。本文介绍了-种KR脱硫 自动控制系统,该系统主要是处理控制设备的PLC所传输的数据,控制设备主要是采用三个PLC分别控制两台扒渣机,和-个脱硫搅拌器,其硬件连接图如图1所示。

埔 删I 埔 。 图1 KR脱硫控制系统现场连接图Entity Framework是微软以ADO.NET为基础开发的对象关系映射解决方案,它解决了对象持久化问题,将程序员从编写麻烦的SQL语句中解放出来,相对于传统的ADO等各种数据库技术来说,EF封装了多底层操作 ,抽象了接口,针对接口编程,将调用统-化。传统的控制系统上位机多采用VB、WinCC或者VC为开发平台,其上位机与PLC之间的通讯思想主要以面向过程为主,程 、马 采用上位机按字节处理PLC数据。而这种系统在客户端的数据库服务器发生改变时,会有不兼容的情况。本文重点研究Entity Framework在KR脱硫自动控制系统中的应用,以面向对象的思想,完成PC上位机与KR脱硫控制系统PLC下位机之间不同类型的数据处理,成功解决了S7-PLC与上位机不同环境的数据转换。Entity Framework的应用使系统的开发变得方便、快捷。

1 KR脱硫自动控制系统功能需求KR脱硫自动控制系统就是指在旧能的减少人工干预下,完成脱硫工序,其中包括铁水灌的移动、锁定,脱硫剂自动备料、自动下料,搅拌头自动搅拌等过程。其具体工艺需求如图2所示。

收稿日期:2012-09-22基金项目:国家科技支撑计划(2012BAF06B02)作者简介:但斌斌 (1970-),男,教授,博士,研究方向为制造业 自动化。

[81 第35卷 第3期 2013-03(上)务l 訇 似图2 KR脱硫自动控制系统工艺需求在整个脱硫作业完成的过程中,PLC主要负责大型设备的执行,和各种设备状态信息的反溃上位机与PLC之间的通讯采用西门子PR0DAVEMPI/IE V6.0拈完成。上位机主程序采用高级语言C#编写,基于Entity Framework的解决方案,处理和运用脱硫过程相关数据。

2 ADO.N ET Entity Framework架构的应用21数据库的连接传统模式下,可通过ADo.NET Connection对象实现数据库连接。在Entity Framework架构下开发,可以自动从SQL Server中创建-个与DbContext名称相同的数据库,并且自动连接到该数据库,数据库的连接字符可以在App.config文件中看到,且VS2010将会自动生成这些操作方法的代码H。在KR脱硫自动控制系统中,数据的连接如下:

SqlClient;prOVider connection string";datasource务器名称;initalcatalog数据库名称;userid用户名;password密码;multipleactiveresultsetsTrue;AppEntityFramework";”providerName”System.Data.EntityClient”/>使用Entity Framework的这种连接,可以通过更改 data source,userid,password,”可以选择不同服务器的数据库,且Entity Framework集成了多种数据库接口,主程序不因为数据库种类的不同,而更改代码。目前Entity Framework所集成的数据库接口有:Oracle、MySQL、PostgreSQL、SQLite等。从上述数据库的连接可以看出,这种实体框架的运用可以把程序员从繁重的SQL语句中解放 出来 。

2.2脱硫系统的对象关系映射ADO.NET Entity Framework以Entity DataModel(EDM)为主,把数据逻辑层分成三层,分别为概念层 (Conceptual Schema)、映射层(MappingSchema)与储存层(Storage Schema) ,在这之上还有Entity Client、Object Context以及UNQ可以使用。

Entity Framework利用数据结构抽象化的方法 ,把每个数据库对象都转换成应用程序对象(entity),而数据字段都换为属性(property),关系则转换为结合属性,让数据库的E-R模型完全地转成对象模型 ,本系统数据库的映射模型如图3所示。

SuISequence; SoulhOtNoh嘏.鞲 蛆. i sG∞Im1.;赡 C , ci &岬onl rne ∞ - -;XMLp: 州StartInFurnace[O鹅 A MlxerOrConverter堂 - BlastFurancdDSeq. sm D数据库文件 生成的edmx模型图3 数据库映射模型完成映射之后,数据实体模型可生成-个从objectContext派生的类,该类表示概念模型中的实体容器,并且可以公开将插入、更新和删除操作写入数据源的 SaveChanges方法中 ,如此开发人员可以用最熟悉简单的编程语言来调用访问。

数据关系映射就是数据库字段和C#对象属性的中间桥梁,这种实体框架的核心工作就是通过这个映射生成SQL语句,然后调用ADO.NET。

2.3上位机的功能实现整个实体框 架的数据访 问是 以ADO.NET第35卷 第3期 2013-03(上) [o1 1 匐 似DataProvider为基础,在系统中直接通过数据访问 下:层操作数据库,通过实体关系映射关系,可以按照面向对象的方法对关系型数据进行操作 。在上位机操作的开发中,PLC的数据都存放在DB块中,在这里我们只对PLC传输过来的数据进行操作,在脱硫 自动控制系统主程序中,我们需要对PLC进行初始化,其部分代码如下:pdve void ImtiPlc0 plcnewPLCCS0;val"retplc.Read Server Is Start;if(!ret)XtraMessageBox.Show(服务器启动失败”);lstring erstring.Empty;var plcreturnplc.Connect PLC(ref err);if(plc-returnPlcOperator.Return--ConnectPLC.connect success)log.Info(”pie连接成功”);IsConnectPlctrue;if(plc.ObtainOne Or TWO-。

Control Status1、this.BeginInvoke(newAction(>EnableButtonByOneMachine(false);1));elsethis.Beginlnvoke(newAction(>(EnableButonByOneMachine(true);));)plc.-Event-PLC-Send-Data new PLCCS。

PLC-Send Data(plcEventPLC-SendData);//注册事件,数据交换通过该事件进行plc.Start PLCO;/开始取PLC数据)在读取PLC数据过程中,本系统大量运用到Lambda表达式,Lambda表达式是LINQ中 -种代码语句,LINQ是-组用于C#语言的扩展,它允许编写C挣以查询数据库(类似SQL)相同的方式操作内存数据,Linq To Entity在本系统中被大量的应用,使系统在处理脱硫相关数据时,整存、整取,整删变得更加简洁、方便,下面介绍LINQ在数据的获韧保存中的应用。

获取上-罐铁水中各种元素的数据的代码如1101 第35卷 第3期 2013-03(上)Public IronElementRecordFormerkonElementgetreturnctx.IronElementRecords.Where(t>t.SulRecIDthis.SulSequence&&t.IsFormerS).FirstOrDefault0;/对象明确时,只需要脱硫序号相等,就可取出数据。

)以南罐为例,存储脱硫后铁水罐中各元素信息的代码如下:southlronlnfonew IronlnfoChecklronTimechecklronTime,SouthOrNorthfalse,SulSequence GetIronlnfoRecld(false)1,TemStart(int)one-temperaturel,W eightFirstBefore one- weight1 1;ctx.IronlnfoSet.AddObject(southlronlnfo);/各种数据以整体存到Context中。

EntityFramework这种实体关系映射,按照面向对象的方式对关系型数据库进行操作,使脱硫自动系统的增、删、改、查变得快速、简洁,大大的节省了开发时间。

3 结束语K R脱 硫 自 动 控 制 系 统 中 大 量 运 用EntityFramework的相关知识, 使得在获韧运用PLC传输过来的数据具有针对性,在对数据进行增、删、改、查时具有整体性,同时加强了系统开发逻辑可理解性和可维护性,在铁水脱硫的生产过程中,-组数据的同存同扔强了生产数据的可靠信,能有效解决数据被污染的现象。

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败