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

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 连续赋值问题

连续赋值问题

112.95.251.214 发布于2014-04-18 17:33 80 0 标签:

想把从db0.dbd0开始的75个数据赋值到从db1.dbd0开始的75个双字中!该用什么指令!好是一条指令完成!不然要写75条赋值程序太麻烦了!

佳答案

可以调用系统功能块sfc20来实现:
1、sfc20:
sfc20“blkmov”:复制存储区域,可将存储器区(=源区域)的内容复制到另一个存储器
区(=目标区域)。
2、有关sfc20:
、以下为允许的源区域:
部分数据块
存储位
输入的过程映像分区(部分过程映像)
输出的过程映像分区(部分过程映像)
、不允许指定string类型的数组。
3、应用sfc20注意:
源区域与目标区域一定不可以交叉。如果指定的目标区域大于源区域,此功能只将
源区域中包含的数据复制到目标区域。
如果指定的目标区域小于源区域,则只复制目标区域中能容纳的数据。
如果已用step7在数据块或本地数据区中定义了源和目标字符串,并要在srcblk
和dstblk参数中使用这些字符串,sfc20也会将源字符串的“大长度”和“实际长
度”发送到目标字符串。为了防止发生这种情况,请自行创建在srcblk和dstblk
参数中使用的any指针。请使用string数据类型完成此操作。
4、应用循环语句也很简便:
例:
lp#-0.0//初始读指针
lar1
lp#-0.0//初始写指针
lar2
l75//75个双字的循环计数为初值
m001:tmb10//计数值送入mb10
opndb0//打开db0
ldbd[ar1,p#0.0]//按读指针指示的地址读数据
opndb1//打开db1
tdbd[ar2,p#0.0]//按写指针指示的地址写数据
+ar1p#4.0//读指针指向下一数据地址
+ar2p#4.0//写指针指向下一数据地址
lmb10//取循环计数值
loopm001//循环计数值如为0则结束循环;如不为0减1后则转向标号为m001的语句,继续循环。

若有收获,就点个赞吧!

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

微信扫一扫分享

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

相关推荐

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