FC105输出的双字做比较时,数值为何不一致?

西门子plc 发布于 1年前 分类:S7-300/400

FC105输出的双字做比较时,数值为何不一致??

问题补充:
FC105 out出来的值放在MD4里面(150A电流)

然后将MD4和MD8进行比较的时候。MD4里面的值不是150,而是01125515264 ,为什么?

1个回复

  • plc电工爱好者
    plc电工爱好者

    请参考:
    如何在STEP 7中进行模拟量的线性化和还原?
    说明:

    一个模拟量输入提供了一个数字值来表示标准化的模拟量信号(电流,电压,电阻或温度),该数字值应该能够表示出所测量的参数(例如:容器中的液位)。这个过程被称为模拟量的标准化或线性化。

    相反的,当用户程序计算出一个过程值,并转化为数字量,用于模拟量输出模板输出一个模拟量信号驱动模拟量执行机构,这个过程称为还原。模拟量线性化/还原功能的库文件可以下载并使用。图01是一个线性化的例子。

    图. 01

    图02是一个还原的例子。

    图. 02

    这里 y 值是转化后的结果,而 x 值是已知参数。

    以下四个功能是可装载的库文件,根据 y 或 x 侧的数据类型不同有所区别。

    在FC164中 ,x 值为整数类型 , y 值为整数类型 .
    2.   在FC165中 ,x 值为整数类型 , y 值为实数类型 .

    3.   在FC166中 ,x 值为实数类型 , y 值为整数类型 .

    4.   在FC167中 ,x 值为实数类型 , y 值为实数类型 .

    注意:

    这些功能并不改变地址寄存器 AR1/AR2 ,使用 FBD 和 LAD 时,提供ENO 功能用于将RLO=0 或 1 保存到BR位中。

    以FC165为例介绍程序的处理(整数类型到实数类型的线性化)

    FC165的参数:
    声明
    名称
    类型
    内容

    in
    X
    INT
    范围 {-32768,..,0,..,+32767}

    in
    yMIN
    REAL
    y 的最小值
    {-3.402823e+38,..,
    0.0,..,+3.402823e+38}

    in
    yMAX
    REAL
    y 的最大值
    {-3.402823e+38,..,
    0.0,..,+3.402823e+38}

    in
    x0
    INT
    范围 {-32768,..,0,..,+32767}

    in
    y0
    REAL
    范围 {-3.402823e+38,..,
    0.0,..,+3.402823e+38}

    in
    x1
    INT
    范围 {-32768,..,0,..,+32767}

    in
    y1
    REAL
    范围 {-3.402823e+38,..,
    0.0,..,+3.402823e+38}

    out
    y
    REAL
    范围 {-3.402823e+38,..,
    0.0,..,+3.402823e+38}

    通过设定 yMIN 和 yMAX ,可以设定计算 y 值的范围,这实际上也限定了模拟量模板的上限和下限。

    Y 可以根据线性方程y = a x + b 来计算。

    因而这里使用的公式为:y = (y1-y0) / (x1-x0) * (x-x0) + y0

    使用FC165(整型 > 实型) 进行线性化的例子:

    图. 03

    一个通过模拟量输入模块得到的4mA 到 20mA 信号,在CPU内部被转化成0 到 27648 。待测值为液位,已知模拟量与液位的对应关系为4mA表示0.0m , 20mA表示1.7m 。

    这里的参数为:
    P0(x0=0; y0=0.0)
    P1(x1=+27648; y1=+1.7)

    调用FC165如下:
    CALL FC165
    x:=PEW20
    yMIN:=0,0
    yMAX:=1.7
    x0:=0
    y0:=0.0
    x1:=27648
    y1:=1.7
    y:=MD22

    注意:
    参考手册 "S7-300 Automation System Module data"  (Entry ID 8859629), 第5 章 "Representation of the analog values of analog modules" 来查找CPU检测的电压、电流、电阻以及温度范围。对于S7-400系统,相关信息可以在手册"Automation System S7-400 Module Specifications" (Entry ID 1117740),  5.3章节 "Analog Value Representation"查询。

    复制 "scale.zip" 并双击打开。通过SIMATIC Manager 将项目进行解压即可使用。该项目包含FC164, FC165, FC166 以及FC167 的功能。

    Scale.zip ( 27 KB )

    STEP 7库中也包含了IEC标准块FC105 "SCALE" 。关于该块的说明请参考Step7的在线帮助。

    关键字:
    测量范围,测量值修改