打印

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

[复制链接]
1180|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ZLDW|  楼主 | 2019-1-3 17:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<font face="Times New Roman">    ORG  1000H
    GOTO MAIN
   
    ORG  1080H
MAIN:
    CALL T300MS
   
    CALL INITE
   
    GOTO MAIN  
;***************

T300MS:   
    LDBR R30,0X00,1
    LDBR R31,0X64,1
    LDBR R32,0X00,1
    LDBR R33,0X96,1
    LDBR R34,0X00,1
    LDBR R35,0XFA,1
    LDBR R36,0X01,1
    LDBR R37,0X2C,1
    MOVDR 37,R25,2
    JU  R25,R30,T300_END   
    LDBR  R80,1,1
    JU  R25,R32,T300_END
    LDBR  R80,2,1
    JU  R25,R34,T300_END
    LDBR  R80,3,1
    JU  R25,R36,T300_END
    LDBR  R80,4,1
    LDBR  R200,0,1
    LDWR  R25,0
    MOVRD R25,37,2
    NOP
    RET
T300_END:
   
    NOP
    RET
;***************
;上电初始化   
INITE:   
            IJNE      R255,0,INIRET
            LDBR      R255,1,1
            COMSET    40H,1632   ;设置串口4,波特率9600,上电执行一次
            CONFIG    1,2,1
            RET
           ; LDBR      R250,0,1
                                        
           ; NOP          
INIRET:     
            IJNE R80,1,NT1
         
            CALL RDY04
            RET
NT1:        
            IJNE R80,2,NT2
            RET
NT2:        IJNE R80,4,NT3
            RET
NT3:        ;IJNE R81,1,NTRET
            
            CALL T1017   
            CALL T1018
NTRET:      RET  
RDY04:      
       IJNE      R200,1,SENDR
       IJNE      R201,0,OT_RET
       RDXLEN    4,R40   ;FIFO长度
       IJNE      R40,0,OT_TEST  ;FIFO长度不等于0      
       RET      
SENDR:                            ;读Y0~Y4状态
       LDBR      R90,0x01,1
       LDBR          R91,0x03,1    ;命令码
       LDBR          R92,0x00,1   
       LDBR          R93,0x01,1  
       LDBR          R94,0x00,1
       LDBR          R95,0x0A,1
       LDBR          R11,0x06,1
       CRCA          R90,R122,R11   ;6字节做ANSI CRC计算
       MOV           R122,R96,2     ;赋值给R96 R97
       LDBR          R9,0x08,1
       COMTXD          4,R90,R9
       LDBR      R200,1,1
       LDBR      R201,0,1  
       RET   
OT_TEST:
       MOVDR     17,R41,1
       IJNE      R41,0,OT_RET
       RDXLEN    4,R40
       RDXDAT    4,R150,R40
       IJNE      R150,0X01,OT_RET
       IJNE      R151,0X03,OT_RET
       IJNE      R152,0X14,OT_RET
      
       CALL      SC3
       CALL      SC4
         
       LDBR      R201,1,1

       RET      
OT_RET:
       NOP
       RET   

SC3:   
       LDBR      R0,0X10,1
       LDBR      R1,0X17,1
      
       LDBR      R60,0X01,1
       AND       R60,R172,1
       IJNE      R60,0X01,SC30
      
       LDBR      R20,0,1
       LDBR      R21,1,1
       MOVXR     R20,0,1   ;写0x0001进变量
       LDBR      R244,0,1
       LDBR      R243,1,1
       RET
SC30:  
       LDBR      R20,0,1
       LDBR      R21,0,1
       MOVXR     R20,0,1   ;写0x0000进变量
       LDBR      R244,1,1
       LDBR      R243,0,1
       RET
SC4:   
       LDBR      R0,0X10,1
       LDBR      R1,0X18,1
            
       LDBR      R60,0X01,1
       AND       R60,R154,1
       IJNE      R60,0X01,SC40
      
       LDBR      R20,0,1
       LDBR      R21,1,1
       MOVXR     R20,0,1   ;写0x0001进变量
       LDBR      R242,0,1
       LDBR      R241,1,1
       RET
SC40:  
       LDBR      R20,0,1
       LDBR      R21,0,1
       MOVXR     R20,0,1   ;写0x0000进变量
       LDBR      R242,1,1
       LDBR      R241,0,1
       RET
;********************   

T1017:
       LDBR  R0,0X10,1
       LDBR  R1,0X27,1
       MOVXR R20,1,1   
       IJNE  R20,0,E1017
       IJNE  R21,0,N1017
       RET
N1017:
       IJNE  R21,1,C1017
       CALL  O1017
       RET
E1017:
       NOP
       RET
C1017:
       IJNE      R21,2,E1017
       LDBR          R101,0x06,1    ;命令码
       LDBR          R102,0x00,1    ;
       LDBR          R103,0x0A,1  
       LDBR          R104,0x00,1
       LDBR          R105,0x00,1
      
       CALL      U4TX
       LDBR      R20,0,1
       LDBR      R21,0,1
       MOVXR     R20,0,1   ;写0x0000进变量
       RET
O1017:
      LDBR         R101,0x06,1    ;命令码
      LDBR         R102,0x00,1    ;
      LDBR         R103,0x0A,1  
      LDBR         R104,0x00,1
      LDBR         R105,0x01,1
      CALL      U4TX
      LDBR      R20,0,1
      LDBR      R21,0,1
      MOVXR     R20,0,1   ;写0x0000进变量  
      RET
T1018:
       LDBR  R0,0X10,1
       LDBR  R1,0X28,1
       MOVXR R20,1,1   
       IJNE  R20,0,E1018
       IJNE  R21,0,N1018
       RET
N1018:
       IJNE  R21,1,C1018
       CALL  O1018
       RET
E1018:
       NOP
       RET
C1018: IJNE      R21,2,E1018
       LDBR          R101,0x06,1    ;命令码
       LDBR          R102,0x00,1    ;
       LDBR          R103,0x01,1   
       LDBR          R104,0x00,1
       LDBR          R105,0x00,1
      
       CALL      U4TX
       LDBR      R20,0,1
       LDBR      R21,0,1
       MOVXR     R20,0,1   ;写0x0000进变量  
       RET
O1018:
      LDBR         R101,0x06,1    ;命令码
      LDBR         R102,0x00,1    ;
      LDBR         R103,0x01,1  
      LDBR         R104,0x00,1
      LDBR         R105,0x01,1
      CALL      U4TX
      LDBR      R20,0,1
      LDBR      R21,0,1
      MOVXR     R20,0,1   ;写0x0000进变量   
      RET
U4TX:
       LDBR      R100,0x01,1   ;
      
            
       LDBR          R10,0x06,1
       CRCA          R100,R120,R10   ;6字节做ANSI CRC计算
       MOV           R120,R106,2     ;赋值给R106 R107
       LDBR          R9,0x08,1
       COMTXD          4,R100,R9
       RET
      
   
      
      
      
      
</font>


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

34

帖子

1

粉丝