发布于 2008-10-10 10:11:04
0楼
如何在WinCC Flexible 操作面板上显示 附带过程值的Alarm_S 和 Alarm_D 消息?
法说明:
系统函数 SFC 17 (ALARM_SQ), SFC 18 (ALARM_S), SFC 19 (ALARM_SC), SFC 107 (ALARM_DQ) 和 SFC 108 (ALARM_D) 都可用来实现在 WinCC Flexible 操作面板上显示块指定消息(block-specific messages) 。
每一次调用时,系统功能 SFC 17 (ALARM_SQ), SFC 18 (ALARM_S), SFC 107 (ALARM_DQ) and SFC 108 (ALARM_D) 都会产生能够显示在OP上的块指定消息。SFC17 和SFC107的消息能够被确认,SFC18 和SFC108的消息无法被确认。使用SFC19 (ALARM_SC),能够读到消息触发信号的状态和 SFCs 17/18的确认状态。
组态 SFC 17/SFC 18 和 SFC 107/ SFC 108 的方法非常相似。唯一的区别是 Alarm_D多一个("CMP_ID") 参数。 这个参数用于确定附属消息所属的子系统的ID 。
下列步骤说明了如何在STEP 7 V5.3或更高版本和WinCC flexible 2004中组态 Alarm_D 消息。Alarm_S 消息的组态方法是一样的。 在本文的结尾处可以分别下载 ALARM_S 消息 (SFC 17/ SFC 18) 和 ALARM_D 消息的样例程序。
操作面板:
所有支持"消息报警过程" 或 "事件控制报警过程" 的操作面板都能显示 ALARM_S or ALARM_D 消息 (比如: mobile panel 170, mobile panel 177, OP77B, TP/OP 170B, TP/OP 270, MP 270B, MP370, RT 系统)
警告:
Alarm_D 消息只能在S7-400 CPU中建立。
创建 STEP 7 项目,进行硬件组态
• 创建 STEP 7 项目。
• 在硬件组态中,创建和组态 S7-400 站。
• 将 CPU 连接到网络中 (MPI or PROFIBUS).
创建 S7 程序
1. 编写功能块
• 在 CPU 块容器中添加功能块 (FB) ,双击打开它。在声明区为每一个参数创建一个双字型(DWORD) 的IN参数
图. 1: 声明 IN 参数
• 右击打开插入的参数属性对话框
• 在"Attributes" 页中,输入下列值:
S7_server = alarm_archiv
S7_a_type = alarm_s
图. 2: 参数属性对话框
• 为FB声明区的静态变量创建附带值
图. 3: 创建附带值
• 为静态变量(绝对地址)分配值,这些变量将输出到消息中。
• 在此FB中调用 SFC (比如. SFC 108)
SIG: 消息触发信号,比如: M10.0.
ID: 消息的数据通道:W#16#EEEE.
EV_ID: 自动产生的消息号 (FB的IN 参数).
CMP_ID: 用于确定附属消息所属的子系统的ID (只适用于Alarm_D ).
SD: 附带值: 最大长度: 12 字节
RET_VAL: 块的错误信息
图. 4: 调用 SFC 108
• 保存功能块
2. 创建背景 DB
• 在程序中(比如:OB1)通过调用创建好的FB以产生背景DB块。
• FB中的消息类型自动添加进背景DB块,同时分配了消息号。
3. 创建消息文本
• 右击背景数据块,选择"Special Object Properties > Message...",即打开了FB的消息组态对话框,这时就可以组态消息文本了。
注意:
对于"项目内唯一消息号方式"和"CPU内唯一消息号方式" ,它们的消息组态对话框是有区别的。下面是"CPU内唯一消息号方式" 的消息组态对话框。
• 在对话框中可以为每个消息号分配文本和其他属性。
警告:
在数据块中所组态的消息是背景数据块的属性。当删掉数背景据块时,这些属性也就丢失了。