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

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 如何使用SFC20复制远程数据

如何使用SFC20复制远程数据

刘玉蓉 发布于2014-08-25 17:45 2 0 标签:

300和200(EM277)通讯,需要大量的数据要读写,可是由于使用cpu313,过程映像区不足,只能直接读写PIB、PQB。想使用SFC20复制数据,由于PI、PQ不能按位寻址,数据格式无法写出。有什么办法解决吗?

佳答案

1、I/O区可以对“位”寻址,而PI和PQ区不能,PI和PQ小寻址单位是BYTE,如PIB256、PQW300...
2、I/O区,按西门子的定义应该叫“过程映像区”,本身这个过程映像区自己也是带有外设地址的!比如IB0,它对应一个PIB0, 它俩不同之处在于每个PLC扫描周期的开始,系统会将PIB0里的数据刷新到IB0内, 然后在接下来的一个扫描周期之内,IB0的数据均保持不变(当然,如果调用SFC在程序内刷新输入端口,那又当别论),而PIB0则是实时的,即完全物理意义上的端口!  所以看到一些S7-300标出大I/O寻址为1024位,算算看,一块CPU带四个机架,每个机架装满八个模块, 每个模块大32点,那么4*8*32=1024位=128BYTE ... ...超过这个以后就是外设通道了,就只能以PI或者Q来表示了,而且这就意味着不对直接对“位”寻址了! 如果你非要对位寻址,怎么办?  很好办:
L   PIB256
T   MB0
那么MB0里的位就对应了PIB256的八位。
而PQW不能直接监视,但是可以在程序内部做个输出缓冲,比如由DB*.DBW*或MW*赋值给PQW!
可以这样:例如:
L  MW100
T PQW256
监视MW100即可。
注意:SFC20中不支持PIW区域。
例如将PIW128开始的共50个字送入MW0-MW49中
在OB1:
      L     P#128.0          //初始读指针
      LAR1  
      L     P#0.0            //初始写指针
      LAR2  
     L     50               // 50个字的循环计数为初值。注意,可以修改这个常数,完成任意长度的循环
M001: T     MB    100        //计数值 送入MB 100
      L     PIW [AR1,P#0.0]   //按读指针指示的地址读数据
      T     MW [AR2,P#0.0]  //按写指针指示的地址写数据
      +AR1  P#2.0            //读指针指向下一数据地址
      +AR2  P#2.0            //写指针指向下一数据地址
      L     MB    100        //取循环计数值
      LOOP  M001           //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。

若有收获,就点个赞吧!

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

微信扫一扫分享

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

相关推荐

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