描述:
下面描述在 SNMP-OPC server 里怎样通过自己的profile为 SIMATIC Maintenance Station 创建附加的变量和信息。
有效性:
所显示的描述不适用于 PCS 7 Maintenance Station。
要求:
已经创建好包括作为 Maintenance Station 的 PC Station S7 项目,并组态了 OPC server。
序 号 | 操作: |
1 | 创建自己的 SNMP profile - 激活 Maintenance Station 的 OPC server 属性。
- 选择 SNMP 项。
- 点击 "Edit Plant Configuration ..." 按钮。
  Fig. 01 如果已经创建了一个新设备,则需要选择一个相应的profile文件,缺省情况下将是文件: "MIB-II_V10.txt". 如果制造商提供了相应的文件,则可以使用它来替换缺省文件。如果制造商没有提供,可以自己创建profile文件。   Fig. 02 - 点击 "Create Profile..." 按钮。
- 在profile文件区点击 "Load..." 并选择文件: "MIB-II_V10.txt" 作为自己创建文件的基础。
- 创建一个新组,如 "ScalanceSpec" 。
- 通过 "MIB Load..." 按钮,可以加载制造商 MIB,制造商 MIB 可以在 "Private" 文件夹中找到。
  Fig. 03 在右边栏定义了新profile文件具有的变量和 traps, 制造商特定变量被插入到 "ScalanceSpec" 组中。 - 打开新创建的组。
- 使用 " < , << , >> , >" 按钮来增加或删除需要的变量。示例中用到了变量 "snInfoMLFBNr"。 .
- 保存文件,示例以文件名 "Scalance_Profil.txt" 保存。
- 现在为 SNMP 设备选择新创建的profile文件。
  Fig. 04
|
2 | 导出变量到 WinCC 首先必须改编 "s7snmp.xml" 文件以适应需求。 该文件在 STEP7 安装路径下:"...\SIEMENS\STEP7\S7DATA\snmp\snmp_ini"。缺省情况下,"Export variables to WinCC(导出变量到 WINCC)" 仅从profile (MIB-II)中导出下列变量: sysName, sysLocation, sysContact, &ipadress(), sysDescr, sysUpTime, sysObjectID, EventState, MaintenanceState   Fig. 05 要使profile能为WINCC正确的编译,必须生成自己的 "DeviceType"。用"SNMP_DEFAULT" 设备类型作为模版。在这里输入的 "Members" 对新设备类型也是需要的。现在对新设备类型作如下修改: - Name="SNMP_SCALANCE" (示例)
- ProfileFile="Scalance_Profil.txt," (用自己创建好的 profile)
- DefaultFlag="0"
- New member: ( member的命名必须与自己创建并想导入到WINCC中的 profile 的变量名匹配。每个新变量要求一个单独的member。)
<Member Name="snInfoMLFBNr" Description="MLFB Number" ASType="10" OSType="10" Length="255" Property="4" Format="0" ASOffset="0" OSOffset="0" Protocol="1" TopLimit="0" ButtomLimit="0" StartValue="0" SubstituteValue="0" LimitFalgs="0" szStartText="Not configured"/>
对定义为 AS 和 OS 型的变量,说明如下: - "1" 二进制变量
- "2" 有符号 8 位数
- "3" 无符号 8 位数
- "4" 有符号 16 位数
- "5" 无符号 16 位数
- "6" 有符号 32 位数
- "7" 无符号 32 位数
- "8" 浮点数 32 位 IEEE 754
- "9" 浮点数 64 位 IEEE 754
- "10" 文本变量 8 位字符集
- "11" 文本变量 16 位字符集
- "12" 原始数据类型
- "14" 结构体类型
- "18" 文本参考
启动"Export variables to WinCC" ,重新加载 PC station 包括 OPC server。在 WINCC 变量管理器 OPC 驱动器中,可以看到 SNMP 变量已经生成,可以用于 WinCC 项目。.   Fig. 06 注意: 如果想让按上述方法创建的 SNMP 变量显示在相关的电源单元面板中,需要有 Microsoft ActiveX "RichTextCtrl" 设计模式许可,该许可缺省的由 VisualStudio 提供和安装。否则评论区将是无效的,在激活运行模式后也能看到该现象。
|
3 | 为 Maintenance Station 定义 SNMP 消息 示例中演示了当与 scanlance 交换机端口4的接线断开时,如何产生一条消息。在此之前需要按照第2条的描述生成要产生报警消息的变量,这里用变量 "ifOperStatus.4"。 后必须修改文件 "s7snmpalarm.xml" 。该文件位于 STEP 7 安装路径下:"...\SIEMENS\STEP7\S7DATA\snmp\snmp_ini"。 定义消息与变量相类似。SNMP Mapper 和 Maintenance Station 仅支持位消息。消息在 "s7snmpalarm.xml" 文件中定义。用下面的例子创建一个新的 Device Type,在附件文件中进行修改。 - <DeviceType Name = "SNMP_SCALANCE">
- <AlarmMessage Class="PCS3_MAINTANCE" Type="PCS_MAINTANCE">
- <MsgVar Bit="1">
<Name>ifOperStatus.4</Name> </MsgVar> - <TextEvent TextRef="23"/>
消息的类别和类型在 "AlarmMessage" 中定义。对 Maintenance Station 只允许如下类别和类型:PCS1_PLC 类型为 PCS_TROUBLE 或 PCS_ERROR, 或 PCS3_MAINTENANCE 类型为 PCS_MAINTENANCE。"MsgVar" 下的名字必须与自己生成的 profile 中的一致。该变量的指定位触发消息。现在为在 TEXT Event 下的指定 ID,生成报警文本。 - <AlarmText Id="23">
<LocalizedText LanguageId="7"> No cable connection on Port 4 </LocalizedText> <LocalizedText LanguageId="9"> No cable connection on Port 4 </LocalizedText> ... </AlarmText>
语言识别代码含义如下: LanguageId="7" = German LanguageId="9" = English LanguageId="10" = Spanish LanguageId="12" = French LanguageId="16" = Italian 在进行了这些设定之后,将 WinCC 变量从 SNMP OPC server 导入到 WinCC,导入的变量被创建WinCC里在 OPC 通道下,而消息则输入到 从第 4000000 条起的Alarm Logging 中。 如果 LAN 联接从交换机端口4断开,在 Maintenance Station 上就会触发一条消息。此处的消息类别对 Maintenance State 有直接影响。如果使用的是 "PCS3_MAINTENANCE" ,Maintenance State 不会进入 "Fault" 状态,而是转为 "Maintenance Request" 状态。  
|