您的位置:控制工程论坛网论坛 » PLC与PAC » 稍微方便一些的模拟量量程转换的方法

jiqishun

jiqishun   |   当前状态:离线

总积分:1951  2024年可用积分:0

注册时间: 2008-01-11

最后登录时间: 2013-07-24

空间 发短消息加为好友

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

jiqishun  发表于 2008/10/23 11:58:31      783 查看 0 回复  [上一主题]  [下一主题]

手机阅读

首先建一个结构

  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//循环

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