Configurazione & Programmazione
di un PC Master DP
Profibus DP Master
 PC connesso a Profibus DP
 Scheda di interfaccia Profibus DP
 Applicom PC1500PFB
Caratteristiche Scheda Applicom PC1500PFB
 ISA PC board
 Processor: Intel 80186 - 24 MHz
 Memory: 512 Kbytes dynamic RAM
 Electrical Interface: RS485 with
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
galvanic
Caratteristiche Scheda Applicom PC1500PFB
 Offre supporto di comunicazione
protocolli: Profibus DP, FMS
per
più
 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
Configurazione PC Master DP
 Definizione del bus e delle sue proprietà
 Bit rate
 Parametri di Comunicazione
 Definizione Slaves (Files GSD)
Scambio Dati
 Le funzioni di comunicazione appartengono a tre
differenti modalità operative:
 Wait Mode
 Database
 Cyclic Mode
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
Modalità Operativa
Wait Mode
 Vantaggio: L'Applicazione evolve in modo sincrono con
l'esito dello scambio informativo
 Svantaggio: L'esecuzione dell'Applicazione potrebbe
essere rallentata
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
Modalità Operativa
Cyclic Mode
 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
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
Funzioni Supportate dalla libreria Applicom
 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
Byte
Word
Bit di Input
Leggi bit di Ingresso
READPACKIBIT
Bit di Output
Leggi bit di Uscita
Scrivi bit di Uscita
READPACKQBIT
WRITEPACKQBIT
Byte di Input
Leggi byte di Ingresso
READPACKIBYTE
Byte di Output
Leggi byte di Uscita
Scrivi byte di Uscita
READPACKQBYTE
WRITEPACKQBYTE
Word di Input
Leggi word di Ingresso
READIWORD
Word di Output
Leggi word di Uscita
Scrivi word di Uscita
READQWORD
WRITEQWORD
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
Byte
Word
DWord
FWord
Leggi bit da Data Base
GETPACKBIT
Scrivi bit nel Data Base
SETPACKBIT
Leggi byte da Data Base
GETPACKBYTE
Scrivi byte nel Data Base
SETPACKBYTE
Leggi word dal Data Base
GETWORD
Scrivi word nel Data Base
SETWORD
Leggi Dword dal Data Base
GETDWORD
Scrivi Dword nel Data Base
SETDWORD
Leggi Fword dal Data Base
GETFWORD
Scrivi Fword nel Data Base
SETFWORD
Esempio di Funzionamento Wait Mode
ReadPackIBit
 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)
0
15
Ingresso n.15
Ingresso n.0
 Per poter visualizzare il valore di ogni ingresso, si devono estrarre i singoli
bit
 Funzione di libreria applicom transwordbit()
Esempio di Funzionamento Wait Mode
short i;
#include <windows.h>
ReadPackIBit
short nchan=0;
#include <stdio.h>
short neq=20;
#include "applicom.h"
short nb=16;
void main()
short status;
{
long adr=0;
initbus(&status);
short tabl[1];
if (!status) {
short tablbit[16];
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
WritePackQByte
 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 0255) 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
#include <windows.h>
WritePackQByte
#include <stdio.h>
short i;
short nchan=0;
short neq=30;
short nb=1;
short status;
long adr;
char tabl[1];
#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 ");
}
Scarica

Programmazione Profibus-DP lato Master (Scheda per PC Applicom)