台达PLC与T5UID3屏连接OS代码

[复制链接]
691|0
 楼主| ZLDW 发表于 2018-12-14 11:57 | 显示全部楼层 |阅读模式
  1. <font color="#000000"><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.             CALL T1014           
  62.             CALL T1015
  63.             CALL T1016            
  64.             CALL T1017   
  65.             CALL T1018
  66. NTRET:      RET  
  67. RDY04:      
  68.        IJNE      R200,1,SENDR
  69.        IJNE      R201,0,OT_RET
  70.        RDXLEN    4,R40   ;FIFO长度
  71.        IJNE      R40,0,OT_TEST  ;FIFO长度不等于0      
  72.        RET      
  73. SENDR:                            ;读Y0~Y4状态
  74.        LDBR      R90,0x02,1
  75.        LDBR          R91,0x02,1    ;命令码
  76.        LDBR          R92,0x05,1   
  77.        LDBR          R93,0x00,1  
  78.        LDBR          R94,0x00,1
  79.        LDBR          R95,0x05,1
  80.        LDBR          R11,0x06,1
  81.        CRCA          R90,R122,R11   ;6字节做ANSI CRC计算
  82.        MOV           R122,R96,2     ;赋值给R96 R97
  83.        LDBR          R9,0x08,1
  84.        COMTXD          4,R90,R9
  85.        LDBR      R200,1,1
  86.        LDBR      R201,0,1  
  87.        RET   
  88. OT_TEST:
  89.        MOVDR     17,R41,1
  90.        IJNE      R41,0,OT_RET
  91.        RDXLEN    4,R40
  92.        RDXDAT    4,R50,R40
  93.        IJNE      R50,0X02,OT_RET
  94.        IJNE      R51,0X02,OT_RET
  95.        IJNE      R52,0X01,OT_RET
  96.       
  97.        CALL      SC0
  98.        CALL      SC1
  99.        CALL      SC2
  100.        CALL      SC3
  101.        CALL      SC4
  102.          
  103.        LDBR      R201,1,1

  104.        RET      
  105. OT_RET:
  106.        NOP
  107.        RET   
  108. SC0:   
  109.        LDBR      R0,0X10,1
  110.        LDBR      R1,0X14,1
  111.                
  112.        LDBR      R60,0X01,1
  113.        AND       R60,R53,1
  114.        IJNE      R60,0X01,SC00
  115.       
  116.        LDBR      R20,0,1
  117.        LDBR      R21,1,1
  118.        MOVXR     R20,0,1   ;写0x0001进变量
  119.        LDBR      R250,0,1
  120.        LDBR      R249,1,1
  121.        RET
  122. SC00:  
  123.        LDBR      R20,0,1
  124.        LDBR      R21,0,1
  125.        MOVXR     R20,0,1   ;写0x0000进变量
  126.        LDBR      R250,1,1
  127.        LDBR      R249,0,1
  128.        RET
  129. SC1:   
  130.        LDBR      R0,0X10,1
  131.        LDBR      R1,0X15,1
  132.       
  133.        LDBR      R60,0X02,1
  134.        AND       R60,R53,1
  135.        IJNE      R60,0X02,SC10
  136.        LDBR      R20,0,1
  137.        LDBR      R21,1,1
  138.        MOVXR     R20,0,1   ;写0x0001进变量
  139.        LDBR      R248,0,1
  140.        LDBR      R247,1,1
  141.       
  142.        RET
  143. SC10:  
  144.        LDBR      R20,0,1
  145.        LDBR      R21,0,1
  146.        MOVXR     R20,0,1   ;写0x0000进变量
  147.        LDBR      R248,1,1
  148.        LDBR      R247,0,1
  149.       
  150.        RET
  151. SC2:   
  152.        LDBR      R0,0X10,1
  153.        LDBR      R1,0X16,1
  154.       
  155.        LDBR      R60,0X04,1
  156.        AND       R60,R53,1
  157.        IJNE      R60,0X04,SC20
  158.       
  159.        LDBR      R20,0,1
  160.        LDBR      R21,1,1
  161.        MOVXR     R20,0,1   ;写0x0001进变量
  162.        LDBR      R246,0,1
  163.        LDBR      R245,1,1
  164.        RET
  165. SC20:  
  166.        LDBR      R20,0,1
  167.        LDBR      R21,0,1
  168.        MOVXR     R20,0,1   ;写0x0000进变量
  169.        LDBR      R246,1,1
  170.        LDBR      R245,0,1
  171.        RET
  172. SC3:   
  173.        LDBR      R0,0X10,1
  174.        LDBR      R1,0X17,1
  175.       
  176.        LDBR      R60,0X08,1
  177.        AND       R60,R53,1
  178.        IJNE      R60,0X08,SC30
  179.       
  180.        LDBR      R20,0,1
  181.        LDBR      R21,1,1
  182.        MOVXR     R20,0,1   ;写0x0001进变量
  183.        LDBR      R244,0,1
  184.        LDBR      R243,1,1
  185.        RET
  186. SC30:  
  187.        LDBR      R20,0,1
  188.        LDBR      R21,0,1
  189.        MOVXR     R20,0,1   ;写0x0000进变量
  190.        LDBR      R244,1,1
  191.        LDBR      R243,0,1
  192.        RET
  193. SC4:   
  194.        LDBR      R0,0X10,1
  195.        LDBR      R1,0X18,1
  196.             
  197.        LDBR      R60,0X10,1
  198.        AND       R60,R53,1
  199.        IJNE      R60,0X10,SC40
  200.       
  201.        LDBR      R20,0,1
  202.        LDBR      R21,1,1
  203.        MOVXR     R20,0,1   ;写0x0001进变量
  204.        LDBR      R242,0,1
  205.        LDBR      R241,1,1
  206.        RET
  207. SC40:  
  208.        LDBR      R20,0,1
  209.        LDBR      R21,0,1
  210.        MOVXR     R20,0,1   ;写0x0000进变量
  211.        LDBR      R242,1,1
  212.        LDBR      R241,0,1
  213.        RET
  214. ;********************   
  215. T1014:                   ;直接操作Y0寄存器  装置地址0x500
  216.        LDBR  R0,0X10,1
  217.        LDBR  R1,0X24,1
  218.        MOVXR R20,1,1   
  219.        IJNE  R20,0,E1014
  220.        IJNE  R21,0,N1014
  221.        RET
  222. N1014:
  223.        IJNE  R21,1,C1014
  224.        CALL  O1014
  225.        RET
  226. E1014:
  227.        NOP
  228.        RET
  229. C1014: IJNE  R21,2,E1014
  230.        LDBR          R101,0x05,1   ;命令码
  231.        LDBR          R102,0x05,1   ;0x0500   Y0继电器
  232.        LDBR          R103,0x00,1  
  233.        LDBR          R104,0x00,1
  234.        LDBR          R105,0x00,1
  235.       
  236.        CALL      U4TX
  237.        LDBR      R20,0,1
  238.        LDBR      R21,0,1
  239.        MOVXR     R20,0,1   ;写0x0000进变量
  240.        RET
  241. O1014:
  242.       LDBR         R101,0x05,1    ;命令码
  243.       LDBR         R102,0x05,1    ;0x0500   Y0继电器
  244.       LDBR         R103,0x00,1  
  245.       LDBR         R104,0xFF,1
  246.       LDBR         R105,0x00,1
  247.       CALL      U4TX
  248.       LDBR      R20,0,1
  249.       LDBR      R21,0,1
  250.       MOVXR     R20,0,1   ;写0x0000进变量
  251.       RET
  252. T1015:                   ;直接操作Y0寄存器  装置地址0x500
  253.        LDBR  R0,0X10,1
  254.        LDBR  R1,0X25,1
  255.        MOVXR R20,1,1   
  256.        IJNE  R20,0,E1015
  257.        IJNE  R21,0,N1015
  258.        RET
  259. N1015:
  260.        IJNE  R21,1,C1015
  261.        CALL  O1015
  262.        RET
  263. E1015:
  264.        NOP
  265.        RET
  266. C1015:
  267.        IJNE      R21,2,E1015
  268.        LDBR          R101,0x05,1    ;命令码
  269.        LDBR          R102,0x08,1    ;0x0800   M0辅助继电器
  270.        LDBR          R103,0x00,1  
  271.        LDBR          R104,0x00,1
  272.        LDBR          R105,0x00,1
  273.       
  274.        CALL      U4TX
  275.        LDBR      R20,0,1
  276.        LDBR      R21,0,1
  277.        MOVXR     R20,0,1   ;写0x0000进变量
  278.        RET
  279. O1015:
  280.       LDBR         R101,0x05,1    ;命令码
  281.       LDBR         R102,0x08,1    ;0x0800   M0辅助继电器
  282.       LDBR         R103,0x00,1  
  283.       LDBR         R104,0xFF,1
  284.       LDBR         R105,0x00,1
  285.       CALL      U4TX
  286.       LDBR      R20,0,1
  287.       LDBR      R21,0,1
  288.       MOVXR     R20,0,1   ;写0x0000进变量
  289.       RET      
  290. T1016:                   ;直接操作Y0寄存器  装置地址0x500
  291.        LDBR  R0,0X10,1
  292.        LDBR  R1,0X26,1
  293.        MOVXR R20,1,1   
  294.        IJNE  R20,0,E1016
  295.        IJNE  R21,0,N1016
  296.        RET
  297. N1016:
  298.        IJNE  R21,1,C1016
  299.        CALL  O1016
  300.        RET
  301. E1016:
  302.        NOP
  303.        RET
  304. C1016:
  305.        IJNE      R21,2,E1016
  306.        LDBR          R101,0x06,1    ;命令码
  307.        LDBR          R102,0x10,1    ;0x1064   D100
  308.        LDBR          R103,0x64,1  
  309.        LDBR          R104,0x00,1
  310.        LDBR          R105,0x00,1
  311.       
  312.        CALL      U4TX
  313.        LDBR      R20,0,1
  314.        LDBR      R21,0,1
  315.        MOVXR     R20,0,1   ;写0x0000进变量
  316.        RET
  317. O1016:
  318.       LDBR         R101,0x06,1    ;命令码
  319.       LDBR         R102,0x10,1    ;0x1064   D100
  320.       LDBR         R103,0x64,1  
  321.       LDBR         R104,0x00,1
  322.       LDBR         R105,0x01,1
  323.       CALL      U4TX
  324.       LDBR      R20,0,1
  325.       LDBR      R21,0,1
  326.       MOVXR     R20,0,1   ;写0x0000进变量
  327.       RET
  328.    
  329. T1017:
  330.        LDBR  R0,0X10,1
  331.        LDBR  R1,0X27,1
  332.        MOVXR R20,1,1   
  333.        IJNE  R20,0,E1017
  334.        IJNE  R21,0,N1017
  335.        RET
  336. N1017:
  337.        IJNE  R21,1,C1017
  338.        CALL  O1017
  339.        RET
  340. E1017:
  341.        NOP
  342.        RET
  343. C1017:
  344.        IJNE      R21,2,E1017
  345.        LDBR          R101,0x05,1    ;命令码
  346.        LDBR          R102,0x0A,1    ;0x0A00   M512辅助继电器 掉电保持
  347.        LDBR          R103,0x00,1  
  348.        LDBR          R104,0x00,1
  349.        LDBR          R105,0x00,1
  350.       
  351.        CALL      U4TX
  352.        LDBR      R20,0,1
  353.        LDBR      R21,0,1
  354.        MOVXR     R20,0,1   ;写0x0000进变量
  355.        RET
  356. O1017:
  357.       LDBR         R101,0x05,1    ;命令码
  358.       LDBR         R102,0x0A,1    ;0x0A00   M512辅助继电器 掉电保持
  359.       LDBR         R103,0x00,1  
  360.       LDBR         R104,0xFF,1
  361.       LDBR         R105,0x00,1
  362.       CALL      U4TX
  363.       LDBR      R20,0,1
  364.       LDBR      R21,0,1
  365.       MOVXR     R20,0,1   ;写0x0000进变量  
  366.       RET
  367. T1018:
  368.        LDBR  R0,0X10,1
  369.        LDBR  R1,0X28,1
  370.        MOVXR R20,1,1   
  371.        IJNE  R20,0,E1018
  372.        IJNE  R21,0,N1018
  373.        RET
  374. N1018:
  375.        IJNE  R21,1,C1018
  376.        CALL  O1018
  377.        RET
  378. E1018:
  379.        NOP
  380.        RET
  381. C1018: IJNE      R21,2,E1018
  382.        LDBR          R101,0x06,1    ;命令码
  383.        LDBR          R102,0x11,1    ;0x1198   D408 掉电保持
  384.        LDBR          R103,0x98,1   
  385.        LDBR          R104,0x00,1
  386.        LDBR          R105,0x00,1
  387.       
  388.        CALL      U4TX
  389.        LDBR      R20,0,1
  390.        LDBR      R21,0,1
  391.        MOVXR     R20,0,1   ;写0x0000进变量  
  392.        RET
  393. O1018:
  394.       LDBR         R101,0x06,1    ;命令码
  395.       LDBR         R102,0x11,1    ;0x1198   D408 掉电保持
  396.       LDBR         R103,0x98,1  
  397.       LDBR         R104,0x00,1
  398.       LDBR         R105,0x01,1
  399.       CALL      U4TX
  400.       LDBR      R20,0,1
  401.       LDBR      R21,0,1
  402.       MOVXR     R20,0,1   ;写0x0000进变量   
  403.       RET
  404. U4TX:
  405.        LDBR      R100,0x02,1   ;02 05 05 00 FF 00 8C C5
  406.       
  407.             
  408.        LDBR          R10,0x06,1
  409.        CRCA          R100,R120,R10   ;6字节做ANSI CRC计算
  410.        MOV           R120,R106,2     ;赋值给R106 R107
  411.        LDBR          R9,0x08,1
  412.        COMTXD          4,R100,R9
  413.        RET</font>
  414.       
  415.    
  416.       
  417.       
  418.       
  419.       
  420. </font>


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

本版积分规则

20

主题

34

帖子

1

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