How Can We Help?

Print

ACE come unità di espansione I/O: Tabella di scambio con gli slave

 

Alcuni ACE dispongono di una porta seriale RS232 e/o RS485. Per questa operazione è necessario disporre di 2 PLC ACE con una porta seriale libera.

Nei PLC ACE Slave e Master

Collegare ciascun ACE tramite la porta seriale
  • RS232
    • R (RX) <> T- (TX)
    • T (RX) <> R- (TX)
    • GND <> GND
  • RS485
    • R <> R
    • T- <> T-
    • GND <> GND
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
  • RS232/485, tipo Custom, 9600 bds, nessuna parità e 1 bit di stop.

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[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 dimensioni 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 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