小编很抱歉,因为小编是以基恩士,三菱的plc一起学习并找发现不同!!!并结合工作的案例来进行学习,所以内容上与系统的学习还是存在差异。如果只是单独的学习此篇文章,如果对您有帮助,欢迎点赞收藏,有不足之处欢迎评论,一起讨论。
目录
????????FB是"Function Block"(功能块)的缩写,它是一种可重复使用的程序单元,可以被多次调用并集成到更大的控制程序中。FB通常用于解决重复的控制问题或在不同控制任务之间共享代码。
????????FB模块一般是由PLC制造商提供的预先编写的FB代码,它负责执行特定的控制函数,并展示该函数的输入和输出信息。FB模块可以包括各种控制功能,例如逻辑运算、加、减、乘、除、计数、定时和比较等。
????????使用FB模块具有多种优点。首先,它可以促进PLC程序的重用性和模块化,从而提高编程效率和整体控制系统的可维护性。其次,FB模块的封装性使得其易于测试、调试和优化。
????????在使用FB模块时,控制工程师只需要将其嵌入到PLC程序中,并为其指定输入和输出参数,该块就可以完成指定的控制功能。PLC制造商通常会提供一些常见的FB模块,以便用户直接使用,也可以自己编写自定义的FB模块,以实现特定的控制需求。
????????FC模块是PLC中的一个术语,它代表"Function Chart"(功能图表)。FC是一种图形化的编程语言,用于描述程序执行的流程和逻辑。
????????FC模块是由PLC制造商提供的预先编写的FC代码,它主要用于描述程序的执行步骤和条件。FC模块可以包含一系列的步骤或动作,这些步骤可以是顺序的、并行的、交替的或循环的。
????????FC模块的目的是将程序的逻辑和控制流程可视化,并且更易于理解和调试。使用FC模块,控制工程师可以通过连接和配置不同的功能块来构建程序。这些功能块可以是输入/输出逻辑、计算函数或其他控制操作,可帮助实现复杂的自动化控制。
????????通过在FC模块中定义各个步骤的条件和操作,并将它们按照需要的顺序连接在一起,控制工程师可以创建一个整体的控制逻辑。这种模块化的方法使得程序更容易理解、维护和修改。
????????同时,FC模块还可以提供诊断和运行时监视功能,帮助控制工程师对程序的执行进行实时监测和分析。
? ? ? ? 小编用下表来显示区别
FB | FC | |
---|---|---|
英文名称 | function block | function |
中文名称 | 函数功能块 | 函数 |
实例化(就是需不需要名称) | 需要 | 不需要 |
背景数据块(是否一直分配内存) | 需要 | 不需要 |
监控调试 | 可以 | 不可以 |
内存释放情况 | 变量每一次调用完也不会释放,变量值有累计的效果(类似C语言的static命名的变量),相同的输入会出现不同的输出。 | 变量每一次调用完就被会释放,变量值没有累计的效果(类似C语言的普通变量),相同的输入会有确定的输出。 |
嵌套情况 | FB可以调用FB/FC | FC可以调用FC,不可以调用FB(因为FB运行需要一直分配内存) |
重复调用 | 可以 | 可以 |
? ? ? ? 创建工程,选择好系列,要点击标签
?????????新建FB模块
????????创建查看自己的FB。?
?
VAR | 内部变量 |
VAR_CONSTANT | 常量(不能改变) |
VAR_INPUT | 输入类型变量 |
VAR_OUTPUT | 输出类型变量 |
VAR_IN_OUT | 既有输入也有输出类型变量(起保停常用) |
? ? ? ? 例,起保停:对于小编设置的起保停程序,需要二个输入,一个输出(启动和暂停,一个输出有保持作用)
? ? ? ? 只能该程序能读取,其他程序查看不了!!!
????????使用标签进行编辑
????????点击F4对程序进行转换。? ? ? ?
????????
????????
创建自己的FB模块可以带来多种优点和好处:
1. 代码重用性:通过创建自己的FB模块,你可以将常见的控制功能抽象为可重用的代码单元。这样,在不同的项目或任务中,你可以简单地调用和集成这些模块,而无需从头开始编写相同的代码。这大大提高了编程效率,减少了重复劳动。
2. 模块化和可维护性:自己创建的FB模块可以使PLC程序更加模块化和结构化。每个模块专注于特定的功能,易于理解和管理。如果需要更改或优化某个功能,只需修改对应的模块而无需改动整个程序,这提高了程序的可维护性。
3. 抽象和封装:通过自己创建FB模块,你可以将复杂的控制逻辑和算法进行抽象,隐藏内部细节,只暴露必要的输入和输出接口。这样,使用这些模块的人员不需要了解底层实现细节,而只需关注功能的调用和结果。
4. 代码可读性和可理解性:自己创建的FB模块可以使用自己熟悉的命名和注释规范,使代码更加易读、易理解和易于维护。其他团队成员或后续维护人员可以更快地理解你的代码意图,减少沟通成本和错误发生的概率。
5. 适应特定需求:自己创建的FB模块可以完全适应你的特定需求和控制任务。你可以根据项目的要求,定制和优化功能模块,实现更高的性能、灵活的配置和精确的控制。
尽管自己创建FB模块需要额外的时间和努力,但它可以提供更好的可重用性、模块化和可维护性,提高代码的可读性和适应特定需求。这对于长期复杂的控制项目来说是非常有价值的。
????????