n
1、工业库简介
SIMATIC PCS 7工业库(SIMATIC PCS 7 Industry Library,以下简称IL)为PCS 7 V8.0以上版本提供了全新的控制功能库,是对PCS 7高级过程库(APL)的扩展,集成了非标准PCS 7 系统的工厂组件,包括S7-300控制器或者WinCC Flexible操作员面板。此外,IL中还集成了多个行业库,例如,水、废水处理行业库和楼宇自动化行业库。PCS 7 IL与PCS 7 APL一起使用,可对不同领域内的控制任务实现协调一致的总体解决方案。
工业生产过程通常在中央控制室对现场设备进行控制和监视,除此之外,用户也要求在就地可以对设备进行简单控制,由于现场环境相对恶劣、监控要求不高等特点,系统配置中多采用操作员面板作为现场终端操作设备。
之前的PCS 7系统中,操作员面板不能提供与PCS 7 OS相同风格面板,增加了误操作的风险,开发面板则需要花费更多的时间。PCS 7 IL为操作员面板与PCS 7系统集成提供了解决方案,通过与PCS 7 APL (高级过程库) 进行交互的功能块,为操作员面板提供必要的数据,WinCC Flexible中集成了IL Flexible功能库,提供标准的块图标,实现操作员面板的可视化,同时可以实现合理地分配OS与面板之间的操作权限,防止多点操作而造成不一致。n
图1.1 PCS 7工业库n
本文以PCS 7 APL MotL为例,配置电机Motor1、Motor2、Motor3,详细介绍如何定义MotL功能块,如何为工业库中的接口功能块提供基本数据信息,以及在操作面板中进行组态的所需步骤。n
2、基本组态设置
2.1 创建测试项目
打开PCS 7 ,创建多项目,并插入AS、OP、OS三个单项目,分别添加SIMATIC 400 Station、SIMATIC HMI-Station和SIMATIC PC Station,进行相应硬件及网络组态,最终项目结构如下所示:n
图2.1 基本项目框架n
2.2 CFC组态
安装PCS 7 Industry Library后系统会自动在CFC中添加功能库“Industry Lib PCS 7 V80”,如图2.2所示。更多关于IL的安装信息,可以参考如下文档:n
《PCS 7工业库安装指南》 下载中心文档编号: A0696 76254719 |
通过“Panel”功能块与PCS 7 APL (高级过程库) 进行交互,为操作员面板提供必要数据。n
图2.2 Industry Lib PCS 7 V80n
2.2.1 定义“MotL”功能块
创建3个CFC程序块,分别命名为Motor1、Motor2、Motor3。将PCS 7 APL功能块“MotL”插入至CFC图表,命名为“Motor1”,打开功能块属性设置MsgLock、 OpSt_In及Feature引脚可见,并设置Feature.Bit25=1(激活消息抑制功能)。n
图2.3 MotL功能块定义n
2.2.2 连接“PMotL”
由Industry Lib PCS 7 V80中将功能块“PMotL”插入CFC,命名为“PMotL1”,如下图所示连接PMotL和MotL功能块。
• SwitchPerm_Out连接OpSt_In,设定用户操作权限,详细介绍参见第4章分层操作;
• BlockCoector连接MotL任意输出引脚,MotL的重要数据会自动地显示在操作员面板中;
• MsgLock_Out连接MsgLock,PCS 7 标准系统通过调用“Alarm_8P”在OS画面中生成报警消息,而操作员面板并不支持Alarm_8P,为了OS及操作员面板上均显示消息并可确认,PMotL中使用“Alarm_DQ”生成消息。由于PMotL和MotL都会发送消息到OS画面,为避免同一报警信息生成两条消息,需要将MsgLock_Out连接MsgLock,并设置Feature.Bit25=1,抑制来自APL功能块的消息。n
图2.4 PMotL与MotL连接n
2.2.3 创建DB块
在S7程序Blocks文件夹中创建自定义DB块“OP_DB”,并创建数据类型为INT的参数“DB_Motor1”,用于连接PMotL接口功能块。若存在多个MotL块分别为每一个功能块创建一个INT类型的参数。n
图2.5 创建DB块n
将功能块PMotL的输出“IDBNo”连接至自定义数据块“OP_DB”的参数“DB_Motor1”。n
图2.6 PMotL与DB块连接n
2.3 操作员面板组态
成功安装PCS 7工业库后就包含了WinCC Flexible库“IL_PCS_7_Flex_V80”,存储路径为STEP7安装目录中(Program files SIEMENSSTEP7S7LIBS)。该库集成了标准的面板和块图标,在画面中添加面板和块图标时会自动创建变量、连接、文本列表等,用户只需要根据项目情况做适当调整即可。
2.3.1 插入IL Flexible面板库
首次打开WinCC Flexible需要加载IL Flexible面板库,在Tools中选择Library,右键选择Library Open,加载IL_PCS_7_Flex_V80。n
图2.7插入IL Flexible面板库n
2.3.2 面板组态
PCS 7系统中,典型应用为多个同类型的块图标对应同一个面板,同一时刻仅有一个块图标能够打开面板。若希望不同的块图标同时都能打开面板,必须为每个块图标创建独立的面板,这种应用将增加更多的变量。下面将详细介绍两种不同应用情况的组态方法。n
2.3.2.1 多个同类型块图标调用一个面板
从库中将MotL对应的面板添加到画面中,系统会自动创建变量文件夹 “ IL FaceplateMotFaceplateMot_1”,及一个与AS的连接。为了保证多个块图标对应同一个面板,面板创建后不能更改变量文件夹名“FaceplateMot_1”。n
图2.8 添加MotL的Faceplaten
添加MotL对应的块图标,自动生成“MotL_1”变量文件夹,修改MotL_1名为“Motor1”。重复该步骤,添加块图标Motor2、Motor3。每次添加块图标或面板都会自动创建一个新的连接,手动删除多余连接,仅保存一条连接即可。n
图2.9 添加MotL块图标n
打开块图标的属性对话框,编辑“General(常规)”属性中的“Block name(块名称)”参数,输入块名称“Motor1”,建议输入一个有意义的名称,如过程标签名称。n
图2.10 设置块图标名称n
为了确保面板上显示与块图标一致,须将面板中的“Blockname”设置同块图标的“Blockname”。利用块图标中的Click事件设置面板的Blockname。n
图2.11 设置Faceplate名称n
2.3.2.2 每一个块图标调用一个面板
为了实现每个块图标都能显示独立的面板,分别从库中添加MotL对应的块图标及面板后,再修改生成的变量文件夹名MotL_1改为Motor1,FaceplateMotL_1改为FaceplateMotor1。面板可以放置与块图标同一个画面中,或是不同画面中。如图2.11所示。n
图2.12 每一个块图标调用一个面板n
重复上述过程,添加Motor2、Motor3。如图2.12所示。为块图标及面板设置合理的Blockname,设置过程如图2.9、2.10所示。n
图2.13 修改变量文件夹名称n
2.3.3 建立连接
为了建立S7-400与操作员面板的连接,打开WinCC FlexibleCommunicationCoections,每次添加块图标或面板时都会创建一个连接,因此仅保留一条链接“Coection_1”,手动删除多余连接 。n
图2.14 删除无用连接n
双击打开块图标变量文件夹“Motor1”,将无效的连接更改为Coection_1,使其建立与S7-400的连接。修改Pointer变量地址为在程序中创建的DB块地址“OP_DB”.DB_Motor1。对Motor2、Motor3依次修改并连接相应DB块地址。请注意,对于块图标及面板仅Pointer参数需要连接实际地址,其他参数都是通过Pointer变量间接寻址。因此必须正确的设置Pointer变量地址,才能保证块图标及面板与CPU的正常连接。n
图2.15 修改块图标连接n
打开面板变量文件夹“FaceplateMotor1”,将变量的无效连接更改为Coection_1。对于每个块图标调用一个面板的情况,分别修改Motor2、Motor3对应的变量连接。n
图2.16 修改面板连接n
2.3.5运行
面板组态完成后,需要向Panel中进行下载。本文不介绍WinCC Flexible的基本使用和HMI画面的组态下载过程。详细可以参考下面链接。n
《SIMATIC HMI WinCC flexible 2008 使用入门 - 首次使用》 下载中心文档编号: 18660846 http://www.ad.siemens.com.cn/download/docMessage.aspx?id=4989 |
下载组态运行后,运行OS操作站以及操作员面板。在OS运行操作界面中(图2.17),除了“MotL”生成的面板及块图标外,“PMotL”功能块也创建了相应的块图标及面板,可以显示现场设备所处的操作层级以及相关的报警信息。n
图2.17 OS运行操作n
图2.18 操作员面板运行操作n
3、时间同步
PCS 7系统基于TIA的方式构建,整个系统包括不同的组件,有服务器、客户端、AS自动化系统,ET200远程站等。为了确保生成信息时间的准确性,变量归档、报警归档具有可比性,要求PCS 7系统必须实现时间同步。
PCS 7系统时间同步主要通过以下两种方法实现:
• SIMATIC Mode方式:该方式为西门子系统时间同步方式,仅西门子相关产品支持;
• NTP方式:网络时间协议,自动化系统中带有集成以太网口的控制器或CP卡均支持该方式,Windows系统也支持该方式。
关于时间同步的详细信息,请参考“西门子过程控制系统-PCS 7时间同步”手册:
http://www.ad.siemens.com.cn/download/docMessage.aspx?id=6769
对于PCS 7集成Panel,为了保证时间一致,操作员面板也必须进行时间同步。但Panel不支持上述两种时间同步方式,需借助区域指针将当前系统时间与所连接的AS控制器进行同步。
典型的PCS 7系统设置OS服务器为时间主站,客户端及AS控制器为时间从站,操作员面板通过区域指针与AS同步,具体设置步骤如下。n
3.1 PCS 7系统时间同步设置n
3.1.1 设置OS服务器时间主站
• 打开OS硬件组态,双击CP1623卡打开属性设置对话框,切换至Options选项卡,激活Time of day功能,如图3.1所示。请注意,若网卡为IE General则无需此步骤。n
图3.1 CP1623时间同步激活n
• 使用WinCC Explorer打开OS项目,双击Time Synchronization选项,激活Synchronization via system bus,选择CP1623网卡,作为时间主站。如图3.2所示。n
图3.2 服务器设置时间n
3.1.2 设置OS客户端时间从站
• 使用WinCC Explorer打开OS客户端项目,双击Time Synchronization选项,激活Synchronization via terminal bus,如图3.3所示。n
图3.3 客户端设置时间同步n
3.1.3 设置AS时间从站
• 双击打开CPU属性,切换到Diagnostics/Clock选项卡,如下图所示,设置CPU时钟属性。n
图3.4 AS站设置时间同步n
• 双击CP443-1以太网卡,切换至Time-of-Day Synchronization选项卡,激活时钟同步功能,如图3.5所示。n
图3.5 CP443-1设置时间同步n
3.2 操作员面板时间同步
• 创建DB块,为操作员面板提供时间信号。由于操作面板要求区域指针长度为12个字节,而AS中的时间日期数据只有8个字节,因此必须创建4个保留字节,以确保与区域指针长度匹配。n
图3.6 创建DB块n
• 使用系统功能块SFC1(READ_CLK)函数块读取时钟时间并存入DB参数“OP_TIME”中。n
图3.7 读取CPU系统时间n
• 打开WinCC FlexibleCommunicationArea pointer,为区域指针Date/time PLC设定连接及地址。n
图3.8 连接区域指针n
• 时间同步设置完成。n
4、分层操作
PCS 7系统一般可以划分多个操作层级,如中央控制室、区域控制室、就地控制室、就地操作等等,每个层级都可以对同一现场设备进行操作。有些情况,用户希望只是位于就地的操作员面板可以操作设备,而位于中控室的计算机禁止操作,或者要求不能同时操作设备,防止多点操作造成设备的误动作,保证人身安全、设备可靠稳定运行,因此分层操作控制是必不可少的。分层操作可以在工厂范围内协调各个层级的操作,提高工作效率、优化人员调配。
PCS 7 APL功能库OpStations可以实现基于操作站的分层控制,而操作员面板与操作站OS之间权限控制的功能,可以通过PCS 7工业库的UsrM功能块来实现。组态步骤如下:
关于APL库“OpStations”功能块的使用请参考下面文档。n
《PCS 7 V7.1 SP2中OpStations功能块的应用》 下载中心文档编号: A0532 78822810 |
4.1 建立枚举变量
为了能够在程序块图标上显示现场设备所属的操作层级,需要创建枚举变量“IL_OpLong”和“IL_OpShort”。如图4.1所示,新建“Shared Declarations”,在“Shared Declarations”—“Enumerations”中新建两个枚举变量,命名为“IL_OpLong” 和“IL_OpShort”。
由于IL FOR PCS 7和APL中的功能块采用位编码的操作层级,如2#1层级1、2#32层级5等。因此定义数值0的枚举对象,并设置名称“NoOperation”。数值1、2、4、8、16、32、64、128为8个层级创建枚举对象,并将其命名为与相应控制层级的名称。“Display name”最终将显示到OS上。n
图4.1 创建“IL_OpLong”n
图4.2创建“IL_OpShort”n
4.2 组态UsrM
将功能块“UsrM”添加至新的或者先前的CFC中。“Dev01Act-Dev08Act”指定8个层级是否可用。“KeySwitch”定义操作层级是否可以在OS中手动选择,或通过KeySwitch与KeySwLvl配合可以通过程序定义选择的操作层级。“MaxLevel”定义在OS中显示的最大操作层级数量。n
图4.3 UsrM组态n
连接UsrM至PMotL1,如图4.4所示。n
图4.4 UsrM与PMotL连接n
选择需要连接的设备功能块(此例为Motor1),在其Feature变量中设置Feature.Bit24=1(激活本地用户权限)。n
图4.4 激活本地用户权限n
4.3 操作层级权限组态n
4.3.1 OS组态
在WinCC Explorer打开操作站的OS项目,在Tag Management Internal tags Split Screen Manager中找到内部变量@APLOpStation,右键属性中选择Limits/Reporting,StartValue定义为操作层级的起始值。若MotL参数“OpSt_In”值与@APLOpStation相等,则可以在OS中对设备进行操作。n
图4.5 OS操作层级组态n
4.3.2 操作员面板组态
在接口功能块“PMotL”中设置参数“PanelPerm”,用于操作面板指定的操作层级。只有当PanelPerm值等于SwitchPerm参数值时才可能在操作员面板中对设备进行操作。n
图4.6 接口功能块操作层级组态n
当WinCC Flexible中添加面板“Faceplate_1”时,会自动创建文本列表,用于面板操作层级的显示。修改“Permission_PCS 7”文本列表,使其与枚举变量”IL_OpLong”一致。n
图4.7 WinCC Flexible文本列表n
4.4 操作运行
通过UsrM选择ControlRoom控制,OS操作站上可以实现对电机Motor1的操作,而操作员面板不可操作,并显示设备当前的操作层级。n
图4.8 UsrM操作运行效果n
5、 S7-400H CPU与操作员面板的组态
对于配置S7-400H的操作员面板组态过程与标准CPU的组态过程基本相同,不同的是操作员面板需要分别与冗余CPU建立连接,此外需要在WinCC Flexible中组态虚拟连接,以确保操作员面板可以在冗余CPU之间切换。
关于400H系统如何与操作员面板建立S7容错连接,请参考下面链接。n
《连接面板到S7-400H系统——主站跟踪方法》 下载中心文档编号: F0244 78035779 |
关键词
PCS 7 工业库,操作员面板,时间同步,多用户操作
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc326420.html