Come possiamo aiutarti?
ACE come unità di espansione I/O: Tabella di scambio con gli slave
Nei PLC ACE Slave e Master
Collegare ciascun ACE tramite la porta seriale
|
![]() |
Rete multidrop per RS232
Per soli 2 ACE via RS232, è molto semplice: RX <> TX, TX <> RX e GND <> GND
Per più di 2 ACE su RS232 (non RS485), è possibile! Basta aggiungere 1 diodo su ciascun pin TX dello slave

Configurare la porta seriale come “Tipo personalizzato” e selezionare la modalità giusta RS232 o RS485 per gli ACE-1430/1450
Per questo è necessario tornare a “Setup Hardware” nell’angolo in alto a sinistra del software vBuilder (icona verde o blu). |
o
|
Scaricare le subroutine per il master e gli slave e aggiungerle ai PLC ACE
Scarica:
| Aggiungerle a ciascun PLC ACE selezionando uno dei file .viofs | Aggiungi una subroutine![]() |
Master |
Slave![]() |
Numero di slave e dimensione della tabella di scambio
Le subroutine del master consentono di scambiare tag ui16 con ogni slave.
È necessario scegliere:
- il numero di slave
- la dimensione della tabella di scambio ui16.
Per impostazione predefinita, la subroutine può gestire 5 slave con 10 tag per slave (5 in lettura e 5 in scrittura)

Inoltre, ricordarsi di aumentare o diminuire la dimensione delle tabelle per ciascun tag, se necessario (vedere “Tag” nel programma Master e Slave)
- ui16 deve essere impostato a 5 (lunghezza 5 = tag da 0 a 4) per ottenere 5 * ui16 nella tabella di scambio
- I tag dell’array DataRead e DataWritten (ui8) devono essere impostati a 5*2 1 = 11 per ottenere 5 * ui16 nella tabella di scambio
- Esempio: 10 ui16 nella tabella di scambio significa 21 ui8 di dimensione dell’array per DataRead e DataWritten
- I tag RWrite* e RRead* dello slave non utilizzati possono essere eliminati
Slave ACE PLC: scrivere un programma di prova
In “Toolbox”, aggiungere una subroutine e selezionare la subroutine SlaveRemoteIO
Come funziona:
- LocalWriteUI16[ ] è un array di tag ui16 di dimensioni 5
- LocalWriteUI16[0] è il tag numero 0 scritto dal master
- …
- LocalWriteUI16[4] è il tag numero 4 scritto dal master
- LocalReadUI16[ ] è un array di tag ui16 di dimensione 5
- LocalReadUI16[0] è il tag numero 0 letto dal master (inviato al master)
- …
- LocalReadUI16[4] è il tag numero 4 letto dal master (inviato al master)
Nel programma di prova, invieremo al master il valore ricevuto dal master (vedere lo strumento “Copy”)!
Quindi, copiamo i valori
- LocalWriteUI16[0] al valore LocalReadUI16[0] al tag
- LocalWriteUI16[1] al tag LocalReadUI16[1] al tag

Master ACE PLC: scrivere un programma di prova
In “Toolbox”, aggiungere una subroutine e selezionare la subroutine ReadWriteToSlave
Come funziona:
- RWriteUI16Slave1[ ] è un array di tag ui16 di dimensione 5
- RWriteUI16Slave1[0] è il tag numero 0 da scrivere nello slave 1
- …
- RWriteUI16Slave1[4] è il tag numero 4 da scrivere nello slave 1
- …
- RWriteUI16Slave2[0] è il numero di tag 0 da scrivere nello slave 2
- …
- RReadUI16Slave1[ ] è un array di tag ui16 di dimensione 5
- RReadUI16Slave1[0] è il tag numero 0 da leggere nello slave 1
- …
- RReadUI16Slave2[3] è il tag numero 3 da leggere nello slave 2
Nel programma di prova, invieremo alcuni valori a ogni slave (vedere lo strumento “Copy”)!
Quindi, copiamo i valori
- Tag 0 dello slave 1 = 10000
- Tag 1 dello slave 1 = 10001
- Tag 0 dello slave 2 = 20000
- Tag 1 dello slave 2 = 20001
E controlliamo se i valori ricevuti dagli slave sono gli stessi (dato che i valori sono copiati da ogni slave ACE)
Osservazioni
eACE/ACE con 2 porte RS232 (7096, 7092,…)
Se si utilizza un ACE con 2 porte RS232, utilizzare la porta A1.
Se si desidera utilizzare la porta A2 (personalizzata in “Setup Hardware”), controllare e confermare con [ OK ] il popup in “Port A2 SEND” e “Port A2 RECEIVE” (vedere “Subroutine” “ReadWriteToSlave”)

Avvertenze nel nostro programma: Sì, è normale che vengano visualizzati questi avvisi, ci sono alcuni strumenti di “Copia” per la modalità di debug (visualizzazione dei valori in modalità di debug).
È possibile rimuoverli.

Copiare i bit di ingresso/uscita o i bit di registro
Utilizzare lo strumento “Copy” in modalità“Pack” per copiare tutti gli stati di uscita remota in 1 tag ui16
È anche possibile utilizzare lo strumento“Unpack” per estrarre tutti gli stati di ingresso remoto dal tag ui16

Copia di un’unità a virgola mobile in 2 * UI16

Convertire un I32 in 2 * UI16, quindi riconvertire 2 * UI16 in i32
![]() |
![]() |

o






