回复:关于ANY指针的一点疑问

RENHQ

西门子1847工业学习平台

  • 帖子

    13657
  • 精华

    61
  • 被关注

    2166

论坛等级:至圣

注册时间:2008-12-28

钻石 钻石 如何晋级?

发布于 2017-02-18 14:18:40

17楼

展开查看
以下是引用20151013在2017-02-18 14:14:35的发言 >16楼

再看了看整个程序,明白了。。

关键在于

FUNCTION FC10: VOID

VAR_TEMP

 Source :ANY;

 Target :ANY;

END_VAR

原来不管是 Source还是 Target都是TEMP,而我前面固化了自己的思维,把这两个变量假设认为是IN变量


那么:在示例程序中,因为Source或 Target为TEMP,那么LB[AR1,P#0.0]这个L有或者没有没有任何区别。

但如果Source或 Target是IN变量,那么多了这个L反而就不对了


你们觉得呢?@RENHQ  @威师爷

以下是引用RENHQ在2017-02-18 13:46:37的发言 >12楼:又弄蒙了这个指针刚...

引用12楼详细内容:

又弄蒙了

这个指针刚开始指的是V区域....

以下是引用20151013在2017-02-18 12:43:47的发言 >:那按你这样说的话T...

引用详细内容:

那按你这样说的话T LB[AR1,P#0.0]这条指令CPU操作系统是如何识别这个“L”到底是被调用块(例如FC)中的临时局部变量(TEMP)还是调用块(例如OB1)里的局部临时变量?

即AR1里地址指向的是OB1中的TEMP,而如果按你说的如果系统将“L”识别为FC的TEMP,那岂不是错了吗?

在IN里面也对

你看看下面的文档

FC中如何传递ANY指针

https://support.industry.siemens.com/cs/cn/zh/view/76779257



Q群:https://jq.qq.com/?k=9BDuEgf6
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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