用组态软件设计SCADA系统的人机界面(上位机应用软件),包括以下几个方面。
1.根据系统要求的功能,进行总体设计
这是系统设计的起点和基础,如果总体设计有偏差,会给后续的工作带来较大麻烦。进行系统总体设计前,一定要吃透系统的功能需求有哪些,这些功能需求如何实现。系统总体设计主要体现在以下几个方面。
(1)SCADA系统的总体结构是什么
,有多少个SCADA服务器,多少个I/O服务器,多少个SCADA客户端,有多少Internet客户等。这些决定后,再配置相应的计算机、服务器、网络设备、打印机及必要的软件,以构建系统的总体结构。
(2)是否要设计冗余SCADA服务器?
对于重要的过程监控,应该进行冗余设计,这时,系统的结构上会复杂一些。
(3)若采用多个SCADA服务器和I/O服务器,
就要确定下位机与哪台SCADA服务器通信。这里要合理分配,既要保证监控功能快速、准确实现,又要尽量使得每台SCADA服务器的负荷平均化,这样对系统稳定性和网络通信负荷都有利。
(4)SCADA服务器和下位机通信接口设计
,这里必须要解决这些设备与组态软件的通信问题。确定通信接口形式和参数,并确保这样的通信速率满足系统对数据采集和监控的实时性要求。
(5)不同设备的参数配置,如不同计算机的IP地址等。
2.数据库组态,添加设备,定义变量等
数据库组态主要体系在添加I/O设备和定义变量。要注意添加的设备类型,选择正确的设备驱动。设备添加工作并不复杂,但在实际操作中,经常出现问题。虽然是采取组态方式来定义设备,但如果参数设置不恰当,通信常会不成功,因此参数设置要特别小心,一定要按照I/O设备用户手册来操作。在作者设计过的一个系统中,上位机组态软件选用WinCC 6.0,下位机配置了多台具有以太网模块的S7-300PLC。在添加设备时有一个参数是要填写某个S7-300PLC站CPU所在的槽号,填写了以太网模块所在的槽号(因为过去为三菱电机Q系列以太网模块配置时,就是写以太网模块的起始地址),结果通信就是不成功,费了一些周折终于发现了这个问题。其他容易出现的问题包括设备的地址号、站号、通信参数等。
设备添加后,有条件的话可以在实验室测试一下通信是否成功,若不成功,继续修改并进行调试,直至成功为止。
设备添加成功后,就可以添加变量了。变量可以有I/O变量和内存变量。添加变量前一定要作规划,不要随意增加变量。比较好的做法是做出一个完整的I/O变量列表,标明变量名称、地址、类型、报警特性和报警值、标签名等,对模拟量还有量程、单位、标度变换等信息。对于一些具有非线性特性的变量进行标度变换时,需要做一个表格或定义一组公式。给变量命名最好有一定的实际意义,以方便后续的组态和调试,还可以在变量注释中写上具体的物理意义。对内存变量的添加也要谨慎,因为有些组态软件把这些点数也计入总的I/O点的。
对于大型的系统,变量很多,如果一个一个定义变量十分麻烦,现有的一些组态软件可以直接从PLC中读取变量作为标签,简化了变量定义工作;或者在Excel中定义变量,再导入到组态软件中。
3.显示画面组态
显示画面组态就是为计算机监控系统设计一个方便操作员使用的人机界面。画面组态要遵循人机工程学。画面组态前一定要确定现场运行的计算机的分辨率,最好保证设计时的分辨率与现场一样,否则会造成软件在现场运行时画面失真,特别是当画面中有位图时,很容易导致画面失真问题。画面组态常常因人而异,不同的人因其不同的审美观对同样的画面有不同的看法,有时意见较难统一。一个比较好的办法是把初步设计的画面组态给最终用户看,征询它们的意见。若画面组态做好后再修改就比较麻烦。画面组态包括以下一些内容:
(1)根据监控功能的需要划分计算机显示屏幕
,使得不同的区域显示不同的子画面。这里没有统一的画面布局方法,但有两种比较常用,如图5.14所示。由于目前大屏幕显示器多数都是宽屏,因而图5.14(b)的布局更加合理。总揽区主要有画面标题、当前报警行等。而按钮区主要有画面切换按钮和依赖于当前显示画面的显示与控制按钮。最大的窗口区域用作各种过程画面、放大的报警、趋势等画面显示。
(2)根据功能需要确定流程画面的数量
、每个流程画面的具体设计,包括静态设计与动态设计,各个图形对象的属性,如大小、比例、颜色等。现有的组态软件都提供了丰富的图形库和工具箱,多数图形对象可以从中取出。图形设计时要正确处理画面美观、立体感强、动画与画面占用资源的矛盾。
(3)把画面中的一些对象与具体的参数连接起来
,即做动画连接。通过这些动画连接,可以更好地显示过程参数的变化、设备状态的变化和操作流程的变化,并且方便工人操作。动画连接实际是把画面中的参数与变量标签连接的过程。变量标签包括以下几种类型:I/O设备连接(数据来源于I/O设备的过程)、网络数据库连接(数据来源于网络数据库的过程)、内部连接(本地数据库内部同一点或不同点的各参数之间的数据传递过程)。
显示画面中的不少对象在进行组态时,可以设置相应的操作权限甚至密码,这些对象对应的功能实现只对满足相应权限用户有效。
4.报警组态
报警功能是SCADA系统人机界面重要功能之一,对确保安全生产起重要作用。它的作用是当被控的过程参数、SCADA系统通信参数及系统本身的某个参数偏离正常数值时,以声音、光线、闪烁等方式发出报警信号,提醒操作人员注意并采取相应的措施。报警组态的内容包括:报警的级别、报警限、报警方式、报警处理方式等。当然,这些功能的实现对于不同的组态软件会有所不同。
5.实时和历史趋势曲线组态
由于计算机在不停地采集数据,形成了大量的实时和历史数据,这些数据的变化趋势对了解生产情况和安全追忆等有重要作用。因此,组态软件都提供有实时和历史曲线控件,只要做一些组态就可以了。并非所有的参数都能查询到历史趋势,只有选择进行历史记录的参数才会保存在历史数据库中,才可以观察它们的历史曲线。
对于一个大型的系统,参数很多,如果每个参数都设置较小的记录周期,则历史数据库容量会很大,影响系统的运行。因此,一定要根据监控要求合理设置参数的记录属性及保存周期等。
6.报表组态及设计
报表组态包括日报、周报或月报的组态,报表的内容和形式由生产企业确定。报表可以统计实时数据,但更多的是历史数据的统计。绝大多数组态软件本身都不能做出很复杂的报表,一般的做法是采用Crystal Report(水晶报表)等专门的工具做报表,数据本身通过ODBC等接口从组态软件的数据库中提取。
7.控制组态和设计
由于多数人机界面只是起监控的作用,而不直接对生产过程进行控制,因此,用组态软件开发人机界面时没有复杂的控制组态。这里说的控制组态主要是当要进行远程监控时,相应的指令如何传递到下位机中,以通过下位机来执行。常用的做法是定义一些起制信息传递作用的标签(它们当然属于I/O变量,虽然不对应实际的过程仪表或设备),这些标签对应控制器中的内存变量或寄存器变量。在控制器编程时要考虑到这些变量对应的上位机的控制指令,并且明确是采用脉冲触发还是高、低电平触发。
8.策略组态
根据系统的功能要求、操作流程、安全要求、显示要求、控制方式等,确定该进行哪些策略组态及每个策略的组态内容。
9.用户的管理
对于比较大型的监控系统来说,用户管理十分重要。否则,会影响安全操作甚至系统的安全运行。可以设置不同的用户组,它们有不同的权限。把用户归入到相应的用户组中。如工程师组的操作人员可以修改系统参数,对系统进行组态和修改,而普通用户组别的操作人员只能进行基本的操作。当然,根据需要还可以致,可以随时由开发环境转入运行环境。人机界面的调试可以对每个开发好的人机界面进行调试,而不是等所有界面开发完成才对每个界面进行调试。