发表于:2019/7/25 22:39:35
#0楼
SoMachine编程软件中如何将过程量转换为工程量可以使用线性转换功能块“LIN_TRAFO”
线性转换(功能块)--将在原始下限和上限值范围内的输入实数,转换为由新的工程下限和上限值确定的范围
内的实数。
下面的公式是转换的基础:(IN - IN_MIN) : (IN_MAX - IN) = (OUT - OUT_MIN) : (OUT_MAX - OUT)
管脚定义:
输入:
IN:实数型(REAL);输入值,连接实数型变量或立即数(如0.2)或整数型直接地址(如%MW2);
IN_MIN(输入值下限),IN_MAX(输入值上限),OUT_MIN(输出值下限),OUT_MAX(输入值上限)的数据类型
同上;(注意需要满足IN_MIN<IN_MAX)
输出:
OUT:实数型(REAL);转换后输出值,连接实数型变量;
ERROR:布尔型(BOOL); 错误输出, 如果IN_MIN >= IN_MAX,或者输入值IN超出了 设定的输入值范围,
即IN<IN_MIN或>IN_MAX,则发生错误,输出为TRUE;
不过需要注意的是:
1.IN_MAX必须 >= IN_MIN,否则ERROR引脚会报错;
2.IN需要满足IN_MIN<=IN<=IN_MAX,否则ERROR引脚会报错;
线性转换(功能块)--将在原始下限和上限值范围内的输入实数,转换为由新的工程下限和上限值确定的范围
内的实数。
下面的公式是转换的基础:(IN - IN_MIN) : (IN_MAX - IN) = (OUT - OUT_MIN) : (OUT_MAX - OUT)
管脚定义:
输入:
IN:实数型(REAL);输入值,连接实数型变量或立即数(如0.2)或整数型直接地址(如%MW2);
IN_MIN(输入值下限),IN_MAX(输入值上限),OUT_MIN(输出值下限),OUT_MAX(输入值上限)的数据类型
同上;(注意需要满足IN_MIN<IN_MAX)
输出:
OUT:实数型(REAL);转换后输出值,连接实数型变量;
ERROR:布尔型(BOOL); 错误输出, 如果IN_MIN >= IN_MAX,或者输入值IN超出了 设定的输入值范围,
即IN<IN_MIN或>IN_MAX,则发生错误,输出为TRUE;
不过需要注意的是:
1.IN_MAX必须 >= IN_MIN,否则ERROR引脚会报错;
2.IN需要满足IN_MIN<=IN<=IN_MAX,否则ERROR引脚会报错;