plc的程序检查功能(几个CODESYS平台PLC上常用的系统功能)

功能和功能块,也就是FB,FC 是CODESYS 平台PLC两个非常重要的概念,不过它和西门子博途中的FB,FC是不一样 的,在CODESYS中,是以输出类型来分的,FB有多个输出,可以是不同的数据类型,FC只有一个输出,当然,也就只有一种数据类型。FB有实例名,也就是西门子博途中的背景数据块,而FC没有。前面我曾写过文章专门介绍过CoDeSys 与西门子博途中 FB FC 的区别。

功能和功能块既可以自定义,也可以使用系统自带的,灵活应用系统自带的功能和功能块,可以简化程序的编写,今天就给大家介绍几个系统自带的功能和功能块。

1 BLINK

BLINK是闪烁的意思,闪烁,用电气专业术语讲,就是高低电平持续输出,因此它的主要功能就是产生脉宽可调的脉冲,与周期性脉冲函数不同,BLINK的高电平宽度和低电平宽度是可调的,而且可以不相等,所以它非常好用,在某些情况下,甚至可以替代定时器。

plc的程序检查功能(几个CODESYS平台PLC上常用的系统功能)(1)

图一 BLINK 共嫩快

如图一所示,这就是一个BLINK功能块,它的重点就是黄色荧光笔表示的部分,也就是高低电平持续时间。TIMELOW是指低电平持续时间,TIMEHIGH 是指高电平持续时间。图一所示的功能块,变量SB1就会持续产生5S低电平,10S低电平。这两个变量都是TIME型变量,具体数值可以自由输入,而它的高低电平时间可以不一样,这点非常实用,可以替代定时器的使用,比如我在上篇文章中控制风机的间隔启停,就是用的此功能块。由于CODESYS平台不像日系和博途一样,提供标准的脉冲函数,因此脉冲函数也是通过此功能块实现。需要注意的是,它虽然只有一个输出,但它是功能块,是有实例名的。

2 SEL

SEL 是英文SELECT 的缩写,是选择的意思,所以这个函数就是一个选择开关。

plc的程序检查功能(几个CODESYS平台PLC上常用的系统功能)(2)

图二 SEL功能

如图二 所示,SEL 函数的作用就是通过输入变量CONTROL 的值来选择输入,如果变量CONTROL 的值为TRUE ,那么,就把输入变量IN2 的值赋给输出变量OUT1,位FALSE 就把IN1的值赋给OUT1。可以把它理解成一个阀门,或是旋钮。多用于通道选择。当然,它只能二选一,而不能多选一。

3 MAX MIN

这两个函数的作用是判断几个数中的最大值和最小值,我们来看一下实例

plc的程序检查功能(几个CODESYS平台PLC上常用的系统功能)(3)

图三 最大 最小判断函数

如图三所示,MIN 是找出变量 A B C D 中的最小值,并把它赋值个 变量MIN_VALUE,而MAX 是找出它们中的最大值,赋给MAX_VALUE。前面变量的个数不仅仅限于四个,可以自由添加,几十甚至上百个。这两个函数非常有用,比如在恒压供水中,一般都是多个电机轮流启动,当我们启动某个电机的时候,当然是希望优先启动运行时间最少的电机,而用这个函数是非常方便的。而如果要自己写,那是相当麻烦的,用梯形图会让你怀疑人生的,而用ST,也是比较复杂的,我只记得C语言里有个算法叫冒泡排序,可以找出一串数的最大值或是最小值,不过要用ST写,就会用到 指针,数组,那也是相当麻烦的。

以上就是CODESYS 中几个常用的功能块,灵活使用它们,可以让我们编写程序的时候更方便。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页