签到有奖
消息提醒
运维工程师专区
官方商城
点击复制链接
关注该帖后,有多人参加探讨会对您通知与提示!
帖子
精华
被关注
论坛等级:侠客
注册时间:2012-05-24
白金 如何晋级?
2063
13
2020-11-13 22:15:26
同样的一段测试程序,为何在FC中和OB1中是两个结果。FC中的输出为何无法保存?难道是我对FC的用法还不理解 ,还请指教!
提问者:过眼云烟
FC(功能)定义FC(功能)是不含存储区的代码块,常用于对一组输入值执行特定运算,例如:可使用 FC 执行标准运算和可重复使用的运算(例如数学计算)或者执行工艺功能(如使用位逻辑运算执行独立的控制)。FC(功能)也可以在程序中的不同位置多次调用,简化了对经常重复发生的任务的编程。通常,函数会计算函数值,可以通过输出参数 RET_VAL 将此函数值返回给调用块。为此,必须在函数的接口中声明输出参数 RET_VAL,RET_VAL 始终是函数的首个输出参数。FC(功能)没有相关的背景数据块 (DB),没有可以存储块参数值的数据存储器,因此,调用函数时,必须给所有形参分配实参。 对于用于FC(功能)的临时数据,FC(功能)采用了局部数据堆栈,不保存临时数据,要永久性存储数据,可将输出值赋给全局存储器位置,如 M存储器或全局DB。
FC 功能介绍_S7-1200:
http://www.ad.siemens.com.cn/productportal/prods/s7-1200_plc_easy_plus/smartsms/084.html
FB块和FC块:
http://www.ad.siemens.com.cn/productportal/prods/published/prog/prog_2.3/prog_2.3.html
补充问题回答:你在FC块中用置位和复位指令没有,你都看到结果了。必须你start一致接通才能算是给motor赋值,这样motor才能有输出。
FC块的的原理是先赋值再使用的原则。你想用置位和复位那就用FB来做。
如引用内容所述,FC内的motor无论是用启保停,还是用锁存指令SET,都无法让motor输出点保持状态=1.
剩余80%未阅读, 请登录阅读
请填写推广理由:
AI 小西智伴登场,7×24 小时权威支援,让技术支持告别等待!
助你技有所长,论有所获
首次发帖探讨工控技术话题 立获新人礼包,100中奖哦! (包含周边、书籍、兑奖西币)
共有15100条技术帖
恭喜,你发布的帖子
快扫描右侧二维码晒一晒吧!
再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!
分享
只看 楼主
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!