在S7-200 SMART中因为A/D(模/数)、D/A(数/模)转换之间的对应关系, CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数值量的换算关系。
例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 SMART CPU内部,0 - 20mA对应于数值范围0 - 27648;对于4 - 20mA的信号,对应的内部数值为5530 - 27648。如果有两个传感器,量程都是0 - 16MPa,但是一个是0 - 20mA输出,另一个是4 - 20mA输出。它们在相同的压力下,变送的模拟量电流大小不同,在S7-200 SMART内部的数值表示也不同。显然两者之间存在比例换算关系。模拟量输出的情况也大致相同。上面谈到的是0 - 20mA与4 - 20mA之间换算关系,但模拟量转换的目的显然不是在S7-200 SMART CPU中得到一个0 - 27648之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。
模拟量的输入/输出通用的换算公式:
模拟量的输入/输出通用的换算公式:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
Ov: 换算结果
Iv: 换算对象
Osh:换算结果的高限
Osl:换算结果的低限
Ish:换算对象的高限
Isl:换算对象的低限
它们之间的关系可以图示如下:
图1. 模拟量比例换算关系
量程转化指令库:
为用户便于使用,这里提供了量程转化库,用户可以添加到自己的Micro/WIN编程软件中应用。
模拟量比例换算指令库 |
在这个指令库中,子程序S_ITR用来进行模拟量输入到S7-200 SMART 内部数据的转换;子程序S_RTI可用于内部数据到模拟量输出的转换。
编程举例:
将4 - 20mA模拟量输入转换为内部百分比值将内部百分比值转换为4 - 20mA模拟量输出
热电阻、热电偶比例的换算:
温度模拟量输入模块(EM AT04、EM AR02、EM AR04)所读取的"热电偶“、”热电阻“数据是温度测量值的10倍(摄氏或华氏温度)。如AIW16里监控到520相当于实际温度52.0度。,可以自己做运算,当然也可以按照上文图中的步骤做量程转换,调整上下限即可。