1. 项目标准化的实践
本项目设计之初借鉴了标注化各种理论知识,利用Excel 自身内置的函数功能通过简单的粘 贴复制方式完成了EPLAN 图纸的快速生成、博途PLC 变量的生成、SCL 程序的快速生成、WINCC 弹出画面的变量快速关联、报警文本快速生成等。
1.1 点表的制作过程
控制点表制作在自控系统原件清单的基础上,首先按《标准化实施建议》和ISA88 国际标准将项目对象划分为控制单元、设备模块、控制模块三个层级。明确项目的控制模块后,各控制模块的控制要求分配各自的点位,我们可以将各控制对象的点位看作各个对象的类,再将所有的控制模块对象化最终形成我们所需的控制点位表。具体内容展示如图4、图5所示。
图4 对象层级划分
1.2 图纸标准化
在完成我们控制系统点表的同时,我们依据公司对电气原件、控制柜、PLC模块、端子排的命名规则,也生成了电气图纸中需要的各种信息文本,我们只需在公司图纸模板中使用EPLAN 软件中的表格式编辑功能,轻松几步粘贴复制就完成了一个PLC 模块的图纸制作。具体内容展示如图6、图7所示。
1.3 程序标准化
PLC 程序的标准化过程分别四个层级出发,完成了标准化的构建,分别是PLC 编程技术基础、程序架构设计、状态管理机及功能块的制作、工艺程序设计。下面我们分别从这四个层级介绍我们的实践过程。
1.3.1 PLC 编程技术基础
在PLC 编程技术基础包含:对象的划分原则、程序的命名规则、博途SCL编程语言的掌握、DB 数据块的基础知识的掌握、UDT PLC 数据类型的应用、FB块的封装调用、博途库功能的掌握等。此处是实现标准化编程我需要掌握的基础知识。依靠于西门子丰富的文档资料,我们参考学习了《西门子程序设计规范指南》、《TIA Portal 系统概述》完成了PLC 编程技术基础的学习与准备。
1.3.2 程序架构设计
在程序架构设计时,借助于博途软件方便快捷的程序分组功能,在程序中分别设计全局DB 块、组织块、输入映射、初始化、产线单元、报警数据、HMI数据、其他功能、输出映射、库等文件夹,依据各程序块的不同功能,将各程序块分别放到相应的文件夹中,使程序结构更加清晰明了。
1.3.3 状态管理机及功能块的制作
状态机管理借鉴使用了SIMATIC LPMLV30 库,该应用库支持 OMAC、PackML 和 Weihenstephan 等国际标准。用户通过添加或修改功能块,即可根据个性化要求,对其进行调整。与此同时,借助经过测试的功能和软件解决方案,可显著节省工程和调试时间。
在基础功能块设计时,先按控制对象为原则建立UDT 数据类型,并按设计需要设置不同的HMI的读写访问权限,即保障HMI 的数据访问又能避免HMI过多的不必要的数据访问。然后在全局数据块内添加各对象,引用相应的UDT 数据类型,快速完成数据块的建立。以控制对象单作用气动开关阀为例,在建立好阀门的 UDT 数据类型后,在全局数据块“HMI_CM_VALVE”内对象化“HV-V101A-IO调乳罐进料阀”即完成了变量建立过程。在基础功能块封装时考虑基础功能块程序比较成熟,程序相对简单,所以在程序输入输出接口上直接引用了 UDT 数据类型,简化了程序接口与全局数据块的变量关联,可快速完成基础功能块的调用。同时也可继续沿用IO 映射在Excel 中自动生成程序的方式,使用Excel 的单元格合并功能完成程序块调用和UDT 变量的连接。
1.3.4 工艺程序设计
工艺程序设计阶段需要我们根据不同的项目类型、不同的工艺要求积累工艺程序,并建立工艺程序库,进一步提高我们的编程效率。例如此项目中存在大量定量加注的工艺过程,我们将其封装成了一个工艺功能库,我们只需在设备模块层级调用定量加注工艺库,再将不同的控制模块数据引脚关联,即可实现定量加注的工艺功能。
1.4 画面标准化
画面标准化分别从通讯数据的建立、画面模板的建立、画面的全局设计、画面对象复用等方面出发。在实践应用中Wincc变量通过博途软件插件“Export to SIMATIC SCADA”导出为结构化数据类型,继续延用博途软件的UDT 数据类型。画面建立时采用了OS 项目编辑器的风格设计,在画面制作之初先进行画面风格的全局化设计提高了画面制作效率,避免重复操作。依据Excel 表格里的控制对象类型,分别建立弹出窗口,使用变量前缀加变量后缀的方式,快速完成变量关联。
2. 多用户调试项目中的应用
由于项目设计周期比较短,控制点位比较多,在项目编程调试过程中使用了博途平台Multiuser 多用户编程的方式,该功能可实现多位工程师合作编程调试,每位工程负责一部分的编程调试工作,由于可在多用户项目中对不同的对象进行并行编辑,因此可大幅缩编程调试时间。
首先需要建立一台Multiuser Engineering 的多用户服务器,在此服务器中安装Multiuser Engineering 的软件包,创建并管理多用户服务器项目,完成与现场实际硬件相符的硬件组态。为了能够在 Multiuser Engineering 框架内同时与多名工程师合作开展多用户服务器项目,每个工程师都必须自行创建一个本地会话。在本地会话中,相应的工程师可以添加更改服务器项目,然后将其签入到多用户服务器项目以进行发布。签入后,本地会话中所做的更改将再次提供给服务器项目中的所有工程师。单用户项目连接到多用户服务器后,首先刷新本地会话,将服务器中的多用户项目同步到本地计算机中。此时的单用户项目与多用户服务器中的项目完全一致,如果用户在本机修改了程序或者是HMI,此时Multiuser 软件会自动将修改的程序或HMI 标记为已修改,其他用户打开此程序块或者是HMI 画面时,系统将会提示冲突。在完成了对程序块或者是HMI 画面的修改后,单用户项目可以通过点击“检入”按钮,单用户项目将会自动将以修改的程序块或者是HMI 画面然后检入至多用户服务器项目中。其他单用户项目此时会提示需要刷新本地会话,通过刷新本地会话同步多用户服务器中的项目。
通过项目管理器,在工程组态阶段,用户作为团队的一员进行开发。通过创建一个合适的项目结构,对团队成员进行任务分配,团队成员可以对同一项目同时操作,极大地提高工作效率,同时项目管理器可一对项目进行版本管理。