工控课堂

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

工控课堂 首页 工控文库 PLC学习 查看内容

模拟量万能公式,不管什么品牌的PLC都适用!

2019-11-10 09:23| 发布者: 198366809| 查看: 1| 评论: 0|原作者: 198366809

摘要: LAD方法实现 (1)计算公式说明*(IN4-IN3)+IN3IN0:模拟量输入信号,数据类型为整数IN1:模拟量信号下限,数据类型为整数IN2:模拟量信号上限,数据类型为整数IN3:工程量数值下限,数据类型为实数IN4:工程量数值上 ...
LAD方法实现
(1)计算公式说明
[(IN0-IN1)/(IN2-IN1)]*(IN4-IN3)+IN3
  • IN0:模拟量输入信号,数据类型为整数
  • IN1:模拟量信号下限,数据类型为整数
  • IN2:模拟量信号上限,数据类型为整数
  • IN3:工程量数值下限,数据类型为实数
  • IN4:工程量数值上限,数据类型为实数


(2)程序编写说明


02SCL方法实现(1)计算公式说明

[(Raw-Dmin)/(Dmax-Dmin)]*(Emax-Emin)+Emin
  • Raw:模拟量输入信号,数据类型为整数
  • Dmin:模拟量信号下限,数据类型为整数
  • Dmax:模拟量信号上限,数据类型为整数
  • Emin:工程量数值下限,数据类型为实数
  • Emax:工程量数值上限,数据类型为实数


(二)程序编写说明
FUNCTION FC1 : VOID //函数定义
VAR_INPUT           //输入变量定义
    Raw,Dmin,Dmax: INT;
    Emin,Emax: REAL;
END_VAR
VAR_OUTPUT          //输出变量定义
    OutReal: REAL;
    OutPercentage:REAL;
END_VAR
VAR_TEMP            //临时变量定义
    RawTemp: INT;
END_VAR
BEGIN
    IF (Emin < Emax) AND (Dmin < Dmax) THEN//判断上下限值是否设置合理
        IF Raw < Dmin THEN RawTemp := Dmin;//输入值超下限直接取下限
        END_IF;
        IF Raw > Dmax THEN RawTemp := Dmax;//输出值超上限直接取上限
        END_IF;
        IF (Raw >= Dmin) AND (Raw <= Dmax) THEN RawTemp := Raw;//输入正常直接读取输入值
        END_IF;
        OutReal := (INT_TO_REAL(RawTemp-Dmin)/INT_TO_REAL(Dmax-Dmin))*(Emax-Emin)+Emin;//数量类型转换和计算公式
        OutPercentage := (OutReal/(Emax-Emin))*100.0;
    ELSE   //上下限值设置不合理直接输出零
        OutReal := 0.0;
        OutPercentage := 0.0;
    END_IF;
END_FUNCTION


v2-7a7b3d714d6426f02fdb0abfe796f452_hd.webp.jpg

路过

雷人

握手

鲜花

鸡蛋

相关阅读

最新评论

热门文章

QQ|免责声明|本站介绍|工控课堂 ( 沪ICP备14007696号-3 )|网站地图

GMT+8, 2019-11-10 09:23 , Processed in 0.051354 second(s), 42 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部