回复:【万泉河】重新发现FB块之INOUT

万泉河

  • 帖子

    10935
  • 精华

    132
  • 被关注

    1024

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2018-11-13 16:04:03

24楼

展开查看
以下是引用YiMoon在2018-11-13 15:36:10的发言 >23楼

 

这个FC块的IN可以写的问题,我在10年就发过贴子了,是基于STEP7的,版本V5.2,见链接:

http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=670344&b_id=4&s_id=23&num=25#anch


在编程手册里有这样的说明:

 


以下是引用伊默在2018-08-07 11:43:17的发言 >15楼:确定 对于FC来说...

引用15楼详细内容:

确定 对于FC来说,一个接口类型“IN”在STL编程环境下既可以读也可以写操作,够了  ???

这真是颠覆了我十几年的认知啊! 


IN :在调用开始时, 从实参复制到形参

OUT : 在调用结束时, 从形参复制到实参

IN_OUT : 在调用开始时, 从实参复制到形参;在调用结束时, 从形参复制到实参


难道不是这个规律么?

而对于IN,假设实参为指针, 那么调用开始的时候传递的是指针, 在块内对指针指向的寄存器进行了操作。 这样即使在块结束后没有形参到实参的输出,但是指针指向的寄存器已经操作了。这就有点类似"IN_OUT"的效果了... ...


终于明白了在说什么。 

原来说的是FC


而我文章只关注了FB。 


FC作为一个更简化的模块形式, 系统没有做足够多的资源来严格区分导致的。 

但其实也做了某种形式的保护, 在LAD中对IN写操作就报错。 


无非是stl没有做详尽的语法检查,挡住你犯错误。 

然后你分明是故意钻漏洞给自己难堪,还非要不依不饶的问, 为什么为什么为什么?


就好比超市有专门的入口通道, 也有专门的出口通道。 你趁着保安喝口水的功夫,没注意到你,从入口通道退出来了, 然后立马就翻脸,问明明入口,怎么可以出!!


微信公众号:PLC标准化编程,ZHO6371995
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3444条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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