1 需求分析
生产数据没有有效共享,因而对影响生产过程的主要因素缺乏有效的监控手段。从各生产车间来看,各生产装置都上了PLC,但装置的数据只能显示在装置的操作站上,只有到生产现场的控制面板上,才能观察到生产数据。在车间办公室、调度室,或公司领导,都无法直接看到现场的生产数据。
分散的“信息孤岛”无法进行集中化管理。由于各装置信息封闭,即使在同一车间,由于采用的是不同厂家,或同一厂家不同型号的PLC,彼此间没有数据通讯手段。这致使生产管理的各个环节脱节,生产管理部门不能及时、有效地了解生产状况,指导组织生产,这样可能造成一定的浪费。
没有长期的历史数据存储。随着存储介质价格不断下降,保存海量历史数据成为可能。而PLC或操作站本身一般不具备存储能力,或者历史数据存储能力很有限,而长期的历史数据有助于事故的事后分析。
质量信息反馈滞后,导致加工成本增加。化验数据直接反映生产的质量情况,对指导生产具有非常重要的意义。目前这些数据没有进入计算机系统,只有在现场仪表上才能看到。这些数据需要通过电话或报表形式报送生产管理部门,造成信息迟滞,并且不方便进行对比分析,形成一定的信息资源浪费。因此及时准确地将质量数据反馈给装置操作人员和生产调度人员,可以保证有效地控制生产质量、降低生产成本。
综合统计分析和应用力度不够。各生产车间长期发展积累的数据是公司的巨大财富,它目前还是一个未被充分发掘利用的宝藏。大量的数据只被用于现场监控,而没有对这些数据进行统计分析。
对于企业ERP系统,现场的生产数据是企业的重要数据资源,没有生产数据,企业资源整合就不是完整的。
2 系统概述
药厂生产数据平台基于国内知名的紫金桥实时数据库REALDB平台构建,将药厂现有自控服务器、上位机、PLC等硬件和监控软件、数据库软件等软件集成在一起,实现对厂房的生产设备、过程及生产环境的数据进行实时采集,实现对生产过程的实时监控,为安全生产、调度、管理、优化和故障诊断提供必要和完整的数据支持,为将来MES系统的建设搭建稳定可靠安全的生产实时历史数据平台。
3系统设计和建设原则
先进性:系统总体指标定位为国内领先,具备当今智能化制药企业的先进性及应用功能,达到国内先进水平。
可靠性:系统选用的技术或配套设备采用“主流”技术和产品,保证系统具有高效可靠的传输与运行能力。
可扩展性:采用标准化、结构化、模块化设计。系统平台与技术应能充分配合未来数字化功能及项目扩充的需求,预留设备和软件接口,避免重复投资。
实用性:系统设计满足制药企业管理的各项需求。设备和终端能反应快速,实时配合,具有先进且易于使用的图形人机界面,信息资源查询与检索等有效工具。
安全性:具有对系统运行状态的监控、分析、优化、故障监测及在线排除、设备和部件的容错等功能,以提高系统自身和信息传递的安全性。
满足GMP认证,符合21CFR Part 11标准。
4 数据采集系统
4.1 技术概述
对于《药厂生产数据平台》项目主要采集现代网络技术与现场总线技术相接结合来完成。系统由一台实时数据库服务器和多台前置数采机组成。前置数采机安装紫金桥数采软件,前置数采机与中心服务器之间使用紫金桥软件内部协议,通过(工业以太网)Ethernet进行数据交换。
对于以太网TCP/IP标准的设备,直接连入前置数采机,采用紫金桥专门针对该设备开发的设备接口驱动;对于RS485接口的设备通过串口服务器转换为TCP/IP后连入前置数采机,采用紫金桥专门针对该设备开发的设备接口驱动;对于有自身的控制上位机的设备(PLC)通过上位机(HMI)连入前置数采机,前置数采机与PLC上位机(HMI)采用OPC等接口方式进行通讯。
比如对于Siemens PLC具有MPI接口,且MPI地址可修改的,则MPI采集总线将多个PLC连接成一个现场总线,然后再接入前置数采机;对于MPI地址不可修改的,则采集MPI网关,将其转换为Ethernet后再接入前置数采同;对于没通讯接口的PLC,通过增加通讯模块并结合PLC通讯指令将需要采集的数据发送出来;对于有以网接口的PLC组网则比较简单,只需要前置数采机与PLC连接到同一以太网中即可。对于每种PLC由于通讯协议不同,在紫金桥软件中也要使用不同设备接口驱动。驱动负责对数据包进行解析,提取数据,并且将不同的数据格式转换为统一的数据格式。这样用户就可以以统一的方式(一个数据平台),对不同厂家DCS、PLC等控制系统上的数据进行使用。
《药厂生产数据平台》一个难点是如果PLC上没有数据寄存器地址,这就需要通过分析PLC程序获取。若是也没有PLC的源程序,虽然有的可以从PLC中下载,但没注释的PLC程序会大大增加阅读难度。
PLC数据进入紫金桥服务器后,用户可以直接利用紫金桥软件进行二次开发。利用紫金桥实时数据库已有的功能模块,用户可以快速搭建数据显示界面、趋势显示界面、报警信息显示界面、统计报表等。在紫金桥实时数据库系统中二次开发过程主要是一种面向对象的开发过程和可视化的组件属性设置和搭配的过程。对于较复杂界面效果或数据再加工过程,可以使用脚本计算引擎辅助处理,从而满足实际应用需求。
紫金桥实时数据库的网络WEB发布功能可以使用户开发的应用系统方便地转化为B/S架构,方便多用户在本公司局域网内通过IE浏览器进行远程访问。
紫金桥系统可以与多种关系数据库系统(SQL Server、Oracle、MS Access、MySql)进行数据交换,SQL Server、Oracle等关系数据库通常是CIMS,ERP,MES等管理系统的数据管理平台。通过此功能可以将生产实时数据采集系统与ERP等系统有机的结合在一起,真正实现生产管控一体化。
紫金桥系统还提供OPC DA、DDE、API等标准和自定义接口,方便用户对实时数据二次用户及对紫金桥软件系统进行扩展。
由紫金桥系统构建的实时数据采集系统将高效的数据采集功能,设计最小采集周期可以达到1ms.在实际应用中可达到的最小采集周期是由被采集对象的响应速度决定,对于PLC通常采集周期可以达到1m以下。在将实时数据转储到关系数据库(ERP、MES)中时,由于关系数据库是文件型系统,数据存储数据较(相关内存访问)慢,建议转储周期在3m或是3m以上。
对于前置数采机与PLC通讯异常,可以通过实时数据库中的设备状态标志及时获得。对于过程数据(生产实时数据)异常,可以通过报警检测机制对其进行检测,并且生成报警记录报表,保存历史报警记录及输出报警记录;当前置数采机与中心服务器之间网络异常时,通过紫金桥软件的内存处理机制前置数采机可以对通讯中断期间的历史数据进行缓存;在网络恢复后,缓存的历史数据将被恢复到中心历史服务器指定的历史时刻,进而保证了生产数据的完整性和一致性。
4.2 数据采集方案
系统网络结构图
? 整个数采网络体系,采用工业以太环网作为交换传输和接入平台,这种形式的以太网扩展性好,容易安装开通,并且可靠性较高。
在整个厂区内部网络管理上,核心交换机设置为VLAN模式,保证每套PLC/DCS之间网络物理隔离的而又和可以服务器进行通讯。从而对SCADA系统相关设备划分虚拟局域网(VLAN),将其置于一个网段;以增加SCADA系统的安全性,提高网络的数据交换性能,方便管理。
2)多种数据采集方式
对于制药厂生产数据平台的数据采集来说,安全问题尤为重要。因为数据采集遍布整个药厂,一旦因网络安全问题,引起病毒的入侵,进而造成生产数据的病毒感染,那么后果将是不可想象的。为此,可考虑如下的数据采集方案。
对于有上位机的PLC设备,尽量从上位机进行采集,以避免更改核心控制部件PLC的软件设置或硬件配置。
对于没有上位机的PLC,尽量在现有PLC硬件配置上进行采集,采用以太网通讯方式。
如果PLC上有空余串口,就遵循PLC通信协议进行编程,直接通过空余串口进行采集。
对于以太网通信的PLC,需要增加前置数采机(起到网络隔离作用), 前置数采机通过以太网与PLC进行通信。而前置数采机与数采服务器间通过串口进行通信。
DCS都带有操作台或工程师站,所以与DCS通信都不与控制站直接打交道。若制药厂DCS通信线路均为以太网,为了确保DCS系统的安全,在数据服务器与DCS间增加数采前置机。数采前置机与DCS通过以太网通信,数采前置机放于DCS操作室,不配显示器与键盘。数采前置机与数据服务器通过串口进行通信。这样就保证了数据服务器与DCS间的网络隔离。
数采服务器和PLC或前置机的通讯使用串口来进行,这样可以有效地隔离病毒。因为在使用串口通讯的过程中,串口为远程数采软件的通讯软件所独占,又因为这种通讯采用的是经过严格设计的自定义协议,所以病毒体无法通过串口的自定义协议进行传播。通常情况下,即使没有上面所说的原因,病毒也无法通过串口进行传播,除非在两台用串口互连的计算机的操作系统上同时指定并配置串口通讯链路,这种情况下系统才能够通过串口传输操作系统的通讯协议,从而可以传输病毒。但是在本项目的数采中显然不会出现这种情况,不会在操作系统中指定串口通讯链路,而且只使用自定义通讯协议,所以病毒绝对不会通过串口来进行传播。
为了通过串口与上位机通信,需要在PLC上位机中安装远程IO数采程序。远程IO数采程序是特意为这种安全采集而开发的,程序本身很小,经过了严格的测试,不会对系统构成任何威胁。远程IO数采程序在PLC上位机采集到数据后,通过上位机的串口将数据传输到数采服务器。
3)安全措施
1)对于通过以太网通讯的机器,采用多网卡使各计算机彼此隔离。由于控制系统彼此独立,并且没有专门的控制网,所以前置数采集机要装有多网卡,一块网卡与服务器相连,其他网卡与控制系统相连,以保证控制系统间,控制系统与服务器都不在同一网段,每块网卡只开放专有数据通讯端口,将其他端口都屏蔽掉,实现“绿色安全防护”。当然如果考虑成本问题也可以让所有控制系统使用一块网卡通信,该网卡上绑定多个IP地址。如果认为该种方式还不够安全,服务器和前置机间也可以通过串口进行通讯,当然这要涉及增加硬件成本。
2)对于通过串口通讯的机器,该通信方式是安全的。有些控制机是通过串口与前置机进行通信,如果通过串口通讯的比较多,那么就需要在前置机上安装多串口卡。由于串口是独享设备,并且专为应用程序作为数据通信使用,所以其他程序没有可乘之机,即不可能通过该方式传播病毒。
病毒传播到PLC/DCS系统造成PLC/DCS系统性能下降甚至瘫痪,系统安全非常关键。为了保证PLC/DCS不感染病毒,首先要保证每一个前置数采机的安全,只有前置数采机的不感染病毒才能保证PLC/DCS的安全。
保证自控装置的安全是致关重要的。为了保证控制网的独立性,办公网与控制网间是完全隔离的。实时数据库运行在办公网一侧,为了安全的与控制设备通信,我们采取可多种措施。
在控制网设置数采机,数采机间通过串口相连,这样能够有效的防止网络病毒侵入。 为了在生产数据采集的同时,保证PLC/DCS系统得绝对安全,不受计算机病毒的侵害。
机器配置两块网卡,一块网卡与控制网相连,一块与办公网相连,而且两块网卡处于不同网段。除了数据通信用到的端口号,其余通信端口都禁止掉。并且装好防火墙,保持防病毒软件及时自动更新。
在实施过程中和今后的维护过程中可采取下列措施来有效地避免病毒:
数采机不配备显示器、键盘和鼠标。
不安装任何与数采系统无关的软件。
除管理员以外,其他人不得使用移动介质复制、访问文件。
不共享文件夹。
不配置浏览器和电子邮件。
关闭或删除系统中不需要的服务。如存在着安全漏洞的 FTP和 Web 服务等。
关闭不使用的TCP、UDP、IP端口, 只保留数采系统所需端口。
使用复杂的系统用户密码,防止暴力破解.
4)数据恢复功能
由于制药厂厂区较大,控制系统很多。网络通讯线路出现故障是不可避免的。为了保证历史数据的完整性,可以采用紫金桥实时数据库的数据恢复功能。
数据库间进行通讯时,如果网络出现故障,或者数据库退出后重新启动,前端数采机服务端能够暂存断线期间的历史数据,并将之自动恢复到客户端。数据恢复功能保证了历史数据的完整性和一致性;同时前置数采机与实时数据库服务器之间的数据恢复,也会自动触发实时数据库服务器与管理层系统MES、ERP等系统后台关系数据库之间数据恢复。
数据恢复是紫金桥特有的功能,该功能不但支持以太网通讯方式,还支持串口、拨号等方式。
5)用户及权限管理
对访问系统的用户按照部门、角色进行分类,不同类别的用户分配不同的访问权限。
在服务器层开发时,根据制药公司管理的要求,按用户的级别和权限,设定不同的、唯一的密码。不同级别的用户只能访问与其级别相适应的网络资源和数据、图形信息。
紫金桥实时数据库所有的点、画面和组件支持安全区。
实时数据库提供的其他安全措施
数据下置开关:数采前置机和中心服务器上都设有 “数据下置开关”,只要将开关关掉,任何数据都不会被下置;
支持单向物理网闸通讯;
数据压缩、加密传送。
5. 与EMS、公用工程等系统通信
本系统留有与EMS、公用工程、工艺空调管理系统的以太网接口,以便于各系统之间信息交换。
紫金桥系统提供多种对外数据接口,如,MODBUS SERVER,OPC SERVER,可简单配置,就可实现生产数据平台系统与各系统之间信息交换。
6 与MES和ERP系统等管理信息系统集成
为更加充分的利用和共享实时数据,实现生产过程信息和生产管理信息的集成,需要实现实时数据库和关系数据库中的数据整合。把实时数据库中经过运算、汇总数据输出到关系数据库中,从而实现与管理数据库的集成,为企业的上层管理提供可靠的数据基础。除了实时数据,转储数据还可包括:组态内容,实时数据,统计数据,报警,事件,操作等信息。
数据转储可以通过以下两种方式:
1、专门的数据转储程序:该程序可以将数据按指定的周期进行转储,转储的点、数据库、表结构可以灵活指定。
2、通过实时数据库SQL脚本来实现。该方法自由、灵活但是需要较多的脚本编成。
7 与视频系统集成
系统主要提供两种与视频系统集成的方式,一是提供主流视频系统厂家的视频插件,如海康威视,浙江大华等;二是紫提供IE组件,双击直接输入视频web浏览地址即可。
8 SQL查询接口
结构化查询语言是一种数据库查询和程序设计语言,它的可描述性、灵活性及强大的功能已使它成为当前数据批量查询及处理的通用语言。紫金桥实时数据库借助了结构化查询语言的优势开发出适合实时数据库数据查询的内置SQL查询功能。
实时数据库与传统意义上的数据库有所不同,它广泛应用于数据量大、实时性强、数据存储分散等工业控制领域,存储过程控制数据。实时数据库中数据的一个重要特性就是实时性,它需要保存现场数据及事件的历史信息。这些数据在实时数据库中的表现形式是一种时间序列数据,而且多数情况下其数值具有一定的连续性。由于实时数据库存储数据的特殊性,其内部数据存储结构不能以关系数据表的方式进行存储,这样就给查询数据增加了难度。紫金桥软件公司根据在实际应用中客户的需求,遵循标准SQL语言规范,自主研发了实时数据库SQL查询技术,沿用标准SQL查询的基本规则,并针对时间序列数据的查询提供了相应技术手段。
内置SQL查询是基于紫金桥实时数据库的,它所查询的数据就是数据库内各种类型的点在后台所保存的信息。对于一个点来说,每类需要查询的信息都可以看成是一个字段,例如点的所有参数、保存历史的时间以及发生报警的时间等都可以看成是字段。
9高级应用程序接口
DBATL
紫金桥实时数据库提供了一套完整的ATL接口(DBATL),借助这个接口可以访问数据库中的实时数据、历史数据及报警信息。由于ATL接口是基于COM,并且在紫金桥实时数据库ATL接口是以双接口方式实现的,因此您可以通过大多数编程语言进行调用。
API
紫金桥提供了一套完整的API接口,借助这些接口可以访问数据库中的实时数据、历史数据、统计数据、报警及系统配置信息。紫金桥实时数据库的内部通信也是通过这些接口来实现的,所以通过调用这些接口可以与数据库无逢连接,从而编写出效率高、安全性好、可升级的程序。
该API接口是一扩展链接库,包括两个输出类:CDbAccBase,CDbAccSynch。前者给出的主要是异步访问接口,而后者是同步接口。异步接口时序复杂,但是效率高,不会出现等待,对于经常调用的函数,如在OnTimer中调用的函数应该使用异步接口。同步接口简单,调用结果马上返回,但是当对方不响应时会等待,以至于无法接受用户输入。对于一次性的请求,可以使用同步调用。
DBCOM
DataComm是一标准的ActiveX控件,可以在各种支持COM技术编程语言中使用,如Visual C++,Visual Basic,Delphi,C++ Builder,Power Builder等。借助控件可以实现与紫金桥实时数据库的通信,访问紫金桥实时数据库中的实时数据和历史数据。
DataComm不但能与本机上的实时数据库通信,而且能与远程实时数据库通信。每个DataComm实例只能与一个实时数据库通信,当然程序中同时可以有多个DataComm实例,这样就可以同时与多个数据库通信了。
功能:
读写实时数据。
检索历史数据。
数据变化通知。
10 系统目标
厂区生产数据平台建立后主要实现以下目标:
实时数据采集系统是药厂生产数据平台项目有机组成部分。其中实时数据库平台主要负责将各装置生产数据实时采集到厂房服务器的实时数据库服务器中,进行长期历史存储、完成各种数据展示,同时将重要的生产数据实时转储到管理信息平台(MES和ERP系统)的关系数据库中。
它的主要目标如下:
共享生产数据。实时数据库平台运行后,在平台网络内的计算机,可以授权访问的生产中的实时数据。
提供生产事故分析功能。系统将生产中的数据报警以声音、短信、邮件方式通知相关人员。系统提供生产数据历史保存、事故追忆、趋势分析等功能,方便于对生产事故分析。
提供多种数据展现方式。系统采用各种动画的手段,以流程图的方式实时展现生产过程及生产数据,此外系统提供各种生产报表,包括班报、日报、月报、年报等,根据需求定制的其他报表。
提供人工录入功能。在指定时间通知录入人员录入生产数据。
给上层MES或ERP系统提供数据服务。使用了实时数据库平台后,平台可以把生产数据周期性的导入到上层MES或ERP系统的关系库中,从而使得上层管理软件可以获得底层数据支持。