1 / 18

Positionierungssystem für motorbetriebene Tafeln

Positionierungssystem für motorbetriebene Tafeln. Andreas Glausch, Andreas Kerlin, David Weese. Produktidee. Problem - optimale Positionierung von Tafeln in Mehr-Tafel-Anlagen - vollständige Nutzung der Tafelflächen

heidi
Download Presentation

Positionierungssystem für motorbetriebene Tafeln

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Positionierungssystem für motorbetriebene Tafeln Andreas Glausch, Andreas Kerlin, David Weese

  2. Produktidee Problem- optimale Positionierung von Tafeln in Mehr-Tafel-Anlagen- vollständige Nutzung der Tafelflächen Ziel- vereinfachendes Kontrollsystem für automatische Positionierung der Tafeln konkret- Nutzung vorhandener Tafelsysteme- Design eines Eingabepanels- Möglichkeit der voll- und halbautomatischen Tafelpositionierung- optionale Verwendung von Reinigungssystemen- zyklisches Bereitstellen der Tafeln

  3. Externe Schnittstellen Tafel-Schnittstelle - max. 4x4 Tafeln mit Schrittmotorik und jeweils einem Eingang für Richtung MRi und Takt MTi - je Tafel zwei Sensoren SOi und SUi,die genau dann 1 liefern, wenn Tafel iden oberen bzw. unteren Rand erreicht hat • Nummerierung von hinten nach vorn, dann von links nach rechts, hinterste Tafelposition durch 4 teilbar, ( Beispiel nebenstehend ) 0 4 8 1 5 9 2 6 10 Anforderungen ans externe Tafellöschsystem (TLS) - 4 Eingänge für maximal 16 Tafeln- 1 Eingang zum Starten der Löschaktion- 1 Ausgang, der Abschluss der Aktion signalisiert

  4. Control-Panel A1 A2 A3 A4 LineA LineB LineC LineD B1 B2 B3 B4 C1 C2 C3 C4 D1 D2 D3 D4 Col1 Col2 Col3 Col4 Tafel  Weiter Holen Up Down Get Clear Tafel  Löschen Auto Eingänge des Prozessors

  5. Anschlüsse • Eingänge: • vom Control Panel 13 Signale: - 8 Tafelbits (LineA, ..., LineD, Col1, ..., Col4) - 5 Aktionsbits (Auto, Up, Down, Get, Clear) • vom Tafellöschsystem: 1 Fertig-Signal • Reset • Stromversorgung 5V • Ausgänge: • 16 LEDs: L0, ... ,L15 • 16 mal MRi und MTi ( i = 0...15) • zum Tafellöschsystem: - 4 Tafelbits - 1 Löschbit

  6. Der Prozessor Speicheraufbau

  7. Befehlsformat 16Bit-Ein-Adressmaschine Befehlsaufbau (1Byte) Beispiele: add B Mode = 0, Operand = 01 jmp 0123h Mode = 0, Operand = 11 sub [C] Mode = 1, Operand = 10 and [8002h] Mode = 1, Operand = 11

  8. Befehlssatz nicht vorkommende Opcodes entsprechen NOP

  9. CPU - Layout ALSU A kku B C Mikrosteuerwerk IR INTERNER BUS (nullterminiert) PC 20 Steuerleitungen PC- Inkrement austauschbar ROM Memory Controller MAR RAM MDR I/O R W Leitungen mit werden vom Mikrosteuerwerk ein- oder ausgeschaltet Registergrößen: A, B, C, PC, MAR, MDR - 16 Bit IR - 8 Bit (oberen 8 Bits des Busses werden ignoriert)

  10. ALSU (ArithmeticLogicShiftUnit) Bus ALSU- Decoder s3 s2 s1 s0 BA ALU a b c alrs Akku Flags RSU al rs (Right Shifter) ALSU-Decoder: - ALU benutzt parametrischen Carry-Skip-Adder aus vier 4-Bit-Carry-Lookahead-Addern (c0 = 0)

  11. Mikrosteuerwerk IR Flags K Dekodierschaltung decode Resetleitung PC Inkr. (/decode) Steuerspeicher (512x20) Steuerleitungen Dekodierschaltung K setzt PC entsprechend IR und Flags. (Bsp.: JNZ führt mit gesetztem ZF NOP aus, JNZ mit gelöschtem ZF JMP.) Am Ende jeder Instruktion wird ein Fetch und ein Decode ausgeführt (siehe Microcode)

  12. Memory Controller austauschbar Memory Controller ROM MAR 15 Bit Adresse 16 Bit Adresse 16 Bit Daten R RAM 14 Bit Adresse MDR 16 Bit Daten 16 Bit Daten R W I/O 6 Bit Adresse 8 Bit Daten R W Read Write - R = 1 bedeutet Lese- und W = 1 Schreibzugriff (R  W)

  13. Microcode Reset LD [B] ADD 0042h

  14. NOP und unerfüllter bedingter Sprung Jxx Reg JMP 0123h und erfüllter bed. Sprung Jxx Imm ST [1234h]

  15. Assemblercode Definitionen (TASM Syntax) motor .EQU 0c000hsensor .EQU 0c000hhoch .EQU 3runter .EQU 1aus .EQU 0zeilen .EQU (0c021h) ;() entspricht indirektspalten .EQU (0c022h) #DEFINE MOV(x,y) LD x\ST y#DEFINE ADD(x,y) LD x\ADD y\ST x#DEFINE SUB(x,y) LD x\SUB y\ST x#DEFINE INC(x) LD x\ADD 1\ST x#DEFINE DEC(x) LD x\SUB 1\ST x Initialisierungsphase (Auszug) LD tafel ;Tafelnummer nach A laden ADD sensor ;A enthält Tafelsensoradr. ST C ;A->Cdownloop: ;Tafel ganz runter fahren LD (C) AND 1 ;teste Bit0 = SUTafel JNZ downend ;stoppe, wenn gesetzt MOV (runter,(C)) ;Motoradr. gleich JMP downloop ;Sensoradr.downend: MOV (0,B) ;Zähler auf Null setzen

  16. uploop: ;Tafel ganz hoch fahren LD (C) AND 2 ;teste Bit1 = SOTafel JNZ upend ;stoppe, wenn gesetzt MOV (hoch,(C)) ;Motoradr. gleich INC (B) ;Makro. Nicht mit indirekt ;verwechseln! JMP uploop ;Sensoradr.upnend: MOV (B,zaehler) ;enthält Anzahl der ;Schrittmotorsteps einer ;Tafel(von oben nach unten) In der Initialisierungsphase werden alleTafeln herunter gefahren, und beimWiederhochfahren die Einzelschritte jederTafel gezählt (für spätere Berechnungennotwendig).

  17. Initialisierung: Programmablauf Alle Tafeln nach unten fahren und Istwerte auf 0 setzen n – Anzahl der Tafeln n Sollwerte (Zielpositionen) n Istwerte – (aktuelle Positionen) n Maxwerte – (maximale Positionen) n Positionen (Tafelreihenfolge) aktuelle Tafel Alle Tafeln nach oben fahren Dabei Istwerte erhöhen Maxwerte auf Istwerte setzen Sollwerte berechnen Istwerte anpassen (evtl. Motoren bewegen) Tafeltaste gedrückt? Panel-Eingabe abfragen „Weiter“ gedrückt? ja nein neue aktuelle Tafel aktuelle Spalte rotieren ja nein „Runter“ gedrückt? Sollwerte neu berechnen Sollwert für aktuelle Tafel dekrementieren ja nein „Hoch“ gedrückt? Sollwert für aktuelle Tafel inkrementieren ja nein „Holen“ gedrückt? Sollwert für aktuelle Tafel auf 0 setzen ja nein „Löschen“ gedrückt? Löschvorgang für aktuelle Tafel starten ja nein

  18. Rotation am Beispiel einer 3x2-Tafelmatrix 1. Kapitel 1. Kap... 2. Kap... 1. Kapitel 1. Kapitel 2. Kapitel 2. Kapitel 3. Kapitel 4. Kap... 3. Kap... ... Das 7. Kapitel überschreibt das 1. Kapitel.

More Related