一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

zrq_xg
級別: 探索解密
精華主題: 0
發帖數量: 26 個
工控威望: 166 點
下載積分: 502 分
在線時間: 69(小時)
注冊時間: 2009-03-23
最后登錄: 2024-12-16
查看zrq_xg的 主題 / 回貼
樓主  發表于: 2010-04-01 11:40
FC237塊:用于處理Interbus總線上的4~20mA,0~10V模擬量信號
   L     #PW                         //int:IW22:22=10110
      T     MW   800                    //10110
//;
      L     #P_Q                        //word
      L     'Q '                        //字符型
      <>I                               //ACCU2=#P_Q,ACCU1='Q'
      JC    M001                        //if ACCU2=ACCU1則執行下列程序,否則跳到M001
//;

      T     #conv_akku1                 //Dword,值='Q'
      L     STW                         //裝載狀態字內容到ACCU1
      T     #conv_stw                   //裝入ACCU1內容
   L     MB   801                    //ACCU1=0000 0000 0001 0110=22
      SLW   3                           //ACCU1=0000 0000 1011 0000=176
      LAR1                              //AR1=0000 0000 0000 0000 0000 0000 1011 0000  32位指針=P#22.0
      L     #conv_stw                   //原狀態字內容裝入ACCU1
      T     STW                         //裝入現在狀態字
   L     #conv_akku1                 //'Q'裝入ACCU1
      L     IW [AR1,P#0.0]              // PIW [AR1,P#0.0]:IW22值裝入ACCU1
      JU    M002                        //無條件跳到M002
//;
M001: NOP   0

      T     #conv_akku1                 //Dword,值='Q'
      L     STW                         //裝載狀態字內容到ACCU1
      T     #conv_stw                   //裝入ACCU1內容
   L     MB   801                    //ACCU1=0000 0000 0001 0110=22
      SLW   3                           //ACCU1=0000 0000 1011 0000=176
      LAR1                              //AR1=0000 0000 0000 0000 0000 0000 1011 0000  32位指針=P#22.0
      L     #conv_stw                   //原狀態字內容裝入ACCU1
      T     STW                         //裝入現在狀態字
   L     #conv_akku1                 //'Q'裝入ACCU1
      L     IW [AR1,P#0.0]              // PIW [AR1,P#0.0]:IW22值裝入ACCU1
//;
M002: T     MW   802                    //IW22
//;
      L     #KT_I                       //Int=2
      L     0
      ==I  
      JC    M003
//;
      L     #KT_I
      L     1
      ==I  
      JC    M004
//;
      L     #KT_I
      L     2
      ==I  
      JC    M005
//;
      L     #KT_I
      L     3
      ==I  
      JC    M006
//;
      L     #KT_I
      L     4
      ==I  
      JC    M007
//;
//;
      JU    M008
//;
M003: AN    M    802.7                  //MW802=IW22,if最高位(符號位)為0跳到M009
      JC    M009
      L     0                           //if IW22最高位為"1"=負數,則清零數據塊DB201之數據字:D_101
      T     #XA
      JU    M008                        //無條件跳到M008
//;
//;
//;
M009: L     #OGR                        //4500.0
      L     #UGR                        //0.0
      -R                                //ACCU2-ACCU1=4500.0-0.0,結果存入ACCU1
      L     3.276700e+004               //3.2767x10000=32767.0裝入ACCU1
      /R                                // 4500.0/32767.0=0.13733329264198736533707693716239,結果存于ACCU1  
      L     MW   802                    //IW22值裝入ACCU1
      DTR                               //轉換雙整數為浮點數,結果存入ACCU1
      *R                                //ACCU2*ACCU1=0.1373333*IW22結果存入ACCU1
      L     #UGR                        //0.0裝入ACCU1
      +R                                //ACCU2+ACCU1,結果存入ACCU1
      RND                               //ACCU1浮點數轉換為雙整數,結果存入ACCU1
      T     #XA                         //ACCU1值傳送到DB201之數據字D_101
      JU    M008                        //無條件跳到M008
//;
M004: L     MW   802
      T     MD   804
      AN    M    802.7
      JC    M010
//;
      L     MD   804
      +     L#-65536
      T     MD   804
//;
M010: L     #OGR
      L     #UGR
      -R    
      T     MD   810
      L     MD   804
      DTR  
      L     3.276700e+004
      +R    
      L     MD   810
      *R    
      L     6.553400e+004
      /R    
      L     #UGR
      +R    
      RND  
      T     #XA
      JU    M008
//;
M007: R     #_FB
      AN    M    803.1
      JC    M005
      L     #UGR
      RND  
      T     #XA
      A     M    803.1
      =     #_FB
      JU    M008
//;
//      L     4.096000e+003
//;
//;
M005: L     #OGR                        //4500.0
      L     #UGR                        //0.0
      -R                                //ACCU2-ACCU1=4500.0-0.0,結果存入ACCU1
      L     4.096000e+003               //4096.0裝入ACCU1
      /R                                // 4500.0/4096.0=1.0986328125,結果存于ACCU1
      L     MW   802                    //IW22值裝入ACCU1,例如:             IW22=17364=0100 0011 1101 0100;IW=980=0000 0011 1101 0100
      SRW   3                           //ACCU1-L(低字)右移3位結果存入ACCU1           =0000 1000 0111 1010=2170; =0000 0000 0111 1010=122
      DTR                               //ACCU1雙字整數轉換為浮點數,結果存入ACCU1
      *R                                //ACCU2*ACCU1=2170.0(122.0)*1.0986328125,結果存入ACCU1
      L     #UGR                        //0.0裝入ACCU1
      +R                                //122.0+0.0
      RND                               //浮點數轉換為雙整數
      T     #XA                         //模擬值裝入數據塊DB201字D_101
      JU    M008                        //無條件跳到M008
//;
M006: L     #OGR
      L     #UGR
      -R    
      T     MD   810
      L     MW   802
      SRW   3
      DTR  
      L     8.192001e+002
      -R    
      T     MD   802
      AN    M    803.7
      JC    M011
      L     #UGR
      RND  
      T     #XA
      JU    M008
//;
M011: L     MD   810
      L     MD   802
      *R    
      L     3.276800e+003
      /R    
      L     #UGR
      +R    
      RND  
      T     #XA
      JU    M008
M008: NOP   0

FC181上調用FC237塊,讀出各模擬量輸入地址的實際值,非常準確
  CALL  FC   237
       PW  :=192
       KT_I:=2
       OGR :=1.000000e+003
       UGR :=0.000000e+000
       P_Q :=MW902
       XA  :=DB200.DBW2
       _FB :=M905.0
      NOP   0

CALL  FC   237
       PW  :=168
       KT_I:=2
       OGR :=1.000000e+003
       UGR :=0.000000e+000
       P_Q :=MW902
       XA  :=DB200.DBW4
       _FB :=M905.0
      NOP   0

  CALL  FC   237
       PW  :=196
       KT_I:=2
       OGR :=1.000000e+003
       UGR :=0.000000e+000
       P_Q :=MW902
       XA  :=DB200.DBW6
       _FB :=M905.0
      NOP   0

CALL  FC   237
       PW  :=216
       KT_I:=2
       OGR :=6.750000e+002
       UGR :=5.000000e+001
       P_Q :=MW902
       XA  :=DB200.DBW26
       _FB :=M905.0
      NOP   0
注:PW=模擬量輸入地址;XA=處理過后的模擬輸入值

主站蜘蛛池模板: 欧美日韩综合一区 | 美女用屁股把人吞进肚子 | 91传媒在线观看 | 韩国三级理韩国三级理人伦 | 亚洲波多野结衣日韩在线 | 国产成人一级 | 国产高清不卡视频在线播放 | 201天天爱天天做 | 91精品婷婷国产综合久久8 | 亚洲 日韩 国产 中文视频 | 情侣宾馆愉拍自拍视频 | 日本不卡一区二区三区在线观看 | 91在线视频播放 | 国产国语在线播放视频 | 久久99re2热在线播放7 | 四虎精品成人免费视频 | 视频在线网站 | 免费理伦片在线观看全网站 | 91色爱| 亚洲精品乱码久久久久久蜜桃欧美 | 国内揄拍国内精品久久 | 边摸边吃奶边做爽视频免费 | 日本福利片国产午夜久久 | 白丝打脚枪| 亚洲男人精品 | 狠狠久久久久综合网 | 青青青国产精品国产精品美女 | 日韩视频第二页 | 4444亚洲国产成人精品 | 九九热视频免费观看 | 女女宿舍互慰h文小说 | 成人影院免费看 | 美女把小内内脱个精光打屁屁 | 狠狠色综合久久婷婷色天使 | 男人爱看的网站 | 日本一本草久p | 9191精品国产观看 | 东北恋哥在线播放免费播放 | 免费看视频高清在线观看 | 农村妇女野战bbxxx | 色啪啪888.com|