Hoe kunnen we helpen?
ACE als I/O-uitbreidingsunit: Uitwisselingstabel met slaves
In de slave en master ACE PLC’s
Koppel elke ACE via de seriële poort
|
![]() |
Multidrop-netwerk voor RS232
Voor slechts 2 ACE via RS232 is het heel eenvoudig: RX <> TX, TX <> RX en GND <> GND
Voor meer dan 2 ACE op RS232 (niet RS485) is het mogelijk! Voeg 1 diode toe op elke slave TX pin

Configureer de seriële poort als “Aangepast type” en selecteer de juiste modus RS232, of RS485 voor ACE-1430/1450
Hiervoor moet je teruggaan naar de “Setup Hardware” in de linkerbovenhoek van de vBuilder-software (groen of blauw pictogram). |
of
|
Download de subroutines voor de master en slave(s) en voeg ze toe aan je ACE PLC’s
Downloaden:
| Voeg ze toe aan elke ACE PLC door een van de .viofs-bestanden te selecteren | Subrubroutine toevoegen![]() |
Master |
Slaaf (en)![]() |
Aantal slaves en grootte van de uitwisselingstabel
De master subroutines laten toe om ui16 tags uit te wisselen met elke slaaf.
Je moet kiezen:
- het aantal slaven
- de grootte van de ui16 uitwisseltabel.
Standaard kan de subroutine 5 slaves beheren met 10 tags per slave (5 om te lezen en 5 om te schrijven)

Vergeet ook niet om de grootte van de tabellen voor elke tag te vergroten of te verkleinen indien nodig (zie “Tags” in Master en Slave programma)
- ui16 moet worden ingesteld op 5 (lengte 5 = tags 0 tot 4) om 5 * ui16 in de uitwisselingstabel te krijgen
- DataRead en DataWritten array tags (ui8) moeten worden ingesteld op 5*2 1 = 11 voor get 5 * ui16 in uitwisselingstabel
- Voorbeeld: 10 ui16 in wisseltabel betekent 21 ui8 array grootte voor DataRead en DataWritten
- Tags RWrite* en RRead* van slave die niet gebruikt worden kunnen verwijderd worden
Slave ACE PLC: testprogramma schrijven
Voeg in “Toolbox” een subroutine toe en selecteer de subroutine SlaveRemoteIO
Hoe het werkt:
- LocalWriteUI16[ ] is een array van ui16 tags van grootte 5
- LocalWriteUI16[0] is de tag nummer 0 geschreven door de master
- …
- LocalWriteUI16[4] is de tag nummer 4 geschreven door de master
- LocalReadUI16[ ] is een array van ui16 tags van grootte 5
- LocalReadUI16[0] is tag nummer 0 gelezen door de master (verzonden naar de master)
- …
- LocalReadUI16[4] is tag nummer 4, gelezen door de master (te versturen naar de master) ..
In het testprogramma gaan we de door de master ontvangen waarde naar de master sturen (Zie “Copy” tool) !
Dus we kopiëren de waarden
- LocalWriteUI16[0] naar de LocalReadUI16[0] tag
- LocalWriteUI16[1] naar de tag LocalReadUI16[1] tag

Master ACE PLC: schrijf een testprogramma
Voeg in “Toolbox” een subroutine toe en selecteer de subroutine ReadWriteToSlave
Hoe het werkt:
- RWriteUI16Slave1[ ] is een array van ui16 tags van grootte 5
- RWriteUI16Slave1[0] is het tag nummer 0 om in slave 1 te schrijven
- …
- RWriteUI16Slave1[4] is de tag nummer 4 om te schrijven in slave 1
- …
- RWriteUI16Slave2[0] is het tagnummer 0 om te schrijven in slave 2
- …
- RReadUI16Slave1[ ] is een array van ui16 tags van grootte 5
- RReadUI16Slave1[0] is het tag nummer 0 om te lezen in slave 1
- …
- RReadUI16Slave2[3] is het tagnummer 3 om te lezen in slave 2
In het testprogramma gaan we een aantal waarden naar elke slave sturen (Zie “Copy” tool) !
Dus we kopiëren de waarden
- Tag 0 van slave 1 = 10000
- Tag 1 van slave 1 = 10001
- Tag 0 van slave 2 = 20000
- Tag 1 van de slave 2 = 20001
En we controleren of de door de slave ontvangen waarde hetzelfde is (aangezien de waarde door elke slave ACE wordt gekopieerd)
Opmerkingen
eACE/ACE met 2 RS232-poorten (7096, 7092,…)
Als je een ACE met 2 RS232-poorten gebruikt, gebruik dan poort A1.
Als je poort A2 wilt gebruiken (Aangepast in “Hardware instellen”), controleer en bevestig met [ OK ] het pop-upvenster in “Poort A2 ZENDEN” en “Poort A2 ONTVANGEN” (Zie “Subroutine” “ReadWriteToSlave”)

Waarschuwingen in ons programma: Ja, het is normaal dat je deze waarschuwingen krijgt, er zijn enkele “Kopieer” tools voor debug modus (bekijk waarden in debug modus).
U kunt ze verwijderen.

Invoer-/uitvoerbits of registerbits kopiëren
Gebruik het gereedschap “Copy” in de modus“Pack” om alle remote uitgangstoestanden in 1 ui16 tag te kopiëren
Je kunt ook“Unpack” gebruiken om alle remote ingangstoestanden uit de ui16 tag te halen

Kopieer Float in 2 * UI16

Converteer een I32 in 2 * UI16 en converteer vervolgens 2 * UI16 opnieuw in i32
![]() |
![]() |

of






