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无码久久洗澡 | 1024毛片基地 | 日本三级理论片 | 国产成人亚洲精品自产在线 | 成人在线视频网址 | 免费成人深夜夜国外 | 激情四射婷婷 | 日本免费在线播放 | aaa国产精品 | 91在线免费看 | 白洁av | 国产xxxx做受性欧美88 | 日韩国产精品一区二区 | 琪琪午夜伦理 | 动漫美女放屁 | 日韩精品一区二区三区av | 天堂√中文最新版在线 | 欧美做爰xxxⅹ性欧美大片 | 国产午夜视频在线播放 | 色永久| 欧美成人午夜精品免费 | 性色av网站| 色玖玖综合 | 在线观看日韩精品 | 欧美影视一区二区三区 | 天天色网站| 丰满饥渴老女人hd | 台湾三级伦理片 | 国内精品久久久久久久影视简单 | 成人爽a毛片一区二区免费 成人mv | 天天躁日日摸久久久精品 | 伊人婷婷久久 | 中文在线天堂网 | 婷婷综合在线观看 | 成人在线高清视频 | 美女激情av| 午夜视频一区二区 | 911国产视频 | 成人自拍网 | 龚玥菲三级露全乳视频 | 99精品视频免费观看 | 北条麻妃一区二区三区在线观看 | 亚洲欧洲激情 | 嫩草嫩草嫩草嫩草嫩草嫩草 | 亚洲小视频在线 | 久久人体视频 | 黄色网页免费观看 | 久久精品成人一区二区三区蜜臀 | 亲子乱aⅴ一区二区三区 | heyzo朝桐光一区二区 | 免费在线观看视频 | 50部乳奶水在线播放 | 妖精视频在线观看 | 91精品国产乱码久久久张津瑜 | 性喷潮久久久久久久久 | 国产日日日 | 国产性生活 | 美女免费视频网站 | 国产一区二区三区免费视频 | 精品美女在线观看 | 日韩免费在线播放 | 日韩成人午夜电影 | 五级毛片| 少妇激情一区二区三区视频 | 五月婷网站 | 国产精品主播一区二区 | 中文av网 | 亚洲依依 | 一女二男一黄一片 | 免费观看高清在线 | 国内激情自拍 | 欧美性生活免费视频 | 色综合久久天天综合网 | 国产视频一区二区在线观看 | 国产99久久久国产精品免费看 | 欧美一级视频免费观看 | 在线免费观看一区二区三区 | 日韩av在线一区二区三区 | 永久免费看mv网站入口78 | 在线观看日本网站 | 嫩草国产精品 | 黄视频在线观看免费 | 99久久一区二区 | 91.xxx.高清在线 | 亚洲一区电影在线观看 | 久久免费看片 | 神马久久影院 | 欧美三级又粗又硬 | 亚洲一级片免费看 | 免费国产成人 | 亚洲图片一区 | 岛国av不卡 | 久久av秘一区二区三区 | 久久爱综合 | 关秀媚三级 | 日韩精品麻豆 | 波多野结衣高清在线 |