SPS Daten |
Im Beispiel wird eine SPS mit einer gesamten SPS-Zykluszeit von 10ms, ein Ausgang A7.7 für den Sendetakt und ein Eingang E9.4 für den Empfang der Nutzdaten <D> und am Ende das Prüf-Bit <P> des AS-Wandlers dargestellt. Um die Daten vom AS-Wandler zu empfangen, auszuwerten und schließlich zu skalieren, wird die FC108 genutzt.
Anbei die wichtige Absolut-Operanden von FC108: T1: Beim Signalzustand =0 wird für eine Dauer von 70ms die Synchronisation am CTL-Eingang des AS-Wandlers initiiert. Beim Signalzustand =1 gibt T1 den Datenempfang frei. Z5: Beim Signalzustand =1 startet er T1 und ermöglicht somit die serielle Datenübertragung vom AS-Wandler zur SPS. M30.1: Impuls je 20ms. Dient als Impulstaktgeber der seriellen Übertragung aus dem AS-Wandler. Die Pause wird durch T8 realisiert. A7.7: Sorgt für die Synchronisierung des AS-Wandlers. Mit ihm wird beim Taktsignal länger als 50ms der Analogeingang zwangläufig gelesen (siehe auch T1) und bei kurzem Taktsignal der Binär-Digitalwert taktweise von dem AS-Wandler an die SPS-Übertragen. E9.4: Leseeingang der SPS. Mit ihm wird die serielle Datenübertragung vom AS-Wandler zur SPS gelesen und in MB32 geschrieben. M30.3: Beim Signalzustand =1 ist der umgewandelte Analogwert zum Skalieren gültig. Beim Signalzustand =0 bleibt dieser unberührt. M27.2: Beim Signalzustand =1 wird ein Drahtbruch am Analogeingang oder Synchronisationsfehler zwischen SPS und dem AS-Wandlers erkannt. MB32: 8-Bit-Register des Binär-Digitalwertes. |
FC108 : Serieller 8Bit-Analog/Digital-Wandler (AS-Wandler) |
|
Netzwerk 1: AS-Wandler - Fehler löschen U M 4.0 Impuls Störung quittieren R M 27.2 AS-Wandler fehlerhaft O M 27.2 R A 7.7 SPS-Taktsignal an AS-Wandler BEB
Netzwerk 2: AS-Wandler - Synchronisation und Sendetakt bilden ON T 1 0= Synchronisationszeit aktiv; Analog lesen O M 30.2 = A 7.7 SPS-Taktsignal an AS-Wandler U Z 5 Zähler der 9-Bits des Binär-Digitalwertes L S5T#70MS SE T 1 UN Z 5 Zähler der 9-Bits des Binär-Digitalwertes L C#9 S Z 5 Zähler der 9-Bits des binären Datenlesens ON T 1 1= Die binäre Datenlesen läuft BEB UN M 30.1 Pause/Impuls für das serielle Datenlesen L S5T#20MS SE T 8 20ms Pause vor das serielle Datenlesen U T 8 Pause/Impuls für das serielle Datenlesen = M 30.1 Pause/Impuls für das serielle Datenlesen NOT bei Pause Baustein verlassen BEB
Netzwerk 3: Serieller 8-Bit-Digitalwert lesen/Schreiben UN M 30.2 Flanken-Merker Z5 ZR Z 5 Zähler der 9-Bits des binären Datenlesens = M 30.2 Flanken-Merker Z5 = A 7.7 SPS-Taktsignal an AS-Wandler NOT Wenn VKE=0, stellt der AS-Wandler das nächste BEB Bit zum Empfangen bereit UN Z 5 Zähler der 9-Bits des Binär-Digitalwertes SPB m003 L MB 32 8-Bitregister (0-255) SLW 1 T MB 32 8-Bitregister (0-255) U E 9.4 Lese-Eingang des Binär-Digitalwertes = M 32.0 Schreib-Merker des Binär-Digitalwertes BEA
Netzwerk 4: Serieller 8-Bit-Digitalwert iO/niO auswerten m003: R M 30.1 Impuls für das serielle Datenlesen R M 30.2 Flanken-Merker Z5 R T 1 Datenlesen läuft CLR Initialisierung T8 SE T 8 Impuls/Pause für das serielle Datenlesen UN E 9.4 Lesen-Eingang der binären Daten vom AS-Wandler S M 27.2 AS-Wandler fehlerhaft NOT = M 30.3 =1 die gelesenen Daten sind gültig UN M 30.3 =0 Baustein verlassen BEB
Netzwerk 5: iO Werte skalieren L #H_LIM Ende der geteachten Fahrposition zB:1200mm L #L_LIM Anfang der geteachten Fahrposition zB:200mm ==R Wenn H_LIM=L_LIM BEB Baustein verlassen -R Ergebnis =1000mm L 0 <R Wenn H_LIM<L_LIM BEB Baustein verlassen POP T #save_diff Ergebnis 1000mm speichern L MB 32 8-Bitreg. (0-255) zB: 211 = Winkel von 74,4° ITD in Doppelinteger wandeln DTR in Gleitpunkt wandeln L 2.550000e+002 Auflösung des AS-Wandlers /R skalieren L #save_diff Ergebnis =1000mm *R L #L_LIM Anfang der geteachten Fahrposition zB:200mm +R TRUNC Ergebnis in Doppelinteger wandeln T #OUT Fahrposition der Verfahr-Achse M2 = 1027mm |
|
Serieller 8Bit-Analog/Digital-Wandler auch Analog/Seriell-Wandler genannt (AS-Wandler) |
Hierbei handelt es sich um einen Analog/Seriell-Wandler, der mit einer Auflösung von 8Bit arbeitet. Als Schnittstelle an der SPS wird lediglich ein Eingang und ein Ausgang benötigt. Der Binär-Digitalwert von 8-Bit wird seriell an die SPS übertragen; hierzu liefert die SPS den Sendetakt. |
Hardwarebeschreibung |
Der Widerstand 8R1 liest eine Winkelposition 0 bis 90 Grad und liefert dabei eine analoge Spannung von 0 bis 10V, welche vom Analog/Seriell-Wandler in einen Binär-Digitalwert (8Bits) 0 bis 255 umgewandelt wird. Erkennt der AS-Wandler am Eingang "CTL" ein Taktsignal, das länger als 50ms ansteht, dann liest er den Analogeingang und wandelt ihn erneut um; dabei geht der alte Wert verloren. Erkennt der AS-Wandler ein kürzeres Taktsignal als 50ms am Eingang "CTL", so wird der Binär-Digitalwert taktweise durch seinen Ausgang "OUT" zur SPS übertragen. Nach 8-Takten von Nutzdaten ist der Binär-Digitalwert komplett. Erkennt der AS-Wandler keinen Drahtbruch am Analogeingang, signalisiert er anschließend mit einem 9.Takt "Beenden ohne Fehler". |
Applikationsbeispiel: Kurvengleichlauf Schwenktisch |
Bestandteil der Applikation: M1: Leit-Achse - Drehzahl geregelter Antrieb (Dreh-Achse) M2: Folge-Achse - Lagegeregelter Antrieb (Verfahr-Achse) 8R1: Winkel-Aufnehmer 0-90° für den Analogeingang des AS-Wandlers AS-Wandler: Serieller 8Bit-Digital/Analog-Wandler L_LIM: Geteachte Startposition der Verfahr-Achse H_LIM: Geteachte Endposition der Verfahr-Achse Diff.: Gesamte Fahrstrecke der Verfahr-Achse. |
Aufgabestellung |
Die technologische Aufgabestellung basiert auf zwei Achsen eines Schwenktisches. Die Drehachse M1 dient als Leit-Achse zur Ansteuerung der Folge-Achse M2. Dreht die Drehachse in Richtung CW, so wird die Folge-Achse in Richtung H_LIM fahren. Dreht die Drehachse in Richtung CCW, so wird die Folge-Achse in Richtung L_LIM fahren. Im Beispiel steht nach jeder 580ms eine absolute Fahrposition für die Folge-Achse als Sollwert zur Verfügung. |
M1 |
M2 |
L_LIM |
H_LIM |
Winkel 0-90° |
M1 |
M2 |
Diff. |
M1 = Leit-Achse (Dreh-Achse) |
M2 = Folge-Achse (Verfahr-Achse) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|