电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

西门子S7-300 PLC怎样选取FB或FC

2016-08-22 15:07分类:西门子PLC 阅读:

          检验FC、FB编写水平的一个重要指标是它的可移植性(可重用性)。编程员在长期的编程过程中,不断积累了大量的FC和FB。如果它们内部全部使用局部变量,不用全局变量,不作任何修改,就可以将它们移植到其他项目,通过调用与被调用的关系,可以迅速生成新的项目程序。
        如果子程序的任务不能在一个扫描周期完成,需要在两次调用之间保存某些变量的值,则应选用FB,而不是FC。因为这种情况下FC需要用全局变量(例如共享数据块和M区)来保存这些变量的值,但是这样会影响FC的可移植性。如果块的内部使用了全局变量,在移植时需要考虑每个块使用的全局变量是否会与别的块产生地址冲突(同一地址重复使用)。如果这样的FC很多,移植是附加的工作量将会很大,也很容易出错。

西门子S7-300 PLC怎样选取FB或FC
        FC与FB的本质区别
       1、FB有背景数据块,FC没有背景数据块。这是最本质的区别。
       背景数据块是每个被控对象的专用存储区,就好像被控对象在银行的私人保险箱。临时变量是多个FB、FC的被控对象公用的数据区,就好像布告栏,大家都可以往上面贴布告,先贴的布告将被后贴的覆盖。
       2、FB和FC的局部数据都有IN、OUT、IN_OUT和TEMP,FC的返回值RET_VAL实际上是输出参数。因此有无静态变量(STAT)是二者的局部变量的本质区别。FC没有静态变量。
       3、功能块的输出参数不仅与来自外部的输入参数有关,还与用静态变量保存的内部状态数据有关。功能因为没有静态变量,相同的输入参数产生的执行结果是相同的。
       4、不能给功能的局部变量设置初始值,可以给功能块的局部变量(不包括TEMP)设置初始值。初始值需要专用的存储区来保持,FC因为没有背景数据块,所以不能设置初始值。

上一篇:西门子PLC的安全保护

下一篇:西门子S7-300/400PLC程序块怎样加密

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部