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

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

相关推荐

  • 工程师站是否需要CP1613卡?

    我的工程师站只需要对417H冗余系统进行组态,不需要运行,这需要配CP1613卡和S7-RedConnect  软件吗? 最佳答案 哈  &…

    SIMATIC PCS 7 2017年8月26日
  • 求两个参数属性的演示

    S7_qc,以及s7-shortcut的CFC演示效果图,s7_qc是用作归档的时候用吗?只明白要归档的数据才会 ,如PID功能块内的PV,MV等 。。一直不明…

    SIMATIC PCS 7 2017年6月12日
  • CFC 编译时总报CPU_DIAG没连错误?

    CFC 编译时总报CPU_DIAG没连错误?CPU诊断怎么做? 最佳答案 如果你确实是使用的PCS 7版本软件,则处理方法如下:  1、首先…

    SIMATIC PCS 7 2017年8月15日
  • PCS7无法打开TDC的程序的问题

    本人安装的PCS7 V7.0 打开S7-400的CFC正常!!但是无法打开老外给的TCD的CFC程序!请教下告示是不是需要特别安装什么软件!!知道的赐教下!!谢…

    SIMATIC PCS 7 2017年8月18日
  • PCS7一对服务器下面最多挂几台客户机

    PCS7一对服务器下面最多挂几台客户机 最佳答案 1、理论上:如果只使用WinCC客户机(Clint),一台WinCC服务器(Server)支持32台WinCC客户机(Clint)…

    SIMATIC PCS 7 2017年7月26日
  • PCS7中打开模拟器报错?

    PCS7中的程序是一个做项目程序。当我打开程序后想有模拟器模拟。 但是当我打开模拟器是会逐步提示下列语句警告 无法打开数据项目:E:\S7\HL\S7_MUL_…

    SIMATIC PCS 7 2017年8月24日
  • 用cfc块的MEAS-MON创建的WINCC画面的应用问题1

    我用CFC MEAS-MON往WINCC穿画面时编译传过去后WINCC生成的温度 压力什么的画面上都是2个重复的位号 一哥位号是它相应的CFC块的名称…

    SIMATIC PCS 7 2017年6月24日
  • PLCSIM仿真下载时突然灰掉

    我安装了PCS7 V8.0版本软件,电脑系统是win7 64位,新建了S-300组态时,我用的是TCP\IP模式,打开仿真软件,下载时,进度条走一会就不动了,弹…

    SIMATIC PCS 7 2017年6月4日
  • CFC下载程序出错?

    我在CFC程序里,加了个实数减法块,编译后没有报错,但是仅更改下载时,出现很多错误,而且在线竟然没有提示要注册,不知道是什么原因,和CPU运行内存小有关系吗?内存已经达到80%了,…

    2017年6月1日
  • CFC编译警告问题

    CFC编译完成之后,出现如下警告:由于某些安装块没有引用列表,无法计算组织块OB1的本地数据要求、嵌套深度?请大家帮忙看看,谢谢! 最佳答案 参考:http://www.ad.si…

    SIMATIC PCS 7 2017年7月26日