Advertisement
Guest User

RS232 device

a guest
Jun 16th, 2013
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. '!TITLE "<Title>" '程序標題
  2. PROGRAM PRO1 '程序名定義
  3. COM_ENCOM #1
  4. TAKEARM '獲取手臂控制權
  5. DEFINT Z,opentime '設變數Z為整數變數
  6. DEFINT laserbutton,laser,ontime,ctime
  7. DEFSTR Q
  8.  
  9.  
  10. MOVE P,J0 '以自由路境移動到初始位置J0
  11. FLUSH #1 '清空輸入緩衝器 頻道編號ch2
  12. PRINT #1,"S" '從RS232C向外部輸出字串"S"
  13. RESET IO[68]
  14. SET IO[69]
  15. '----------------------------------------------------------------------
  16.  
  17. *L2:
  18.  
  19. FLUSH #1 '清空輸入緩衝器 頻道編號ch2
  20. INPUT #1,J[10],Z,laserbutton '輸入10個值(6個角度J[10],1個速度Z,1個判斷用laserbutton)
  21.  
  22. 'IF (laserbutton=1) THEN *L5
  23.  
  24. 'IF laserbutton=1 THEN *OnLaser
  25.  
  26. J1=J10
  27. EXTSPEED Z
  28.  
  29.  
  30. IOBLOCK ON
  31.  
  32. IF (laserbutton = 1) THEN SET IO[68]
  33. IF (laserbutton = 1) THEN RESET IO[69]
  34. IF (laserbutton = 0) THEN SET IO[69]
  35. IF (laserbutton = 0) THEN RESET IO[68]
  36.  
  37. MOVE P,@P J1
  38.  
  39. IOBLOCK OFF
  40.  
  41. DO
  42. PRINT #1,"S"
  43. FLUSH #1
  44. INPUT #1,Q,WTIME=10
  45. IF Q="q" THEN EXIT DO
  46. LOOP
  47.  
  48. LET Q=" "
  49.  
  50.  
  51.  
  52. GOTO *L2 '並移到*L2起頭位置
  53.  
  54. '----------------------------------------------------------------------
  55.  
  56. *L5:
  57. J1=J10
  58.  
  59. EXTSPEED Z
  60. MOVE P, J1
  61.  
  62.  
  63. SET IO[25] 'I/O[25] 打開雷射筆
  64.  
  65. Delay 1000 '延遲1000ms(1s)
  66.  
  67. RESET IO[25] 'I/O[25] 關閉雷射筆
  68.  
  69. DO
  70. PRINT #1,"S"
  71. FLUSH #1
  72. INPUT #1,Q,WTIME=10
  73. IF Q = "q" THEN EXIT DO
  74. LOOP
  75.  
  76. LET Q=" "
  77.  
  78. GOTO *L2 '並移到*L2起頭位置
  79.  
  80. '----------------------------------------------------------------------
  81. *OnLaser:
  82.  
  83. J1=J10
  84. EXTSPEED Z
  85. MOVE P, J1
  86.  
  87. IF IO[25] THEN
  88. ctime=TIMER
  89. IF (ABS(ctime-ontime) >= opentime ) THEN RESET IO[25]
  90.  
  91. ELSE
  92.  
  93. SET IO[25]
  94. ontime = TIMER
  95.  
  96. ENDIF
  97.  
  98.  
  99. DO
  100. PRINT #1,"S"
  101. FLUSH #1
  102. INPUT #1,Q,WTIME=10
  103. IF Q="q" THEN EXIT DO
  104. LOOP
  105.  
  106. LET Q=" "
  107.  
  108. GOTO *L2
  109. '----------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement