求助高手,费解1200PLC的FC,FB,有图,有真相,求答案 点击:7922 | 回复:4



湛蓝小尔

    
  • 精华:1帖
  • 求助:142帖
  • 帖子:180帖 | 468回
  • 年度积分:50
  • 历史总积分:1321
  • 注册:2014年2月19日
发表于:2015-04-29 11:42:12
楼主
  1. 看了很多资料,自己造了个FC,即两个电压求差值,两个距离求差值,电压差值除以距离差值,得到一个K

  2. 采用了FC+DB,想知道,如果在不同时刻多次调用FC+DB,和同一时刻调用FC+DB分别会出现什么问题

  3. 到底用FB好,还是FC好啊,求详解下FB和FC

  4. 求助高手支持下FB怎么写,最好以此为例
    以下为自己造的FC

    FC主程序:

    DB程序:

   MAIN主程序:




yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 9799回
  • 年度积分:1894
  • 历史总积分:38851
  • 注册:2005年4月22日
发表于:2015-04-29 12:30:23
1楼

1、因为S7-1200还是遵循着扫描周期的机制,所以不存在同一时刻调用FC这样的情况,但是有一点需要说明的是:西门子FC中直接使用共享DB是一个非常不好的习惯,这种在西门子的工程师(厂家)的库中是不会这样做的。

2、FB,FC之间的区别在于:FB具有自己的存储区域而FC使用系统分配的临时区域,且PLC的OS只负责分配临时区域并不管资源回收的,所以FC中遵循的原则是先赋值再使用,否则很有可能临时区的数据是其他FC用剩下的,会造成运行结果的混乱。

S7-1200使用的编程概念基本等同于Step7编写S7-300/400的编程方式,所以关于FB,FC的问题早先有诸多讨论。



湛蓝小尔

  • 精华:1帖
  • 求助:142帖
  • 帖子:180帖 | 468回
  • 年度积分:50
  • 历史总积分:1321
  • 注册:2014年2月19日
发表于:2015-04-29 14:06:44
2楼


回复内容:

对: yuanle 1、因为S7-1200还是遵循着扫描周期的机制,所以不... 内容的回复!

楼主,还是你啊,雷锋无处不在啊。

我尝试了下,在主程序里调用FB,它会自己生产数据块,调用好几个,就会生产好几个数据块。

  1. 那么是不是说FC不可以同时调用,但是FB可以同时调用.

  2. 可是我利用FC算出的结果,怎么转移出来?在调用FC的后面加一个MOVE指令吗

  3. 调用FC,或者FB以多长时间为好,我执行完了,还要干别的事情,这需要注意吗

hpulizhong

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 350回
  • 年度积分:0
  • 历史总积分:1281
  • 注册:2011年2月24日
发表于:2015-04-29 14:38:44
3楼


回复内容:

对: yuanle 1、因为S7-1200还是遵循着扫描周期的机制,所以不... 内容的回复!


说的很不错,如果要使用背景数据块就把FC改为FB的,如果要使用FC就先分配好输入输出再使用。

hpulizhong

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 350回
  • 年度积分:0
  • 历史总积分:1281
  • 注册:2011年2月24日
发表于:2015-04-29 14:45:32
4楼


回复内容:

对: 湛蓝小尔 回复内容:对: yuanle  1、因为S7-1200... 内容的回复!


PLC是顺序执行,循环扫描,所以FC调用不存在同时执行的情况,总会有先右后,你可以在程序中多次使用。PLC的地址多的是,你为什么非要使用相同的地址,然后计算完再转移出来呢。直接使用不同的地址不就行了。


相关主题

官方公众号

智造工程师