久久免费视频在线观看6_成人精品一区亚洲午夜久久久_久久www视频_天天干干夜夜_日本一区二区三区视频在线播放_亚洲va视频

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

主站蜘蛛池模板: 菠萝蜜视频在线观看入口无限看 | 狠狠躁夜夜躁人人爽天天天天97 | 性迷宫1999法国| 国产女人喷潮视频免费 | 国偷自产一区二区视频 | 日韩久久精品一区二区三区官网 | h在线免费看 | 视频一区二区三区四区五区 | 97久久久久| 粉嫩一区二区性色av97 | 亚洲第一网站在线观看 | 外国精品视频在线观看 | 成人毛片100免费观看 | 国产毛片a级 | 嫩草官网视频入口 | 91久久精品一区二区 | 日韩不卡在线观看视频 | 色播久久久 | 国产精品日韩欧美一区二区视频 | 精品国产sm最大网免费站 | 超碰在线97国产 | 一级片观看 | 在线观看亚洲一区二区 | 亚洲AV综合色区无码二区爱AV | 国产精品一区二区免费久久精品 | 精品国产二区在线 | 国产精品无码一二区免费播放 | 亚洲成香蕉AV | 亚洲黄在线观看 | 成人永久视频 | 99热这里只有精品99 | 久久99精品久久久66 | 色视频网站 | 亚洲视频一区二区三区 | 国产女教师高潮叫床视频网站 | 国产精品美女久久久久久久网站 | 精品中文一区 | 久久久久久久一 | 伊人色在线观看 | 国产精品久久久久久久久久久威 | 国产精品网站入口 |