Skip to main content

小节:参数

这部分 Parameter 与小节 SetParameterAddParameter 用于添加或修改设备参数。这允许生成设备的特定设置(例如:循环时间)。

SEC DeviceGenerator                                      //optional: yes, modifier: [UPDATE]
    SEC Parameters : <parameter name>                    //optional: yes, modifier: [UPDATE]
            SEC SetParameter : <parameter name>              //optional: yes, modifier: [UPDATE]
                    ParameterID := <parameterID name>;           //optional: no, type: literal/string
                    ElemPath := <elempath name>;                 //optional: no, type: literal/string
                    ConnectorID := <connector ID>;               //optional: yes, type: literal/string
                    Value := <value name>;                       //optional: no, type: literal/string
                    ChildIndex := <device ID>;
                    Download := <boolean value>                // opional: yes, type: boolean
            END_SEC
            SEC AddParameter : <parameter name>              //optional: yes, modifier: [UPDATE]
                    ParameterID := <parameterID name>;           //optional: no, type: literal/string
                    ParameterName := <parameter name>;           //optional: no, type: literal/string
                    ParameterType := <parameter type>;           //optional: no, type: literal/string
                    ChannelType := <channel type>;               //optional: yes, type: enum
                    ConnectorID := <connector ID>;               //optional: yes, type: literal/string
                    ChildIndex := <device ID>;
            END_SEC
    END_SEC
END_SEC
. 规格:
  • Parameters 部分有一个目标,其中 DeviceID 定义了目标设备的参数,应编辑其参数。将首先在模块的设备中搜索目标设备,然后在其父历史记录中搜索。通配符设备或其他设备也是可能的。假设该设备具有相应的参数或者可以添加相应的参数。如果扫描无法找到目标设备,则会显示警告。

  • 各部分的目标 SetParameterAddParameter 定义相应部分的 Id,但没有进一步的用途。

. 截面规格 SetParameter:
  • ParameterID 定义了 ParameterID 将要修改的设备的参数。

  • ElemPath 指定将更改的参数的确切元素。

  • 参数 ConnectorID 可选地定义设备的连接器,其 HostParemeterSet 包含参数 Id。如果不 ConnectorID 被指定时, ParameterID 在 DeviceParameterSet 下搜索。

  • Value 定义将分配给指定参数的元素的值。该值必须与元素类型兼容。该值可以是一个表达式,例如 [paramID] + 2*MODULE_SLOT_INDEX 那里 [paramID] 定义参数的目标 ID,以便 [paramID] 将被参数值替换。这 MODULE_SLOT_INDEX 关键字被替换为已定义模块类型的模块实例在插入后将具有的槽索引。

  • 如果在目标设备中找不到该参数,则生成器检查将发出警告。

  • ChildIndex 定义从属设备,在该设备下添加或设置参数。如果该具有特定索引的从属设备不存在,则在生成过程中产生警告。

  • Download : 可选条目。如果此条目具有值 FALSE,则参数不会下载到设备。例如,这对于禁用 CheckVendorId 例如,对于 CAN 设备。

. 截面规格 AddParameter:
  • ParameterID 定义要添加的参数的新 ID。这在目标设备的其他 ParameterID 中必须是唯一的。

  • 参数 ConnectorID 可选地定义设备的连接器,其HostParemeterSet包含要添加的参数Id。如果未定义连接器 ID,则参数 ID 将添加到 DeviceParameterSet 中。

  • ParameterName 定义添加到目标设备的参数名称。

  • ParameterType 定义添加到目标设备的参数类型。该类型根据带有类型前缀的 IEC 类型表示法命名。因此示例: std:bool 将创建一个布尔参数。

  • 如果无法添加参数,生成器检查将创建警告。

  • ChannelType 定义通道的类型。可能的值为 NONE, INPUT, OUTPUT, 和 OUTPUTREADONLY

  • ChildIndex 定义从属设备,在该设备下添加或设置参数。如果该具有特定索引的从属设备不存在,则在生成过程中产生警告。

两个部分 AddParameterSetParameter 可以一起使用来向设备添加参数并同时为其分配值。

35. 例子
        SEC Parameters : Buskoppler1
                SEC AddParameter : ExpertSettings
                        ParameterID := '805306368';
                        ConnectorID := '1';
                        ParameterName := 'ExpertSettings';
                        ParameterType := 'std:int';
                        ChannelType := OUTPUT;
                END_SEC
                SEC SetParameter : ExpertSettings
                        ParameterID := '805306368';
                        ElemPath := '';
                        ConnectorID := '1';
                        Value := dwParameterOffset + 2 * MODULE_SLOT_INDEX;
                END_SEC
        END_SEC