请问下面语句写的什么意思?

那位大哥大姐能帮小弟解释一下下面的语句写的是什么意思吗?越详细越好,  在此非常感谢各位
 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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月16日
下一篇 2017年8月16日

相关推荐