那位大哥大姐能帮小弟解释一下下面的语句写的是什么意思吗?越详细越好, 在此非常感谢各位
SET
SAVE
= L 54.1
L #DB_WNR
ITD
L L#8
*D
OPN #DB_Nr
LAR1
L DBD [AR1,P#0.0]
T #GEAR
L #DB_WNR
L 4
+I
ITD
L L#8
*D
LAR1
L DBD [AR1,P#0.0]
T #DIAMETER
L #DB_WNR
L 8
+I
ITD
L L#8
*D
LAR1
L DBD [AR1,P#0.0]
T #SPEED_MAX_FC
L #DB_WNR
L 12
+I
ITD
L L#8
*D
LAR1
L DBD [AR1,P#0.0]
T #V_SP_ORG_OLD
L #DB_WNR
L 16
+I
ITD
L L#8
*D
LAR1
L DBD [AR1,P#0.0]
T #I_V_V2_OLD
L #DB_WNR
L 20
+I
ITD
L L#8
*D
LAR1
L DBD [AR1,P#0.0]
T #UP_TIME_OLD
L #DB_WNR
L 24
+I
ITD
L L#8
*D
LAR1
L DBD [AR1,P#0.0]
T #DN_TIME_OLD
L #III_TQ_ACS
T #TQ_CALC
A #I_N_OR_V
JCN A7d0
L #I_V_V2
L #DIAMETER
/R
L 3.141593e+000
/R
L #GEAR
*R
T #I_N_N1
JU A7d1
A7d0: L #I_N_N2
L #GEAR
*R
T #I_N_N1
A7d1: L #SPEED_MAX_FC
L 1.000000e+002
/R
L #I_N_N1
TAK
/R
T #I_N_N1_P
L #II_N_N1
L #GEAR
/R
T #II_N_N2
L #DIAMETER
L 3.141593e+000
*R
L #II_N_N2
*R
T #II_V_V2
L #TQ_CALC
ITD
DTR
L 1.000000e+002
/R
T #III_TQ
L #V_SP_ORG_OLD
L #V_SP_ORG
==R
L #I_V_V2_OLD
L #I_V_V2
= L 54.2
==R
NOT
A L 54.2
JCN A7d2
L #DB_WNR
L 16
+I
ITD
L L#8
*D
L #I_V_V2
OPN #DB_Nr
TAK
LAR1
TAK
T DBD [AR1,P#0.0]
SAVE
BE
最佳答案
SET 置位
SAVE SAVE将RLO保存到BR位中
= L 54.1 赋值
L #DB_WNR
ITD 将整型(16位)转换为长整型(32位)
L L#8 装载
*D ACCU 2的内容乘以ACCU 1的内容
OPN #DB_Nr 打开DB
LAR1 从ACCU 1装载地址寄存器
L DBD [AR1,P#0.0] 将ACCU 1的原有内容保存到ACCU 2中
T #GEAR 定时
L #DB_WNR 装载 写入
L 4 装载
+I 将ACCU 1-L的内容与ACCU 2-L中的内容相加
ITD 将ACCU 1-L的内容解释为16位整数并将其转换为32位长整数
L L#8 装载
*D ACCU 2的内容乘以ACCU 1的内容
LAR1 用ACCU 1的内容(32位指针)装载地址寄存器AR1
L DBD [AR1,P#0.0] 装载
T #DIAMETER 定时
L #DB_WNR 装载
L 8 装载
+I 将ACCU 1-L的内容与ACCU 2-L中的内容相加
ITD 将ACCU 1-L的内容解释为16位整数并将其转换为32位长整数
L L#8 装载
*D ACCU 2的内容乘以ACCU 1的内容
LAR1 用ACCU 1的内容(32位指针)装载地址寄存器AR1
L DBD [AR1,P#0.0] 装载
T #SPEED_MAX_FC 速度设定
L #DB_WNR
L 12 装载
+I ACCU 2的内容乘以ACCU 1的内容
ITD 将ACCU 1-L的内容解释为16位整数并将其转换为32位长整数
L L#8 装载
*D ACCU 2的内容乘以ACCU 1的内容
LAR1 从ACCU 1装载地址寄存器1
L DBD [AR1,P#0.0] 装载
T #V_SP_ORG_OLD
L #DB_WNR 装载
L 16 装载
+I ACCU 2的内容乘以ACCU 1的内容
ITD 将ACCU 1-L的内容解释为16位整数并将其转换为32位长整数
L L#8 装载
*D ACCU 2的内容乘以ACCU 1的内容
LAR1 从ACCU 1装载地址寄存器1
L DBD [AR1,P#0.0] 装载
T #I_V_V2_OLD
L #DB_WNR 装载
L 20 装载
+I ACCU 2的内容乘以ACCU 1的内容
ITD 将ACCU 1-L的内容解释为16位整数并将其转换为32位长整数
L L#8 装载
*D ACCU 2的内容乘以ACCU 1的内容
LAR1 从ACCU 1装载地址寄存器1
L DBD [AR1,P#0.0] 装载
T #UP_TIME_OLD
L #DB_WNR 装载
L 24 装载
+I ACCU 2的内容乘以ACCU 1的内容
ITD 将ACCU 1-L的内容解释为16位整数并将其转换为32位长整数
L L#8 装载
*D ACCU 2的内容乘以ACCU 1的内容
LAR1 从ACCU 1装载地址寄存器1
L DBD [AR1,P#0.0] 装载
T #DN_TIME_OLD
L #III_TQ_ACS 装载
T #TQ_CALC
A #I_N_OR_V
JCN A7d0 当RLO = 0时跳转
L #I_V_V2 装载
L #DIAMETER 装载
/R 将累加器2的内容除以累加器1的内容
L 3.141593e+000 装载
/R 将累加器2的内容除以累加器1的内容
L #GEAR
*R 累加器2与累加器1的内容相乘
T #I_N_N1
JU A7d1 无条件跳转
A7d0: L #I_N_N2 装载
L #GEAR 装载
*R 累加器2与累加器1的内容相乘
T #I_N_N1
A7d1: L #SPEED_MAX_FC 装载
L 1.000000e+002 装载
/R 将累加器2的内容除以累加器1的内容
L #I_N_N1 装载
TAK 将ACCU 1与ACCU 2互换
/R 将累加器2的内容除以累加器1的内容
T #I_N_N1_P
L #II_N_N1 装载
L #GEAR 装载
/R 将累加器2的内容除以累加器1的内容
T #II_N_N2
L #DIAMETER 装载
L 3.141593e+000 装载
*R 累加器2与累加器1的内容相乘
L #II_N_N2 装载
*R 累加器2与累加器1的内容相乘
T #II_V_V2
L #TQ_CALC 装载
ITD 将ACCU 1-L的内容解释为16位整数并将其转换为32位长整数
DTR 将ACCU 1的内容解释为32位长整型
L 1.000000e+002 装载
/R 将累加器2的内容除以累加器1的内容
T #III_TQ 定时
L #V_SP_ORG_OLD 装载
L #V_SP_ORG 装载
==R 将ACCU 2的内容与ACCU 1的内容进行比较
L #I_V_V2_OLD 装载
L #I_V_V2 装载
= L 54.2 输出
==R 将ACCU 2的内容与ACCU 1的内容进行比较
NOT 对RLO取反
A L 54.2 与运算
JCN A7d2 当RLO = 0时跳转
L #DB_WNR 装载
L 16 装载
+I ACCU 2的内容乘以ACCU 1的内容
ITD 将ACCU 1-L的内容解释为16位整数并将其转换为32位长整数
L L#8 装载
*D ACCU 2的内容乘以ACCU 1的内容
L #I_V_V2
OPN #DB_Nr
TAK 将ACCU 1与ACCU 2互换
LAR1 从ACCU 1装载地址寄存器1
TAK 将ACCU 1与ACCU 2互换
T DBD [AR1,P#0.0] 定时
SAVE 将RLO保存到BR寄存器
BE 块结束
任何人也只能这样了,具体的结合你自己的定义的内容来读,应该能看懂了吧
提问者对于答案的评价:
谢谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc194057.html