Configurazione & Programmazione di un PC Master DP.
-
Upload
stefania-serra -
Category
Documents
-
view
248 -
download
2
Transcript of Configurazione & Programmazione di un PC Master DP.
Configurazione & Programmazione
di un PC Master DP
Profibus DP Master
PC connesso a Profibus DP Scheda di interfaccia Profibus DP
Applicom PC1500PFB
ISA PC board Processor: Intel 80186 - 24 MHz Memory: 512 Kbytes dynamic RAM Electrical Interface: RS485 with galvanic
insulation (500 volts) Baud Rate: from 9.6 to 500 Kbps Length per segment
9.6 - 19.2 - 93.75 Kbps 1200 meters 187.5 Kbps 1000 meters 500 Kbps 400 meters
Caratteristiche Scheda Applicom PC1500PFB
Offre supporto di comunicazione per più protocolli: Profibus DP, FMS
Sono disponibili più canali “virtuali” di comunicazione, uno per ogni protocollo implementato.
La comunicazione è basata sul Data Exchange
Può essere sfruttata la sincronizzazione, ma solo per il Server OPC offerto dalla scheda
Caratteristiche Scheda Applicom PC1500PFB
Definizione del bus e delle sue proprietà Bit rate Parametri di Comunicazione
Definizione Slaves (Files GSD)
Configurazione PC Master DP
Le funzioni di comunicazione appartengono a tre differenti modalità operative:
Wait Mode
Database
Cyclic Mode
Scambio Dati
Modalità Operativa
Wait Mode
Ciascuna funzione di comunicazione è trasferita al Protocol Task del canale di comunicazione desiderato
Vengono realizzate le dovute preparazioni di telegrammi Profibus DP e viene realizzata la trasmissione
La risposta dell'equipment di destinazione viene ricevuta e processata
Le eventuali variabili ricevute e l'esito della comunicazione sono ritornate all'Applicazione
Vantaggio: L'Applicazione evolve in modo sincrono con l'esito dello scambio informativo
Svantaggio: L'esecuzione dell'Applicazione potrebbe essere rallentata
Modalità Operativa
Wait Mode
Modalità Operativa
Data Base
La modalità operativa Data Base viene utilizzata:
per accedere a variabili che sono lette da un equipment
per aggiornare variabili che vengono scritte su un equipment
Modalità Operativa
Data Base
Il Data Base è suddiviso in due aree: bit (32Kbits)word (32Kwords), che comprende anche byte
Ciascuna variabile ha un indirizzo relativo all'area di appartenenza nel Data Base
l'area viene individuata dal tipo di funzione utilizzata
E’ possibile definire delle sequenze di scambio informativo di tipo ciclico
Le sequenze cicliche possono essere interrotte e fatte ripartire da programma
Le sequenze cicliche possono essere gestite in modo automatico da Windows
Le sequenze cicliche possono essere relative sia alla lettura sia alla scrittura di variabili da/verso un determinato dispositivo Slave DP
Modalità Operativa
Cyclic Mode
Ciascuna variabile letta ciclicamente dall'equipment viene memorizzata nell’area Data Base
Ciascuna variabile che deve essere scritta ciclicamente in un equipment viene prelevata dall’area Data Base
La frequenza di esecuzione di ogni sequenza (funzione) è definibile in multipli di 100 msec
Il periodo di ripetizione può essere rispettato solo se lo scambio ciclico avviene in un tempo inferiore
Possono essere definite al massimo 255 sequenze cicliche
Modalità Operativa
Cyclic Mode
Modalità Operativa
Data Base+Cyclic Mode
Vantaggio: L'Applicazione evolve in modo asincrono con l'esito dello scambio informativo
Svantaggio: Viene persa la freschezza dei dati
Legata al ciclo di aggiornamento del Data Base
Le funzioni che si riferiscono allo scambio dati tra DP Master e DP Slaves implementano tutte il Data Exchange
Inizializzazione e termine. Esistono le seguenti funzioni di libreria:
Initbus Exitbus
Funzioni Supportate dalla libreria Applicom
Wait Mode:Bit Bit di Input Leggi bit di Ingresso READPACKIBIT
Bit di Output Leggi bit di UscitaScrivi bit di Uscita
READPACKQBITWRITEPACKQBIT
Byte Byte di Input Leggi byte di Ingresso READPACKIBYTE
Byte di Output Leggi byte di UscitaScrivi byte di Uscita
READPACKQBYTEWRITEPACKQBYTE
Word Word di Input Leggi word di Ingresso READIWORD
Word di Output Leggi word di UscitaScrivi word di Uscita
READQWORDWRITEQWORD
Funzioni Supportate dalla libreria Applicom
Cyclic Mode:Creazione di Cicli CREATECYC
Partenza/Attivazione Ciclo STARTCYC
Arresto Ciclo STOPCYC
Una sola Esecuzione di un Ciclo ACTCYC
La gestione dei cicli può essere anche demandata ad un applicativo sotto Windows PCCYC
Funzioni Supportate dalla libreria Applicom
Data Base Mode:Bit Leggi bit da Data Base GETPACKBIT
Scrivi bit nel Data Base SETPACKBIT
Byte Leggi byte da Data Base GETPACKBYTE
Scrivi byte nel Data Base SETPACKBYTE
Word Leggi word dal Data Base GETWORD
Scrivi word nel Data Base SETWORD
DWord Leggi Dword dal Data Base GETDWORD
Scrivi Dword nel Data Base SETDWORD
FWord Leggi Fword dal Data Base GETFWORD
Scrivi Fword nel Data Base SETFWORD
Funzioni Supportate dalla libreria Applicom
Si supponga di voler leggere 16 bits (i bits 0 fino a 15) dell'equipment numero 20 (SAIA RIO 16I), dal canale 0 (Profibus DP)
I bit si possono simulare in laboratorio utilizzando un filo e facendo un ponticello
I 16 bit letti vengono compattati in uno short (16 bit)
Per poter visualizzare il valore di ogni ingresso, si devono estrarre i singoli bit
Funzione di libreria applicom transwordbit()
Esempio di Funzionamento Wait Mode
ReadPackIBit
15 0
Ingresso n.15 Ingresso n.0
void main(){ initbus(&status); if (!status) {
do { readpackibit(&nchan, &neq, &nb, &adr, tabl, &status);
if (!status) { transwordbit(&nb, tabl, tablbit, &status); for (i=0; i<nb; i++)
printf(" %hd", tablbit[i]); } else printf("Problemi con lo Slave numero %hd \n ", neq);} while (!status);
exitbus(&status); }else printf("\n Il Software di Comunicazione Applicom® non è Stato Eseguito ");}
Esempio di Funzionamento Wait Mode
ReadPackIBit short i;short nchan=0; short neq=20; short nb=16; short status; long adr=0; short tabl[1]; short tablbit[16];
#include <windows.h>#include <stdio.h>#include "applicom.h"
Si supponga di voler scrivere 1 byte nelle uscite dell'equipment di indirizzo 30, dall'interfaccia Applicom relativa al canale 0 (Profibus DP)
Si supponga che l'equipment di indirizzo 30 sia un SAIA RIO 16O, ossia abbia 16 uscite (2 byte)
I due byte vengono individuati con gli indirizzi relativi 0 e 1 Il programma permette di inserire il byte da scrivere (valori 0-
255) e l'indirizzo di byte (0 o 1) Al fine di facilitare l’inserimento del byte, ogni byte è trattato
come char (intero senza segno): L’utente deve digitare un numero compreso tra 0-255
Esempio di Funzionamento Wait Mode
WritePackQByte
Esempio di Funzionamento Wait Mode
WritePackQByte #include <windows.h>#include <stdio.h>#include "applicom.h"void main(){ initbus(&status); if (!status) {
do { printf("\n Valore del byte da scrivere (0-255) = ");
scanf(" %hd", &tabl[0]); printf("\n Valore dell'address byte (0-1) = ");
scanf(" %ld", &adr); writepackqbyte(&nchan, &neq, &nb, &adr, tabl, &status); if (status) printf("Problem on Equipment no. %hd \n ", neq);
} while (!status); exitbus(&status); }else printf(" non-resident applicom® communication software ");}
short i;short nchan=0;short neq=30;short nb=1;short status;long adr;char tabl[1];