控制工程师论坛

PLC与PAC

稍微方便一些的模拟量量程转换的方法

jiqishun
jiqishun

2008-10-23

首先建一个结构

  STRUCT 

   PV : REAL ;//转换后的值

   SCALE_HIGH : REAL ;//量程上限

   SCALE_LOW : REAL ;//量程下限

   ALM_HIGH : REAL ;//报警上限

   ALM_LOW : REAL ;//报警下限

  END_STRUCT 

在DB块中根据模拟量的个数,建立若干个这样结构的变量

编写STL程序如下:

      L     P#512.0//模拟量的I/O地址

      LAR1  

      L     P#0.0

      LAR2  

      L     200//模拟量的个数

LOP1: T     LW     0//模拟量个数暂存

      L     PIW[AR1,P#0.0]

      T     LW     2//获取模拟量的值,并暂存

      +AR1  P#2.0//指针加2



      OPN   "AIDB"//打开数据块

      L     DBD [AR2,P#4.0]//获取量程上限值

      T     LD     4

      L     DBD [AR2,P#8.0]//获取量程下限值

      T     LD     8



      CALL  "SCALE"//调用FC105

       IN     :=LW2

       HI_LIM :=LD4

       LO_LIM :=LD8

       BIPOLAR:=FALSE

       RET_VAL:=LW12

       OUT    :=LD16



      L     LD    16//获取FC105的返回值

      T     DBD [AR2,P#0.0]//送到DB块中的PV值

      +AR2  P#20.0//DB指针加20



      L     LW     0//为LOOP循环用

      LOOP  LOP1//循环

呵呵,可以省些重复劳动,不知道对大家有没有帮助
回帖

评论0

首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China