-
SET
将状态
寄存器的
RLO
置
1
SA
VE
将
p>
RLO
值存入
BR
=
L
60.1
将
RLO
写入
L60.1
在末尾给
BR
使该块的状态为
运行正常
A
#COM_RST
与“
#COM_RST
”初始化位
JCN
A7d0
前面为
0
则跳转
L
#I_ITLV
AL
装载整
数型积分初始值到累加器
ACCU1
的低字
T
#sIanteilAlt
将
ACC
U1
的值装载到静态变量“
#sIanteilAlt
”
L
0.000000e+000
<
/p>
装载
0.0
到
A
CCU1
T
#LMN
将
pid
实数输出值“
#LMN
”赋值
0.0
CLR
将
RLO
置
0
=
#QLMN_HLM
RLO
传给输出高报警
=
#QLMN_LLM
RLO
传给输出低报警
T
#LMN_P
将
ACC
U1
的数据
0.0
传给
P
的计算值“
#LMN_P
”
T
#LMN_I
将
ACC
U1
的数据
0.0
传给
I
的计算值“
#LMN_I
”
T
#LMN_D
将
ACCU1
的数据
0.0
传给
D
的计算值“
#LMN_D
”
L
W#16#0
将
16<
/p>
位字符
0
传给
A
CCU1
T
#LMN_PER
将
p>
ACCU1
的数据传给
< br>pid
的整数输出值“
#LMN_PER
”
TAK
交换
AC
CU1
和
ACCU2
的内容
(意思就是将
0.0
给
ACCU1
)
T
#PV
将
p>
ACCU1
的数据
0.0
< br>传给测量值“
#PV
”
T
#ER
将
ACC
U1
的数据
0.0
传给误差值“
#ER
”
T
#sInvAlt
将
p>
ACCU1
的数据
0.0
< br>传给静态变量上一次的
P
“
#s
InvAlt
”
T
#sRestInt
将
ACC
U1
的数据
0.0
传给“
#sRestInt
”
T
#sRestDif
将
ACC
U1
的数据
0.0
传给测量值“
#PV
”
T
#sRueck
p>
将
ACCU1
的数据
0.0
传给值“
#PV
”
T
#sLmn
将
p>
ACCU1
的数据
0.0
< br>传给上测量次
pid
输出值“
#sLmn
”
=
#sbArwHLmOn
将高限报警的静态变量置
0
=
#sbArwLLmOn
将低限报警的静态变量置
0
JU
A7d1
强制跳转到最后一行。
A7d0:
L
#CYCLE
装载循环时间到
ACCU1
DTR
将长整形转化为实数给
ACCU1
L
1.000000e+003
p>
将
1000.0
转载到
ACCU1,
循环时间被放置到
ACCU2
/R
ACCU2
除以
ACCU1
装载到
ACCU1
T
#rCycle
传送到静态变量
循环时间实数“
p>
#rCycle
”
L
#PV_PER
p>
装载测量值
IO
变量(
0-276.48
的
piw
值)到
ACCU1
ITD
将整数
ACCU1
转化为双整数传送到
ACC
U1
DTR
将双整
数
ACCU1
转化为实数传送到
ACC
U1
L
3.616898e-003
J
p>
将
ACCU1
的内容放置到
ACCU2
,将
0.0036
传送到
ACCU1,
*R
ACCU1*ACCU2
T
#Istwert
将测量
值(
0-27648)
转化为(
0-1
)存放到测量
sIO
值“
#Istwert
”
L
#PV_FAC
装载过
程系数“
#PV_FAC
”到
ACCU
1
,
*R
ACCU1*ACCU2=ACCU1
L
#PV_OFF
装载偏移量
+R
加上偏移量存到
ACCU1
T
#Istwert
将
ACCU1
的值存放到“
#Istwert
”
CLR
清空
RLO
A
#PVPER_ON
p>
与
IO
输入选择“
#PVPER_ON
”
NOT
p>
若
RLO
为
0
p>
则
RLO
为
1
JCN
A7d2
前面为
0
则
强制跳转
L
#PV_IN
将过程变量测量值装载进
ACCU1
T
#Istwert
将
ACCU1
的值存放到“
#Istwert
”
A7d2: L
#Istwert
将(
0-100
)的过程输入存放到
ACCU1
T
#PV
将
ACCU1
传送到输出“
#PV
”
L
#SP_INT
装载整数型设定值
“
#SP_INT
”
到
ACCCU1,
测量值被转移到
ACCU2
TAK
将累加
器内值
ACCU1
和
ACCU2
互换。
-R
将设定值减去测量值传给
ACCU1
T
#ErKp
将
ACCU1
传送到临时变量
“
#ErKp
p>
”
L
#DEADB_W
将实数死区值“
< br>#DEADB_W
”传送到
ACCU1
NEGR
对
p>
ACCU1
求反
等于求他的负数装载到
ACCU1
<
br>#ErKp <
br>
SP-PV<-DAED
等同于
PV-
SP>DEAD
则将
RLO
置
1
JCN
A7d3
若
RLO
为
0
则跳转
TAK
将当前
ACCU2
的值(
“
”
)和
ACCU1<
/p>
互换
L
#DEADB_W
装载死区到
ACCU1
+R
将
p>
ACCU1+ACCU2
装载到
ACCU1
T
#ER
装载
AC
CU1
到“
#ER
”
SP-
PV+DAED=#ER
这是个负值
JU
A7d4
强制跳转
A7d3: L
#ErKp
L
#DEADB_W
>R
SP-PV>DEAD
则
RLO
为
1
JCN
A7d5
RLO
为
0
跳转
-R
SP-PV-DEAD=#ER
这是一个正直
T
#ER
JU
A7d4
强制跳转到
A7d4
A7d5: L
0.000000e+000
p>
装载
0.0
到
AC
CU1
T
#ER
将
p>
ACCU1
的值传送到
#ER
就是说如果
sp
和
pv<
/p>
在死去内则认为没偏差
A7d4: L
#ER
p>
将
#er
给
ACC
U1
L
#GAIN
将
p>
#GAIN
给
ACCU1
< br>同时将
ACCU1
的内容给
AC
CU2
*R
#ER*#GAIN=ACCU1
T
#ErKp
ACCU1
传送到
#ErKp
L
#TI
p>
装载长整形
ms
单位积分时间
#TI=ACCU1
DTR
ACCCU1
内容由长整数转化为实数
L
1.000000e+003
将
1000.0
装载到
ACCU1
/R
将
ACCU1/ACCU2=ACCU1
T
#rTi
ACCU1
传送到
#rTi
就是说
把积分时间转化为以
s
为单位的实数
L
#TD
DTR
L
1.000000e+003
/R
T
#rTd
同上
ACCU1
传送到
#rTd
就是说把微分时间转化为以
s
为单位的实数
L
#TM_LAG
转载微分延时时间到
ACCU1
DTR
L
1.000000e+003
/R
T
#rTmLag
同积分和微分传送到
#rTmLag
说把积分延时转化为以
s
为单位的实数
L
#rCycle
装载循环时间到
ACCU1
L
5.000000e-001
将循环时间乘以
0.5
*R
L
#rTi
微分延时时间以
s
< br>为单位的实数形式
#rTi
TAK
交换累加器值
<
br>与积分启用位
<
br>内容互换 ) ACCU1
如果积分时间小于循环时间的一半
R
LO
置
1
JCN
A7d7
RLO
为
0
跳转
L
#rCycle
将循环时间的一半传给积分时间
L
5.000000e-001
*R
T
#rTi
A7d7: L
#rTd
L
#rCycle
p>
微分时间小于循环时间则
RLO
置
1
JCN
A7d8
RLO
为
0
跳转
T
#rTd
将循环时间传给微分时间
A7d8:
L
#rCycle
循环时间装载到
ACCU1
L
5.000000e-001
*R
L
#rTmLag
TAK
JCN
A7d9
如果微
分延时时间小于循环时间一半那么继续若不是则不动作继续下一操
作
L
#rCycle
L
5.000000e-001
*R
T
#rTmLag
将循环时间一半传给积分延时
A7d9: CLR
清空
RLO
A
#P_SEL
如果比例作用开启
RLO
置
1
JCN
A7da
RLO
为
0
跳转
L
#ErKp
将计算的的
#ErKp
传给比例计算值
#Panteil
T
#Panteil
JU
A7db
A7da: L
0.000000e+000
T
#Panteil
若不起用比例将比例置
0
A7db:
CLR
A
#I_SEL
#I_SEL
传给
RLO
JCN
A7dc
p>
RLO
为
0
跳转<
/p>
A
#I_ITL_ON
积分初始化,可以将积分的输出连接到输入
JCN
A7dd
L
#I_ITLV
AL
如果积分初始化打开则将初始值传给积分项
T
#Ianteil
L
0.000000e+000
将
0.0
传
给
#sRestInt
T
#sRestInt
JU
A7e2
A7dd: CLR
将状态
寄存器
RLO
位清零
A
#MAN_ON
与
pid
、
手动位给
RLO
JCN
A7df
L
#sLmn
将上次
p
id
值“
#sLmn
”
装载到
ACCU1
L
#Panteil
将
p
装载到
ACCU1,
-R
上次
pid
值减去这次比例项
L
#DISV
减去当前的干扰变量“
#DISV
”
-R
T
#Ianteil
传给积分项
L
0.000000e+000
装载
0
到<
/p>
ACCU1
T
#sRestInt
将
p>
ACCU1
装载到“
#sRestInt
”
JU
A7e0
强制跳转到
A7e0
A7df: L
#rCycle
积分自动的时候
L
#rTi
/R
将循环时间
#rCycle
除以积分时间
#rTi
到
ACCU1
L
#ErKp
p>
装载比例项数过程变量到
ACCU1,
将<
/p>
ACCU1
装载到
ACUU2
TAK
将
p>
ACCU1
和
ACCU2
T
LD
62
将
p>
ACCU1
装载到
LD62(#rCycl
e /#rTi=LD62)
TAK
L
#sInvAlt
装载上一次比例项
#sInvAlt
给
ACCU1
+R
ACCU1+ACCU2=ACC
U1(#ErKp+#sInvAlt=ACCU1
两次比例项相加
L
LD
62
装咋
ld62
(
#rCycle /#rTi
)
p>
*(#ErKp+#sInvAlt
)
=A
CCU1
*R
L
5.000000e-001
<
/p>
装载实数
0.50
到
*R
ACCU1*ACCU2=ACCU1
L
#sRestInt
装载
#sRestInt
到
ACCU1
+R
T
#Diff
(
#rCycle /#rTi
)
p>
*(#ErKp+#sInvAlt
)
+#
sRestInt = #Diff
L
0.000000e+000
>R
如果
#Diff
>0.0
将状态寄存器的
RLO
位置
1
A
#sbArwHLmOn
上次循环出现高报警
连
rlo
O
#INT_HOLD
为
1
p>
则积分作用暂停
不连
rlo
=
L
60.2
将
p>
RLO
值给
l60.2
如果
ACCU1
A
#sbArwLLmOn
与上次输出的低报警
O
L
60.2
或
l60.2
JCN
A7e1
如果积分值在高底限内且没有停用积分则跳转
-
-
-
-
-
-
-
-
-
上一篇:【指南-脑血管】中国脑小血管病诊治共识
下一篇:Rnd 函数