Wie können wir helfen?

Print

ACE als E/A-Erweiterungseinheit: Austauschtabelle mit Slaves

 

Einige ACE verfügen über eine serielle Schnittstelle RS232 oder/und RS485. Für diesen Betrieb müssen Sie 2 ACE PLC mit einer freien seriellen Schnittstelle haben.

In den Slave & Master ACE PLCs

Verbinden Sie jeden ACE über die serielle Schnittstelle
  • RS232
    • R (RX) <> T- (TX)
    • T (RX) <> R- (TX)
    • GND <> GND
  • RS485
    • R <> R
    • T- <> T-
    • GND <> GND
Multidrop-Netzwerk für RS232

Für nur 2 ACE über RS232, ist es sehr einfach: RX <> TX, TX <> RX und GND <> GND

Für mehr als 2 ACE über RS232 (nicht RS485) ist es möglich! Fügen Sie einfach 1 Diode an jedem Slave-TX-Pin hinzu

Konfigurieren Sie die serielle Schnittstelle als „Custom type“ und wählen Sie den richtigen Modus RS232, oder RS485 für ACE-1430/1450
  • RS232/485, benutzerdefinierter Typ, 9600 bds, keine Parität und 1 Stoppbit.

Dazu müssen Sie zum „Setup Hardware“ in der oberen linken Ecke der vBuilder-Software (grünes oder blaues Symbol) zurückkehren.

oder

Laden Sie die Unterprogramme für den Master und den/die Slave(s) herunter und fügen Sie sie zu Ihren ACE PLCs hinzu

Herunterladen:

Fügen Sie sie zu jeder ACE-SPS hinzu, indem Sie eine der .viofs-Dateien auswählen Unterprogramm hinzufügen

Master

Slave(s)
Anzahl der Slaves und Größe der Austauschtabelle

Die Master-Subroutinen ermöglichen den Austausch von ui16-Tags mit jedem Slave.

Sie müssen wählen:

  • die Anzahl der Slaves
  • die Größe der ui16-Austausch-Tabelle.

Standardmäßig kann die Subroutine 5 Slaves mit 10 Tags pro Slave verwalten (5 zum Lesen und 5 zum Schreiben)

Denken Sie auch daran, die Größe der Tabellen für jedes Tag zu erhöhen oder zu verringern, falls erforderlich (siehe „Tags“ im Master- und Slave-Programm)

  • ui16 muss auf 5 gesetzt werden (Länge 5 = Tags 0 bis 4), um 5 * ui16 in der Austauschtabelle zu erhalten
  • DataRead- und DataWritten-Array-Tags (ui8) müssen auf 5*2 1 = 11 für get 5 * ui16 in der Austauschtabelle eingestellt werden
    • Beispiel: 10 ui16 in der Austauschtabelle bedeutet 21 ui8 Arraygröße für DataRead und DataWritten
  • Nicht verwendete Tags RWrite* und RRead* des Slave können gelöscht werden

Slave ACE PLC: Schreiben eines Testprogramms

In „Toolbox“ ein Unterprogramm hinzufügen und das Unterprogramm SlaveRemoteIO auswählen

Wie es funktioniert:

  • LocalWriteUI16[ ] ist ein Array von ui16-Tags der Größe 5
    • LocalWriteUI16[0] ist das vom Master geschriebene Tag Nummer 0
    • LocalWriteUI16[4] ist das vom Master geschriebene Tag Nummer 4
  • LocalReadUI16[ ] ist ein Array von ui16-Tags der Größe 5
    • LocalReadUI16[0] ist das vom Master gelesene Tag Nummer 0 (an den Master senden)
    • LocalReadUI16[4] ist das vom Master gelesene Tag Nummer 4 (an den Master senden)

Im Testprogramm werden wir den vom Master empfangenen Wert an den Master senden (siehe Werkzeug „Kopieren“)!

Wir kopieren also die Werte

  • LocalWriteUI16[0] in die LocalReadUI16[0] tag
  • LocalWriteUI16[1] an das LocalReadUI16[1] tag

Master ACE PLC: Schreiben eines Testprogramms

Fügen Sie in der „Toolbox“ ein Unterprogramm hinzu und wählen Sie das Unterprogramm ReadWriteToSlave

Wie es funktioniert:

  • RWriteUI16Slave1[ ] ist ein Array von ui16-Tags der Größe 5
    • RWriteUI16Slave1[0] ist die Tag-Nummer 0, die in Slave 1 geschrieben werden soll
    • RWriteUI16Slave1[4] ist das Tag mit der Nummer 4, das in Slave 1 geschrieben werden soll
    • RWriteUI16Slave2[0] ist die Tag-Nummer 0, die in Slave 2 geschrieben werden soll
  • RReadUI16Slave1[ ] ist ein Array von ui16-Tags der Größe 5
    • RReadUI16Slave1[0] ist die Tag-Nummer 0, die in Slave 1 gelesen werden soll
    • RReadUI16Slave2[3] ist die Tagnummer 3, die in Slave 2 gelesen werden soll

Im Testprogramm werden wir einige Werte an jeden Slave senden (siehe „Copy“-Tool)!

Also, wir kopieren die Werte

  • Tag 0 des Slave 1 = 10000
  • Tag 1 des Slave 1 = 10001
  • Tag 0 des Slave 2 = 20000
  • Tag 1 des Slave 2 = 20001

Und wir prüfen, ob die von den Slaves empfangenen Werte gleich sind (da die Werte von jedem Slave ACE kopiert werden)

Bemerkungen

eACE/ACE mit 2 RS232-Schnittstellen (7096, 7092,..)

Wenn Sie einen ACE mit 2 RS232-Ports verwenden, benutzen Sie den A1-Port.
Wenn Sie die Schnittstelle A2 verwenden möchten (benutzerdefiniert in „Setup Hardware“), überprüfen Sie das Popup-Fenster „Port A2 SEND“ und „Port A2 RECEIVE“ und bestätigen Sie es mit [ OK ] (siehe „Subroutine“ „ReadWriteToSlave“)

Warnungen in unserem Programm: Ja, es ist normal, dass Sie diese Warnungen erhalten, es gibt einige „Copy“-Tools für den Debug-Modus (Werte im Debug-Modus anzeigen).
Sie können sie entfernen.

Kopieren von Eingabe-/Ausgabebits oder Registerbits

Verwenden Sie das Werkzeug „Kopieren“ im Modus„Packen„, um alle Remote-Ausgangszustände in ein ui16-Tag zu kopieren
Sie können auch„Entpacken“ verwenden, um alle entfernten Eingangszustände aus dem ui16-Tag zu extrahieren

Float in 2 * UI16 kopieren

Umwandlung eines I32 in 2 * UI16, dann Rückumwandlung von 2 * UI16 in i32