施耐德PLC与T5UID3屏连接OS代码

[复制链接]
1291|0
 楼主| ZLDW 发表于 2019-1-3 17:06 | 显示全部楼层 |阅读模式
  1. <font face="Times New Roman">    ORG  1000H
  2.     GOTO MAIN
  3.    
  4.     ORG  1080H
  5. MAIN:
  6.     CALL T300MS
  7.    
  8.     CALL INITE
  9.    
  10.     GOTO MAIN  
  11. ;***************

  12. T300MS:   
  13.     LDBR R30,0X00,1
  14.     LDBR R31,0X64,1
  15.     LDBR R32,0X00,1
  16.     LDBR R33,0X96,1
  17.     LDBR R34,0X00,1
  18.     LDBR R35,0XFA,1
  19.     LDBR R36,0X01,1
  20.     LDBR R37,0X2C,1
  21.     MOVDR 37,R25,2
  22.     JU  R25,R30,T300_END   
  23.     LDBR  R80,1,1
  24.     JU  R25,R32,T300_END
  25.     LDBR  R80,2,1
  26.     JU  R25,R34,T300_END
  27.     LDBR  R80,3,1
  28.     JU  R25,R36,T300_END
  29.     LDBR  R80,4,1
  30.     LDBR  R200,0,1
  31.     LDWR  R25,0
  32.     MOVRD R25,37,2
  33.     NOP
  34.     RET
  35. T300_END:
  36.    
  37.     NOP
  38.     RET
  39. ;***************
  40. ;上电初始化   
  41. INITE:   
  42.             IJNE      R255,0,INIRET
  43.             LDBR      R255,1,1
  44.             COMSET    40H,1632   ;设置串口4,波特率9600,上电执行一次
  45.             CONFIG    1,2,1
  46.             RET
  47.            ; LDBR      R250,0,1
  48.                                         
  49.            ; NOP          
  50. INIRET:     
  51.             IJNE R80,1,NT1
  52.          
  53.             CALL RDY04
  54.             RET
  55. NT1:        
  56.             IJNE R80,2,NT2
  57.             RET
  58. NT2:        IJNE R80,4,NT3
  59.             RET
  60. NT3:        ;IJNE R81,1,NTRET
  61.             
  62.             CALL T1017   
  63.             CALL T1018
  64. NTRET:      RET  
  65. RDY04:      
  66.        IJNE      R200,1,SENDR
  67.        IJNE      R201,0,OT_RET
  68.        RDXLEN    4,R40   ;FIFO长度
  69.        IJNE      R40,0,OT_TEST  ;FIFO长度不等于0      
  70.        RET      
  71. SENDR:                            ;读Y0~Y4状态
  72.        LDBR      R90,0x01,1
  73.        LDBR          R91,0x03,1    ;命令码
  74.        LDBR          R92,0x00,1   
  75.        LDBR          R93,0x01,1  
  76.        LDBR          R94,0x00,1
  77.        LDBR          R95,0x0A,1
  78.        LDBR          R11,0x06,1
  79.        CRCA          R90,R122,R11   ;6字节做ANSI CRC计算
  80.        MOV           R122,R96,2     ;赋值给R96 R97
  81.        LDBR          R9,0x08,1
  82.        COMTXD          4,R90,R9
  83.        LDBR      R200,1,1
  84.        LDBR      R201,0,1  
  85.        RET   
  86. OT_TEST:
  87.        MOVDR     17,R41,1
  88.        IJNE      R41,0,OT_RET
  89.        RDXLEN    4,R40
  90.        RDXDAT    4,R150,R40
  91.        IJNE      R150,0X01,OT_RET
  92.        IJNE      R151,0X03,OT_RET
  93.        IJNE      R152,0X14,OT_RET
  94.       
  95.        CALL      SC3
  96.        CALL      SC4
  97.          
  98.        LDBR      R201,1,1

  99.        RET      
  100. OT_RET:
  101.        NOP
  102.        RET   

  103. SC3:   
  104.        LDBR      R0,0X10,1
  105.        LDBR      R1,0X17,1
  106.       
  107.        LDBR      R60,0X01,1
  108.        AND       R60,R172,1
  109.        IJNE      R60,0X01,SC30
  110.       
  111.        LDBR      R20,0,1
  112.        LDBR      R21,1,1
  113.        MOVXR     R20,0,1   ;写0x0001进变量
  114.        LDBR      R244,0,1
  115.        LDBR      R243,1,1
  116.        RET
  117. SC30:  
  118.        LDBR      R20,0,1
  119.        LDBR      R21,0,1
  120.        MOVXR     R20,0,1   ;写0x0000进变量
  121.        LDBR      R244,1,1
  122.        LDBR      R243,0,1
  123.        RET
  124. SC4:   
  125.        LDBR      R0,0X10,1
  126.        LDBR      R1,0X18,1
  127.             
  128.        LDBR      R60,0X01,1
  129.        AND       R60,R154,1
  130.        IJNE      R60,0X01,SC40
  131.       
  132.        LDBR      R20,0,1
  133.        LDBR      R21,1,1
  134.        MOVXR     R20,0,1   ;写0x0001进变量
  135.        LDBR      R242,0,1
  136.        LDBR      R241,1,1
  137.        RET
  138. SC40:  
  139.        LDBR      R20,0,1
  140.        LDBR      R21,0,1
  141.        MOVXR     R20,0,1   ;写0x0000进变量
  142.        LDBR      R242,1,1
  143.        LDBR      R241,0,1
  144.        RET
  145. ;********************   

  146. T1017:
  147.        LDBR  R0,0X10,1
  148.        LDBR  R1,0X27,1
  149.        MOVXR R20,1,1   
  150.        IJNE  R20,0,E1017
  151.        IJNE  R21,0,N1017
  152.        RET
  153. N1017:
  154.        IJNE  R21,1,C1017
  155.        CALL  O1017
  156.        RET
  157. E1017:
  158.        NOP
  159.        RET
  160. C1017:
  161.        IJNE      R21,2,E1017
  162.        LDBR          R101,0x06,1    ;命令码
  163.        LDBR          R102,0x00,1    ;
  164.        LDBR          R103,0x0A,1  
  165.        LDBR          R104,0x00,1
  166.        LDBR          R105,0x00,1
  167.       
  168.        CALL      U4TX
  169.        LDBR      R20,0,1
  170.        LDBR      R21,0,1
  171.        MOVXR     R20,0,1   ;写0x0000进变量
  172.        RET
  173. O1017:
  174.       LDBR         R101,0x06,1    ;命令码
  175.       LDBR         R102,0x00,1    ;
  176.       LDBR         R103,0x0A,1  
  177.       LDBR         R104,0x00,1
  178.       LDBR         R105,0x01,1
  179.       CALL      U4TX
  180.       LDBR      R20,0,1
  181.       LDBR      R21,0,1
  182.       MOVXR     R20,0,1   ;写0x0000进变量  
  183.       RET
  184. T1018:
  185.        LDBR  R0,0X10,1
  186.        LDBR  R1,0X28,1
  187.        MOVXR R20,1,1   
  188.        IJNE  R20,0,E1018
  189.        IJNE  R21,0,N1018
  190.        RET
  191. N1018:
  192.        IJNE  R21,1,C1018
  193.        CALL  O1018
  194.        RET
  195. E1018:
  196.        NOP
  197.        RET
  198. C1018: IJNE      R21,2,E1018
  199.        LDBR          R101,0x06,1    ;命令码
  200.        LDBR          R102,0x00,1    ;
  201.        LDBR          R103,0x01,1   
  202.        LDBR          R104,0x00,1
  203.        LDBR          R105,0x00,1
  204.       
  205.        CALL      U4TX
  206.        LDBR      R20,0,1
  207.        LDBR      R21,0,1
  208.        MOVXR     R20,0,1   ;写0x0000进变量  
  209.        RET
  210. O1018:
  211.       LDBR         R101,0x06,1    ;命令码
  212.       LDBR         R102,0x00,1    ;
  213.       LDBR         R103,0x01,1  
  214.       LDBR         R104,0x00,1
  215.       LDBR         R105,0x01,1
  216.       CALL      U4TX
  217.       LDBR      R20,0,1
  218.       LDBR      R21,0,1
  219.       MOVXR     R20,0,1   ;写0x0000进变量   
  220.       RET
  221. U4TX:
  222.        LDBR      R100,0x01,1   ;
  223.       
  224.             
  225.        LDBR          R10,0x06,1
  226.        CRCA          R100,R120,R10   ;6字节做ANSI CRC计算
  227.        MOV           R120,R106,2     ;赋值给R106 R107
  228.        LDBR          R9,0x08,1
  229.        COMTXD          4,R100,R9
  230.        RET
  231.       
  232.    
  233.       
  234.       
  235.       
  236.       
  237. </font>


您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

34

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部