La libreria TimeSync implementa la funzionalità client SNTP (Simple Network Time Protocol) che consente al controller di collegarsi a un server dell'ora NTP (Network Time Protocol) o SNTP per sincronizzare il RTC (Real-Time Clock) interno del controller con lo standard orario primario UTC (Universal Time Coordinated) univoco globalmente.
Il client SNTP è conforme con la versione 4 del protocollo SNTP.
Fornisce le seguenti funzioni:
oGenerazione di una richiesta a un server (S)NTP
oRicezione e strutturazione della risposta del server (S)NTP
oCalcolo del ritardo round-trip e dell'offset dell'orologio
oFornire il timestamp sincronizzato per la sincronizzazione del RTC del controller e prendere in considerazione l'offset tra RTC locale e ora del server (S)NTP oltre al ritardo round-trip
oGestione degli errori rilevati
1 Server dell'ora: SNTP o NTP
2 Controller X: client SNTP
3 Controller Y: client SNTP
Caratteristiche della libreria
La seguente tabella indica le caratteristiche della libreria:
Caratteristiche |
Valore |
---|---|
Titolo della libreria |
TimeSync |
Società |
Schneider Electric |
Categoria |
Comunicazione |
Spazio dei nomi predefinito |
TIMS |
Attributo del modello del linguaggio |
|
Libreria compatibile con le versioni successive |
Sì (FCL) |
NOTA: Per questa libreria è impostato il solo accesso qualificato. Questo significa che l'accesso alle POU, alle strutture dati, alle enumerazioni e alle costanti deve avvenire utilizzando lo spazio dei nomi della libreria. Lo spazio dei nomi predefinito della libreria è TIMS.
Insieme alla libreria è fornito il progetto di esempio FB_SntpClient.project. Il progetto di esempio mostra come implementare i componenti dalla libreria TimeSync.
Passo |
Azione |
Commento |
---|---|---|
1 |
In EcoStruxure Machine Expert Logic Builder, eseguire il comando Nuovo progetto. |
– |
2 |
Nella finestra di dialogo Nuovo progetto, selezionare Da esempio nell'elenco Tipo di progetto. |
– |
3 |
Sul lato destro della finestra di dialogo Nuovo progetto, selezionare il controller (1) nell'elenco Controller. |
Risultato: gli esempi disponibili vengono elencati nella casella di testo Esempi corrispondenti. |
4 |
Selezionare l'esempio nell'elenco Esempi corrispondenti. |
– |
5 |
Specificare il nome per il nuovo progetto e selezionare il percorso del file. |
– |
6 |
Fare clic su OK. |
Risultato: viene creato un nuovo progetto in base all'esempio selezionato. |
NOTA: Se si imposta l'RTC del controller, vengono generate voci nel file di registro del controller, pertanto non utilizzare questa funzione più di una volta al giorno per le regolazioni automatiche.
L'intervallo di valori consentiti in cui il RTC (Real-Time Clock) interno del controller può essere impostato dal blocco funzione è limitato a 01.01.1970...01.01.2100. La precisione dipende dal server (S)NTP in uso. È possibile raggiungere la precisione massima di 1 s per la sincronizzazione UTC.
NOTA: Le voci nel file di registro del controller vengono salvate con un timestamp. Tenere presente che quando si porta il RTC (Real-Time Clock) interno del controller indietro nel tempo, si possono ottenere due diversi voci di registro salvate con un timestamp apparentemente inappropriato.
Considerare le limitazioni seguenti per la comunicazione (S)NTP:
oÈ supportato solo IPv4 (Internet Protocol, versione 4).
oÈ consentita solo una richiesta a un server dell'ora (S)NTP alla volta.
oLa libreria TimeSync incorpora dei puntatori agli indirizzi.
oNon utilizzare un intervallo di interrogazione inferiore a 15 secondi.
oUtilizzare server locali qualora disponibili per evitare traffico non necessario sulla rete backbone.
L'esecuzione del comando Modifica in linea può modificare il contenuto degli indirizzi.
|
PUNTATORE NON VALIDO |
Verificare la validità del puntatore quando si utilizzano i puntatori sugli indirizzi e durante l'esecuzione del comando Modifica in linea. |
Il mancato rispetto di queste istruzioni può provocare infortuni o danni alle apparecchiature. |
La libreria descritta in questo documento utilizza internamente la libreria TcpUdpCommunication.
Le librerie TcpUdpCommunication (Schneider Electric) e CAA Net Base Services (CAA Technical Workgroup) utilizzano le stesse risorse di sistema sul controller. L'uso contemporaneo di entrambe le librerie nella stessa applicazione può portare a disturbi durante il funzionamento del controller.
|
FUNZIONAMENTO IMPREVISTO DELL'APPARECCHIATURA |
Non utilizzare la libreria TcpUdpCommunication (Schneider Electric) insieme con la libreria CAA Net Base Services (CAA Technical Workgroup) contemporaneamente nella stessa applicazione. |
Il mancato rispetto di queste istruzioni può provocare morte, gravi infortuni o danni alle apparecchiature. |
Considerazioni relative alla sicurezza informatica
Le funzioni della libreria TimeSync non supportano le connessioni protette come TLS (Transport Layer Security) o SSL (Secure Socket Layer). Poiché i telegrammi SNTP non sono codificati e autentificati, non è necessario ottenere o impostare informazioni su un agente. La comunicazione deve essere eseguita solo all'interno della rete industriale, isolata da altre reti all'interno dell'azienda e protetta da Internet.
NOTA: Schneider Electric aderisce alle migliori pratiche del settore nello sviluppo e nell'implementazione dei sistemi di controllo. Ciò include un approccio "Defense-in-Depth" per la protezione di un sistema di controllo industriale. Secondo questo tipo di approccio, i controller sono protetti da uno o più firewall per limitare l'accesso al personale e ai protocolli autorizzati.
|
ACCESSO NON AUTENTICATO E CONSEGUENTE FUNZIONAMENTO NON AUTORIZZATO DELLA MACCHINA |
oValutare se l'ambiente o le macchine sono collegati all'infrastruttura critica e, in caso positivo, adottare le misure appropriate in termini di prevenzione, secondo l'approccio "Defense-in-Depth", prima di collegare il sistema di automazione a una rete. oLimitare al minimo necessario il numero di dispositivi collegati alla rete. oIsolare la rete industriale dalle altre reti nell'ambito dell'azienda. oProteggere le reti dall'accesso non autorizzato mediante l'uso di firewall, VPN, o altre procedure di sicurezza di comprovata efficacia. oMonitorare tutte le attività del sistema. oImpedire l'accesso diretto o il collegamento diretto ai dispositivi da parte di persone non autorizzate o con azioni non autenticate. oRedigere un piano di ripristino che includa il backup del sistema e delle informazioni di processo. |
Il mancato rispetto di queste istruzioni può provocare morte, gravi infortuni o danni alle apparecchiature. |
Per ulteriori informazioni sulle misure e le regole relative all'accesso alle infrastrutture, consultare ISO/IEC 27000 series, Common Criteria for Information Technology Security Evaluation, ISO/IEC 15408, IEC 62351, ISA/IEC 62443, NIST Cybersecurity Framework, Information Security Forum - Standard of Good Practice for Information Security.
La libreria incorpora le seguenti funzionalità che consentono di impedire gli errori di comunicazione:
oVerifica del timestamp inviato in origine al server per consentire di rilevare gli errori di trasmissione.
oVerifica che la definizione del protocollo sia conforme con lo standard.
oVerifica della versione del server ed emissione di un messaggio di diagnostica in caso di mancata corrispondenza.
Blocco funzione/funzione |
Utilizzo |
---|---|
Fornisce funzioni client SNTP. |
|
Converte un elemento di un'enumerazione di tipo ET_Result in un valore stringa. |
Panoramica delle strutture nell'interfaccia specifica al modulo
Struttura |
Utilizzo |
---|---|
Contiene informazioni specifiche per inviare una richiesta SNTP a un server dell'ora (S)NTP. |
|
Contiene i timestamp ed è utilizzabile per sincronizzare il RTC. |
Enumerazione |
Utilizzo |
---|---|
Definisce la modalità di comunicazione del client SNTP. |
|
Contiene i possibili valori che indicano il risultato delle operazioni eseguite dal blocco funzione. |