函数库和功能块的说明
- - - - - -
功能和功能块是预定义的元素,可用于以IEC 61131-3标准的文本和图形语言编写“功能块”和“程序”类型的程序模块的算法和逻辑。
这些元素在输入和输出处具有参数。 通常,每个参数都有一个名称及其用途。
# ◇ 1. 标准功能块
## ◇ 1.1. 双稳态SR触发器
该功能块是具有主要输入S(设置)的双稳态SR触发器。 当输入S1变为“ 1”时,输出Q1变为“ 1”。 即使S1返回“ 0”,也保持该状态。 输入R变为“ 1”时,输出Q1返回“ 0”。 如果输入S1和R同时处于“ 1”,则主导输入S1将把输出Q1设置为“ 1”。 首次调用功能块时,Q1的初始状态为“ 0”。
### ◇ 1.1.1. 双稳态RS触发器
该功能块是具有主要输入R(复位)的双稳态RS触发器。 当输入S变为“ 1”时,输出Q1变为“ 1”。 即使S返回“ 0”,也保持该状态。 当输入R1变为“ 1”时,输出Q1返回“ 0”。 如果输入S和R1同时处于“ 1”,则主导输入R1将把输出Q1设置为“ 0”。 首次调用功能块时,Q1的初始状态为“ 0”。
### ◇ 1.1.2. SEMA-信号量
该功能块是一个信号灯,它定义了一种机制,该机制允许程序元素互斥访问某些资源。
### ◇ 1.1.3. R\_TRIG-边缘上升指示器
该功能块是一个上升沿指示器,当信号的上升沿时在输出端生成单个脉冲。 如果输入CLK从“ 0”到“ 1”的跳变,则输出Q变为“ 1”。 从一个块执行到下一个(一个周期)输出保持为状态“ 1”。 然后输出返回到“ 0”。
### ◇ 1.1.4. F\_TRIG-边缘下降指标
该功能块是一个边沿下降指示器,当信号的边沿下降时,在输出端生成单个脉冲。
如果输入CLK从“ 1”到“ 0”的转换,则输出Q变为“ 1”。 从一个块执行到下一个块,输出将保持状态“ 1”。 然后输出返回到“ 0”。
### ◇ 1.1.5. CTU-增量计数器
该功能块是一个增量计数器。 输入R处的信号“ 1”导致将值“ 0”分配给输出CV。 在输入CU从“ 0”到“ 1”的每个跃迁中,CV的值增加1。当CV> = PV时,输出Q设置为“ 1”。
注意:计数器仅在达到使用的数据类型的最大值之前起作用。 不会发生溢出。
BOOL类型的CU,RESET输入和Q输出,WORD类型的PV输入和CV输出。
对于输入CU的每个边沿(从FALSE到TRUE的转换),CV输出增加1。当计数器达到设置的PV值时,输出Q设置为TRUE。 在输入RESET = TRUE时,CV计数器复位为0。
### ◇ 1.1.6. CTD-减量计数器
该功能块是一个减量计数器。 输入LD处的信号“ 1”导致将输入PV处的值分配给输出CV。 在CD输入上从“ 0”到“ 1”的每次转换,CV值都会减少1。
当CV <= 0时,输出Q取值为“ 1”。
注意:计数器仅在达到最小值之前起作用。
使用的数据类型。 不会发生溢出。
### ◇ 1.1.7. CTUD-反向计数器
该功能块是可逆计数器。 输入R处的信号“ 1”导致将值“ 0”分配给输出CV。 输入LD处的信号“ 1”导致将输入PV处的值分配给输出CV。 在输入CU上从“ 0”到“ 1”的每次转换时,CV值都增加1。在输入CD上从“ 0”到“ 1”的每次转换时,CV值都减少1。
如果信号“ 1”同时到达输入R和LD,则首先处理输入R。
当CV> = PV时,QU输出设置为“ 1”。
当CV <= 0时,QD输出设置为“ 1”。
注意:减法计数器仅在达到使用的数据类型的最小值之前起作用,累加计数器仅在达到使用的数据类型的最大值之前起作用。 不会发生溢出。
### ◇ 1.1.8. TP-脉冲中继器
该功能块是脉冲转发器,用于生成给定持续时间的脉冲。 如果IN变为“ 1”,则Q变为“ 1”,内部时间(ET)开始。 如果内部时间达到PT值,则Q变为“ 0”(与IN无关)。 如果IN变为“ 0”,内部时间计数将停止/复位。 如果内部时间尚未达到PT值,则IN脉冲不会影响内部时间。 如果内部时间已达到PT值且IN为“ 0”,则内部时间将停止/复位,并且Q将变为“ 0”。
### ◇ 1.1.9. TON-延迟开启计时器
该功能块是带延时的计时器。 当输入端的信号状态从0变为1并在指定时间后设置为输出1时,它开始。
如果IN变为“ 1”,则开始内部时间(ET)倒计时。 如果内部时间达到PT值,则Q变为“ 1”。 如果IN变为“ 0”,则Q变为“ 0”,并且内部计时停止/复位。 如果在内部时间达到PT值之前IN变为“ 0”,则内部计时将停止/复位,并且输出Q不会设置为“ 0”。
### ◇ 1.1.10. TOF-延迟关机定时器
该功能块是具有延迟关闭功能的计时器。 当输入端的信号状态从1变为0并在指定时间后设置为输出0时,它开始。
如果IN变为“ 1”,则Q变为“ 1”。
如果IN变为“ 0”,则开始内部时间(ET)倒计时。
如果内部时间达到PT值,则Q变为“ 0”。
如果IN变为“ 1”,则Q变为“ 1”,并且内部计时停止/复位。
如果IN在内部时间达到PT值之前变为“ 1”,则内部计时将停止/复位,并且输出Q不会设置为“ 0”。
## ◇ 1.2. 附加功能块
### ◇ 1.2.1. RTC-实时时钟
该功能块是一个实时时钟,具有许多使用选项,包括添加时间戳以在生成的报告,警报消息等中设置日期和时间。
PDT(预设DT)输入用于设置时间。 时钟开始从PDT值开始递减计数。 输出Q(BOOL)将重复EN的值。 CDT(当前DT)输出给出当前日期和时间。
### ◇ 1.2.2. 积分-积分
积分功能块对输入的XIN值随时间进行积分。
### ◇ 1.2.3. 导数-导数
微分功能块产生与输入参数XIN的变化率成比例的XOUT值。
### ◇ 1.2.4. PID-比例积分微分调节器
该功能块是在自动控制系统中使用的反馈设备,用于生成控制信号。 PID控制器生成一个控制信号,该信号是三项之和,其中第一项与输入信号成比例,第二项是输入信号的积分,第三项是输入信号的导数。
### ◇ 1.2.5. 滞后-滞后
迟滞功能块提供输出迟滞布尔值,该值由输入参数XIN1和XIN2(带浮点的REAL类型)之间的差值确定。
## ◇ 1.3. 数值运算
### ◇ 1.3.1. ABS-号码模块
此功能将输入数字IN的IN模块返回到OUT。
### ◇ 1.3.2. SQRT-平方根
此函数将输入数字IN的平方根返回到OUT。
### ◇ 1.3.3. LN是自然对数
此函数将IN的自然对数的值返回OUT。
### ◇ 1.3.4. 对数-以10为底的对数
此函数从OUT返回IN的以10为底的对数值。
### ◇ 1.3.5. EXP-求幂
此函数将提高到IN幂的指数值返回OUT。
### ◇ 1.3.6. SIN-正弦
此函数将IN的正弦值返回到OUT。
### ◇ 1.3.7. 余弦-余弦
此函数返回OUT余弦值IN。
### ◇ 1.3.8. TAN-切线
此函数将IN的切线的值返回到OUT。
### ◇ 1.3.9. ASIN-反正弦
该功能块将反正弦IN的值返回OUT。
### ◇ 1.3.10. ACOS-反余弦
此函数返回反余弦IN的OUT值。
### ◇ 1.3.11. ATAN-切线
此函数将IN的OUT切线返回到OUT。
## ◇ 1.4. 算术运算
### ◇ 1.4.1. 添加-加法
此函数返回将IN1和IN2与OUT相加的结果。
### ◇ 1.4.2. MUL-乘法
该函数将IN1和IN2相乘的结果返回到OUT。
### ◇ 1.4.3. 减-减
此函数将IN1减去IN2的结果返回到OUT。
### ◇ 1.4.4. DIV-部门
该函数将IN1除以IN2的结果返回到OUT。
### ◇ 1.4.5. MOD-除法运算的余数
该功能将IN1除以IN2的余数返回到OUT。
### ◇ 1.4.6. EXPT-求幂
此函数将IN1的值增加到OUT2的幂,然后返回OUT。
### ◇ 1.4.7. 移动-分配
此函数将IN值返回到OUT。
## ◇ 1.5. 临时操作
### ◇ 1.5.1. ADD\_TIME-添加TIME类型的变量
此函数将TIME类型的输入值IN(k)相加,并在TIME类型的OUT中返回结果。 输入IN(n)的数量是可变的-从2到20。默认值为2。
### ◇ 1.5.2. ADD\_TOD\_TIME-将TOD一天中的时间添加到TIME
此函数将类型TOD(TIME*OF*DAY)的输入变量IN1与类型TIME的变量IN2相加。 返回值OUT的类型为TIME*OF*DAY。
### ◇ 1.5.3. ADD\_DT\_TIME-将时间添加到DT
此函数ADD*DT*TIME将时间段(TIME格式)添加到时间点(DT格式),并因此提供新的时间点(DT格式)。 时间点(参数T)必须在DT#1990-01-01-00:00:00.000到DT#2089-12-31-23:59:59.999的范围内。
该功能不执行输入检查。 如果加法结果不在允许范围内,则将结果限制为相应的值,并且将状态字的二进制结果(BR)的位设置为“ 0”。
对于输入参数T和输出参数,只能将符号定义的变量关联。
### ◇ 1.5.4. MULTIME-TIME时间乘以数字
此函数将TIME类型的输入值IN1乘以ANY\_NUM类型的数字IN2并将结果返回到TIME类型的OUT。
### ◇ 1.5.5. SUB\_TIME-TIME类型的两个值的差
此函数从TIME类型的输入值IN1减去TIME类型的输入IN2的值,并将结果返回到TIME类型的OUT。
### ◇ 1.5.6. SUB\_DATE\_DATE-DATE类型的两个值的差
此函数从DATE类型的输入值IN1中减去DATE类型的输入值IN2,并将其TIME类型的差返回到OUT。
### ◇ 1.5.7. SUB\_TOD\_TIME-从一天中的时间TOD时间间隔TIME减去
此函数从TOD类型的输入值IN1(TIME*OF*DAY)中减去TIME类型的输入值IN2,并将结果返回到TIME*OF*DAY类型的OUT。
### ◇ 1.5.8. SUB\_DT\_TIME-从时间间隔TIME的时间点DT减去
此功能从时刻(DT格式)中减去时间间隔(TIME格式),并提供新的时刻(DT格式)作为结果。 时间(参数T)必须在DT#1990-01-01-00:00:00.000到DT#2089-12- 31-23:59:59.999的范围内。 该功能不执行输入检查。 如果减法的结果不在允许范围内,则将结果限制为相应的值,并且将状态字的二进制结果(BR)的位设置为“ 0”。
对于输入参数T和输出参数,只能将符号定义的变量关联。
### ◇ 1.5.9. DIVTIME-用数字除以TIME
此函数将TIME类型的输入值IN1除以ANY\_NUM类型的数字IN2,并在TIME类型的OUT中返回结果。
## ◇ 1.6. 位偏移量运算
### ◇ 1.6.1. SHL-算术左移
此函数将自变量IN的算术移位返回OUT到左边N位,并用零填充右边的位。
### ◇ 1.6.2. SHR-向右算术移位
该函数将自变量IN的算术移位返回OUT到右边N位,并用零填充左边的位。
### ◇ 1.6.3. ROR-循环右移
此函数将参数IN的循环移位向左返回N位,以返回OUT。
### ◇ 1.6.4. ROL-循环左移
此函数将参数IN的循环右移N位返回OUT。
## ◇ 1.7. 按位运算
### ◇ 1.7.1. 与-按位与
该功能块表示所有输入参数IN 1 ... IN n的“逻辑与”组织。
### ◇ 1.7.2. 或-按位或
该函数表示所有输入参数IN 1 ... IN n的“逻辑或”组织。
### ◇ 1.7.3. XOR-按位异或
该函数表示所有输入参数IN 1 ... IN n的“逻辑异或”的组织。
### ◇ 1.7.4. 不-按位反转
此函数表示输入自变量IN的“逻辑反转”的组织。
## ◇ 1.8. 选择操作
### ◇ 1.8.1. SEL-两个值的选择
此函数根据参数G的值将两个参数IN1或IN2之一返回给OUT。如果G = 0,则OUT为X1,否则OUT为X2。
### ◇ 1.8.2. MAX-最大
此函数将输入参数IN1和IN2的最大值返回OUT。
### ◇ 1.8.3. MIN-最小值
此函数将输入参数IN1和IN2的最小值返回到OUT。
### ◇ 1.8.4. LIMIT-值限制器
此函数将输入参数IN的值返回到OUT;如果它超过MX值,则MX返回到OUT;如果IN小于MN,则MN返回到OUT。
### ◇ 1.8.5. MUX-多路复用器(从N中选择1个)
此函数根据输入K将输入IN(K)的值返回到OUT。输入IN:sub: (n)的数量是可变的-从2到20。默认值为2。
## ◇ 1.9. 比较运算
### ◇ 1.9.1. GT-超过
此函数比较所有输入参数,如果满足以下条件,则返回True:(IN1> IN2)&(IN2> IN3)&...(IN n-1 > IN n ),否则返回OUT假的。 输入IN (n)的数量是可变的-从2到20。默认值为2。
### ◇ 1.9.2. GE-大于或等于
此函数比较所有输入参数,如果满足以下条件,则返回True:(IN1> = IN2)&(IN2> = IN3)&...(IN n-1 > = IN n ),否则在OUT中返回False。 输入IN (n)的数量是可变的-从2到20。默认值为2。
### ◇ 1.9.3. 情商-平等
此函数比较所有输入参数,如果满足以下条件,则在OUT输出上返回True:(IN1 = IN2)&(IN2 = IN3)&...(IN n-1 = IN n );否则,OUT返回假的。 输入IN (n)的数量是可变的-从2到20。默认值为2。
### ◇ 1.9.4. LT-小于
此函数比较所有输入参数,如果满足以下条件,则在OUT输出上返回True:(IN1 < 输入IN ),否则,OUT返回假的。 n
### ◇ 1.9.5. LE-小于或等于
如果满足以下条件,则此函数比较所有输入自变量并输出True:(IN1 <= IN2)&(IN2 <= IN3)&...(IN n-1 <= IN n ),否则在OUT中返回False。 输入IN (n)的数量是可变的-从2到20。默认值为2。
### ◇ 1.9.6. NE-不相等
如果满足以下条件,则此函数比较所有输入参数并输出True:(IN1 <> IN2)&(IN2 <> IN3)&...(IN n-1 <> IN n ),否则在OUT中返回False。 输入IN (n)的数量是可变的-从2到20。默认值为2。
## ◇ 1.10. 字符串类型为STRING的字符串操作
## ◇ 1.11. LEN-线长
此函数将字符串IN的长度返回到OUT。 输入参数只能与符号定义的变量关联。
### ◇ 1.11.1. 左-线的左侧
此函数将IN字符串中的前L个字符返回到OUT。 如果L大于STRING变量的当前长度,则返回输入值。 当L = 0且有一个空字符串时,将返回一个空字符串作为输入值。 如果数字L为负,则输出一个空字符串。 只有符号定义的变量可以映射到IN参数和返回值。
### ◇ 1.11.2. RIGHT-行的右侧
此函数将IN字符串中的最后L个字符返回到OUT。 如果L大于当前的STRING长度,则返回输入值。 当L = 0且有一个空字符串时,将返回一个空字符串作为输入值。 如果数字L为负,则输出一个空字符串。 只有符号定义的变量可以映射到IN参数和返回值。
### ◇ 1.11.3. MID-行中间
此函数从IN字符串的L个字符(从位置P开始)返回到OUT。如果L和(P-1)的总和超过STRING变量的当前长度,则返回一个字符串,从输入字符串的第P个字符开始直至其结尾。 在所有其他情况下(P在当前长度之外,P和/或L为零或负),将输出一个空字符串。 只有符号定义的变量可以映射到IN参数和返回值。
### ◇ 1.11.4. CONCAT-两个变量STRING的并集
此函数返回OUT中的IN1和IN2行的并集(串联)。
### ◇ 1.11.5. CONCAT\_DAT\_TOD-时间的并集(串联)
此函数将DATE和TOD类型的输入值分别为IN1和IN2的串联返回到DT OUT OUT。
### ◇ 1.11.6. INSERT-插入STRING变量
此函数从位置P开始返回到已插入字符串IN2的字符串IN1到OUT。如果P为零,则将第二个字符串插入第一个字符串之前。 如果P大于第一个字符串的当前长度,则将第二个字符串附加到第一个字符串之后。 如果P为负,则输出一个空字符串。 输入参数IN1和IN2以及输出参数只能与符号定义的变量关联。
### ◇ 1.11.7. 删除-在STRING变量中删除
此函数将字符串IN1返回OUT,从位置P开始删除其中的L个字符。如果L和/或P等于零,或者P大于输入字符串的当前长度,则返回输入字符串。 如果L和P的总和大于输入的字符串,则将该字符串删除到最后。 如果L和/或P为负值,则输出为空。 仅将符号定义的变量映射到IN输入参数和输出参数。
### ◇ 1.11.8. 替换-替换为STRING变量
此函数将字符串IN1返回到OUT,其中从位置P开始的字符由L替换为字符串IN2的第一个字符。 如果L为零,则返回第一行字符。 如果P等于零或一,则替换从第一个字符(包括第一个字符)开始。 如果P位于第一行字符之外,则第二行将附加到第一行。 如果L和/或P为负,则返回一个空字符串。 输入参数IN1和IN2以及输出参数只能与符号定义的变量关联。
### ◇ 1.11.9. 查找-在STRING变量中搜索
此功能将OUT IN1中的IN2所在的位置编号返回到OUT。 搜索从左侧开始,报告字符串的首次出现。 如果第一行未包含第二行字符,则返回零。 输入参数IN1和IN2只能与符号定义的变量关联。
- - - - - -
[< 前页](IL.html) [回目录](../_index.html)
![](images~/theme_switcher.png)
- 软件操作手册
- 软件安装与使用
- 开发环境界面
- 程序的主菜单
- 工具栏
- 项目树
- 项目设置面板
- ST和IL语言的的文本编辑器
- 梯形图LD语言编辑器
- 功能块图FBD语言编辑器
- SFC语言编辑器
- 资源编辑面板
- 数据类型编辑面板
- 项目实例面板
- 功能和功能块库
- 调试控制台
- 搜索项目
- 调试面板
- 图形面板用于在调试模式下更改变量的值
- 软件操作
- 快速操作流程
- 项目操作实践
- IO变量挂载
- 应用程序选项
- 程序下载与调试
- Modbus配置使用方法
- 通过U盘更新应用程序
- 串口下载应用程序
- C语言嵌入
- 状态指示
- 重置内部文件存储
- IEC61131编程语言
- LD语言概述
- FBD语言
- SFC语言概述
- ST语言概述
- IL语言
- 函数库和功能块的说明