功能和功能块,即FB和FC,是CODESYS平台PLC非常重要的两个概念,但和西门子博览会上的FB和FC不同。在CODESYS中,它们按输出类型划分。FB有多个输出,可以是不同的数据类型,而FC只有一个输出,当然只有一个数据类型。FB有一个实例名,就是西门子博客里的后台数据块,而FC没有。我写过一篇关于西门子CoDeSys和FB FC的区别的文章。
功能和功能块可以自定义,也可以由系统自己使用,这样可以简化编程。今天,我将介绍系统的几个功能和功能块。
1次眨眼
BLINK是闪烁的意思,在电学术语中是连续输出高低电平,所以它的主要作用是产生脉宽可调的脉冲。与周期脉冲功能不同,BLINK的高电平宽度和低电平宽度是可调的,不能相等,所以非常好用,有些情况下甚至可以代替定时器。
图1眨眼温柔而快速
如图1所示,这是一个BLINK功能块,重点是黄色荧光笔指示的部分,即高低电平的持续时间。时间低指低电平持续时间,时间高指高电平持续时间。在图1所示的功能块中,变量SB1将连续产生5S低电平和10S低电平。这两个变量都是TIME型变量,具体值可以自由输入,但是它们的高低电平时间可以不同,非常实用,可以代替定时器的使用。比如我在上一篇文章中用这个功能块来控制风扇的区间启停。因为CODESYS平台不像日本、薄涂那样提供标准脉冲功能,脉冲功能也是通过这个功能块实现的。需要注意的是,虽然它只有一个输出,但是它是一个带有实例名的功能块。
2 SEL
SEL是select的英文缩写,意思是select,所以这个功能是一个SELECT开关。
图2 SEL功能
如图2所示,SEL的功能是通过输入变量CONTROL的值选择输入。如果变量控制的值为真,则输入变量IN2的值被分配给输出变量OUT1,位假将IN1的值分配给OUT1。可以理解为阀门或旋钮。用于频道选择。当然它只能选其一,不能二选其一。
3最大最小值
这两个函数的作用是判断几个数的最大值和最小值。让我们看一个例子
图3最大和最小判断函数
如图3所示,MIN是求变量a、b、c、d中的最小值,赋给一个变量MIN_VALUE,MAX是求其中的最大值,赋给MAX_VALUE。前者的变量数量不限于四个,可以自由添加,几十个甚至上百个。这两个功能非常有用。比如恒压供水,很多电机通常是轮流启动的。当我们启动某个电机时,我们当然希望先启动运行时间最少的电机,使用这个功能非常方便。如果要自己写,挺麻烦的。用梯形图会让你怀疑人生,用ST也很复杂。只记得C语言里有一个算法叫冒泡排序,可以找到一串数字的最大值或最小值。但是如果要用ST写,会用到指针和数组,也挺麻烦的。
1.《Codesys 几个CODESYS平台PLC上常用的系统功能(功能块)的使用》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《Codesys 几个CODESYS平台PLC上常用的系统功能(功能块)的使用》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/1535122.html