技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 如何用数据块中的值做指针

如何用数据块中的值做指针

刘玉蓉 发布于2014-10-21 17:18 135 0 标签:

准备做60次取样值的平均值,现在有一个数据块DB160, 从DBW0到DBW118是数组放60个历史值,DBD120放总和,DBW124放均值,DBX126放0-59的循环数(由60取模而来),每当块调用一次 读取DBX126,找出对应的历史值由总数减去历史值,然后加上新从外部取样读取的值成为新总数放入原总数位置,新读取值放入原历史值位置成为历史值,循环值加一. 我是次用语句表,小白了 ,看了半天S7-400寻址写出来的还全是红字(特别是怎么用循环值找历史值),请帮忙写一个范例,好是有注释。

佳答案

为了合理并编程方便, 修改一下:
DBD120放总和;
DBD124放平均数(这样编程方便);
DBW128放循环参数。

1、在FC1中编制下述程序,对有关单元进行初始化:   
    OPN  DB160
     L   L#0//32位整数常数
     T   DBD120//初始累加和单元
     T   DBD124//初始累加和单元
     L   0
     T   DBW128//初始平均单元
2、 在FC2中编制 :
     OPN  DB160//打开数据块
     L     P#0.0          //初始指针
     LAR1  
      L     60              // 60字的循环计数为初值
M001: T    DBW128        //计数值 送入DW126 
      L    DBW [AR1,P#0.0]   //按指针指示的地址读数据
      ITD //整数(16 位)转成双整数(32 位)
      L    DBD120  
     +D //作为双整数(32 位),将累加器1 和累加器2 的内容相加
      T   DBD120//l进行累加
     +AR1  P#2.0            //读指针指向下一数据地址
      L     DBW128        //取循环计数值
      LOOP  M001           //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。         
      L    DBD120
      L    L#60//  32位常数60
      /D    // 求平均数
      T  DBD124//存平均数
3、根据实际要求来安排FC1、FC2的调用顺序。注意FC1一般只调用一次。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签