7.2 添加自定义参数
编辑GSDML文件,对于64 bytes DI 进行如下修改,由于一般的IO模块不需要支持PROFIEnergy,去掉PROFIEnergy支持;修改模块ID(ModuleIdentNumber = "0x00000080");子模块ID不变(SubmoduleIdentNumber="0x0001");定义index=8的数据记录,长度为4个字节,第一个字节为测量类型选择,第二个字节为增益 , 第三、四个字节构成一个字表示为模拟量输入的偏置。
<ModuleList>
<ModuleItem ID="ID_Mod_11" ModuleIdentNumber="0x00000080">
…
<RecordDataList>
<ParameterRecordDataItem Index="1" Length="4" TransferSequence="0">
<Name TextId="T_Analog_Channel_Config"/>
<Ref ValueItemTarget="AI_TYPE_SEL" DataType="Integer8" ByteOffset="0" DefaultValue="0" AllowedValues="0..1" TextId="T_ID_AI_TYPE_SEL" />
<Ref ValueItemTarget="AI_SCALE_SEL" DataType="Integer8" ByteOffset="1" DefaultValue="0" AllowedValues="0..3" TextId="T_ID_AI_SCALE_SEL" />
<Ref DataType="Integer16" ByteOffset="2" DefaultValue="0" TextId="T_ID_AI_OFFSET " />
</ParameterRecordDataItem>
</RecordDataList>
…
</ModuleItem>
</ModuleList>
<ValueList>
<ValueItem ID="AI_TYPE_SEL">
<Assignments>
<Assign Content="0" TextId="T_ID_CURRENT" />
<Assign Content="1" TextId="T_ID_VOLTAGE" />
</Assignments>
</ValueItem>
<ValueItem ID="AI_SCALE_SEL">
<Assignments>
<Assign Content="0" TextId="T_ID_SCALE_1" />
<Assign Content="1" TextId="T_ID_SCALE_2" />
<Assign Content="2" TextId="T_ID_SCALE_4" />
<Assign Content="3" TextId="T_ID_SCALE_8" />
</Assignments>
</ValueItem>
</ValueList>
在主要语言(English)中添加
<PrimaryLanguage>
...
<Text TextId="T_ID_AI_TYPE_SEL" Value="Input type selection"/>
<Text TextId="T_ID_AI_SCALE_SEL" Value="Scale selection"/>
<Text TextId="T_ID_CURRENT" Value="Current 0 ~ 20mA"/>
<Text TextId="T_ID_VOLTAGE" Value="Voltage -10V ~ 10V"/>
<Text TextId="T_ID_SCALE_1" Value="Scale 1"/>
<Text TextId="T_ID_SCALE_2" Value="Scale 2"/>
<Text TextId="T_ID_SCALE_4" Value="Scale 4"/>
<Text TextId="T_ID_SCALE_8" Value="Scale 8"/>
<TextTextId="T_ID_AI_OFFSET" Value="AI offset"/>
</PrimaryLanguage>
这样导入GSDML文件后,在TIA的组态中可以看到模块的配置如下:
通过在PnUsr_cbf_rec_write回调函数中,可以处理PLC在建立连接时通过数据记录下发的参数。以上的示例实现的是标准参数,在TIA中设置参数值,当控制器与设备建立连接时,控制器将配置的参数下载到设备。
7.3 其他类型的参数
除了标准参数以外,还有两种类型的参数
F-Parameters (功能安全参数)
这里不做介绍,将来会有Profisafe的专题
Dynamic Parameters ( iParameters/iPar)
某些现场设备,通过GSD文件进行完整的参数分配并不是十分有效。配置参数需要直接的用户指导或者控制系统处于特定的情况。在大多数情况下,用户必须在设备调试时候根据特定的需求设置这些参数。
举个例子,某些功能安全类型的激光扫描仪需要特殊的工具(setup tool)来定义保护区域,定义这些区域的参数对于不同的设备(安装位置)都是特定的。如果需要更换激光扫描仪,就需要特殊工具重新进行调试。
对于设备的动态参数,更换设备后,最好的方式时重新上电后参数会自动配置到新设备,而不用手动配置参数。Profinet技术通过iParameters 和 iPar-Server,提供了对这类设备自动配置的支持。在设备调试后,PLC的iPar-Server会通过数据库保存所有的动态参数。当设备更换后,iPar-Server会自动将参数恢复到新设备上。
ERTEC200P-2对iPar提供了相应的API和示例