qiang2751290
级别: 家园常客
精华主题: 0
发帖数量: 482 个
工控威望: 892 点
下载积分: 463 分
在线时间: 373(小时)
注册时间: 2012-06-03
最后登录: 2024-05-27
查看qiang2751290的 主题 / 回贴
楼主  发表于: 2013-12-13 11:49
各位我之前用的是欧姆龙的PLC, 现在由于工作需要要用西门子300PLC, 主要有几个问题实在不慎理解, 也看了不少书,看的也是云里雾里的。  疑问如下:


1.    关于S7-300中  FC  没有存储区, 就是讲在FC中编写程序是只能编写一些逻辑控制量,   像时间继电器或计数器、还有数据传送指令等,就不能在里面编写。 在我理解中FC就好像欧姆龙中

  功能块。 是吗?   请解答。

2.   还有300中FB  有存储区, 就是讲像有数据类型的例如时间继电器或计数器、还有数据传送指令等,就可以在里面编写。  FB和DB是对应着使用。 那么在OB1中调用FB时是不是每调用一个都要

建立一个DB块, 如果一个DB能不能多次调用呀???


以上请各位大侠回答, 小弟在此感谢了。
乌龟船长
级别: 网络英雄

精华主题: 0
发帖数量: 1282 个
工控威望: 7631 点
下载积分: 1313 分
在线时间: 2656(小时)
注册时间: 2007-03-21
最后登录: 2024-11-23
查看乌龟船长的 主题 / 回贴
1楼  发表于: 2013-12-13 12:22
    S7-300plc中的FB和FC的分别?FB带有自己的背景DB而FC没有自己的背景DB, 用FC 和FB 有什么分别呢,他们都能实现控制功能,到底该用FB还是该用FC,什么时候用FB什么时候用FC?
FB与FC没有太大的差别,FB带有背景数据块,而FC没有。所以FB带上不同的数据块,就可以带上不同的参数值。这样就可以用同一FB和不同的背景数据块,被多个对象调用。
    FC和FB像C中的函数,只不过FB可以生成静态变量,在下次函数调用时数据可以保留,而FC的变量只在调用期内有效,下次调用又重新更换。 每次调用FC的I/O区域必须要自己每次手动输入,而FB就不要,省去不少麻烦,如果在上位机控制直接输入DB控制地址就可以。

举个例子来说,有50台电机需要控制,这些电机除了参数不一样,控制流程上是一样的,每个

电机需要不同的参数去运行,运行中的过程参数要参与到下一次的控制过程中。
这个要求,用FC做的话,你需要针对不同的电机分配好DB块,来逐一的确认参数地址,不能混

淆,保存和调用不能出错,可以想象会有多麻烦。如果用FB来做呢?写好控制过程和定义的参

数的调用就可以了。针对电机重复调用同一个FB,每次调用指定一个独立的DB作为背景数据块

,完全不必理会背景DB中的数据是怎么存储的。如果功能需要修改,只要修改该FB就行了。
还有其他的例子,比如PID、比如流量累计等等。