首页 理论教育实际液位值工程转换与FC105功能

实际液位值工程转换与FC105功能

【摘要】:为了解决这个问题,在这里引入了FC105功能。图8-19 FC105调用路径图8-20 FC105调用框图SCALE功能的输入输出参数见表8-2。图8-21 OB35的属性设置以液位传感器为例,如果输入20mA信号表示500mm液位,4mA信号表示0mm液位,则执行SCALE功能后的程序如图8-22所示。图8-22 FC105调用实例图8-23 M0.0信号=0时的变换图8-24 M0.0信号=1时的变换

1.规范化

现场的过程信号(如本案例中的液位信号)是具有物理单位的工程量值,A-D转化后输入通道得到的是-27648~+27648的数字量,该数字量不具有工程量值的单位,在程序处理时带来不方便。因此,工程中经常希望将数字量-27648~+27648直接转化为实际工程量值,这一个过程称为“模拟量的规范化”。

在本案例中,当液位为0m时,传感器输出信号为4mA,对应的模拟量输入通道转换值为0;液位为0.5m(具体参考传感器具体规格,这里只是举例)时,传感器输出信号为20mA,对应的模拟量输入通道转换值为27648。假如程序中读取到的数值为10000时,那么实际液位到底是多少米呢?为了解决这个问题,在这里引入了FC105功能。

调用FC105的具体路径如图8-19所示。

2.FC105功能的输入输出定义

图8-20所示为FC105(即SCALE功能)的LAD调用框图,它接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值,并将结果写入OUT。

978-7-111-38359-8-Chapter08-20.jpg

图8-19 FC105调用路径

978-7-111-38359-8-Chapter08-21.jpg

图8-20 FC105调用框图

SCALE功能的输入输出参数见表8-2。

表8-2 FC105参数输入输出含义

978-7-111-38359-8-Chapter08-22.jpg

SCALE功能使用以下等式:

OUT=[((FLOAT(IN)-K1)/(K2-1))*(HI_LIM-LO_LIM)]+LO_LIM

式中常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR来进行设置。在BIPOLAR情况下,假定输入整型值介于7648与27648之间,因此K1=-7648.0,K2=+27648.0;在UNIPOLAR情况下,假定输入整型值介于0和27648之间,因此K1=0.0,K2=+27648.0。

如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。另外,通过设置LO_LIM>HI_LIM可获得反向标定。使用反向转换时,输出值将随输入值的增加而减小。

3.调用FC105实例

在一般情况下,调用FC105功能可以在OB35等周期性中断中进行编程,这样就能确保模拟量输入信号被定时转换,如图8-21为OB35的属性设置。

978-7-111-38359-8-Chapter08-23.jpg

图8-21 OB35的属性设置

以液位传感器为例,如果输入20mA信号表示500mm液位,4mA信号表示0mm液位,则执行SCALE功能后的程序如图8-22所示。如果FC105功能的执行没有错误,ENO的信号状态将设置为1,RET_VAL等于W#16#0000,OUT输出为实际液位值,这也能回答了“假如程序中读取到的数值为10000时,那么实际液位到底是多少米呢?”的问题,即180.845mm液位。

当M0.0信号=0时,按照图8-23进行变换;当M0.0信号=1时,按照图8-24进行变换。

978-7-111-38359-8-Chapter08-24.jpg

图8-22 FC105调用实例

978-7-111-38359-8-Chapter08-25.jpg

图8-23 M0.0信号=0时的变换

978-7-111-38359-8-Chapter08-26.jpg

图8-24 M0.0信号=1时的变换