Advertisement
Guest User

AndreKalkmannIstSowasVonDRÖLFStraight

a guest
Oct 20th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.43 KB | None | 0 0
  1. ;*********************************************************
  2. ;** Programmbeschreibung: **
  3. ;** Es sollen Werkstücke von Palette holen über die **
  4. ;** neue Formel auf Palette Ablegen gebracht werden. **
  5. ;** Dabei spielt erstmalig der Versatz der Paletten **
  6. ;** keine Rolle. Gleichzeitig soll geprüft werden ob **
  7. ;** ein Werkstück Grün ist, wenn ja, soll dieses in **
  8. ;** den Ausschuss transportiert werden. Dies soll **
  9. ;** zusätzlich durch eine Nachricht auf dem PHG **
  10. ;** signalisiert werden. **
  11. ;** Außerdem soll die Palette von Rechts -> Links **
  12. ;** bearbeitet werden. Das bedeutet man räumt zuerst **
  13. ;** auf Y-Achse die Werkstücke aus. **
  14. ;*********************************************************
  15.  
  16.  
  17. ;*********************************************************
  18. ;** Programmkopf **
  19. ;*********************************************************
  20.  
  21. ;;einfuege kopfsr60
  22. programm Auf4a
  23.  
  24. ;*********************************************************
  25. ;** Eingang und Ausgangsbits **
  26. ;** Neu: Initiatoren für Hell/Dunkel und Metall/Plastik **
  27. ;*********************************************************
  28.  
  29.  
  30. Eingang: 1 = grf_bel, ;Greifer belegt 1=Nicht belegt, 0=Belegt
  31. 19 = hell, ;Erkennung ob Hell Dunkel 1=Hell 0=Dunkel
  32. 20 = metall ;Erkennung ob Metall 0=Plastik 1=Metall
  33.  
  34. Ausgang: 5 = grf_auf, ;Greifer auffahren
  35. 6 = grf_zu ;Greifer zufahren
  36.  
  37.  
  38. ;*********************************************************
  39. ;** Punkte und Variablen Deklarationen **
  40. ;*********************************************************
  41.  
  42.  
  43. mk_punkt: @start, ;Startposition
  44. @hpos ;Hardwareendschalter
  45.  
  46. Punkt: holen1, holen2, holen3, ;Teachpunkte für Palette holen
  47. ablegen1, ablegen2, ablegen3, ;Teachpunkte für Palette ablegen
  48. ausschuss, ;Teachpunkt für Ausschuss ablegen
  49. metal_sensor, ;Teachpunkt für Metall Sensor
  50. hell_sensor ;Teachpunkt für Helligkeits Sensor
  51.  
  52. Punkt: diffx_hol, diffy_hol, ;Berechnungspunkte Abstand Palette holen
  53. diffx_abl, diffy_abl, ;Berechnungspunkte Abstand Palette ablegen
  54. hoch, ;Hilfspunkt für Höhen Position
  55. hph, ;Hilfspunkt für Palette holen
  56. hpa ;Hilfspunkt für Palette ablegen
  57.  
  58.  
  59. Ganz: i, j, ;Zählvariablen für Palette holen
  60. m, n ;Zählvariablen für Palette ablegen
  61.  
  62. Binaer: w_gruen_mett, ;Werkstück Grün Metall Zwischenspeicher für WENN.DANN.SONST
  63. w_gruen_hell ;Werkstück Grün Hell Zwischenspeicher für WENN.DANN.SONST
  64.  
  65.  
  66. ;*********************************************************
  67. ;** Hauptprogramm **
  68. ;*********************************************************
  69.  
  70. anfang ;Programm Anfang
  71.  
  72. diffx_hol = (holen1-holen2)/3 ;Individueller Abstand X-Koordinate Werkstück-Werkstück auf Palette holen
  73. diffy_hol = (holen2-holen3)/2 ;Individueller Abstand Y-Koordinate Werkstück-Werkstück auf Palette holen
  74. diffx_abl = (ablegen1-ablegen2)/3 ;Individueller Abstand X-Koordinate Werkstück-Werkstück auf Palette ablegen
  75. diffy_abl = (ablegen2-ablegen3)/2 ;Individueller Abstand Y-Koordinate Werkstück-Werkstück auf Palette ablegen
  76.  
  77. hoch = (0,0,90,0) ;Hochpunkt auf 90 festlegen
  78.  
  79. v = 100 ;Geschwindigkeit auf 100 festlegen
  80.  
  81. v_ptp = 0.2 ;Punkt zu Punkt Geschwindigkeit auf 0.2 festlegen
  82.  
  83. @hpos = @ipos ;Sicherheitsposition
  84.  
  85. @hpos.a_3 = 180 ;Maximale Höhe
  86.  
  87. fahre nach @hpos, @start ;Sicherheitsposition dann start anfahren
  88.  
  89. wdh 10 mal ;Startposition erreicht, Ausgabe auf PHG
  90. schreibe PHG, 'Startposition'
  91. wdh_ende
  92.  
  93. i = 0 ;Zähler für X-Achse auf Palette holen auf 0
  94. j = 0 ;Zähler für Y-Achse auf Palette holen auf 0
  95. m = 0 ;Zähler für X-Achse auf Palette ablegen auf 0
  96. n = 0 ;Zähler für Y-Achse auf Plette ablegen auf 0
  97.  
  98. w_gruen_hell = 0 ;Binärvariable Werkstück Hell auf 0
  99. w_gruen_mett = 0 ;Binärvariable Werkstück Metall auf 0
  100.  
  101.  
  102. wdh 4 mal ;Y-Seitig gibt es 4 Reihen
  103.  
  104. wdh 3 mal ;X-Seitig gibt es 3 Spalten
  105.  
  106. Aufnehmen ;UP-Aufruf: Werkstück aufnehmen
  107.  
  108. WENN grf_bel = 0 ;Abfrage Greifer Belegt 0=Werkstück im Greifer
  109.  
  110. DANN ANFANG ;DANN führe Verbund Instruktionen aus mittels ANFANG...ENDE
  111.  
  112. Sensorcheck ;UP-Aufruf: Sensoren Anfahren
  113.  
  114. WENN (w_gruen_mett = 1) UND (w_gruen_hell = 0) ;Abfrage ob Werkstück Grün ist
  115.  
  116. DANN Ausschus ;DANN UP-Aufruf: Ausschuss
  117.  
  118. SONST Ablegen ;SONST UP-Aufruf: Ablegen
  119.  
  120. ENDE ;Beende Verbund-Instruktionen
  121.  
  122. j = j + 1 ;Inkrementiere Y-Zähler s. Fahrweise
  123.  
  124. wdh_ende ;Ende Spalten Durchlauf
  125.  
  126. i = i + 1 ;Inkrementiere X-Zähler s. Fahrweise
  127.  
  128. j = 0 ;Setze Y-Zähler auf 0
  129.  
  130. wdh_ende ;Ende Reihen Durchlauf
  131.  
  132. fahre nach @start ;Nach Start fahren
  133.  
  134. programm_ende ;Hauptprogramm zu ende
  135.  
  136.  
  137. ;*********************************************************
  138. ;** Unterprogramm: Sensoren anfahren und Checkup **
  139. ;*********************************************************
  140. UP Sensorcheck
  141. anfang
  142. fahre ueber metal_sensor + hoch nach metal_sensor ;Fahre zum Metall Sensor
  143. w_gruen_mett = metall ;Lese Eingang Metall und setze Variable
  144. fahre nach hell_sensor ;Fahre zum Helligkeits Sensor
  145. w_gruen_hell = hell ;Lese Eingang Helligkeit und setze Variable
  146. fahre ptp nach hell_sensor + hoch ;Fahre wieder hoch
  147. up_ende
  148.  
  149. ;*********************************************************
  150. ;** Unterprogramm: Greifer Schließen **
  151. ;*********************************************************
  152. UP G_Zu
  153. anfang
  154. warte 1 ;1 Sekunde warten
  155. grf_auf = 0 ;Verriegelung
  156. grf_zu = 1 ;Greifer Zu
  157. warte 1 ;s.O.
  158. up_ende
  159.  
  160.  
  161. ;*********************************************************
  162. ;** Unterprogramm: Greifer Öffnen **
  163. ;*********************************************************
  164. UP G_Auf
  165. anfang
  166. warte 1 ;s.O.
  167. grf_auf = 1 ;Greifer Auf
  168. grf_zu = 0 ;Verriegelung
  169. warte 1 ;s.O.
  170. up_ende
  171.  
  172.  
  173. ;*********************************************************
  174. ;** Unterprogramm: Aufnehmen **
  175. ;*********************************************************
  176. UP Aufnehmen
  177. anfang
  178. hph = holen1 + i * diffx_hol + j * diffy_hol ;Hilfspunkt berechnen
  179. G_Auf ;UP-Aufruf: Greifer Öffnen
  180. fahre ueber hph + hoch nach hph ;Über Hilfspunkt+hoch nach hilfspunkt fahren
  181. G_Zu ;UP-Aufruf: Greifer Schließen
  182. fahre ptp nach hph + hoch ;Hochfahren mit PTP
  183. up_ende
  184.  
  185.  
  186. ;*********************************************************
  187. ;** Unterprogramm: Ausschuss **
  188. ;*********************************************************
  189. UP Ausschus
  190. anfang
  191. Schreibe PHG, CLS ;PHG-Display löschen
  192. fahre ueber ausschuss + hoch nach ausschuss ;Über Ausschuss + hoch nach Ausschuss fahren
  193. G_Auf ;UP-Aufruf: Greifer Öffnen
  194. wdh 10 mal
  195. Schreibe PHG,'Ausschuss-Ware' ;Ausgabe Ausschuss auf PHG
  196. wdh_ende
  197. G_Zu ;UP-Aufruf: Greifer schließen
  198. fahre ptp nach ausschuss + hoch ;Hochfahren mit PTP
  199. up_ende
  200.  
  201.  
  202. ;*********************************************************
  203. ;** Unterprogramm: Ablegen **
  204. ;*********************************************************
  205. UP Ablegen
  206. anfang
  207. WENN m < 5 ;WENN X-Seitig unter 5(Ungewollten UP-Aufruf verhindern)
  208. DANN ANFANG ;DANN Verbund Instruktionen ausführen
  209. hpa = ablegen1 + m * diffx_abl + n * diffy_abl ;Hilfspunkt berechnen
  210. fahre ueber hpa + hoch nach hpa ;Über Hilfspunkt + hoch nach hilfspunkt fahren
  211. G_Auf ;UP-Aufruf: Greifer Öffnen
  212. fahre ptp nach hpa + hoch ;Hochfahren
  213. n = n + 1 ;Inkrementiere Y-Zähler
  214. WENN n = 3 ;Wenn Y-Zähler auf 3, führe Verbund-Instruktionen aus
  215. DANN ANFANG ;DANN Verbund Instruktionen ausführen
  216. m = m + 1 ;Inkrementiere X-Zähler
  217. n = 0 ;Setze Y-Zähler auf 0
  218. Ende ;Ende Verbund Instruktionen Innere Bedingte Abfrage
  219. Ende ;Ende Verbund Instruktionen Äußere Bedingte Abfrage
  220. up_ende
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement