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

qxf0218
級別: 探索解密
精華主題: 0
發帖數量: 18 個
工控威望: 135 點
下載積分: 607 分
在線時間: 3(小時)
注冊時間: 2014-03-24
最后登錄: 2016-07-11
查看qxf0218的 主題 / 回貼
樓主  發表于: 2014-07-01 11:01
西門子S7-300 BCC數據效驗和             誰有用過的程序?分享一份。謝謝
學無止境
zjiori
級別: 正式會員
精華主題: 0
發帖數量: 4 個
工控威望: 94 點
下載積分: 578 分
在線時間: 3(小時)
注冊時間: 2014-12-09
最后登錄: 2014-12-31
查看zjiori的 主題 / 回貼
1樓  發表于: 2014-12-16 16:00
接口: IN: DB_NO  INT  DB number
           LEN    INT  Length of source area
       OUT:RETVAL INT  RETVAL
       TEMP:w_db_no  Word  DB number
            w_bcc_value  Word   actual BCC value
            w_temp_val   Word   temporary value
            d_loop_akt   DWord  actual value of the loop counter
            d_loop       DWord  loop counter

  L     #LEN                        // load length                  
      L     2                           // decrement length by 2
      -I                                // last 2 bytes are reserved for BCC
      SLD   3                           // calculate bit offset
      T     #d_loop                     // save the last bit address

      L     #DB_NO                      // load DB number
      T     #w_db_no
      OPN   DB [#w_db_no]               // and open DBs

      L     0
      T     #d_loop_akt                 // initialize loop counter
      T     #w_bcc_value                // initialize the BCC

// loop for calculating the BCC for (LEN - 2) bytes
// abort if d_loop_akt = d_loop

LOOP: L     DBB [#d_loop_akt]           // load byte from DB
      L     #w_bcc_value                // load actual BCC
      XOW                               // EXOR
      T     #w_bcc_value                // and save

      L     8                           // increment the bit address by 8
      L     #d_loop_akt                 // to address the next byte
      +D    
      T     #d_loop_akt

      L     #d_loop
      <I    
      JC    LOOP

// load the actual BCC
// and compare with the last two bytes of the source DB
// example: #LEN      22
//           0..19     data bytes
//           20,21     BCC-HI, BCC-LO

      L     #w_bcc_value                // load BCC
      AW    W#16#F0                     //separate the most significant nibble
      SLW   4                           // shift the least significant nibble to the highbyte
      OW    W#16#3000                   // OR 30h to Highbyte to receive ASCII character
      T     #w_temp_val                 // and save temporary

      L     #w_bcc_value                // load BCC
      AW    W#16#F                      //separate the least significant nibble
      OW    W#16#30                     // OR 30h to Lowbyte to receive ASCII character
      L     #w_temp_val
      OW    

      L     DBW [#d_loop_akt]           // Load BCC from DB
      ==I                               // and compare
      L     0                           // value of RETVAL, if comparison ok
      JC    ENDE

      L     -1                          // value of RETVAL, if comparison not ok
ENDE: T     #RETVAL

      BE    

主站蜘蛛池模板: 久久er99热精品一区二区| 国产成人cao在线| 国内精品免费一区二区三区| 久久久久综合| 午夜国产精品福利在线观看| 四虎影院在线免费| tk白嫩玉足脚心vk| 热久久99精品这里有精品| 免费观看欧美成人h| japonensis日本护士18| 性奶乳妇| 麻豆婷婷| ady久久| 91视频无限看| 欧美一级高清片免费一级| 国产另类视频| 国产va免费精品高清在线| 美女扒开两腿露出尿口的视频| 国产拍拍| 亚洲天堂中文| 国产精品久久久久久久久齐齐| 91最新高端约会系列178| 亚洲国产第一区二区三区| 美女被视频| 国产a高清| 九九九九在线精品免费视频| 久久亚洲成a人片| 日本免费在线观看| 欧美乱理伦另类视频| 国产精品主播在线| 国产在线精品99一卡2卡| 国产123区| 男人猛进猛出女人下面视频| 黑人好大好硬好深好爽想要h| 精品国产自在现线拍400部| 亚洲另类老妇videos| 欧美日韩在线观看区一二| 欧美白人猛性xxxxx69交| 美女被扒开屁股进去网| 精品亚洲视频在线| 成年人免费在线看的惊悚动作片 |