Imposta una connessione Ethernet
Questa istruzione FP imposta una connessione Ethernet con impostazioni specificate da sMode e sAddress in una gamma di connessioni utente specificate da nStartPort e nEndPort. Assicurarsi che i parametri adatti siano stati impostati anche nel navigatore in .
Ingresso
Impostare la modalità di comunicazione e i parametri di connessione.
Modalità di comunicazione (parametro richiesto)
Specificare i parametri per la modalità di comunicazione.
Parole chiave:
'MEWCOM'
: MEWTOCOL-COM (default)
'MEW7COM'
: MEWTOCOL7-COM
'MODBUS'
: MODBUS-TCP
'MEWDAT'
: MEWTOCOL-DAT
'GP'
: Programma controllato [General purpose] (disponibile solo per 16 connessioni utente)
'GP_LARGE'
: Programma controllato [General purpose] con grande capacità di ricezione (disponibile solo per la prima connessione utente e solo su tipi di PLC CPS4* e CPS3* versione 4.32 o superiore)
Impostazione opzione (parametro richiesto)
Alcune modalità di comunicazione hanno un'opzione di protocollo aggiuntiva che può essere attivata. Specificare se utilizzare o meno l'opzione per la modalità di comunicazione selezionata.
'OPTAV'
: L'opzione disponibile per la modalità di comunicazione selezionata è attivata
'OPTNAV'
: Non sono presenti opzioni disponibili per la modalità di comunicazione selezionata o l'opzione disponibile non è attivata (default)
Modalità di comunicazione |
|
|
---|---|---|
MEWTOCOL-COM |
Collegare con FP2 ET-LAN |
Non collegare |
MEWTOCOL7-COM |
Non disponibile |
Non disponibile |
MODBUS-TCP |
Non disponibile |
Non disponibile |
MEWTOCOL-DAT |
Collegare con FP2 ET-LAN |
Non collegare |
Programma controllato [General Purpose] |
Non inserire un'intestazione speciale |
Inserisci un'intestazione speciale |
Programma controllato [General purpose] con grande capacità di ricezione |
Non inserire un'intestazione speciale |
Non disponibile. Se questa parola chiave viene specificata, si verifica un errore di calcolo. |
Specificare il tipo di connessione Ethernet da aprire (parametro richiesto).
'CL'
: Connessione client (default)
Per le connessioni client, l'indirizzo IP dell'unità di destinazione viene incrementato di uno per ciascuna connessione utente dalla connessione utente specificata da nStartPort fino alla connessione utente specificata da nEndPort.
'SV'
: Connessione server
Per le connessioni server, il numero di porta dell'unità master viene incrementato di uno per ciascuna connessione utente dalla connessione utente specificata da nStartPort fino alla connessione utente specificata da nEndPort.
Specificare il metodo per l'apertura della connessione Ethernet (parametro richiesto).
'AUTO'
: Aprire la connessione automaticamente (default)
'MANU'
: Non aprire la connessione automaticamente (utilizzare invece l'istruzione FP_ETHERNET_CONNECTION_OPEN)
Specificare il tipo di comunicazione Ethernet (parametro richiesto).
'TCP'
: Impostazione TCP/IP (default)
'UDP'
: Impostazione UDP/IP (non disponibile per la modalità di comunicazione GP_LARGE)
Nota:
Se è stato specificato UDP come tipo di comunicazione, vi è una differenza tra l'uso delle istruzioni FP e la creazione delle impostazioni di configurazione nel navigatore. Non esiste alcun parametro "di tipo aperto" disponibile nel navigatore. Tuttavia, il "tipo aperto" deve essere specificato nelle istruzioni FP. Utilizzare le parole chiave 'SV'
per una connessione slave e 'CL'
per una connessione master.
Non specificare GP_LARGE perché tale azione comporterà un errore di calcolo.
Reset ai valori di default
'INITIAL'
: Resetta tutte le impostazioni alle impostazioni di default
Esempi:
Impostare MEWTOCOL-COM come modalità di comunicazione, utilizzare l'opzione per connettersi con FP2 ET-LAN: una connessione client dovrebbe stabilirsi e aprirsi automaticamente e il tipo di comunicazione è TCP/IP: 'MEWCOM,OPTAV,CL,AUTO,TCP'
Impostare MODBUS-TCP come modalità di comunicazione, l'opzione non è disponibile: una connessione server dovrebbe stabilirsi ma non aprirsi automaticamente e il tipo di comunicazione è UDP/IP: 'MODBUS,OPTNAV,SV,MANU,UDP'
Impostare la modalità di comunicazione su programma controllato, aggiungere un'intestazione speciale, una connessione al server dovrebbe stabilirsi e aprirsi automaticamente e il tipo di comunicazione è UDP/IP: 'GP,OPTNAV,SV,AUTO,UDP'
Impostare la modalità di comunicazione su programma controllato con grande capacità di ricezione, non aggiungere un'intestazione speciale, una connessione al server dovrebbe stabilirsi ma non aprirsi automaticamente e il tipo di comunicazione è TCP/IP: 'GP_LARGE,OPTAV,SV,MANU,TCP'
Se si desidera resettare la configurazione alle impostazioni di default in modo tale che la modalità di comunicazione sia MEWTOCOL-COM, senzaconnessione a FP2 ET-LAN, una connessione al client dovrebbe essere stabilita e aperta automaticamente e il tipo di comunicazione è TCP/IP: 'INITIAL'
Impostare i parametri dell'indirizzo. Le impostazioni differiscono a seconda che si stiano specificando connessioni client o server.
Per le connessioni client, è necessario specificare gli indirizzi IP e i numeri di porta delle unità di destinazione, nonché il tempo di disconnessione per le connessioni non utilizzate.
Per le connessioni server, è necessario specificare i numeri di porta dell'unità master e il tempo di disconnessione per le connessioni non utilizzate.
Specificare una connessione client
Indirizzo IP dell'unità di destinazione (parametro richiesto)
Specificare l'indirizzo IP dell'unità di destinazione per la prima connessione utente nell'intervallo di connessioni utente specificato da nStartPort e nEndPort. L'indirizzo IP per le altre connessioni utente è impostato incrementando l'ultimo blocco dell'indirizzo IP di uno. L'impostazione del numero della porta di destinazione e del tempo di disconnessione è la stessa per tutte le connessioni utente e non viene incrementata.
Per un indirizzo IP, specificare la parola chiave IPv4
o IPv6
all'inizio.
Sintassi per IPv4: p.es. 'IPv4=111.122.133.144'
Sintassi per IPv6: p.es. 'IPv6=1111:122:2:1555:0:0:1888'
Si ricorda che per gli indirizzi Ipv4 vi sono restrizioni di intervallo. Per IPv4, 000.000.000.000 (0.0.0.0) non può essere specificato. Quando un indirizzo IP non valido viene specificato con un'istruzione, non vi saranno errori di funzionamento, ma l'uscita bError verrà impostata su TRUE. La variabile di sistema sys_iEthernetConnectionErrorCode è impostata su "1: Indirizzo IP non corretto specificato".
Numero della porta dell'unità di destinazione (parametro richiesto)
Parola chiave: 'PORT'
Sintassi:'PORT=xxxxx'
Valori: 1–65535
Tempo di disconnessione per connessioni non utilizzate (parametro richiesto)
Parola chiave: 'DISCONT'
Sintassi: 'DISCONT=xxxx'
Valori: 0–4294967295ms in passi da 10ms. 0: La connessione non viene disconnessa automaticamente.
Indirizzo iniziale del buffer di ricezione (parametro opzionale)
Questo parametro è disponibile solo per FP0H C32ET/EP e FP-XH C40ET, C60ET, FP-XH C60ETF quando la modalità di comunicazione è impostata su programma controllato [General purpose].
Parola chiave: 'BUFTOP'
Sintassi: 'BUFTOP=xxxx'
Valori: da DT0 fino all'ultimo DT possibile
Dimensione del buffer di ricezione (parametro opzionale)
Questo parametro è disponibile solo per FP0H C32ET/EP e FP-XH C40ET, C60ET, FP-XH C60ETF quando la modalità di comunicazione è impostata su programma controllato [General purpose].
Parola chiave: 'BUFSIZE'
Sintassi: 'BUFSIZE=xxxx'
Valori: 0–2048
Esempi:
Imposta l'indirizzo dell'unità di destinazione su 192.244.2.10 e il numero di porta dell'unità di destinazione su 9000, non si disconnette automaticamente anche se la connessione non è utilizzata: 'IPv4=192.244.2.10,PORT=9000,DISCONT=0'
Imposta l'indirizzo dell'unità di destinazione su 1222::1555:0:0:1999 e il numero di porta dell'unità di destinazione a 10000, si disconnette automaticamente dopo che la connessione non è stata utilizzata per 30 secondi: 'IPv6=1222::1555:0:0:1999,PORT=10000,DISCONT=30000'
Imposta l'indirizzo dell'unità di destinazione su 192.168.1.5 e il numero di porta dell'unità di destinazione su 4000, si disconnette automaticamente dopo che la connessione non è stata utilizzata per 50 secondi, imposta l'indirizzo iniziale del buffer di ricezione su DT4 e la dimensione del buffer di ricezione su 256: 'IPv4=192.168.1.5, PORT=4000, DISCONT=100, BUFTOP=DT4, BUFSIZE=256'
Specificare una connessione al server
Numero di porta dell'unità master (parametro richiesto)
Parola chiave: 'PORT'
Sintassi: 'PORT=xxxxx'
Valori: 1–65535
Tempo di disconnessione per connessioni non utilizzate (parametro richiesto)
Parola chiave: 'DISCONT'
Sintassi: 'DISCONT=xxxx'
Valori: 0–4294967295ms in passi da 10ms. 0: La connessione non viene disconnessa automaticamente.
Esempi:
Imposta il numero di porta dell'unità master a 9000, non si disconnette automaticamente anche se la connessione non è utilizzata: 'PORT=9000,DISCONT=0'
Imposta il numero di porta dell'unità master a 10000, si disconnette automaticamente dopo che la connessione non è stata utilizzata per 30 secondi: 'PORT=10000,DISCONT=30000'
Imposta il numero di porta dell'unità master a 11111, si disconnette automaticamente dopo che la connessione non è stata utilizzata per 70 millisecondi: 'PORT=11111,DISCONT=70'
Imposta il numero della prima connessione utente
SYS_ETHERNET_USER_CONNECTION_1–SYS_ETHERNET_USER_CONNECTION_216
Imposta il numero dell'ultima connessione utente
SYS_ETHERNET_USER_CONNECTION_1–SYS_ETHERNET_USER_CONNECTION_216
Uscita
se un indirizzo IP non è valido
se l'istruzione viene eseguita mentre l'indirizzo IP non è stabilito
Quando si verifica un errore, controllare la variabile di sistema sys_iEthernetConnectionErrorCode per verificare il numero di codice di errore.
Non modificare l'ordine delle parole chiave. Specificare le parole chiave e i loro parametri di impostazione nell'ordine in cui vengono elencati qui.
Utilizzzare una virgola "," per separare una parola chiave e la sua impostazione dalla parola chiave successiva.
Assicuratevi che nStartPort £ nEndPort
Assicurarsi di specificare nStartPort e nEndPort in modo che tutti gli indirizzi IP delle unità di destinazione (connessione client) o tutti i numeri di porta delle unità master (connessione server) siano all'interno dell'intervallo utilizzabile.
Il numero massimo per le connessioni utente Ethernet è 216.
Se si esegue l'istruzione quando una connessione utente è aperta o una connessione utente è impostata per aprirsi automaticamente, si verifica un errore di calcolo. Tuttavia, quando più connessioni utente sono impostate con l'istruzione, i cambiamenti di impostazione per le connessioni utente prima della connessione utente in cui si verifica un errore di calcolo verranno effettuati. I cambiamenti di impostazione per le connessioni utente dopo la connessione utente in cui si verifica un errore di calcolo non verranno effettuati.
Utilizzando questa istruzione per connessioni client multiple, alcune delle quali sono già state configurate, si verifica un errore di calcolo perché le connessioni utente configurate per un server sono raggruppate tra loro e verranno aperte e chiuse tutte contemporaneamente.
Questa istruzione non è disponibile nei programmi di interrupt.
Si possono usare sia caratteri maiuscoli che minuscoli. "Abcd", "ABCD" e "abcd" sono sinonimi.
Prima di eseguire l'istruzione, assicurarsi che sys_bIsEthernetInitializing sia FALSE. sys_bIsEthernetInitializing passa a TRUE quando l'istruzione viene eseguita. Se si esegue l'istruzione mentresys_bIsEthernetInitializing è TRUE, si verifica un errore.
Prima di eseguire l'istruzione, assicurarsi che sys_bIsEthernetIPAddressAssigned sia TRUE. Se si esegue l'istruzione mentre sys_bIsEthernetIPAddressAssigned è FALSE, bError passa a TRUE e l'istruziione viene terminata senza essere eseguita.
Se viene specificato un indirizzo IP non corretto, viene impostato bError e non viene eseguita alcuna operazione.
Quando questa istruzione è stata eseguita correttamente, le variabili di sistema sys_bIsCarry e sys_iEthernetConnectionErrorCode vengono resettate.
Questa istruzione non sovrascrive i dati sulla configurazione Ethernet memorizzati in modo permanente nel PLC. Quando il PLC è stato spento e riacceso, i dati sulla configurazione Ethernet memorizzati nel PLC vengono riutilizzati.
Quando si verifica un errore, controllare la variabile di sistema sys_iEthernetConnectionErrorCode per verificare il numero di codice di errore.
se nStartPort > nEndPort
se il numero di connessione dell'utente supera l'intervallo utilizzabile
se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.
se la stessa parola chiave è specificata più di una volta
se un numero di porta non è valido
se il numero di caratteri per dati stringa supera 256.
se è presente una connessione aperta
se è presente una connessione impostata per aprirsi automaticamente
se una o più connessioni utente nell'intervallo specificato da nStartPort e nEndPort appartengono a una configurazione server già esistente.
se GP_LARGE è specificata come modalità di comunicazione e OPTNAV è specificata come opzione di protocollo
se GP_LARGE è specificata come modalità di comunicazione e UDP è specificata come tipo di comunicazione Ethernet
se GP_LARGE è specificata come modalità di comunicazione e nStartPort o nEndPort non è 1
se l'istruzione viene eseguita in un programma di interrupt
se nStartPort > nEndPort
se il numero di connessione dell'utente supera l'intervallo utilizzabile
se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.
se la stessa parola chiave è specificata più di una volta
se un numero di porta non è valido
se il numero di caratteri per dati stringa supera 256.
se è presente una connessione aperta
se è presente una connessione impostata per aprirsi automaticamente
se una o più connessioni utente nell'intervallo specificato da nStartPort e nEndPort appartengono a una configurazione server già esistente.
se GP_LARGE è specificata come modalità di comunicazione e OPTNAV è specificata come opzione di protocollo
se GP_LARGE è specificata come modalità di comunicazione e UDP è specificata come tipo di comunicazione Ethernet
se GP_LARGE è specificata come modalità di comunicazione e nStartPort o nEndPort non è 1
se l'istruzione viene eseguita in un programma di interrupt
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
VAR
bSetConnection: BOOL:=FALSE;
bOpenConnection: BOOL:=FALSE;
bCloseConnection: BOOL:=FALSE;
END_VAR
Quando la variabile bSetConnection passa da FALSE a TRUE e la variabile di sistema sys_bIsEthernetInitializing non è TRUE, la funzione viene eseguita.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_VARIN,,'GP~OPTNAV~SV~AUTO~UDP',30,2,32,4,);
B(B_VARIN,,'PORT=9000~DISCONT=0',30,3,32,5,);
B(B_VARIN,,SYS_ETHERNET_USER_CONNECTION_1,30,4,32,6,);
B(B_VARIN,,SYS_ETHERNET_USER_CONNECTION_13,30,5,32,7,);
B(B_CONTACT,,sys_bIsEthernetInitializing,15,1,17,3,N);
B(B_CONTACT,,bSetConnection,5,1,7,3,R);
B(B_VAROUT,,bError,48,2,50,4,);
B(B_F,FP_ETHERNET_CONNECTION_SET!,,32,0,48,7,,?DEN?DsMode?DsAddress?DnStartPort?DnEndPort?AENO?CbError);
L(17,2,32,2);
L(1,2,5,2);
L(7,2,15,2);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
END_BODY
If DF(bSetConnection) AND NOT sys_bIsEthernetInitializing Then
FP_ETHERNET_CONNECTION_SET(sMode := 'GP,OPTNAV,SV,AUTO,UDP',
sAddress := 'PORT=9000,DISCONT=0,BUFTOP=DT10000,BUFSIZE=100',
nStartPort := SYS_ETHERNET_USER_CONNECTION_1,
nEndPort := SYS_ETHERNET_USER_CONNECTION_13);
END_IF;