使用“Get_IM_Data”指令读出设备的识别和维护数据。
描述
对于S7-1200(固件版本V4.1或更高)和S7-1500(固件版本V1.5或更高),可以在 STEP 7 (TIA Portal)V13 或更高版本中使用"Get_IM_Data" 指令。为读取设备的识别和维护数据(I&M data),从"AdvancedInstructions > Diagnostics" 中拖拽出"Get_IM_Data" 指令到程序编辑器。
在如下的例程(图1)中,调用并参数化 "Get_IM_Data"指令,以读取SMC(SIMATIC存储卡)的数据。
图. 1
进行参数化“Get_IM_Data”指令如下:
使用SMC的系统常数参数化输入参数“LADDR”。打开对话框“PLC tags > Show alltags“,从“System constants”选项中选择系统常数”Local~MC”。
参数“IM_TYPE”默认值为“0”( I&M 0数据规范),不允许改变。
在数据块中定义变量的数据类型为“IM0_Data”,使用数据类型为“Variant”的输入输出参数“DATA”参数化这个变量。
参数化输出参数“DONE”、“BUSY”、“ERROR”和“STATUS” 以评估可能的错误。
至此,可以从之前编程所创建的数据块中读取出SIMATIC存储卡的序列号。 图2 显示了数据块“Block”中数据类型为“"IM0-Data”的DB变量“SMCdata”的在线视图。
图. 2
功能块 "Floating Average"计算多个读入数据的算术平均值,从而实现数据的平滑处理。输入数据可周期性进入,也可以通过外部信号的触发进入。
说明
功能块计算Zui近100个输入数值的平均值。采集的数据达到100个之后,Zui后进入的数据挤出Zui早进入的数据。(先进先出原则)
通过 "mode"参数的设置可以选取两种数据进入方式中的一种:
输入参数"trigger" 检测到沿信号时读取一个数据(mode=1)周期性读取 (mode=2)
模式参数 "mode"设置为有效值‘1’或者‘2’时,功能块激活。可以按照需要在两种模式间切换。
模式参数 "mode"设置为有效值‘1’或者‘2’时,功能块激活。可以按照需要在两种模式间切换。
说明
功能块 "Floating Average"默认计算100个输入数据得出平均值。打开程序块,通过修改"Constant"参数底下的"WINDOW_SIZE"参数数值,您可以根据需要调整输入数据的个数。
功能块 "Floating Average" 的输入参数 "value"不具备数据类型质询功能。所以输入参数"value"的数值不为实数时进行编译,可能是按照隐式转换进行处理,也可能会报错。
满足下面的硬件和软件要求即可使用该功能块:
S7-1200 和 S7-1200F 产品系列
S7-1500 和 S7-1500F 产品系列
仿真该功能块需要 S7-PLCSIM (V13 SP1 以上)
软件版本 STEP 7 V13 SP1 Update 4 以上