数据工厂

2024-10-16

数据工厂(通用7篇)

数据工厂 篇1

0前言

炼油化工企业通过智能工厂的建设不断提升了管理水平和竞争力, 在设备管理方面取得的社会和经济效益尤为明显。 建设智能工厂, 首先要解决海量实时数据采集和存储的问题, 然后需要对数据进行实时的挖掘和分析, 给设备管理人员输出有价值的指导性建议。采用典型的流程型生产模式, 使工艺过程高度依赖设备的长期、稳定、安全和高效运行, 也使设备维护对企业生产起着至关重要的作用。因为任何一台关键设备的故障停机都可能导致数百万甚至千万级的经济损失, 所以, 从设备维修管理中存在问题、如何利用大数据技术、系统架构、应用结果等方面, 论述建设设备领域智能工厂的方式与目的, 具有重要意义。

1设备管理现状与分析

通通过过智智能能工工厂厂的的建建设设, , 有有助助于于企企业业及及时时发发现现设设备备隐隐患患、、准准确确进行故障诊断, 大大降低设备非计划停车造成的经济损失和安全风险。设备维护分为预防性维护、预知性维护和事后维护。流程型行业的特点决定了对于非关键类的设备可以采取事后维修的方式, 以降低维护成本;对于关键类的设备需采取预防性维护和预知性维护相结合的方式, 以保证设备能够长期与可靠运行。 对于预防性维护, 通常利用3~4年一次的生产装置大修机会对设备进行解体维修。在设备运行期间, 主要依靠每月的计划维护工作和基于状态的检修维护工作对设备进行预知性维护。

目前在中石化北京燕山分公司制定月度维护计划的依据主要是设备管理人员的经验, 现场设备运行过程中表现出来的故障现象, 以及公司规定的强制性保养项目。由于人为经验的局限性, 且缺乏继承性, 而导致维护计划不能完全满足设备安全可靠运行的要求, 过修和失修情况并存。例如, 要求对往复式压缩机4000~5000 h进行一次解体中修, 多数情况下核心部件 (包括活塞、活塞杆、活塞环、导向环、十字头等) 均处于良好状态, 而属于过修;对一些特殊工况下的设备, 如在高温、高盐环境下的设备, 按照通用的检修规程进行检修, 存在个别部件在检修周期内频繁损坏的情况, 此情况则属于失修。前者导致维修成本的增加, 甚至在维修过程中又会发生新的故障;后者会导致设备非计划停车, 甚至诱发安全事故。如何利用设备运行状态和工艺数据, 并通过数据分析、数据挖掘等制定科学合理的检修维护计划, 成为急需解决的问题。例如, 当设备出现运行异常情况时, 如何通过状态数据分析判断出故障征兆, 为提前安排检修争取更长的时间, 能够进行生产计划调整和物资准备等。既为减少非计划停车时间, 也可使企业避免数额巨大的经济损失。

面对燕山石化提出的问题, 极晨智道信息技术 (北京) 有限公司提出应用大数据技术结合振动分析技术为企业建设智能工厂设备预知维修系统的解决方案。由燕山石化、极晨智道、北京信息科技大学和上海星环等单位组建联合项目组, 历经1年半的技术开发和现场实施服务, 系统成功上线并达到预期效果。

2数据采集

目前, 石化企业的自动化程度越来越高, 各类传感器被广泛应用于石化生产装置中。传感器所监测的数据是工艺和设备运行状态的重要参数, 对工厂的工艺优化和预知维修有着重要的作用。要实现工厂智能化, 最基础的工作就是实现工厂设备层次的数据采集, 而数据采集又是实施自动化和智能化管理的基础。

智能工厂设备预知维修系统从现场设备状态监测系统和实时数据库系统中获取设备的轴承振动、温度、压力、流量等数据, 对于还没有建设实时数据库的企业也可以直接采集DCS/PLC/ SCADA的数据。大型机组主要是在线采集轴瓦位移的时域波形和温度数据, 数据采集周期为3~5 s;机泵以在线或离线方式采集振动速度或加速度数据和温度数据, 在线监测方式的数据采集周期为1 h, 离线监测方式的数据采集周期为1~7 d;系统从实时数据库系统中获取设备所对应的工艺参数, 包括压力、温度、流量、液位、介质组分等, 数据采集周期为1~5 s。依据该数据采集策略和燕山石化公司的设备总量, 预计数据规模可以达到50 TB/a。利用传统的关系型数据库已经无法处理如此大规模的数据, 所以在该项目中引入了大数据平台进行数据获取、转换和实时计算。

3系统架构与功能

智能工厂设备预知维修系统构建了基于规则的故障诊断、 基于案例的故障诊断、设备状态劣化趋势预测、部件剩余寿命预测等多方面功能的应用。

3.1核心功能与技术

3.1.1基于规则的故障诊断利用了经典诊断分析技术和专家系统理论, 通过对所获取的数据进行故障征兆提取, 再依据诊断规则, 自动输出设备将要或已经发生的故障情况以及处理措施。 3.1.2基于案例的故障诊断功能在系统中构建了案例模型, 并且从企业历史故障记录中提炼总结了若干故障案例作为源案例保存在大数据平台中, 设备当前运行状态作为目标案例实时与源案例进行相似度计算, 当相似度达到预设值时, 系统会给出与设备当前状态相似的历史故障案例及相似度。

3.1.3劣化趋势预测功能应用大数据平台中提供的若干算法, 包括聚类、分类、回归、神经网络、灰度模型等, 对所采集到的数据进行分析预测, 系统自动给出设备所处的状态类别和参数达到报警的时间。

3.1.4劣化趋势预测功能还引入了自适应报警的概念, 通过自适应报警算法模型进行计算, 系统能够针对每台设备的每个监测点给出符合当前工况的报警阈值, 这种自适应报警阈值一定是在符合相关企业和国家标准的前提下才能发挥其作用;部件剩余寿命预测功能利用设备启停和历史部件更换信息以及设备故障诊断和预测结果, 系统通过计算得到部件的剩余寿命并对小于预设值的部件进行报警提醒。

3.2系统架构及作用

智能工厂设备预知维修系统应用5台服务器组成的集群部署大数据平台, 包括内存计算、HBSE (分布式列式数据库) 和流处理 (处理实时数据) 模块, 所有应用功能都基于大数据平台进行设计和开发。

3.2.1数据层。

主要功能包括数据接口和数据存储。数据层提供多种类型的数据接口和工具, 例如, JDBC/OPC/SQOOP/KAFKA等, 这些数据接口和工具保证了实时的传感器数据可以高效传输至预知维修系统。数据存储主要包括小型关系型数据库和分布式No Sql数据库, 用于存储结构化数据和非结构化数据。

3.2.2通用服务及工具层。

主要功能包括日志服务, 模型服务, 算法服务, 图形工具, 内存分析引擎, 权限管理, 监控范围, 表单工具和流处理引擎。

3.2.3业务层。

主要功能包括数据管理, 趋势预测分析, 故障诊断, 部件寿命周期管理, 检修维护计划。所有业务逻辑、模型、流程等都在该层次实现。

3.2.4展示层。

主要功能包括用户首页, 图形展示, 表单展示。该层次是人机接口, 用户通过该层次查看系统的各类输出结果, 并可以进行相关的业务流程处理。

4取得效果

利用大数据技术, 系统实现了对数据的实时分析与计算, 使设备故障诊断和趋势预测等功能的延迟时间可控制在5 s之内, 完全满足了设备管理人员对分析结果实时性的要求;通过对各类数据的分析, 颠覆了传统中人们的经验思维方式, 使看似很多无关的数据, 却对设备故障产生着直接的影响。例如, 设备运行效率过低时故障发生的概率增大, 这就要求做好工艺参数控制;利用大数据分析自动生成的检修维护计划, 保证了设备维护更具有针对性, 减少了过修和失修现象;大数据分析最有价值之处在于能够在设备出现隐患时就可发现潜在故障, 大大减少了非计划停车, 从经济和安全方面都给企业创造了巨大价值。

2012年12月26日, 某催化裂化装置烟机发电机组开机时, 发现发电机轴振动超标 (设计报警值为80 μm) , 最大值高达86 μm, 技术人员利用智能工厂预知维修系统进行自动诊断分析, 认为机组存在动静碰摩的情况, 于是系统给出3点建议。

4.1检查轴系平衡、对中状况是否良好。

4.2检查轴系的稳定性是否良好。

4.3检查和调整动静间隙。

技术人员对上述诊断结论和处理建议进行了分析讨论, 最终确认符合实际情况并按照实施。检查中发现发电机轴瓦间隙偏小, 轴系对中存在偏差。于是对发电机轴系重新找正, 复测发电机转子与定子之间气隙, 将发电机定子垫高2 mm;同时将发电机轴瓦间隙调整在允许范围内。2012年12月31日再次开机, 机组升速后, 烟机轴最高振动值为49 μm, 在允许范围内, 机组投入正常运行。

5总结与展望

智能工厂设备预知维修系统首次将大数据技术应用到流程型生产行业的设备预测维护工作中, 虽然取得了初步成效, 但仍有很多业务和技术问题需要再公关。例如, 如何利用数据挖掘技术自动创建故障征兆计算法, 使系统更具智能性, 最大限度地替代故障诊断专家的支持;如何利用大数据的预处理, 并将其模型化, 让系统自动完成采集并存储有价值的数据;如何在对设备劣化趋势进行预测时能够结合失效机理等因素, 使预测结果更符合客观现实等。这些问题需要数据分析、故障诊断专家, 以及设备管理相关专业的技术人员共同攻关来加以解决, 希望在大家的共同努力下, 让智能工厂设备预知维修工作发挥出更大的作用与价值来, 为设备管理人员解决各种难题, 提供更为便利的手段与方式。

数据工厂 篇2

未来20年的大数据战场

台达电子执行长郑平表示,“发展到今天技术早已不是什么大问题,怎么样让技术与应用实质有效的结合,从理想变成实际还需要一个过程,我相信5年后应该会看到一些产业已经初步导入大数据可视化。”可见,5- 10年后,将是传统制造业借助大数据蓬勃发展的重要时刻,而10年后我们将看到一个完全不一样的制造形态,革命不是瞬间改变的,在这个渐进式的时间轴里,未来20年里的工业转型期都将是大数据的战场。

劳动力成本的持续上升正在为中国制造业带来巨大的成本压力,据统计,沿海传统工业区劳动力工资正在以每年10- 20%的速度递增,且劳动力缺口依然高达近3成。最终导致一部分高度依赖劳动密集生产的外资企业甚至本土企业,转战至劳动力成本更低的东南亚国家。中国正处于经济结构调整、制造业升级的十字路口,郑平告诉笔者,“中国的市场需求和欧美很不一样,有很多小的机会容易被错过掉,但往往这些小机会会在不经意间变成蓬勃发展的投资新领域。所以这庞大的市场蛋糕并不是像欧美百年大厂或其组成的行业联盟就可以轻易吞掉,且不说能不能适应这个新兴市场的需求,仅仅更改、调整产品就需要一定的成本,所以综合上来考量,虽然西方大财团具有先天优势,但对于投入这一领域的企业而言基本是相对公平的,各取所需。”

台达视讯事业部总经理傅洁说:“行业竞争虽然很大,但这个行业肯定是大家一起捧起来的,且经过多年的积累,每家公司基本都有它最擅长的领域。所以,要想快速的将大数据可视化推进到实际应用,制定相关的标准必不可少,而在标准的制定过程中,基本会走向两个方向,一个是有国家进行主导,如老牌工业大国德国;另一个则是处在同一领域的行业参与者组成行业联盟,由联盟来制定更为公平的标准,而联盟的存在则可以让市场更利于企业的良性竞争。每个企业都可以根据自身的需要尽可能的参与到这个标准制定的过程中去,以维护在自己所擅长领域的核心利益。”

从IOP到IOT要一步步走

从英国提出物联网,到德国的工业4.0,每一步都直指人心,在工业发展畅想未来的同时,大数据可视化在工业领域的推进究竟进展到了哪一步呢?那么先让我们了解一下什么是真正的大数据时代,从大家最为熟悉的互联网移动端讲起,人们在日常工作生活中,有这样一部能够记载你个人喜好、习惯的手机,当你进入到一个陌生的房子中时,这部手机会快速连接到这个新环境的数据端口,通过导入记载了你生活规律的数据,通过控制光线、温度、气味等,最大限度将这个新环境调整到符合你喜好的状态。

工业大数据可视化同样是这个道理,郑平认为,“现在我们所谈的大数据和IOT(Internet Of Things)都还没有怎么发生,真正应用发生的比较好的其实是IOP(Internet Of People),在人工管理及生产阶段,我们先要做合理化、自动化,然后才能进行到智能化IOT阶段。比照人工管理模式、以往的经验,由专家制定一层层管理方法去建立分析模型,逐渐促使计算机学会变化式的回应。从机器到机器之前还需要人将各种生产数据传输上来,最后解决存储数据、分析数据、处理数据的阶段,将每套设备独立的控制系统通过网络连接起来,再由一台大型计算机进行统筹安排、调整,这也才仅仅算是入门阶段。”

傅洁表示,“以台达正在开展的设备连接为例,第一种是直接调用图形,并将这一图形放置在任意位置,缺点是只能形成单一图形,等到数据图多起来以后很难整合在一起;其次是智能设备已经产生了智能模型,这样就可以直接生成控制端所需的整合数据;第三个就是在具有监控系统的企业中,直接进行数据库与数据库的沟通。大数据可视化在工业领域的应用就和当年ERP系统的开发是一样的,必须针对每家企业进行独立的设计、改造,像我们最近所做的新疆油田‘一体化运行指挥中心’项目中,完美解决了海量异构数据的融合、系统的整合。而面对实现大规模数据可视化的关键,在于将抽象数据转换为便于人类有效理解的图像展示。台达iPEMS智慧监控与可视化管理系统,从客户的需求出发,通过实时数据采集、子系统数据集成、广域系统监控、智能数据分析,矢量数据可视化和超高分辨率显示等一整套技术,为用户提供完整的一体化运行管理和应急指挥平台,以大数据可视化手段辅助用户做出最佳决策方案。”

数据工厂 篇3

1 数字工厂的三层结构模型

为了解决生产计划的适应性以及增加底层生产过程的信息流动, 提高计划的实时性和灵活性。制造企业的数字工厂建成如图1的三层集成模型, 这种模型符合CIMS的递阶控制思想。

计划层:强调企业的计划性。充分利用企业内的各种资源, 进行全理调配, 可以根据订单进行物料需求运算, 安排生产计划。数字工厂管理信息系统从生产管理的角度来看, 属于企业的计划层。

控制层:控制层强调计划的执行和控制。数字工厂的控制系统通过组态软件来实现对生产设备层进行控制。

执行层:是指由生产计划的最终执行者, 即由工厂内所有的生产设备所组成, 这些生产设备都通过线缆与控制系统的组态软件相连接。

2 数据交换接口

数字工厂在使用组态软件来开发生产设备控制系统。为了实现两系统的集成和信息共享, 必须进行基于两系统功能的对接, 分别进行数据接口的设计开发, 使数字工厂管理信息系统与控制系统相对独立, 提高系统的灵活性, 减少数字工厂管理信息系统与控制系统的内部耦合度。根据企业自己的实际应用环境和目标需求确定解决方案[3]。选择数据库作为数据交换的媒介, 而数字工厂管理信息系统与控制系统数据交互接口的具体功能则是管理信息系统与控制系统同时维护着一个数据表。

数字工厂管理信息系统中接口模块的设计原理如图2所示。

位于最上层-计划层的数字工厂信息管理系统开放一个数据表可供控制系统的组态软件访问, 这张表称为接口表。管理信息系统向组态软件传递指令时, 可以将要传递给的数据生成指令字符串存入缓存表中, 并把缓存表中最早存入的指令字符串放入接口表中, 状态设为“new”;控制系统的组态软件每0.5 s读取一次接口表, 当表中的指令状态为“new”时, 读取这条数据, 并将状态置为“old”;生产计划调度系统的接口模块也设置每0.5 s访问一次接口表, 当发现状态为“old”时, 就从缓存表中按顺序取出一条新的字符串数据放入到接口表中, 到此完成了一次管理信息系统向组态软件传递数据。控制系统组态软件的信息反馈与此过程相似, 从而实现数据的双向流通。

在系统中设计缓冲表的原因在于机械动作需要时间, 控制系统控制生产设备执行动作相对于计算机的运算比较缓慢, 在生产设备没有完成某指令时, 管理信息系统可能又生成一新指令信息等待执行, 这时就要在接口表前面加上一个接口缓冲表, 用来存放暂时无法放入接口表的指令信息。管理信息系统生成的指令字符串依时间先后存入接口缓冲表中, 此时这些指令的状态都是“未进入接口表”。生产计划调度系统的接口模块可以对接口表进行监视, 如果发现接口表的数据已经被读取则立刻从接口缓冲表中取出时间最靠前的“未进入接口表”的指令放入接口表中, 同时将位于接口缓冲表中的这条指令的状态改为“已进入接口表”, 等待控制系统的组态软件读取。同时管理信息系统的接口模块还要监视控制系统的组态软件传入数据, 一旦发现新数据 (即此数据的状态为“new”时) 就立刻读取并进行处理, 处理完成后还在将位于接口表中的数据状态改为“old”表示已读。

3 数据交换编码

管理信息系统向控制系统传递的数据以指令形式放入接口, 在管理信息系统与控制系统间已经建立完整的信息格式协议。所有的指令都是长度不超过60个字符的字符串, 以便于接口整条的读取和写入。指令主要有为库位指令, 加工指令等。

3.1 库位指令

数字工厂立体仓库的货架是并列的货架, 在立体仓库货架中间有一台堆垛机, 堆垛机可以在货架中间任意移动, 取放放置物料的周转箱。关于库位指令只有三种, 单点入库、单点出库、单点移库。批量操作时系统会将自动将批量动转化为许多单点操作。

例如, 控制系统从接口中获得的单点移库指令为:

其中YK001指的移库单号码, 当移动动作完成后控制系统将通过接口把这个号码反馈给管理信息系统;

B1213:堆垛机取周转箱的位置代码, 其中B表示是第2排, 12表示第12层, 13表示第13列;

A0102:堆垛机放周转箱的位置代码, 其中A表示是第1排, 01表示第1层, 02表示第2列;

组态软件会将指令解析成MOVE B1213 A0102并将这个字符串发送到堆垛机上。堆垛机就会从将B1213处的周转箱移动到A0102库位。

3.2 加工指令

管理信息系统中生成了生产计划后, 针对每一个零件都会产生一条加工指令放入缓冲表, 并由接口模块适时地从缓冲表中取出加工指令填入接口表中。加工指令格式如下:

指令包含了一个零件的毛坏所在库位, 制成成品存放的库位, 以及每一道工序所在工位和对应的程序等信息。指令的具体意义可以参考表1。

根据表1可知, 控制系统获取这条指令后从A0101L处取出物料, 并为其分配零件号9FE (用于跟踪物料的加工进度) , 物料经过生产线到第一个加工工位, 进行第一道工序的加工, 使用机器编号为A, 加工所用程序为1;之后, 物料经过生产线到第二个加工工位, 进行第二道工序的加工, 使用机器编号为B, 加工所用程序为2;……;指令字符串的所工序完成后成品将送回A0103L这个库位中去。

4 结论

通过文章所介绍的数据交换方法, 只需在数字工厂的管理信息系统与控制系统之间分别开发数据接口模块, 进行数据传递格式的设计, 就能保障企业顶层与底层信息的流通性。从数字工厂管理信息系统产生的生产计划可以通过接口直接传递给控制系统, 从而驱动生产设备进行生产。在数据交换的编码格式上还可以进一步的抽象, 使编码可以包含更多信息, 例如装配, 涂装等操作的信息。文中提出数据交换方法, 允许数字工厂的管理信息与控制系统进行独立的开发, 降低了数字工厂软件部署实施的难度和时间, 具有一定的应用前景。

摘要:数字工厂是一种新兴的制造模式, 其灵活的生产方式及高自动化水平, 为世界各大制造企业所认可。而传统制造业管理信息系统往往与制造设备不能良好的对接, 造成计划不能准确的下达和监控。文章介绍的数字工厂信息管理系统的数据交换方法是将数据按照指定的格式编制成数据交换代码存入数据表中, 再由下一层组态软件读取并解析, 按照解析后得到的信息驱动各设备进行生产, 并将生产状态通过数据表反馈给数字工厂信息管理系统, 从而使生产计划准确的下达给了设备。

关键词:数字工厂,管理信息系统,数据交换,数据库

参考文献

[1]胡鑫.MES与ERP系统集成接口的研究与设计[D].长沙:湖南大学, 2006.

[2]倪海鸥.制造业ERP项目实施全过程风险管理[J].企业科技与发展, 2012, 323 (5) :6-9.

数据工厂 篇4

一个易于维护和升级的Web应用程序离不开数据库的支持, Web应用程序通过SQL语言实现对底层数据库的数据存取以及查询、更新和管理操作, 但由于数据库厂商不同, 即使同一厂商不同数据库版本在使用SQL语言的很多细节上都有所不同。当基于三层架构的Web应用程序的底层数据库由Access更换为SQL Server或者Oracle, 需要对程序的数据库访问层进行修改[1]。在设计数据访问层时采用抽象工厂模式不仅可以实现系统数据库选择, 而且还可以增强程序的复用性、可扩展性及可维护性。

二、抽象工厂设计模式

抽象工厂模式是所有形式的工厂模式中最为抽象和最具一般性的一种形态[2]。抽象工厂模式 (Abstract FactoryPattern) 提供一个创建一系列相关或相互依赖对象的接口, 而无须指定它们具体的类[3]。在该模式中, 为客户提供请求服务的是抽象工厂和抽象产品。

Web应用程序对底层数据库的操作可以归纳为添加、删除、修改和查询四类。当对数据执行添加、删除、修改操作时, 会返回该操作所影响的记录行数;当对数据执行查询操作时, 返回数据集或返回结果的第一行第一列的值。因此封装抽象工厂Abstract Data Access, 用于声明创建抽象产品对象Execute Non Query、Execute Data Set、Execute Scalar的操作接口;封装实体工厂SQLData Access和Ole Db Data Access, 分别用于创建具体产品对象SQLExecute Non Query、SQLExecuteData Set、SQLExecute Scalar和Ole Db Execute Non Query、Ole Db Execute Data Set、Ole Db Execute Scalar, 实现对SQL Server数据库和Access数据库的操作。数据库操作抽象工厂模式结构如图1所示。

三、抽象工厂模式在数据访问层的应用

Visual Studio 2008是微软提供的用于开发.Net Web应用程序的工具, 具有方便、灵活、开发效率高、安全性强、完整性强等 特性。在Visual Studio 2008上构建三 层架构的Web应用程序, 在数据访问层采用抽象工厂设计模式。

1、封装数据访问接口

数据访问接口提供数据访问功能的基本接口, 实现功能的参考代码如下:

2、封装抽象工厂

3、封装实体工厂

4、封装数据访问类

四、总结

在数据访问层采用抽象工厂设计模式实现了系统在不同数据库之间的更换, 增强了系统的复用性、可扩展性及可维护性。应用抽象工厂模式可以实现高内聚低耦合的设计目的, 系统对扩展开放, 对修改封闭, 通过扩展增强其功能。

参考文献

[1]魏一博, 郭友.抽象工厂模式在.NET数据访问层中的应用[J].信息系统工程.2010, 2:62-63, 59.

[2]王德永, 樊继.抽象工厂模式在多种数据库访问程序中的应用[J].机电产品开发与创新.2009, 22 (6) :115-116.

数据工厂 篇5

所谓模式,简单的讲就是一个较好的研究的摸板。而设计模式就是设计摸板。多年前,一个名叫克里斯托佛·亚历山大的建筑师对建筑,街道等人类所建造的各种生活空间进行了大量的观察发现后,优秀的结构都有一些共同之处。在寻找和描述设计质量的探求中,亚历山大认识到,必须观察为了解决同样的问题而设计不同结构。通过观察解决相似问题的不同结构可找出设计之间的相似之处。他将这种相似之处称为模式。亚历山大对模式的定义是“在某一环境下对某个问题的一种解决方案”。模式是一条由三部分组成的规则,它表示了一个工作环境、一个问题和一个解决方案之间的关系。每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。

模式的描述包括以下内容:

1)模式的名称;

2)模式的目的;

3)实现方法;

4)限制和约束因素;

亚历山大在1970年代编制了一本汇集设计模式的书。但是这种设计模式的思想在建筑设计领域里的影响远没有后来在软件开发领域里使用的广泛。

1 软件设计模式概述

软件开发中存在大量相同的方式解决重复出现的问题,是否可以用模式的方式来设计软

件呢?于是就出现了软件设计模式(面向对象的软件设计)。将设计模式引入软件设计和开发过程的目的在于充分利用已有的软件开发经验,这是因为设计模式通常是对于某一类软件设计问题的可重用的解决方案。优秀的软件设计师都非常清楚,不是所有的问题都需要从头开始解决,他们更愿意重复用以前曾经使用过的解决方案,每当他们找到一个好的解决方案,他们会一遍又一遍地使用,这些经验是他们成为专家的部分原因。设计模式的最终目标就是帮助人们使用优秀的软件设计师的集体经验,来设计出更加优秀的软件。

“四人帮”(GOF)模式被认为是所有其他模式的基础,23种设计模式分为3类:创建型模式(Creational Pattern),结构型模式(Structural Pattern)和行为型模式(Behavioral Pattern)。抽象工厂设计模式是这23种设计模式中的一种。

2 抽象工厂设计模式概述

2.1 简单工厂模式

简单工厂模式不能说是一个设计模式,但它在实际的编程中经常被用到,而且思想也非常简单,说它是一种编程习惯可能更恰当些。它的作用是实例化对象,被创建的实例通常都具有共同的父类或接口,它的优点是用户可以根据参数获得对应类的对象,通过它,外界可以从直接创建具体产品对象的尴尬中摆脱出来。简单工厂的结构如图1所示。

从图1的结构上可以看出,客户只需知道父类和工厂,工厂是整个模式的核心,简单工厂模式能够适应一定的变化,但是它所能解决的问题是远远有限的。它所能创建的类只能是事先考虑到的,如果需要添加新的类,则就需要改变工厂了。

2.2 抽象工厂设计模式

抽象工厂设计模式向客户端提供一个接口,使得客户端在不必指定具体类型的情况下,创建多个产品族中的对象。抽象工厂设计模式可以实现一次创建一系列相互依赖对象的需求,其结构如图2所示。

从图2所示,整个模式中有以下几类:

抽象工厂:主要功能是生产抽象产品。

抽象产品:主要功能是提供实体产品访问接口。

实体工厂:主要功能是生产实体产品。

实体产品:主要功能是实现功能。

3 抽象工厂设计模式在数据访问中的应用

在我们使用三层结构开发应用系统中,在数据访问层使用抽象工厂设计模式,可将图2.2进行改造,得到如图3所示。

如图3所示:实体工厂包含有SQL Server和Access两种。它们分别生产实体产品访问对象;抽象产品提供实体产品数据访问接口;实体产品根据实体工厂的数据访问类型SQL Server和Access,分别实现不同的数据访问。

以OA办公管理系统为例创建三层及数据访问,1)创建数据访问层的基本架构,创建抽象工厂OADataFactory,创建抽象产品OAData;2)实现数据访问接口;3)完成对象创建;4)完成三层调用。OA办公管理系统三层依赖关系如图4所示。

如图4,在OADAL数据访问层中根据访问数据库的不同,分别实现Sql Server、Access或者其它数据库的访问功能。在抽象工厂OADataFactory项目中分别创建抽象工厂类AbstractDataFactory、SqlServer实体工厂类SqlDataFactory和Access实体工厂类AccessDataFactory。其中AbstractDataFactory用于提供数据访问对象的创建,其相关代码为:

SqlDataFactory用于实现Sql Server数据库访问对象的创建,AccessDataFactory用于实现Access数据库访问对象的创建。

在业务逻辑层调用数据访问层时,通过抽象工厂调用实体工厂,实体工厂中的实体产品给抽象产品,抽象产品调用数据访问方法。

4 结束语

使用抽象工厂设计模式实现数据访问功能,可以提高系统使用数据库的选择,同时也可以降低业务逻辑层和数据访问层之间的耦合。系统无论使用Sql Server数据库或者Access数据库都不受任何影响

摘要:设计模式分创建型模式,构型模式,和行为型模式。抽象工厂设计模式是其中的一种,它向客户端提供接口,使得客户端在不必指定具体类型的情况下,创建多个对象。抽象工厂设计模式可以实现一次创建一系列相互依赖对象的需求,在实现数据访问功能中用于提供系统使用数据库的选择,同时也可以降低业务逻辑层和数据访问层之间的耦合。

关键词:数据访问,抽象工厂设计模式,抽象工厂,抽象产品

参考文献

[1]杨莉..net应用[M].北京:电子工业出版社,2009.

[2]王翔.设计模式——基于C#的工程化实现及扩展[M].北京:电子工业出版社,2009.

数据工厂 篇6

工厂应急指挥系统是一个综合性的控制系统,涉及计算机软、硬件、计算机网络、有线通信、无线通信、GIS地理信息系统、监控、报警、图像等许多领域。工厂应急指挥系统中的数据采集系统是工厂事故后果评价软件中最关键的子系统之一。工厂事故后果评价软件依据采集到的现场数据进行自动预警/报警、故障点快速定位等智能化实时监测分析,为指挥干预在最短时间内作出应急响应提供有效的技术支撑。

1 OPC、MODBUS技术及力控组态软件简介

1.1 OPC技术

OPC是OLE for Process Control的缩写,即面向过程控制的OLE,它是一套以OLE、COM、DCOM(Distribute COM)技术为背景,基于Windows操作平台,为工业应用程序之间提供高效的信息集成和交互功能的组件对象模型接口标准。目前,OPC技术已经得到了广泛应用,如应用于监控和数据采集系统(Supervisory Control and Data Acquisition,SCADA)、集散控制系统(Distributed Control System,DCS)、可编程逻辑控制器(Programmable Logic Controller,PLC)等[1,2,3]。OPC采用客户/服务器模式,将开发访问接口的任务分配给硬件生产厂家或第三方厂家,同时其以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统集成,提高了系统开放性和可互操作性[4]。

1.2 Modbus技术

Modbus协议是MODICON公司为满足工业控制需求而设计,如今已成为全球工业领域最流行的通信协议之一。此协议支持传统的RS-232、RS-422、RS-485标准和以太网设备。许多工业自动化设备,包括PLC、DCS、智能仪表等都在使用Modbus协议作为通信标准。Modbus/TCP协议是在Modbus/TCP标准中,其应用层采用工业领域标准Modbus实现。标准的Modbus协议使用两种模式进行通讯:ASCII和RTU,这两种模式在报文结构、功能命令上相同,仅帧信息的表示方法不同[5,6]。

1.3力控组态软件

在工厂事故应急指挥大厅的监控主机上使用的客户端监控软件是北京三维力控公司的力控组态软件ForceControl V7.0。力控组态软件是运行于Windows98/NT/2000/XP操作系统上的一种组态软件,是对现场生产数据进行采集与过程控制的专用监控组态软件,也是自动控制系统监控层的软件平台和开发环境[7]。该监控组态软件可以与多种类型的控制设备进行通信,对于采用不同协议通信的I/O设备,大多数都有相应的I/O驱动程序,通过I/O驱动程序来完成与设备的通讯,目前支持的I/O设备包括集散系统(DCS)、可编程控制器(PLC)、现场总线(FCS)、电力设备、智能模块、板卡、智能仪表、变频器、USB接口设备等[8]。

2工厂应急数据采集系统

本系统中采集的数据类型及范围为:(1)厂内A区各厂房内的临界报警信号和有毒气体信号;(2)厂内1#、2#和3#控制室DCS系统监控的工作罐体的温度、压力信号;(3)厂内B区1#、2#和3#厂房内气体流出物报警信号和轻杂质传感器信号。工厂应急数据采集服务器安装于应急指挥楼屏蔽机房内,操作系统为Windonws Server2008标准版,数据库为微软SQL Server 2008标准版,客户端组态软件为力控V7.0,各数据采集点安装有网络通信节点控制柜,并全部连接到工厂应急控制中心的汇聚交换机上。

2.1临界报警信号和有毒气体(HF)信号采集

2.1.1设备现状及采集方式

(1)设备现状。临界报警监测仪为国内早期型号设备,不具备与外部设备通信的232/485或以太网通信接口。有毒气体检测仪自身配有与外部通信的RS485串口。

(2)采集方式。根据临界报警仪报警信号产生原理可知,当有被测物质超过临界值时,会触发该仪器中的交流220V电源自动接通,产生临界报警开关量信号,由此采集该开关量信号可以在信号产生的线路中增加一个交流接触器,将其开关量引入到一个开关量输入模块,通过MODBUS RTU协议上传。由于有毒气体检测仪具备与外部网络通信的RS485串口,因此可以直接通过MODB-US RTU协议访问该设备并进行数据采集。

2.1.2硬件通讯配置

为了实现对临界报警信号和有毒气体信号的采集,需要配置的硬件包括:正泰交流接触器、ART阿尔泰模块、串口服务器(USR-TCP232-300)、光电收发器、光纤熔接盒、光缆等设备。数据采集的通讯网络如图1所示。

2.1.3软件通讯配置

通讯软件配置主要包括3个方面:(1)串口服务器配置(USR-TCP232-300);(2)阿尔泰模块(DAM-3013D)配置;(3)力控(ForceControl)组态软件配置。

(1)串口服务器(USR-TCP232-300)配置。通信网络中的串口服务器在使用前需要进行配置,配置步骤为:(1)连接硬件,使用配套电源给串口服务器供电,用网线将串口服务器直接连接到计算机上,或者将串口服务器接到和计算机统一局域网内的路由器或者交换机上;(2)打开串口服务器(USR-TCP232-300)配置软件,点击“搜索”按钮,找到该网络设备;(3)填写设置的参数,配置如表1所示的参数;(4)给设备断电再上电,设备将在新的配置下工作。

(2)阿尔泰模块DAM-3013D配置。通信网络中的ART模块(DAM-3013D)在使用前需要进行配置,其配置软件为阿尔泰设备测试系统DAM-3000M。该模块通信配置步骤为:点击DAM-3000M软件包中的Sys_32.exe应用程序,点击窗口中的设备操作→搜索→选择主机下没有用过的COM端口→模块查询→找到DAM-3013D模块。双击后出现模块信息窗体,按照表2配置完后,按“修改”按钮即可,重启ART模块后配置信息生效。

(3)建立串口服务器(USR-TCP232-300)与阿尔泰模块DAM-3013D之间的联系。打开串口服务器配置软件,然后点击“添加”图标,出现添加虚拟串口窗口,参数设置如表3所示。

2.1.4力控(ForceControl)组态软件配置

力控组态软件与支持MODBUS协议的设备通信配置步骤为:(1)定义IO设备。在工业组态平台开发系统导航器窗口中双击“IO设备组态”,启动IoManager。选择“标准MODBUS”类中的“MODBUS(RTU串行口)”,然后双击弹出“设备配置”对话框,在“设备名称”中输入逻辑设备名称、设备描述、更新周期、超时时间、设备地址、通信方式(串口RS232/422/485),其中设备地址和实际连接设备的地址一致;(2)串口配置。设置串口,设置通信参数(波特率、奇偶校验、数据位、停止位)并保存设置;(3)采集配置。包括保持寄存器写操作、分包配置和线圈功能码选择;(4)数据连接。打开数据库组态,选择数据库新建点,选择相应的点类型,点击“继续”,填写点名,其它默认,点击数据连接点参数,常用的是PV(现场实时值),选择要连接的设备名称,连接项一栏点击“增加”增加链接项,根据需要设置相对应的内存区以及偏移地址、数据格式、读写属性,这样就完成了数据连接的全过程。

经过以上软、硬件配置后,现场临界报警监测设备和氟化氢设备就建立了与工厂应急指挥中心的通信,应急指挥中心的客户端通过力控组态软件就可以实时读取设备的数据。

2.2压热罐温度与压力信号采集

2.2.1设备通讯接口及采集方式

(1)设备现状。控制室DCS工作安装的监控软件为SUPCON DCS JX-100系统,该系统负责采集现场压热罐的温度和压力信号等参数。

(2)采集方式。由于SUPCON DCS JX-100系统支持标准OPC协议,因此采用第三方(北京华恒信远)开发的工业标准通讯接口ForeverCredit OPC Server服务器软件进行数据采集。

2.2.2硬件通讯配置

为了实现对现场压热罐温度和压力信号的采集,需要配置的硬件包括网卡、网线、光电收发器、光纤熔接盒、光缆等设备,其通讯网络结构如图2所示。

2.2.3通讯软件配置

(1)服务器端(Server)通讯配置。在SUPCON DCS系统中的一台工作站上进行如下软件配置:安装ForeverCredit OPC Server软件包中的OPC_DA20_Components组件→双击JXServer.ini(配置设置文件)→将本机DCS组态文件拷贝至包含JXServer.exe应用程序的文件夹,然后双击JXServer.exe,出现请选择组态文件,则选取拷入的组态文件,并命名为工程师站.SCO;双击执行注册表项文件ManagerAPI.reg和批处理文件regserver;双击运行IOManager.exe,最后运行OPC4Safety.exe;双击运行OPC客户端软件查看OPC Server是否安装成功,如果出现JXServer.exe,则表明安装成功。

当OPC Server JXServer安装成功,说明与SUPCON DCS JX-100工作站的数据接口已经建立,然后配置远程访问的DCOM组件,主要配置项目为:添加一个用户,运行“dcomcnfg”,设置“COM安全”属性,添加Everyone和ANONYMOUS LOGON用户,完成OPCEnum配置、Multi OpcServer配置、“安全”属性配置等。

(2)力控组态客户端(Client)通信配置。在工厂应急数据采集控制中心的客户端工作站安装力控V7.0工业组态软件。打开组态软件后,首先定义OPC设备,其步骤为:在力控开发系统导航器窗口中双击“I/O设备组态”,启动IoManager,选择“OPC”类中的“MICROSOFT OPC CLIENT”并展开,然后选择“OPC CLIENT 3.6”并双击弹出“设备配置”对话框,在“设备名称”中输入逻辑设备的名称。在“数据更新周期”中指定采集周期,然后单击按钮“下一步”,出现OPC设备定义对话框,根据提示进行具体配置。数据连接步骤为:在力控开发系统导航器窗口中启动DBManager,选择I/O连接,连接设备为上述定义的I/O设备(如OPC_1C),在连接项中,按“增加”按钮,在弹出的窗口中选择模拟输入中需要采集点的位号,确定后即完成数据连接。采集其它参数则继续添加位号,直至将所有需要的位号添加完毕,然后进行显示界面设计。

经过以上软硬件配置,力控组态软件就可以通过服务器(SUPCON.JXServer.1)采集DCS数据库中的数据,在组态软件的监控画面中显示出温度压力数据值,从而实现对DCS系统的数据采集。

2.3气体流出物报警信号和轻杂质传感器信号采集

2.3.1设备现状及采集方式

(1)设备现状。(1)1#、2#、3#厂房内现场气体流出物报警仪没有外部通信端口,每三路报警信号组合为一组总的开关量报警信号;(2)轻杂质测量传感器输出信号为0~100mV信号,该信号通过I/O端子排接入专用控制柜,且不具备与外部设备通信的232/485或以太网通信接口,导致外部设备无法直接与该设备建立通信。

(2)采集方式。(1)针对轻杂质测量传感器输出信号采集,可以通过一分为二的信号隔离分配器,一路为0~100mV信号接入原来的控制盘柜,另一路为4~20mA接入PLC,PLC控制器通过MODBUS TCP/IP协议上传至工厂应急控制中心;(2)气体流出物报警仪输出报警开关量信号是通过I/O端子排接入专用控制柜,微型继电器接入数据采集网络,然后微型继电器输出的信号接入具有数字量输入接口的PLC模块,通过MODBUSTCP/IP协议上传至工厂应急控制中心。

2.3.2硬件通讯配置

为了实现对气体流出物报警仪输出报警开关量信号和轻杂质测量传感器输出信号的采集,需要的硬件配置包括一分为二模块、PLC和微型继电器。临界报警仪输出的报警信号的通信线路连接方式如图3所示。轻杂质测量传感器输出信号的通信线路连接方式如图4所示。

2.3.3软件通讯配置

PCL采用南大傲拓PLC,其设置软件为NAPro。双击图标NAPro进入配置界面,点击PLC配置并保存配置,然后在PLC配置上点右键出现硬件配置,双击进入配置界面。PLC类型选择NA200H,然后确认,再选择CPU模块类型为CPU201-1101,双击后出现CPU模块参数设置,所配置的项目参数如表4所示。

下文主要介绍力控软件组态通信设置与程序编写。

关于气体流出物报警信号:

(1)定义I/O设备与数据连接。力控组态软件与支持MODBUS协议的PLC(NA200PLC)设备通信的配置步骤为:(1)定义I/O设备,在工业组态平台开发系统导航器窗口中双击“IO设备组态”,启动IoManager;(2)选择“标准MOD-BUS”类中的“MODBUS(TCP)”,双击弹出“设备配置”对话框进行配置;(3)数据连接,打开数据库组态,选择数据库新建点,选择相应的点类型(数字I/O点),点击继续,填写点名,其它默认,点击数据连接点参数进行配置。

(2)编写数据处理脚本。气体流出物报警信号的产生是按照三取二的原则产生一组报警信号,即三路信号中有两路及以上时才输出一组报警信号,因此需要对采集到的数据在组态软件中进行处理。本文给出部分气体流出物报警探测器对其输出的三路报警信号进行组态,在力控软件中编写的程序如下:

关于轻杂质信号:

(1)定义I/O设备与数据连接。力控组态软件中轻杂质信号采集配置与临界报警信号采集配置大致相同,不同之处是:(1)定义数据类型:模拟量I/O;(2)内存地址:AR输入寄存器,偏置(10进制)1,数据格式:Word 16位无符号数。

(2)轻杂质信号数据处理程序。轻杂质传感器输出信号为0~100mV信号,经PLC传输至工厂应急控制中心客户端的是4~20mA信号。设备厂家定义4~20mA对应数字量为4 000~20 000,为了在组态界面显示出毫伏数据,客户端力控组态软件中需要将传输过来的4~20mA信号转换化0~100mV信号。假设电流信号为X,对应的mV信号为Y,它们之间的转换关系如图5所示。

由相似三角形定理可以推出两者的线性关系为:

在力控组态软件中对应的部分组态程序如下:

3结语

本文通过OPC和MODBUS技术及力控组态软件实现了各类不同数据的集成。并且,建立在此实时数据采集平台上的工厂应急指挥系统运行稳定、操作方便、监控效果良好。

摘要:针对分散控制系统(Distributed Control System,DCS)和不同类型设备与第三方力控组态软件通讯的问题,提出一种融合OPC技术标准和Modbus RTU、Modbus TCP协议的通讯,有效解决了工厂应急数据采集系统通讯过程中遇到的问题。

关键词:OPC技术,Modbus RTU协议,Modbus TCP协议

参考文献

[1]徐攀.SCADA系统中应用OPC数据接口技术的研发[D].成都:西南交通大学,2009.

[2]张胜.基于OPC技术的开放式DCS系统的研究[D].武汉:武汉理工大学,2006.

[3]高飞,叶文华.基于嵌入式系统的OPC数据采集技术的研究与实现[J].中国制造业信息化,2012,41(5):34-39.

[4]胡忠德,严启,彭顺风.基于OPC技术的数据采集系统[J].自动化技术与应用,2008,27(11):42-44.

[5]李慧燕,费鹏,沈昱明.Modbus/TCP协议的通信处理器模块设计[J].光学仪器,2013,35(1):70-74.

[6]潘洪跃.基于MODBUS协议通信的设计与实现[J].计量技术,2002(4):35-36.

[7]潘谷红岩,李文哲.基于PLC和力控组态软件的沼气生产自动控制系统[J].农机化研究,2011,33(1):199-202.

数据工厂 篇7

由此产生这样几个问题:首先实际应用中后台数据库种类多, 有Oracle、SQLServer等大型数据库, 还有Access、DBF等小型数据库, 程序员在开发中与数据库交互时都须谨慎考虑数据库类型而采用相应访问组件和访问方法。如何能让程序在运行中自动识别后台数据库类型, 自动采用对应数据访问组件、方法与数据库交互, 是每个程序员非常期盼的事。其次如果程序后台数据库从一种数据库迁移到另一种数据库时, 除修改数据库部分外, 还需修改程序源代码吗?通过类工厂设计模式可很好解决以上问题。

1 原理

工厂模式指具体实现推迟的一种设计模式, 首先定义一个用于创建对象的接口, 让子类决定实例化哪一个类, 使一个类的实例化延迟到其子类。基于以上类工厂定义先建立一个数据访问接口类, 让不同数据库访问类去实现这个接口, 再据数据库连接字串不同将具体数据库访问类对象赋值给数据访问接口, 从而完成晚绑定达到数据库自动识别目的。

2 实现与构成

(1) 新建一个C#的ASP.net Web应用, 程序名classfactory。

(2) 建立数据访问接口类IDb Helper.cs。

(3) 建立Oracle数据库访问类Db Helper Ora实现接口IDb Helper。{//从webconfi g中取出数据库连接字符串

(4) 建立SQLserver数据库访问类Db Helper Sql实现接口IDb Helper。

(5) 建立一个判断数据库类型的类Get Common Helper, 返回数据访问接口。

3 调用方法

(1) 在web.confi g文件中添加app Settings节, 配置数据库连接串。默认数据库为Oracle。

(2) 打开web应用程序自动生成的web Form1窗体, 调用IDb Helper接口访问数据库, 代码如下:

最后, 要注意的是实现接口的类必须同时实现接口内规定的所有成员, 所以在定义接口内方法时, 应考虑到这些方法以及方法参数要适合于所有其它数据库的操作。

摘要:在Asp.net应用中通过类工厂模式智能选择数据访问层, 达到数据库更换时, 程序自动识别而无需修改的目的。

【数据工厂】推荐阅读:

液化工厂10-16

项目工厂05-09

合作工厂05-12

工厂05-24

参观工厂05-29

电力工厂06-01

工厂式06-02

工厂软件06-12

井工厂06-25

工厂结构06-28

上一篇:项目施工阶段工程监理下一篇:任务调度算法