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

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 有没有让DB块里面数据 移位的系统功能块

有没有让DB块里面数据 移位的系统功能块

刘玉蓉 发布于2014-10-14 17:52 246 0 标签:

就是让把dbw8移动到dbw10   dbw6到dbw8  以此类推
类似这样的功能块有吗 还是需要自己编写

佳答案

1、没有这样的功能块需要自己编写。
这个问题看似简单,但要注意的是不要丢失原数据,方法就是首先要将原数据块进行备份。
备份的方法就是:
使用系统功能块SFC 20 "BLKMOV” (块移动)可将存储器区(= 源区域)的内容复制到另一个存储
器区(= 目标区域)。例如DB0拷入DB1.
CALL  "BLKMOV"                                                   
 SRCBLK :=P#DB0.DBX0.0   BYTE 20
 RET_VAL:=MW0
 DSTBLK :=P#DB1.DBX0.0   BYTE 20
2、编程,信手编了几句,仅供参考:
用循环语句。例如将DB 1的20个字,按要求送入DB 0中,即把dbw0移动到dbw2   dbw2到dbw4......。
       L     P#0.0          //初始读指针
       LAR1  
       L     P#0.0          //初始写指针
      LAR2
      L     20               // 20个字的循环计数为初值
M001: T     MB    10        //计数值 送入MB 10
      L     DB1.DBW [AR1,P#0.0]  //    //取数据
      T     DB0.DBW [AR1,P#2.0]  //按写指针指示的地址写数据
       +AR1  P#2.0            //读指针指向下一数据地址
       +AR1  P#2.0            //写指针指向下一数据地址
        L     MB    10        //取循环计数值
      LOOP  M001     //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。
3、上述程序执行后 DB1保持了DB0的原数据,DB0为排列后数据。

若有收获,就点个赞吧!

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

微信扫一扫分享

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

相关推荐

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