Title: Programmazione di un PLC (Slave
1Programmazione in Ambiente Profibus DP Slave
- Programmazione di un PLC (Slave Intelligente)
connesso a Profibus DP - Ruolo Slave
- Master PC o PLC
- Scheda di interfaccia Profibus DP
- Saia-Burgess
2Definizione della Comunicazione nel PLC SAIA
(Profibus DP Slave)
- Definizione dei Master presenti nel Bus
- Utilizzo dei file .GSD
- Definizione del Baud rate del Bus
- Assegnazione Indirizzo allo Slave e al/ai Master
che lo utilizzano
3Definizione della Comunicazione nel PLC SAIA
(Profibus DP Slave)
- Assegnazione del programma eseguito dallo Slave
- Definizione degli indirizzi di Flag di
diagnostica (obbligatorio) - Definizione del nome della configurazione del
device "SASI Text Number" (obbligatorio). - Il nome viene utilizzato nell'inizializzazione
della comunicazione per il device (XOB)
4Definizione della Comunicazione nel PLC SAIA
(Profibus DP Slave)
5Definizione della Comunicazione nel PLC SAIA
(Profibus DP Slave)
- Definizione degli scambi di comunicazione tra
Master/Slave - E' possibile definire i seguenti scambi
- Registro (32 bit) Master ? Registro (32 bit)
Slave - Flag (da 1 a 8 bit) Master ? Flag (da 1 a 8 bit)
Slave - Flag (da 1 a 8 bit) Master ? Uscita (da 1 a 8
bit) Slave - Registro (32 bit) Slave ? Registro (32 bit)
Master - Flag (da 1 a 8 bit) Slave ? Flag (da 1 a 8 bit)
Master - Ingressi (da 1 a 8 bit) Slave ? Flag (da 1 a 8
bit) Master
6Definizione della Comunicazione nel PLC SAIA
(Profibus DP Slave)
7Definizione della Comunicazione nel PLC SAIA
(Profibus DP Slave)
- Una volta scelta la tipologia dello scambio
informativo, vengono specificati gli indirizzi
dei flag e/o i registri interessati allo scambio
informativo
8Definizione della Comunicazione nel PLC SAIA
(Profibus DP Slave)
- Inizializzazione della Comunicazione SASI
- Sintassi
- SASI canale
- testo
-
- Canale Profibus DP9
- Il testo è il SASI Text Number contiene la
definizione parametri di comunicazione del
device
9Definizione della Comunicazione nel PLC SAIA
(Profibus DP Slave)
- Programma di Inizializzazione della Comunicazione
Profibus DP - XOB 16
- SASI 9
- text_name
- EXOB
- Nota il text name contiene tutte le
configurazioni di comunicazione relative al PLC
locale
10Esempio di Interazione tra PC e PLC Scrittura di
1 byte dal PC Master su 8 Flag Interni del PLC
Slave
- Il programma in C (lato PC Master)
include ltwindows.hgt include ltstdio.hgt include
"applicom.h" short i / For loop
counter / short nchan / Channel
number / short neq / Equipment
number / short nb / Number of
bytes / short status / Interchange
status / long adr / First byte
address / char tabl1 / Table containing
the data /
11Esempio di Interazione tra PC e PLC Scrittura di
1 byte dal PC Master su 8 Flag Interni del PLC
Slave
void main() initbus(status) if (!status)
nchan0 nb1 neq10 adr0 printf("\n
Valore del byte che devo scrivere (0-255)
") scanf(" hd", tabladr) writepackqbyte(n
chan, neq, nb, adr, tabl, status) if
(status) printf("\n problemi relativi
all'equipment numero hd \n",neq)
exitbus(status) else printf(" non-resident
applicom communication software ")
12Esempio di Interazione tra PC e PLC Scrittura di
1 bytes dal PC ai flag Interni del PLC
- Supponiamo di aver impostato lo scambio dati
- Flag (da 1 a 8 bit) Master ? Flag (da 1 a 8 bit)
Slave - Supponiamo che i Flag in cui il Master scrive
sono quelli da 0 a 7 (F0,..., F7) - Supponiamo di volere che il PLC ponga l'uscita O
50 alta se tutti i flag F0,...,F7 sono posti alti
(ossia se il PC scrive 255)
13Esempio di Interazione tra PC e PLC Scrittura di
1 bytes dal PC ai flag Interni del PLC
- Il programma in IL SAIA diviene
- XOB 16
- SASI 9
- text_name
- EXOB
14Esempio di Interazione tra PC e PLC Scrittura di
1 bytes dal PC ai flag Interni del PLC
- Il programma in Ladder SAIA diviene