您的位置:控制工程论坛网论坛 » 现场总线 » 怎样为SNMP设备创建profile?

wj321

wj321   |   当前状态:离线

总积分:1211  2025年可用积分:0

注册时间: 2003-05-12

最后登录时间: 2009-11-05

空间 发短消息加为好友

怎样为SNMP设备创建profile?

wj321  发表于 2008/12/11 21:05:42      1062 查看 0 回复  [上一主题]  [下一主题]

手机阅读

描述:
下面描述在 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" 状态。


1楼 0 0 回复