-
一、标准库函数
Standard
Library
标准库函数就是
p>
中的一些常用的函数。
1.
1
双稳功能块
Bistable Function Blocks
1.1.1
SR
功能块
功能描述:
本功能块是对变量进行置
位与复位。也就是说等同与
PLC
中的
SET
与
RESET
命令。当
SET1
为
TRUE
是
则输出
Q1
置位,值为
TRUE
并保持。当
RESET
为
TRUE
时复位,值为
FALSE
并保持。注意:当
SET1
与
RESE
T
同时为
TRUE
时输出为
FALSE
。(
RS
功能
块此时为
TRUE
)
功能块如下图:
输入:
SET1
,
BOOL
型
< br>RESET
,
BOOL
型
输出:
Q1
p>
,
BOOL
型
1.1.2
RS
功能块
功能描述:
本功能块的主要功能同<
/p>
SR
块。也是用来实现置位与复位的功能。当
SET
为
TRUE
是则输出
Q1
置位,
值为
TR
UE
并保持。当
RESET1
为
TRUE
时复位,值为
FALSE
并保持。注意:当
SET
与
RESET1
同时为真
时输出为
TR
UE
。(
SR
功能块此时为
FALSE
)
功能块如下图:
输入:
SET
,
BOOL
型
RESET1
,
BOOL
型
输出:
Q1
p>
,
BOOL
型
1.1.3
SEMA
功能块
功能描述:
本功能块的主要功能同<
/p>
SR
块。也是用来实现置位与复位的功能。当
CLAIM
为
TRUE
时输出为<
/p>
TRUE
。当
RELEASE
为
TRUE
时输出为
FA
LSE
。当两者同是为
TRUE
是输出
为
FALSE
。本功能块与
SR
以及
RS
功能块的最
大的不同就是本功能块是同过一个内部变量
X
来传递值的。语句
如下:
BUSY := X;
IF
CLAIM THEN X:=TRUE;
ELSE IF RELEASE
THEN BUSY := FALSE; X:= FALSE;
END_IF
功能块如下图:
输入:
CLAIM
< br>,
BOOL
型
RELEASE
,
BOOL
型
输出:
B
USY
,
BOOL
型
< br>
1.
2
计数器功能块
Counter
1.2.1
CTD
功能块
功能描述:
本功能块是自减记数器。
也就是说当信号由低电频变为高电频时进行自减记数。其中
CD
是输入信号,
LOAD
是初始化信号,也就是说当
LOAD
输入为
TRUE
时
功能块开始工作。
PV
是初始化记数值,也就上通
过
PV
来初始化
CV
的值。当每有一个输入信号时,则
CV
减一,
直到
CV
减到
0
时输出
Q
有输出为
TRUE
。
功能块如下图:
输入:
CD
,
BOOL
型
LOAD
,
BOOL
型
PV
,
INT
型
输出:
Q
,
BOOL
型
CV
,
INT
型
1.2.2
CTU
功能块
功能描述:
本功能块是自加记数器。也就是说当信号由低电频变为高电频时进行加一记数。其中
C
U
是输入信号,
RESET
是复位信号
,也就是说当
LOAD
输入为
TRUE
时功能块复位。
CV
是当时记数值。当
每有一个输入信
号时,则
CV
加一,直
到
CV
加到
CV=PV
时输出
Q
有输出为
TRUE<
/p>
。
功能块如下图:
输入:
CU
,
BOOL
型
RESET
,
BOO
L
型
PV
,
INT
型
输
出:
Q
,
BOOL
型
CV
,
INT
型
1.2.3
CTUD
功能块
功能描述:
本功能块是一个可以进行
自减也可以进行自加的功能块,也就是说它整合了前面两个功能块的功能。当
输入用
p>
CU
、
RESET
及
PV
,
也就是说当
< br>RESET
有一个信号,
则
CV
会被初始化为
0
,
此时功能块是用作为自
加计数器,对
CU
< br>进行记数。当
CV=PV
时在
Q
U
端有输出。功能同
CTU
功能块。<
/p>
当
LOAD
有
一个信号时,则
CV
会被初始化为
PV
,此时本功能块会被用作为一个自减计数器。当有输
入时则
p>
CV
减一,当
CV=0
是
QD
有输出。
功能块如下图:
输入:
CU
,
BOOL
型
CD
,
BOOL
p>
型
RESET
,
BOOL
型
LOAD
,
BOOL
型
PV
,
INT
型
输出:
QU
,
BOOL
型
QD
,
BOOL
型
p>
CV
,
INT<
/p>
型
1.3
字符串操作函数
String
Functions
1.3.1
CONCAT
函数
功能描述:
这是一个串连接函数。它
的主要功能就是把两个输入串连成一个串。
函数块如下图:
< br>输入:
STR1
,
STRING
型
p>
STR2
,
STRING
< br>型
输出:由于功能块与函数的区别,函数的输出即返回
值是用户自己定义的变量,是
STRING
型。
1.3.2
DELETE
函数
功能描述:
本函数是从给定的串中删
除给定位置开始的字符串。
STR
是输入串,
< br>LEN
是要删除的长度,
POS
是开始
的位置。
函数块如下图:
< br>输入:
STR
,
STRING<
/p>
型
LEN
,<
/p>
INT
型
PO
S
,
INT
型
输出:完成操作后的串,
STRING
型
1.3.3
FIND
函数
功能描述:
本函数就是在给定的串中
查找所要查的串的位置。给出第个一个字符的位置。
函数块如下图:
< br>输入:
STR1
,
STRING
型
STR2
,
STRING
型
< br>输出:
STR2
首字符在
STR
1
中的位置。
INT
型
1.3.4
INSERT
函数
功能描述:
本函数就是在串的给定的
位置中插入一个串。
STR2
串插入
S
TR1
中的
POS
位置。
函数块如下图:
p>
输入:
STR1
,
STRING
型
STR2
,
STRING
型
p>
POS
,
INT
型
输出:完成操作后的串,
STRIN
G
型
1.3.5
LEFT
函数
功能描述:
从给定的串的左开始取字
符串
SIZE
位。
函数块如下图:
< br>输入:
STR
,
STRING<
/p>
型
SIZE
,
INT
型
输
出:完成操作后的串,
STRING
型
1.3.6
LEN
函数
功能描述:
计算字符串的长度。
函数块如下图:
< br>输入:
STR
,
STRING<
/p>
型
输出:给定的字符串的长度,
INT
型
1.3.7
MID
函数
功能描述:
取给定的字符串的第
p>
POS
位开始的
LEN
位。
函数块如下图:
输入:
STR
,
STRING
型
LEN
,
INT
型
POS
,
INT
型
输出:完成操作后的串,
STRING
型
1.3.8
REPLACE
函数
功能描述:
把
STR1
中第
P
位开始的
L
位替换成
STR2
。<
/p>
函数块如下图:
输入:
STR1
,
STRING
型
STR2
,
STRING
型
L
,
INT
型
P
,
p>
INT
型
输出:
完成操作后的串,
STRING
型
1.3.9
RIGHT
函数
功能描述:
从给定的串的右开始取字
符串
SIZE
位。
函数块如下图:
< br>输入:
STR
,
STRING<
/p>
型
SIZE
,
INT
型
输
出:完成操作后的串,
STRING
型
1.4
定时器功能块
Timer
1.4.1
RTC
功能块
功能描述:
当输入为
TRUE
时,则把
PDT
的时
间付给
CDT
同时
CDT
开始记时,输出
Q
为
TRU
E
。当输入
EN
为假
< br>是
CDT
为默认时间。
功能块如下图:
< br>输入:
EN
,
BOOL
型
PDT
,
DT
型
输出:
Q
,
BOOL
型
p>
CDT
,
DT<
/p>
型
1.4.2
TOF
功能块
功能描述:
当输入
< br>IN
由高电频变为低电频时开始记时,当
ET
记时达到给定的时间
PT
时,输出由高电频变为低
电
频。
功能块如下图:
< br>输入:
IN
,
BOOL
型
PT
,
TIME
型
输出:
p>
Q
,
BOOL
型<
/p>
ET
,
TIM
E
型
1.4.3
TON
功能块
功能描述:
当输入
< br>IN
由低电频变为高电频时开始记时,当
ET
记时达到给定的时间
PT
时,输出由低电频变高低
电
频。
功能块如下图:
< br>输入:
IN
,
BOOL
型
PT
,
TIME
型
输出:
p>
Q
,
BOOL
型<
/p>
ET
,
TIM
E
型
1.4.4
TP
功能块
功能描述:
使输入的信号
IN
保持
PT
时间,
p>
也就是说当有输入是输出
Q
就为
TRUE
,
同时保持,
此
时
ET
开始记时,
当
< br>ET=PT
是,输出变为
FALSE
,同时保持。
功能块如下图:
输入:
IN
,
BOOL
型
PT
,
TIME
型
< br>
输出:
Q
,
< br>BOOL
型
ET
,
TIME
型
1.5
触发保持功能块
Trigger
1.5.1
F_TRIG
功能块
功能描述:
输入每有一个由高电频向
低电频的跳变时输出
Q
就有一个输出
T
RUE
。
功能块如下图:
< br>输入:
CLK
,
BOOL
型
输出:
Q
,
BOOL
型
1.5.2
R_TRIG
功能块
功能描述:
输入每有一个由低电频向
高电频的跳变时输出
Q
就有一个输出
T
RUE
。
功能块如下图:
< br>输入:
CLK
,
BOOL
型
输出:
Q
,
BOOL
型
二、模拟量标定库
AnalogFilter
Library
模拟量标定库就是指
中的一些库函数。
2.1
CUT
功能块
功能描述:
把输入值进行预处理,调
整斜率,消除两端非线性影响。调整效果见图:
功能块如下图:
输入:
(
1
)
Input
,
UINT
型,要处理的信号。
p>
(
2
)
PAR_I
nputILowLimit
,
UINT
型,用来控制输出的下限。
当
In
put<=256*PAR_InputILowLimit
时输出为
< br>0
。
p>
(
3
)
PAR_I
nputHighLimit
,
UINT
型,用来控制输出的上限。当
Input>=256*PAR_InputHighL
imit
时输出就为
0
。
输出:
(
1
)
Output
,
UINT
型,处理完的信号。
p>
(
2
)
LowLi
mit
,
BOOL
型,
Input<=256*PAR_InputILowLimit
时
LowLimit
为
TRUE
。
(
3
p>
)
HighLimit
,
< br>BOOL
型,
Input>=256*PAR_Inpu
tHighLimit
时
HighLimit
< br>为
TRUE
。
2.2
HP
功能块
功能描述:
设置一个死区,把死区以
内的值都设为
0
。功能如图:
功能块如下图:
p>
输入:
(
1
)
p>
Input
,
UINT
型,输入信号。
.
(
2
p>
)
PAR_CutLimit
,
UINT
型,死区控制参数。当
Input<=6
5535*PAR_CutLimit%
时输出为
0
。
输出:
(
1
)
Output
,
p>
UINT
型,处理完的信号。
2.3
JoyFilter
功能块
功能描述:
JoyFilter
p>
块是一个双向的模拟量标定块,也就是说它对输入的模拟量进行预处理,把输出范围调整为<
/p>
-32767~32767
。
功能块如下图:
输入:
(
1
)
AnalogInput
,
UINT
型,模拟量的输入信号。
(
2
)
DI_Joyst
ickDirSwitchPOS
,
BOOL
< br>型,
正向微动开关。
当
PAR_
DirSwitchDiagnosticNotUse
为
FA
LSE
时,此时又手柄向正向移动,那么只有正向微动开关
TR
UE
,
OUTPUT
才会有输出。
p>
(
3
)
DI_JoystickDirSwitchNEG
,
< br>BOOL
型,
负向微动开关。
当
PAR_DirSwitchDiagnosticNotUse
为
FALSE
时,此时又手柄向负向移动,那么只有负向微动
开关
TRUE
,
OUTPUT
才会有输出。
(
4<
/p>
)
PAR_NegFull
,
UINT
型,负向输入的调节参数。取值范围:
0
~
255
,主要用于当负向输入最
p>
大时,调节参数使得
OUTPUT
也为负向
最大。
(
5
)
PAR_POSFull
,
UINT
型,正向输入的调节参数。取值范围:
0
~
255
,主要用于当正向输入最
大
时,调节参数使得
OUTPUT
也正负向最大。
(
6
)
PAR_Zero
,
UINT
型,
零输入的调节参数。取值范围:
0
~
2
55
,主要用于当手柄在零位时,即
零输入时,调节参数使得<
/p>
OUTPUT
也为零。
(
7
)
PAR_DeadBa
nd
,
UINT
型死区设置参数。取值
范围:
0
~
100
。当输入进入参数设置范围,输
出为零
< br>(
8
)
PAR_NegProg
ression
,
SINT
型。取值范
围:
-100
~
100,
设置负向输出缓冲曲线度,手柄负向输
出值相对于输入值的一个响应曲线,曲
线如图:
1
0.8
y(
x
)
y1
(
x
)
y2
(
x
,
progr
)
y3
(
< br>x
,
50
)
y3
(
x
,
10
0
)
0.2
0.4
0.6
-100%
-50%
0%
50%
100%
< br>0
0
0.2
0.4
x
0.6
0.8
1
(
9
)
PAR_Pos
Progression
,
SINT
型
。取值范围:
-100
~
100
,设置正向输出缓冲曲线度,手柄正向
输出值相对于输入值的一个响应
曲线。
(
10
)
PAR_MinErrorDifference
,
UINT
型,取值范围:
0
< br>~
100
,设置出错范围,当输入超出范围时,
激活
ErrorHigh
或
ErrorLow
开关,并使输出为零。
(
11
)
PAR_Fault
O
nDelay
,
UINT
型,取值范围:
0
~
p>
255
,过载延时。
(
12
)
PAR_DirSwit
chDiagnosticNotUse
,
BOOL
型,此参数为
TRUE
时,微动开关无效,为
p>
FALSE
时,微动开关有效
输出:
(
1
)
OutputEable
,
BOOL
型,输出使能,为
TRUE
是块才会有输出。
(
2
)
Output
,
INT
型,调整后的信号量,输出数值范围
-32767
~
32767
(
3
)
ErrorHigh
,
BOOL
型,当输入超出
PAR_Full +5000
范围时,
ErrorHigh
为
TRUE
,输出置零。
(
4
)
ErrorLow
,
BOO
L
型,
输入超出
PAR_Zero
p>
–
PAR_MinErrorDifference
范围,
ErrorHigh
为
TRUE
,
并把输出置零。
(
5
)
JoystickDirSwitchPOSMissing
,
BOOL
型,正向微动开关出错时,值为
TRUE<
/p>
。
(
6
)
JoystickDirSwitchNEGMissing
,
BOOL
型负向
微动开关出错时,值为
TRUE
。
<
/p>
(
7
)
Joys
tickDirSwitchPOSAndNEGOn
,
BOO
L
型,正、负向微动开关同时为
TRUE
时,值为
TRUE
。
2.4
JoystickAllnputOutOfRange
功能块
功能描述:
本功能块是用来实现对一个模拟量输入的观察。
功能块如下图:
输入:
(1) Allnput
p>
,
UINT
型,需要观察的模拟量信号。<
/p>
(2) PAR_PosFull
,<
/p>
UINT
型,正向最大调整参数。
(3) PAR_NegFull
,
U
INT
型,负向最大调整参数。
(4) PAR_MinErrorDifference
,<
/p>
UINT
型,
设置出错范围,
当输入超出范围时,
激活
ErrorInputT
ooHighOut
或
ErrorInputTooLowOu
t
开关,并使输出为零。
输出:
(1) ErrorInpu
tTooHighOut
,
BOOL
型
,
AIInput > PAR_PosFull*256 +
PAR_MinErrorDifference,
则输
出为
TRUE
。
(2) ErrorInputTooLowOut
,
BOOL
型,
AIInput <
PAR_NegFull*256-PAR_MinErro
rDifference
,
则输出为
T
RUE
。
2.5
JoystikDirSwitchDiagnostic<
/p>
功能块
功能描述: