How Can We Help?
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, è possibile! Basta aggiungere 1 diodo su ciascun pin TX dello slave
Configurare la porta seriale come tipo Custom e selezionare la modalità giusta RS232, o RS485 per ACE-1430/1450
Per questo è necessario tornare all’hardware di configurazione 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 ciascuna macchina 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 degli 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[ ] è una matrice di tag ui16 di dimensioni 5
- LocalWriteUI16
è il tag numero 0 scritto dal master[0] - …
- LocalWriteUI16
è il tag numero 4 scritto dal master[4]
- LocalWriteUI16
- LocalReadUI16[ ] è un array di tag ui16 di dimensione 5
- LocalReadUI16
è il tag numero 0 letto dal master (inviato al master)[0] - …
- LocalReadUI16
è il tag numero 4 letto dal master (inviato al master)[4]
- LocalReadUI16
Nel programma di prova, invieremo al master il valore ricevuto dal master (vedere lo strumento Copy)!
Quindi, copiamo i valori
- LocalWriteUI16
al valore LocalReadUI16[0] al tag[0] - 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 dimensioni 5
- RWriteUI16Slave1
è il tag numero 0 da scrivere nello slave 1[0] - …
- RWriteUI16Slave1
è il tag numero 4 da scrivere nello slave 1[4] - …
- RWriteUI16Slave2
è il numero di tag 0 da scrivere nello slave 2[0] - …
- RWriteUI16Slave1
- RReadUI16Slave1[ ] è un array di tag ui16 di dimensione 5
- RReadUI16Slave1
è il tag numero 0 da leggere nello slave 1[0] - …
- RReadUI16Slave2[3] è il tag numero 3 da leggere nello slave 2
- RReadUI16Slave1
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 la subroutine “ReadWriteToSlave”)
Avvertenze nel mio programma: Sì, è normale che si presentino questi avvisi, ci sono alcuni strumenti di “Copia” per la modalità di debug (visualizzazione dei valori in modalità di debug).
È possibile rimuoverli.
Copia delle uscite remote: Utilizzate lo strumento Copy in modalità Pack per copiare tutti gli stati di uscita remota in 1 tag ui16
Si può anche usare Unpack per estrarre tutti gli stati di ingresso remoto dal tag ui16
Copia di un’unità a virgola mobile in 2 * UI16