回复:SFC20地址传递程序分析

emil128

  • 帖子

    271
  • 精华

    10
  • 被关注

    21

论坛等级:侠圣

注册时间:2011-05-16

普通 普通 如何晋级?

发布于 2012-11-02 10:40:07

3楼

楼主的概念有误,还是需要先补一下关于指针的知识,尤其是ANY指针。
“#SenderBuffer的数据传递给了#TargetData,#TargetData又怎么传递给实际的变量地址”
#SenderBuffer的数据 !并没有 !传递给了#TargetData 而是传递给了#TargetData指向的地址
这里的#TargetData是any指针,里面保存的就是地址。
楼主图里的程序就是如何构建这个指针的,从楼主的提示#CommuDB_Num为100
那么#TargetData=P#DB100.DBX0.0 BYTE 32

SFC20的工作就是把SRCBLK指向的地址区域里的数据传送到DSTBLK指向的地址区域
另外源与目标长度不一致时也是可以传送的,具体如何工作请F1

不过这里我有一个小疑问,从楼主的图上来看,FB块里是定义了sourcedata的指针的
从命名来看,sourcedata应该才是数据源的地址指针,而SenderBuffer应该是实际数据的缓冲
但在使用sfc20的时候却没有使用sourcedata,反而用了#SenderBuffer,是不是笔误写错了?!
亦或者#SenderBuffer的前10个字节保存的就是一个ANY指针,这里就不得而知了。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54622条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。