一个老鸟的菜鸟式提问:PLC的工作原理?

已锁定

伊默

西门子1847工业学习平台

  • 帖子

    4264
  • 精华

    118
  • 被关注

    220

论坛等级:至圣

注册时间:2003-10-24

白金 白金 如何晋级?

一个老鸟的菜鸟式提问:PLC的工作原理?

2872

16

2019-11-11 09:20:00

这些天偶尔在看看C#由入门到放弃。 了解了一下函数的方法与类的实例(对象)就相当于西门子PLC的FC及FB背景数据。 由此想到了一个问题(PS:这问题看起来显得我都完全不懂PLC,差点私下微信向Zane版请教,想想为了造福大家,我就丢人点也没关系,在论坛上提出这个问题吧 ^_^),之前我写程序的习惯绝大部分都是FB,很少用FC, 就算用FC也是完全独立的调用,所以还真没好好想过这问题。


问题: PLC系统每次调用(假定一次扫描周期内有多次调用)FC时是新建一个FC的副本,还是按照代码顺序依次执行?


问题的场景: 新建一个小程序,包含OB1,FC1, 中断程序INT1。   两个全局布尔变量 mResult1,mResult2。 


FC1有两个Int型Input变量,假设为In1和In2, FC内有若干代码:

... ... ... FC1的代码

........... FC1的代码 (华丽的分割线)

FC1 := In1>In2 ;

... ... ... FC1的代码


假定程序的执行顺序如下: 

OB1内调用FC1,代码为mResult1 := FC1(In1:=20, In2:=10),   当FC1刚执行到 (华丽的分割线)时, 中断程序INT1触发了, 在中断程序INT1内仅调用FC1,代码为 mResult2 := FC1(In1:=30, In2:=40);  待中断程序INT1执行结束再返回到OB1执行完此周期,   问此时mResult1,mResult2分别为True还是False ?


先说说我的推断结果啊: mResult1=True ,  mResult2 = False (就是PLC系统每次调用FC时都会重新建立相应的临时变量区)

@Zane  谢谢!


一个老鸟的菜鸟式提问:PLC的工作原理? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10587条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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