91美女视频-亚洲免费观看视频-欧美a∨-久热在线视频-日韩黄网站-成av人片在线观看www-久操综合-超碰av在线播放-性欧美欧美巨大69-婷婷二区-av男人的天堂网-中文字幕一区在线播放-玖草在线观看-国产网址在线观看-免费在线不卡av

duhuaiguo
級別: *
精華主題: * 篇
發帖數量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看duhuaiguo的 主題 / 回貼
樓主  發表于: 2009-09-01 18:48
This is the main handler of the MMI profile container

Parameters : fb_in_offset   First byte in the input container
             fb_out_offset  First byte in the output container
             db_address     Number of the database to use
             con_len        Length of container in bytes (min.32)  

Example : The terminal is configured to be on input and output byte 64,
          32 bytes allocated  and database to communcate with is 51:
          fb_in_offset  = 64
          fb_out_offset = 64
          db_address    = 51
          con_len       = 32

The function block handles one complete container in one scan. If read index,
FC111 is called.
If write index, FC112 is called.
Note that the control byte is not set until next scan, to avoid timing problems



      L     #fb_in_offset               // Incontainer start address
      T     MW   496                    // Remember incontainer start
      T     MW   500

      L     #fb_in_offset               // Incontainer start address
      SLD   3                           //
      LAR1  
      L     IB [AR1,P#0.0]              // Get the proper control byte from inp.container
      T     MB   486                    // Store it

      L     #fb_out_offset              // Outcontainer start address
      T     MW   498                    // Store it
      T     MW   502

      L     #m_110                      // Previous input control byte
      T     MB   479                    // Store it

      L     0
      T     MB   474                    // Clear error code

      A     M    479.0
      R     M    479.0                  // Clear error flag

      A     M    486.6                  // Terminal present ?
      JC    WEI1                        //
      L     1                           // Error 1 : Comm error
      JU    FEH                         //

WEI1: A     M    486.5                  // Does the terminal toggle the toggle bit ?
      AN    M    486.5
      L     S5T#2S                      // Timeout timer
      SD    "Terminal timeout"
      AN    "Terminal timeout"
      JC    WEI2
      L     2                           // Error 2 : Terminal not in RUN
      JU    FEH

WEI2: A     M    486.7                  // Test if new container
      A     M    479.7                  // Compare old container byte with the new one
      O    
      AN    M    486.7
      AN    M    479.7
      JC    ENDE                        // No new container

      A     M    486.7                  // Pulse
      =     M    479.7

      L     MW   498                    // Outcontainer pointer
      L     4
      +I    
      T     MW   498                    // First data position : 4

      L     MW   496                    // Incontainer pointer
      L     4
      +I    
      T     MW   496                    // First index position : 4
//    
LOOP: NOP   0
      L     MW   496                    // Incontainer pointer
      ITD  
      SLD   3
      T     MD   504                    // Make it double word
      L     IB [MD 504]                 // Get first index byte
      T     MB   486                    // Store it
      L     MB   486
      L     0
      ==I  
      JC    DONE                        // Jump out if index is 0

      A     M    486.7                  // Is it a read index ?
      JC    ANK1
      CALL  "READ INDEX OP PANEL"       // Then call read index function
       DataBase:=#db_address
ANK1: NOP   0
      L     MB   478                    // Check return value from FC111
      L     0
      ==I  
      JC    WEI3                        // Was there an error return ?
      AN    M    479.0
      S     M    479.0                  // Then, set error bit
      L     MB   478
      JU    FEH                         // Jump to error
WEI3: AN    M    486.7                  // Is it a write index ?
      JC    WEI4
      CALL  "WRITE INDEX OP PANEL"      // Then call write index function
       DataBase:=#db_address
      L     MB   478                    // Check return value from FC112
      L     0
      ==I  
      JC    WEI4                        // Was there an error return ?
      AN    M    479.0
      S     M    479.0                  // Then set error bit
      L     MB   478                    //
      JU    FEH                         // Jump to error
WEI4: L     MW   496                    // Check if incontainer is done
      L     MW   500
      -I    
      L     #con_len
      <I    
      A(    
      L     MW   498                    // .. or that outcontainer is done
      L     MW   502
      -I    
      L     #con_len
      <I    
      )    
      JC    LOOP                        // Continue id conatiner not completed
DONE: L     #fb_in_offset               // Container done !
      SLD   3
      LAR1  
      L     IB [AR1,P#0.0]              // Get input control byte

      T     MB   486                    // Store it
      JU    ENDE
//-------  ERROR HANDLING  ---------
FEH:  T     MB   474                    // Store error code
FEH1: L     MW   498
      ITD  
      SLD   3
      T     MD   504

      L     0                           // Write controlbyte to output container
      T     QB [MD 504]

      L     1
      L     MW   498

      +I    
      T     MW   498

      L     MW   502
      -I                                // INTERNES MERKERBYTE SICHERN

      L     32
      <I    

      JC    FEH1
ENDE: NOP   0
      NOP   0
      AN    M    486.6
      S     M    486.6                  // Set the COM-bit
      AN    M    486.5
      =     M    486.5                  // Toggle the Toggel-bit
      A     M    479.0
      =     M    486.4
//----------------------
      L     MB   486                    // Delay answer one scan to avoid timing problems
      T     #out_this_cycle
      L     #fb_out_offset
      SLD   3
      LAR1  
      L     #out_last_cycle
      T     QB [AR1,P#0.0]
      L     #out_this_cycle
      T     #out_last_cycle
      L     MB   479
      T     #m_110
      NOP   0

主站蜘蛛池模板: 日韩一区免费 | 亚洲女同av| 国产日b视频 | 精品无码一区二区三区的天堂 | 成人理论片 | 91黄色视屏 | 91成人在线免费视频 | 美女视屏 | 美女激情av | 香蕉久久夜色精品国产使用方法 | 国产精品久久久久久久久久免费看 | 亚洲三级黄 | 亚洲一区二区三区在线播放 | 久久久一区二区三区四区 | 一区二区三区四区精品视频 | 99在线观看免费视频 | 午夜国产在线视频 | 免费在线黄色网址 | 日韩伦乱 | www日本色 | 日韩乱码人妻无码中文字幕 | 日韩xxxxxxxxx | 综合网亚洲| 天天做天天爱天天做 | 精品国产无码一区二区三区 | 色综合久久久久 | 综合伊人 | 国产成人精品一区二区三区 | 丰满少妇毛片 | 国产又粗又长又大 | 免费一区二区 | 久久久久无码国产精品 | 依人久久| 欧美高清视频一区二区 | 六月激情婷婷 | 亚洲激情在线观看 | 男人的天堂a在线 | 久久午夜鲁丝 | 黑人干日本少妇 | 无码人妻丰满熟妇精品 | 精品日韩一区二区三区 | 一本大道伊人av久久综合 | 久久成人精品视频 | 国产欧美一区二区三区白浆喷水 | 在线免费观看成年人视频 | 亚洲国产91 | 牛牛电影国产一区二区 | 欧美三极片 | 伊人加勒比 | 两女双腿交缠激烈磨豆腐 | www亚洲| 香蕉钻洞视频 | 西西午夜 | 久久影音先锋 | 在线一二三区 | 18岁免费观看电视连续剧 | 天天摸天天干天天操 | 国产专区一区二区三区 | av久久久久久 | 精品国产一区二区三区久久久蜜臀 | 久久精品日韩无码 | 久久亚洲国产成人精品性色 | 亚洲视频二 | 国产91在线观看 | 自拍在线视频 | 国产乱强伦一区二区三区 | 国产精品亚洲视频 | 亲子乱aⅴ一区二区三区 | 日韩亚洲国产欧美 | 美女网站黄页 | 山村大伦淫第1部分阅读小说 | 国模私拍一区二区三区 | 日韩一区二区在线观看 | aaa在线| 五月天激情影院 | 中文字幕av免费在线观看 | 日韩欧美在线一区 | 国精产品乱码一区一区三区四区 | 青青草社区 | 谁有毛片网址 | 国产午夜福利一区 | 污污软件在线观看 | 国产成人在线观看网站 | 日本精品一区二区 | 国产高清网站 | 国产一级片在线播放 | 人妻中文字幕一区二区三区 | 成人一二三四区 | av网天堂 | 精品第一页 | 97爱爱爱| 亚洲av无码一区二区三区性色 | 国产成人aⅴ | 日本免费在线观看视频 | 亚洲成人免费网站 | 久久国产成人精品av | 99久久久精品免费观看国产 | 噼里啪啦免费看 | 亚洲熟女乱色综合亚洲av |