STEP 7

Esempi Vedere anche Cronologia Strumenti
STEP 7

Questo capitolo contiene informazioni sugli argomenti seguenti:
  • Avvertenze di sicurezza
  • Avvertenze per l'utilizzo
  • Funzionamento online parallelo
  • Elaborazione di dispositivi e reti
  • Programmazione PLC
  • Inter Project Engineering (IPE)
  • Funzioni tecnologiche


Avvertenze di sicurezza

Avvertenze di sicurezza Impostazioni di rete
Avvertenze di sicurezza

Avvertenze di sicurezza

Siemens commercializza prodotti e soluzioni dotati di funzioni Industrial Security che contribuiscono al funzionamento sicuro di impianti, soluzioni, macchine e reti.

La protezione di impianti, sistemi, macchine e reti da minacce cibernetiche, richiede l'implementazione e la gestione continua di un concetto globale di Industrial Security che corrisponda allo stato attuale della tecnica. I prodotti e le soluzioni Siemens costituiscono soltanto una componente imprescindibile di questo concetto.

E' responsabilità del cliente prevenire accessi non autorizzati ad impianti, sistemi, macchine e reti. Il collegamento di sistemi, macchine e componenti, se necessario, deve avvenire esclusivamente nell'ambito della rete aziendale o tramite Internet previa adozione di opportune misure (ad es. impiego di firewall e segmentazione della rete).

Attenersi inoltre alle raccomandazione Siemens concernenti misure di sicurezza adeguate. Ulteriori informazioni su Industrial Security sono disponibili al sito

https://www.siemens.com/industrialsecurity

I prodotti e le soluzioni Siemens vengono costantemente perfezionati per incrementarne la sicurezza. Siemens raccomanda espressamente di eseguire gli aggiornamenti non appena sono disponibili i relativi update e di impiegare sempre le versioni aggiornate dei prodotti. L’uso di prodotti non più attuali o di versioni non più supportate incrementa il rischio di attacchi cibernetici.

Per essere costantemente aggiornati sugli update dei prodotti, abbonarsi a Siemens Industrial Security RSS Feed al sito

https://www.siemens.com/industrialsecurity

Impostazioni di rete

Le seguenti tabelle illustrano le impostazioni di rete del prodotto di volta in volta interessato, necessarie per l'analisi della sicurezza di rete e la configurazione di firewall esterni:

STEP 7 Professional
Nome | Numero di porta | Protocollo di trasporto | Direzione | Funzione | Descrizione
ALM | 4410* | TCP | In/Outbound | License service | Questo servizio fornisce la funzionalità completa per le licenze software e viene utilizzato sia da Automation License Manager sia da tutti i prodotti software di rilievo ai fini delle licenze.
RFC 1006 | 102 | TCP | Outbound | Comunicazione S7 | Comunicazione con il Controller S7 tramite Ethernet / PROFINET per scopi di programmazione e di diagnostica.
DCP | --- | Ethernet | Outbound | PROFINET | Il protocollo DCP (Discovery and basic Configuration Protocol) viene utilizzato da PROFINET e fornisce la funzionalità di base per la rilevazione e la configurazione di dispositivi PROFINET.
SNMP | 161 | UDP | Outbound | PROFINET | La funzionalità SNMP Client viene impiegata da STEP 7 per la lettura di informazioni di stato in dispositivi PROFINET.
* Porta standard modificabile nella configurazione utente

WinCC ES Basic (senza simulazione)
Nome | Numero di porta | Protocollo di trasporto | Direzione | Funzione | Descrizione
ALM | 4410* | TCP | In/Outbound | License service | Questo servizio fornisce la funzionalità completa per le licenze software e viene utilizzato sia da Automation License Manager sia da tutti i prodotti software di rilievo ai fini delle licenze.
HMI Load | 1033 | TCP | Outbound | HMI Load (RT Basic) | Questo servizio viene utilizzato per il trasferimento di immagini speculari e di dati di configurazione nei Basic Panel.
* Porta standard modificabile nella configurazione utente

Simulation RT Basic
Nome | Numero di porta | Protocollo di trasporto | Direzione | Funzione | Descrizione
HMI Load | 1033 | TCP | Inbound | HMI Load (RT Basic) | Questo servizio viene utilizzato per il trasferimento di immagini speculari e di dati di configurazione nei Basic Panel.
EtherNet/IP | 44818 | TCP | Outbound | Canale Ethernet/IP | Il protocollo Ethernet/IP trova impiego per i collegamenti ai PLC Allen Bradley.
 | 2222 | UDP | Inbound | Canale Ethernet/IP | Il protocollo Ethernet/IP trova impiego per i collegamenti ai PLC Allen Bradley.
Modbus TCP | 502 | TCP | Outbound | Canale Modbus TCP | Il protocollo Modbus TCP trova impiego per i collegamenti ai PLC Schneider.
RFC 1006 | 102 | TCP | Outbound | Canale S7 | Comunicazione con il Controller S7 tramite Ethernet / PROFINET
Mitsubishi MC | 5002 | TCP | Outbound | Canale Mitsubishi MC | Il protocollo Mitsubishi trova impiego per i collegamenti ai PLC omonimi.


Avvertenze per l'utilizzo

Contenuto Compatibilità dopo l’aggiornamento di un progetto a V16 Utilizzo parallelo Estrazione e inserimento delle unità Ethernet Compatibilità (S7-1200)
Avvertenze per l'utilizzo

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Compatibilità dopo l’aggiornamento di un progetto a V16

Dopo l’aggiornamento di un progetto a V16 vengono visualizzate differenze online/offline, nonostante il programma online e offline siano completamente identici. Queste differenze sono riconducibili all’ottimizzazione del calcolo delle somme di controllo in V16. Nella maggior parte dei casi i blocchi sono comunque compatibili.

In rari casi il calcolo della somma di controllo modificato può comportare la ricompilazione del progetto prima che venga controllato e testato online.

Maggiori informazioni si trovano nelle proprietà del progetto nel protocollo di aggiornamento. Se nel protocollo viene segnalata una incoerenza delle somme di controllo, le differenze online/offline sono riconducibili solo al calcolo delle somme di controllo modificate.

Per ulteriori informazioni consultare il capitolo “Collegamento online dopo l’aggiornamento di un progetto".

Utilizzo parallelo

Il supplemento "Combo" eventualmente presente dopo l'installazione nel nome del software o della chiave di licenza, consente, ai sensi del paragrafo 1.6 delle Condizioni Generali (vedere anche il testo del setup), l'utilizzo dei seguenti prodotti/delle seguenti versioni:

  • STEP 7 Professional 2017

  • STEP 7 Professional 2010

  • STEP 7 Professional 2006

Estrazione e inserimento delle unità Ethernet

Se si estraggono e poi inseriscono nuovamente unità Ethernet durante il funzionamento, è necessario riavviare il PC, altrimenti la funzionalità "Nodi accessibili" in STEP 7 o NCM PC non visualizza tutti i nodi. Mentre si avvia il PC, le unità Ethernet devono essere attivate.

Compatibilità (S7-1200)

La configurazione del dispositivo e il programma di una CPU S7-1200 devono essere configurati con la stessa versione di STEP 7. Normalmente TIA Portal verifica durante il caricamento nel dispositivo la presenza di eventuali conflitti tra versioni visualizzando le avvertenze del caso.

Nelle CPU S7-1200 con versione firmware V1.x questa verifica automatica non è eseguibile e pertanto spetta all'utente.


Funzionamento online parallelo

Contenuto Funzionamento online parallelo Collegamenti online simultanei su una CPU S7-1200 (S7-1200)
Funzionamento online parallelo

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Funzionamento online parallelo

Il funzionamento online parallelo di STEP 7 V5.6 o precedente e STEP 7 V16 (TIA Portal) non è abilitato.

Collegamenti online simultanei su una CPU S7-1200 (S7-1200)

La creazione simultanea del collegamento online alla stessa CPU S7-1200 da più istanze del TIA Portal non è possibile.


Elaborazione di dispositivi e reti

Elaborazione di dispositivi e reti

Questo capitolo contiene informazioni sugli argomenti seguenti:
  • Avvertenze generali sui dispositivi e reti
  • Avvertenze sulla configurazione hardware
  • Avvertenze sulle funzioni OPC UA
  • Rilevamento dell'hardware degli IO Device
  • HW ID del tipo "Hw_SubModule" per un HMI Panel IO Device
  • Utilizzo di moduli nell'S7-1200
  • CP 343-2 su SIMATIC S7 Embedded Controller EC31-RTX
  • Caricamento delle CPU S7-1500 (SIPLUS)
  • ET 200MP (IM 155-5 DP ST) su WinLC RTX
  • Avvertenze sulle funzioni online e di diagnostica
  • Componenti di rete


Avvertenze generali sui dispositivi e reti

Contenuto S7-PCT IO-Link (S7-1200) Port Configuration Tool PCT
Avvertenze generali sui dispositivi e reti

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

S7-PCT IO-Link (S7-1200)

L'S7-Port Configuration Tool può essere scaricato gratuitamente dal seguente link:

http://support.automation.siemens.com/WW/view/37936752

Port Configuration Tool PCT

Se si utilizza il PCT Tool accertarsi che sia sempre aggiornato ed eventualmente scaricare gratuitamente la versione aggiornata dal seguente link:


Avvertenze sulla configurazione hardware

Contenuto Impostazione dell'indirizzo IP di un dispositivo
Avvertenze sulla configurazione hardware

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Impostazione dell'indirizzo IP di un dispositivo

Quando si imposta l'indirizzo IP di un dispositivo evitare il campo da 192.168.x.241 a 192.168.x.250. Questo campo di indirizzi viene assegnato automaticamente dal sistema a un eventuale PG. Questo vale per tutte le classi di rete in funzione della maschera di sottorete.


Avvertenze sulle funzioni OPC UA

Contenuto Per le funzionalità di OPC UA utilizzare file di schema. Oggetto PLC non visibile nell'area indirizzi del server Collegamento client-server OPC UA tramite router NAT Nuovo avviamento del server OPC UA Mappatura dei tipi di dati CPU sui tipi di dati OPC UA nelle CPU S7-1200 Ulteriori codici di stato per le istruzioni per i client OPC UA Copia degli esempi di programma SCL dal sistema di informazione
Avvertenze sulle funzioni OPC UA

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Per le funzionalità di OPC UA utilizzare file di schema.

OPC Foundation mette a disposizione dei propri utenti schemi che possono essere impiegati dai produttori per l'implementazione del proprio server o client. Questi file vengono utilizzati ad es. per la validazione di modelli di informazione/NodeSet importati.

Per la versione V16 di TIA Portal e la versione firmware V2.8 della CPU S7-1500 vengono utilizzati i seguenti file di schema e di NodeSet:

Schema/NodeSet | Spiegazione
https://opcfoundation.org/UA/schemas/1.04/UANodeSet.xsd | Schema XML per file NodeSet (2018-12-04)
https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.NodeSet2.xml | OPC UA ("CORE") Model Version 1.04 (2018-06-04)
https://opcfoundation.org/UA/schemas/DI/1.1/Opc.Ua.Di.NodeSet2.xml | OPC UA for Devices ("DI") Model del 06-06-2018

Oggetto PLC non visibile nell'area indirizzi del server

Nei progetti di grandi dimensioni talvolta è possibile che il nodo della CPU o l'oggetto PLC non siano visibili nell'area indirizzi del server OPC UA nonostante la compilazione del progetto e il caricamento nella CPU siano riusciti. In questo caso la memoria riservata a OPC UA nella CPU non è sufficiente.

La diagnostica, eseguita ad es. tramite UaExpert, segnala come stato del server "Failed".

Rimedio

Nelle proprietà della CPU disattivare, se non più necessaria, l'interfaccia standard del server SIMATIC

Ridurre il numero o le dimensioni degli elementi che contribuiscono al consumo delle risorse OPC UA. Ridurre ad es. il numero dei nodi per interfacce del server a meno di 30000.

Ulteriori misure:

  • Ridurre il numero delle variabili nell'area indirizzi del server OPC UA, in particolare le variabili con tipo di dati struttura.

    Per rimuovere alcune variabili dall'area indirizzi, disattivare l'opzione "Accessibile dall'HMI/OPC UA" nella tabella delle variabili PLC o nei blocchi dati.

    Nel caso dei blocchi dati è possibile anche rimuovere interamente dall'area indirizzi il DB con tutte le variabili. A tal fine disattivare l'opzione "DB accessibile da OPC UA" nelle proprietà del DB.

  • Ridurre la lunghezza dei nomi degli elementi se le strutture di dati sono estese.

  • Accorciare la descrizione dei nodi.

  • Ridurre il numero dei metodi implementati.

Collegamento client-server OPC UA tramite router NAT

Se il client e il server sono collegati tramite router NAT, il tentativo di connessione si interrompe con il messaggio di errore "BadCommunicationError" o "BadNotConnected".

Tenere presente che: Nei sistemi NAT il router modifica i pacchetti IPv4. L'indirizzo IP di origine ("source NAT") o di destinazione ("destination NAT") dei pacchetti viene infatti sostituito da un indirizzo IP configurato nel router (in base alla porta di destinazione). Questo meccanismo è invisibile al client e al server, i quali non ricevono alcuna informazione in merito.

Il problema: Il router NAT non ha la possibilità di sostituire anche la descrizione di endpoint restituita dal server (è l'EndpointUrl) perché questa informazione di indirizzo si trova nei dati utili della "GetEndpointResponse".

Una descrizione dettagliata di questo meccanismo è disponibile in questa FAQ.

Versione di firmware V2.6 della CPU

Non consente il collegamento client-server OPC UA tramite router NAT.

Soluzione dalla versione di firmware V2.8 della CPU

Utilizzare l'attributo "ServerUri" delle informazioni di connessione (parametro "SessionConnectInfo" dell'istruzione "OPC_UA_Connect").

Specificare come "ServerUri" il ServerEndpointUrl completo con l'indirizzo IP del router NAT. Il ServerEndpointUrl verrà utilizzato per stabilire il collegamento al posto dell'EndpointUrl restituito nella GetEndpointsResponse.
Se non si specifica l'attributo il comportamento sarà uguale a quello della versione di firmware V2.6 della CPU.

Se si utilizza la parametrizzazione per stabilire la connessione OPC UA (creazione dell'interfaccia client), dopo la parametrizzazione si deve aprire il DB dell'interfaccia client (*_Configuration[DBx]) e modificare la stringa nel parametro "ServerUri". La stringa viene mantenuta anche dopo la compilazione della configurazione OPC UA.

Esempio di connessione (l'indirizzo di ServerUri viene sostituito da quello di GetEndpointsResponse)

Procedimento: specificare nel parametro "ServerUri" l'indirizzo completo del server (ServerEndpointUrl) costituito dall'indirizzo IP, dalla porta e in opzione dal percorso; l'indirizzo IP è quello sul lato client del router NAT:

1) Aprire il DB di configurazione

2) Modificare il parametro "ServerUri"

Il collegamento prevede le seguenti fasi:

  • GetEndpointsRequest: il client S7-1500 OPC UA indirizza il server con l'indirizzo di destinazione del router NAT nella propria sottorete (10.10.0.1).
    Il router NAT converte l'indirizzo di destinazione nell'indirizzo IP del server (192.168.0.1) nella sottorete del server.

  • GetEndpointsResponse: il server restituisce il proprio EndpointUrl in "GetEndpointsResponse":
    "opc.tcp://192.168.0.1:4840/UA/DemoServer".
    Questo indirizzo è accessibile direttamente dal client perché si trova dietro un router NAT.

  • OpenSecureChannel:
    Per aprire il Secure Channel il client non utilizza l'EndpointUrl della GetEndpointResponse, ma quello del parametro "ServerUri":
    "opc.tcp://10.10.0.1:4840/UA/DemoServer".
    Questo indirizzo IP è accessibile dal client; i dati vengono instradati dal router NAT verso l'indirizzo IP del server.

Nuovo avviamento del server OPC UA

Dalla versione di firmware V2.8 il server OPC UA delle CPU S7-1500 viene arrestato solo quando si caricano nella CPU dati rilevanti per OPC UA (ad es. se si sovrascrive un blocco dati). Il server si riavvia quindi automaticamente, sempre che l'utente abbia abilitato il caricamento.

Tenere presente che in questo caso i client OPC UA non possono più utilizzare, per questo server; i servizi in esecuzione. Per l'utilizzo dei servizi sarà pertanto necessario abilitare nuovamente risorse.

Dopodiché richiedere nuovamente i servizi:

  • Attivare nuovamente la creazione del collegamento

  • Creare nuovamente le sottoscrizioni

  • Creare nuovamente gli ordini di lettura/scrittura

In molti casi, ad es. se si aggiungono blocchi di codice o un nuovo blocco dati, che non sono rilevanti per OPC UA, il server non si arresta più.

Mappatura dei tipi di dati CPU sui tipi di dati OPC UA nelle CPU S7-1200

Dalla versione di firmware V4.4 le CPU S7-1200 dispongono di un server OPC UA per il quale si possono progettare interfacce server OPC UA.

Di seguito è descritta la mappatura dei tipi di dati S7-1200 sui tipi di dati OPC UA:

Tipo di dati SIMATIC | Tipo di dati OPC UA
BOOL | Boolean
SINT | SByte
USINT | Byte
INT | Int16
UINT | UInt16
DINT | Int32
UDINT | UInt32
REAL | Float
LREAL | Double
WSTRING (UCS-2; Universal Coded Character Set) | String
DWORD | StatusCode

Il server OPC DA dell'S7-1200 supporta la scrittura e la lettura dei tipi di dati elementari.

I seguenti tipi di dati non sono supportati:

  • Strutture

  • Array

  • Unioni

Le variabili con questi tipi di dati possono essere caricate (la verifica della coerenza non segnala alcun errore), un accesso da parte del client a queste variabili nel runtime viene impedito e viene emessa una relativa segnalazione di errore.

Anche i metodi non sono programmabili.

Ulteriori codici di stato per le istruzioni per i client OPC UA

Poiché nelle CPU S7-1500 con firmware V2.8 e successivi è cambiato il comportamento relativo all'abilitazione degli handle di collegamento, vi sono nuovi codici di errore che non sono documentati in tutte le istruzioni.

La seguente tabella riporta tali codici e la spiegazione corrispondente.

Codice di errore

(valori esadecimali)

Nome dell'errore

Descrizione

80AE_0000

BadConnectionClosed

Il collegamento, assieme al corrispondente ConnectionHdl, è nello stato "ShutDown" (collegamento interrotto). Non è stato possibile "riattivare" automaticamente il collegamento/la sessione. Possibile causa: Sessione sul server cancellata, ad es. in seguito a un riavvio o un timeout.

In questo caso si deve chiudere esplicitamente il collegamento con l'istruzione "OPC_UA_Disconnect" in modo da sbloccare le risorse di connessione. Il ConnectionHdl per il collegamento non più valido deve essere resettato nel programma utente.

Quindi si deve attivare un nuovo collegamento con il server (vedere l'installazione "OPC_UA_Connect").

Questo codice di errore può comparire per tutte le istruzioni client tranne che per OPC_UA_Connect, OPC_UA_Disconnect e OPC_UA_ConnectionGetStatus.

80AF_0000

BadInvalidState

Il collegamento, assieme al corrispondente ConnectionHdl, è nello stato "ConnectionError" (errore di collegamento temporaneo, collegamento interrotto). La CPU tenta di "riattivare" il collegamento. Se non ci riesce entro il timeout impostato (OPC UA Session Timeout) il collegamento passa nello stato "Shutdown". Presupposti per il cambio di stato: la CPU è riuscita ad accedere al server OPC UA per verificare se la sessione è ancora disponibile.

Questo codice di errore può comparire per tutte le istruzioni client tranne che per OPC_UA_Connect, OPC_UA_Disconnect e OPC_UA_ConnectionGetStatus.

A000_0105

PLCopenUA_Bad_ConnectionInvalidHdl

L'handle di collegamento (ConnectionHdl) è sconosciuto/non valido.

Questo codice di errore può comparire per tutte le istruzioni client tranne che per OPC_UA_Connect.

Copia degli esempi di programma SCL dal sistema di informazione

Il codice SCL degli esempi di programmazione OPC UA non è compilabile se viene copiato con l'icona "Copia" del sistema di informazione e inserito nell'editor di programma.

Per compilarlo correttamente lo si deve selezionare nel sistema di informazione e attivare il comando del menu di scelta rapida "Copia" o la combinazione di tasti "Ctrl+C". Inserirlo quindi nell'editor di programma con il comando del menu di scelta rapida "Incolla" o con la combinazione di tasti <Ctrl+V>.


Rilevamento dell'hardware degli IO Device

Contenuto Rilevamento hardware incompleto nelle stazioni ET 200SP
Rilevamento dell'hardware degli IO Device

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Rilevamento hardware incompleto nelle stazioni ET 200SP

Con STEP 7 V15 è possibile utilizzare la funzione online "Rilevamento hardware" per determinare la configurazione della stazione degli IO Device e acquisirla nel progetto con tutti i moduli inseriti.

Se si acquisisce una ET 200SP nel progetto attraverso il rilevamento hardware è necessario completare manualmente la configurazione della stazione rilevata: Verificare nel modulo di interfaccia se nella configurazione hardware è stato rilevato l'adattatore di bus corretto (ad es. BA 2xRJ45 anziché il BA 2xFC realmente inserito).


HW ID del tipo "Hw_SubModule" per un HMI Panel IO Device

Contenuto Rilevamento dell’HW ID del tipo "Hw_SubModule" per un HMI Panel IO Device
HW ID del tipo "Hw_SubModule" per un HMI Panel IO Device

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Rilevamento dell’HW ID del tipo "Hw_SubModule" per un HMI Panel IO Device

Al parametro "ID" del blocco di programma PROFIenergy "PE_START_END" deve essere assegnata l’identificazione HW (HW ID) con il tipo "Hw_SubModule" dell’IO Device. In una CPU S7-1500/S7-1200/ET200SP l’HW ID con il tipo "Hw_SubModule" dell’HMI Panel IO Device non viene visualizzato nelle costanti di sistema, ma può essere rilevato. Per questa funzione, nell’elenco delle variabili PLC della scheda “Costanti di sistema" viene rilevato il simbolo per l’IO Device nel HMI Panel con il tipo "Hw_Device” e ridotto di un valore, ad es. "HMI_1_IE_CP_1~PROFINET_Interface_1~IODevice -1".


Utilizzo di moduli nell'S7-1200

Contenuto Utilizzo di moduli nell'S7-1200 Caricamento dei commenti ai moduli dell'S7-1200 nel PG/PC
Utilizzo di moduli nell'S7-1200

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Utilizzo di moduli nell'S7-1200

I moduli elencati di seguito non vengono supportati nell'S7-1200:

Famiglia | Unità | Numero di ordinazione
FM S7-300 | SM 338 | 6ES7 338-4BC01-0AB0
 | FM 350-1 | 6ES7 350-1AH03-0AE0
 | FM 350-2 | 6ES7 350-2AH00-0AE0, 6ES7 350-2AH01-0AE0
 | FM 351 | 6ES7 351-1AH01-0AE0, 6ES7 351-1AH02-0AE0
 | FM 352 | 6ES7 352-1AH02-0AE0
 | FM 355 S | 6ES7 355-1VH10-0AE0
 | FM 355 C | 6ES7 355-0VH10-0AE0
 | FM 355-2 C | 6ES7 355-2CH00-0AE0
 | FM 355-2 S | 6ES7 355-2SH00-0AE0
CP S7-300 PtP | CP 340 | 6ES7 340-1AH02-0AE0, 6ES7 340-1BH02-0AE0, 6ES7 340-1CH02-0AE0
 | CP 341 | 6ES7 341-1AH01-0AE0, 6ES7 341-1AH02-0AE0, 6ES7 341-1BH01-0AE0, 6ES7 341-1BH02-0AE0, 6ES7 341-1CH01-0AE0, 6ES7 341-1CH02-0AE0
Componente di rete | Repeater di diagnostica | 6ES7 972-0AB01-0XA0
ET 200M | SIWAREX | 7MH4900-2AA01, 7MH4900-3AA01, 7MH4950-1AA01, 7MH4950-2AA01

Caricamento dei commenti ai moduli dell'S7-1200 nel PG/PC

Per le configurazioni centrali con S7-1200 non vengono caricati i commenti ai moduli, sottomoduli ed signal board. Per i CP/CM vengono caricati solo i commenti dell'interfaccia IE risp. dell'interfaccia DP. Per le configurazioni decentrate con ET 200SP o ET 200MP viene caricato dai moduli I/O solo il commento dei canali.


CP 343-2 su SIMATIC S7 Embedded Controller EC31-RTX

Contenuto CP 343-2 su SIMATIC S7 Embedded Controller EC31-RTX
CP 343-2 su SIMATIC S7 Embedded Controller EC31-RTX

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

CP 343-2 su SIMATIC S7 Embedded Controller EC31-RTX

Il modulo CP 343-2 AS Interface (N° articolo: 6GK7 343-2AH01) può essere inserito in un telaio di montaggio di ampliamento di SIMATIC S7 Embedded Controller EC31-RTX (N° articolo: 6ES7 677-1DDxx-0BB0) ma il CP 343-2 non può operare con l'EC31 RTX.


Caricamento delle CPU S7-1500 (SIPLUS)

Contenuto Comportamento di una CPU S7-1500 SIPLUS (6AG1...) FW <V2.5 con Memory Card formattata
Caricamento delle CPU S7-1500 (SIPLUS)

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Comportamento di una CPU S7-1500 SIPLUS (6AG1...) FW <V2.5 con Memory Card formattata

Componenti interessati:

  • CPU 151x SIPLUS (6AG1...) con versione firmware inferiore alla V2.5

  • SIMATIC Memory Card

Se si carica una CPU SIPLUS su una SIMATIC Memory Card formattata e si poi porta la CPU in RUN, la CPU funziona senza errori. Tuttavia, se si disinserisce e si reinserisce la tensione o si esegue un Memory Reset (MRES), in seguito la CPU SIPLUS entra nello stato STOP con un messaggio di errore. Il messaggio di errore segnala che la Memory Card non viene riconosciuta perché manca, è del tipo sbagliato, contiene dati errati o è protetta.

Questo comportamento non si verifica nelle CPU 151x SIPLUS (6AG1...) con versione firmware V2.5 o superiore, oppure se sulla Memory Card è già presente una configurazione con una CPU S7-1500 SIMATIC (6ES7...) che viene sovrascritta da una configurazione con CPU SIPLUS (6AG1...) dello stesso tipo.

Rimedio:

  1. Sulla SIMATIC Memory Card deve essere caricata una configurazione con CPU SIMATIC. È sufficiente che sia presente una CPU del tipo opportuno, la presenza della periferia in questo caso non è necessaria.

  2. La CPU SIPLUS viene caricata sulla scheda. La configurazione SIMATIC esistente sulla Memory Card viene sovrascritta con la configurazione SIPLUS.

Con questo procedimento si evita un messaggio di errore in TIA Portal.

Nota

Questo procedimento funziona SOLO per il caricamento online nella CPU! Se si programma la scheda con un Card Reader esterno, l'errore rimane.

Per caricare ad es. una CPU 1511-1 PN SIPLUS (6AG1 511-1AK00...), procedere nel modo seguente.

  1. Inserire nella CPU SIPLUS una Memory Card vuota e di dimensioni sufficienti.

  2. Configurare una CPU SIMATIC dello stesso tipo, in questo caso una S7-1511-1 PN (6ES7 511-1AK00...). Per il primo caricamento i moduli di periferia non sono necessari.

  3. Caricare la configurazione nella CPU SIPLUS.

  4. Sostituire la CPU SIMATIC in STEP 7 con la CPU SIPLUS (6AG1 511-1AK00...) e completare la configurazione con i moduli e i sistemi di periferia decentrati previsti.

  5. Caricare la configurazione modificata nella CPU SIPLUS.


ET 200MP (IM 155-5 DP ST) su WinLC RTX

Contenuto ET 200MP (IM 155-5 DP ST) al momento non utilizzabile su WinLC RTX attraverso PROFIBUS
ET 200MP (IM 155-5 DP ST) su WinLC RTX

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

ET 200MP (IM 155-5 DP ST) al momento non utilizzabile su WinLC RTX attraverso PROFIBUS

Componenti interessati:

  • Sistemi PC con funzionalità Logic Controller WinLC RTX come master DP (tutte le varianti: EC31-RTX (F), WinAC RTX (F) Software PLC) - nel seguito semplicemente "WinLC RTX"

  • ET 200MP (IM 155-5 DP ST) come slave DP

Se si configurano moduli standard o moduli F in un ET 200MP e si utilizza WinLC RTX come master DP, questi moduli non verranno parametrizzati dal master DP sull'ET 200MP. Dopo aver caricato la configurazione e aver avviato i componenti, i moduli sull'ET 200MP segnalano la mancanza della parametrizzazione attraverso i LED verdi che lampeggiano.

STEP 7 non segnala la mancata operatività dei moduli online (stato "OK").

Rimedio:

  • Raccomandazione: Utilizzare un modulo di interfaccia IM 155-5 PN per collegare l'ET 200MP a WinLC RTX attraverso PROFINET IO

    oppure

  • Se sull'ET 200MP non sono inseriti moduli F: per la progettazione dei moduli standard utilizzare la variabile GSD dell'ET 200MP su WinLC RTX


Avvertenze sulle funzioni online e di diagnostica

Contenuto Rilevamento hardware e successivo collegamento online Eliminazione delle misure nel dispositivo (scheda di memoria) (S7-1200) Trace di progetto per Software Controller e Open Controller
Avvertenze sulle funzioni online e di diagnostica

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Rilevamento hardware e successivo collegamento online

Se si esegue il comando "Online > Rilevamento hardware" per una CPU non specificata, non viene caricata la configurazione online dalla CPU. Se non si carica nella CPU la configurazione individuata dal rilevamento hardware, nella vista dispositivi e reti verrà sempre visualizzata una differenza tra configurazione offline e online. Dalla vista online e di diagnostica è possibile riconoscere la presenza di una progettazione diversa benché i numeri di ordinazione (MLFB) della CPU effettiva e offline siano identici.

Eliminazione delle misure nel dispositivo (scheda di memoria) (S7-1200)

Non cancellare le misure sul dispositivo finché un Trace sta ancora generando nuove misure sulla scheda di memoria nel dispositivo.

Trace di progetto per Software Controller e Open Controller

Da TIA Portal V16 il trace di progetto nono supporta più il Software Controller e l'Open Controller


Programmazione PLC

Programmazione PLC

Questo capitolo contiene informazioni sugli argomenti seguenti:
  • Avvertenzte generali sulla programmazione PLC
  • Avvertenze sulle istruzioni
  • Test del programma utente
  • Aggiornamento dei blocchi
  • Compatibilità dei programmi PLC creati con versioni precedenti


Avvertenzte generali sulla programmazione PLC

Contenuto Attributi specifici delle istanze e importazione di blocchi da TIA Portal Openness Visualizzazione del nome della CPU nelle segnalazione di sistema Modifica del ciclo dell'applicazione di un OB di allarme in sincronismo di clock Utilizzo del tipo di dati di sistema "TDiag_StatusExt" (S7-1200/1500) Informazioni sulla sicurezza di rete Funzioni della biblioteca globale "Long Functions" con PLCSIM (S7-1500) Caricamento di programmi incoerenti in una CPU S7-1500 (S7-1500) Scambio dati tra programma standard e programma F con l'impiego di Team Engineering
Avvertenzte generali sulla programmazione PLC

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Attributi specifici delle istanze e importazione di blocchi da TIA Portal Openness

In alcune situazioni le regole sull'importazione possono causare la perdita di alcuni attributi specifici delle istanze, ad es. dei valori di avvio.

Visualizzazione del nome della CPU nelle segnalazione di sistema

Dalla versione V15.1 il nome della CPU (o il nome della stazione per le CPU H e R), viene visualizzato nella colonna "Testo supplementare 1" delle segnalazioni di sistema. Per questo scopo è necessaria la compilazione dell'hardware del dispositivo interessato. Se il nome della CPU non viene visualizzato nell'opzione "Compila > Hardware (soltanto modifiche)", utilizzare l'opzione "Compila > Hardware (compilazione completa)".

Accertarsi che la funzione Carica nel dispositivo sia stata effettivamente eseguita, l'informazione indicante l'aggiornamento dell'hardware non è sufficiente!

Modifica del ciclo dell'applicazione di un OB di allarme in sincronismo di clock

Se si modifica il parametro "Ciclo di applicazione (ms)" di un OB di allarme in sincronismo di clock, si modifica implicitamente anche la configurazione hardware. Per far sì che il valore modificato sia attivo per la durata del ciclo dell'applicazione dopo il successivo caricamento nella CPU, è necessario caricare esplicitamente anche la configurazione hardware. Selezionare il comando di menu "Carica nel dispositivo > Hardware e software" o il comando "Carica nel dispositivo > Configurazione hardware".

Utilizzo del tipo di dati di sistema "TDiag_StatusExt" (S7-1200/1500)

Per ricevere maggiori informazioni sulla causa dell'interruzione del collegamento, in alternativa al tipo di dati di sistema "TDiag_Status", è possibile utilizzare anche il tipo dati di sistema avanzato "TDiag_StatusExt" La lettura dell'elemento di struttura "LastConnErrTimeStamp" comporta in particolar modo il passaggio della CPU allo stato di sistema "Defect" e non può essere attualmente utilizzata.

Informazioni sulla sicurezza di rete

Gli accessi alla comunicazione tra il TIA Portal e la CPU oppure tra HMI (escluso il caso in cui gli accessi HMI avvengono tramite la "Comunicazione GET/PUT") e la CPU offrono funzioni di sicurezza integrate. Queste funzioni garantiscono un elevato grado di protezione da manomissioni e da accessi non autorizzati. Per proteggere una CPU con accessi di comunicazione standard quali ad es. "GET/PUT", "TSEND/TRCV", "Modbus", "FETCH/WRITE", da un accesso non autorizzato alla rete, è necessario adottare adeguate misure di protezione supplementari (ad es. il criterio di protezione delle celle).

Funzioni della biblioteca globale "Long Functions" con PLCSIM (S7-1500)

Per prevenire manipolazioni, con la compilazione alcune funzioni della famiglia dell'S7-1500 vengono collegate alla CPU. Le funzioni della biblioteca globale „Long Functions“ utilizzate nella CPU e provviste di questo collegamento non possono essere caricate in una simulazione. Sussiste comunque la possibilità di sostituire questi elementi con i relativi originali della biblioteca globale. Questi ultimi non solo collegati alla CPU.

Caricamento di programmi incoerenti in una CPU S7-1500 (S7-1500)

In TIA Portal non è possibile caricare in una CPU S7-1500 programmi incoerenti senza verifica della coerenza. Durante il caricamento vengono verificati in modo implicito tutti i blocchi del programma e in caso di incoerenze vengono compilati nuovamente. Se nella CPU si trovano però programmi che sono stati caricati con versioni precedenti a STEP 7, questi programmi possono contenere incoerenze.

Osservare in questo caso le avvertenze seguenti:

Se si carica un programma incoerente da un dispositivo non è possibile ricaricarlo in una CPU S7-1500 senza modificarlo, poiché durante il caricamento viene inevitabilmente eseguita una verifica della coerenza e le incoerenze vengono eliminate.

Scambio dati tra programma standard e programma F con l'impiego di Team Engineering

Per garantire la coerenza dei dati tra programma standard e programma di sicurezza, si raccomanda:

  • Di non eseguire lo scambio dati tramite merker bensì tramite blocchi dati globali.

  • Di limitare a due blocchi dati standard gli accessi tra i programma di sicurezza e i programmi utente standard.


Avvertenze sulle istruzioni

Contenuto Istruzione "FileDelete: Elimina il file dalla Memory Card"
Avvertenze sulle istruzioni

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Istruzione "FileDelete: Elimina il file dalla Memory Card"

Contrariamente a quanto affermato nella Guida in linea, per i valori 8091 e 8094 del parametro "Status" vale quanto segue:

  • Il valore 8091 ha il seguente significato: il percorso non esiste o non è valido.

  • Il valore 8094 non viene visualizzato.


Test del programma utente

Test del programma utente

Questo capitolo contiene informazioni sugli argomenti seguenti:
  • Avvertenze relative al test con la tabella di controllo
  • Avvertenze relative al test con la tabella di forzamento
  • Avvertenze relative al test con i punti di arresto


Avvertenze relative al test con la tabella di controllo

Contenuto Accesso multiplo alla stessa CPU (S7-300/400/1200) Caricamento di blocchi dati con un ordine di comando in corso Funzione "Abilita uscite di periferia" Test di programmi migrati da versioni precedenti di STEP 7 Test dei programmi GRAPH che sono stati aggiornati Modifica ai formati di visualizzazione nella tabella di controllo
Avvertenze relative al test con la tabella di controllo

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Accesso multiplo alla stessa CPU (S7-300/400/1200)

È consentito accedere a una CPU (S7-300/400/1200) online da un PG/PC solo quando è aperto un TIA Portal. Gli accessi multipli alla stessa CPU di questa famiglia non sono consentiti e possono causare errori.

Caricamento di blocchi dati con un ordine di comando in corso

Il caricamento di blocchi dati modificati mentre è in corso un ordine di comando può causare stati di funzionamento imprevisti. L'ordine di comando continua a comandare l'indirizzo indicato, mentre l'assegnazione degli indirizzi nel blocco dati potrebbe essere cambiata. Prima di caricare i blocchi dati terminare gli ordini di comando in corso.

Funzione "Abilita uscite di periferia"

La funzione "Abilita uscite di periferia" non è disponibile nel TIA Portal per le CPU della serie S7-1500.

In TIA Portal è possibile eseguire questa funzione esclusivamente in una CPU S7-300, S7-400 o S7-1200.

Test di programmi migrati da versioni precedenti di STEP 7

Per poter controllare e testare un programma migrato da una versione precedente di STEP 7 lo si deve prima convertire e caricare con la versione attuale di STEP 7.

Test dei programmi GRAPH che sono stati aggiornati

Dopo l’aggiornamento di progetti alla V16 viene eseguito internamento un nuovo calcolo della somma di controllo. In casi rari questo può comportare la mancata visualizzazione dei valori per le variabili nella tabella di controllo, in quanto la somma di controllo è variata nonostante i blocchi siano identici. Nella colonna “Valore di controllo" non viene quindi visualizzato nessun valore, ma gli occhiali con il cerchio rosso barrato. In questo caso il progetto deve essere compilato e cariato di nuovo prima di poter essere controllato e testato online con la tabella di controllo.

Modifica ai formati di visualizzazione nella tabella di controllo

Il numero dei formati di visualizzazione è stato ridotto in modo tale che i formati di visualizzazione utilizzati ma non più supportati vengono resettati alle preimpostazioni con un upgrade del progetto.

Esempio: I puntatori possono essere visualizzati solo nel formato "Puntatore" o nel formato "Hex".


Avvertenze relative al test con la tabella di forzamento

Contenuto Forzamento di variabili nell'accesso diretto alla periferia (S7-300) Esempio Modifica ai formati di visualizzazione nella tabella di forzamento
Avvertenze relative al test con la tabella di forzamento

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Forzamento di variabili nell'accesso diretto alla periferia (S7-300)

Se per la CPU S7-300 nel programma utente viene impiegato un accesso diretto alla periferia, il forzamento del relativo indirizzo non è consentito.

Esempio

Se nel programma utente l'accesso alla periferia avviene nell'indirizzo "IB0:P", il forzamento delle seguenti aree di indirizzi della periferia non è consentito: I0.0:P, IB0:P, IW0:P e ID0:P.

Modifica ai formati di visualizzazione nella tabella di forzamento

Il numero dei formati di visualizzazione è stato ridotto in modo tale che i formati di visualizzazione utilizzati ma non più supportati vengono resettati alle preimpostazioni con un upgrade del progetto.

Esempio: I puntatori possono essere visualizzati solo nel formato "Puntatore" o nel formato "Hex".


Avvertenze relative al test con i punti di arresto

Contenuto I punti di arresto si impostano nel programma utente standard nelle CPU F S7-1500
Avvertenze relative al test con i punti di arresto

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

I punti di arresto si impostano nel programma utente standard nelle CPU F S7-1500

Se viene attivato e raggiunto un punto di arresto, la CPU commuta immediatamente in "STOP" dopo essersi portata su "ALT". Se si vuole tornare a RUN dopo lo stato "ALT" per continuare a testare il programma utente standard è possibile simularlo con S7-PLCSIM.

Per ulteriori informazioni sui test con i punti di arresto nelle CPU F consultare il manuale "SIMATIC Safety - Configuring and Programming".


Aggiornamento dei blocchi

Contenuto Aggiornamento dei blocchi con protezione del know-how (S7-1200/1500) Upgrade dei blocchi GRAPH (S7-300, S7-400, S7-1500) Confronto offline/online Aggiornamento delle specifiche dei dispositivi
Aggiornamento dei blocchi

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Aggiornamento dei blocchi con protezione del know-how (S7-1200/1500)

I blocchi con protezione del know-how configurati con una versione precedente di TIA Portal possono essere caricati nel controllore per l'upgrade alla versione attuale senza inserimento della password e sono subito eseguibili.

Per aprire ed elaborare questi blocchi nella versione attuale procedere nel modo seguente:

  • Per i blocchi con protezione del know-how configurati con la versione V13 SP1 o superiore:

    • Rimuovere nella versione attuale la protezione del know-how, elaborare il blocco e proteggerlo nuovamente.

  • Per i blocchi con protezione del know-how configurati con una versione precedente alla V13 SP1:

    • Rimuovere la protezione del know-how nella versione V13 SP1 e aggiornare il blocco alla versione attuale. Elaborare ora il blocco e proteggerlo nuovamente nella versione attuale.

Upgrade dei blocchi GRAPH (S7-300, S7-400, S7-1500)

Dopo aver eseguito l'upgrade di un progetto alla versione V16 da una versione inferiore alla V15, controllare se nel protocollo sono presenti blocchi GRAPH riparati e verificare l'eseguibilità di questo blocchi nel programma.

Se un progetto contenente blocchi GRAPH viene aggiornato dalla versione V15.x alla V16, per la supervisione i blocchi di programma devono essere prima compilati.

Confronto offline/online

Al fine di incrementarne l'integrità, i dati di progetto interni nella versione attuale sono stati corretti. Dopo l'installazione singoli blocchi possono quindi essere corretti automaticamente all'apertura, per questa ragione il confronto offline/online indica somme di controllo divergenti.

Aggiornamento delle specifiche dei dispositivi

Con l'aggiornamento del progetto, in determinati casi vengono aggiornate anche le specifiche dei dispositivi interne alle CPU utilizzate.

Il seguente messaggio segnala che sarà eseguito un aggiornamento: "La configurazione dispositivi delle CPU nel progetto è stata aggiornata".

L'aggiornamento non influisce sul programma in corso di esecuzione nella CPU.


Compatibilità dei programmi PLC creati con versioni precedenti

Compatibilità dei programmi PLC creati con versioni precedenti

Questo capitolo contiene informazioni sugli argomenti seguenti:
  • Compatibilità dei programmi PLC creati con versioni precedenti alla V16
  • Compatibilità dei programmi PLC creati con versioni precedenti alla V15.1
  • Compatibilità dei programmi PLC creati con versioni precedenti alla V15
  • Compatibilità dei programmi PLC creati con versioni precedenti alla V14 SP1
  • Compatibilità dei programmi PLC creati con versioni precedenti alla V14
  • Compatibilità dei programmi PLC creati con versioni precedenti alla V13 SP1


Compatibilità dei programmi PLC creati con versioni precedenti alla V16

Contenuto Compatibilità Coerenza della somma di controllo Software Unit Verifica della sintassi delle istanze (KOP, FUP, AWL, GRAPH) Istruzioni "UPPER_BOUND" e "LOWER BOUND" (KOP, S7-1200/S7-1500) Istruzione "S_CONV" (KOP) Inizializzazione del tipo di dati STRUCT durante l’importazione di file sorgente esterni (SCL) Dichiarazione AT Istruzione "MOVE" Istruzione "MOVE" (AWL) Istruzioni "SCATTER_BLK" e "GATHER_BLK" (SCL) Costanti non tipizzate (SCL) Indirizzamento degli ARRAY tramite indice variabile e accesso alla periferia (S7-1200) Grandezza di blocco con l'impiego di ARRAY in strutture Grandezza di blocchi GRAPH Assegnazione di costanti non tipizzate (SCL)
Compatibilità dei programmi PLC creati con versioni precedenti alla V16

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Compatibilità

In linea di massima tutti i programmi per PLC creati con versioni precedenti di TIA Portal possono essere utilizzati anche con la V16. Tuttavia, poiché nella V16 si è intervenuti sul compiler per migliorarlo e correggere determinati errori, in alcuni casi è possibile che dopo l'aggiornamento il programma si comporti in modo diverso o che sia necessario modificare manualmente il codice di programma. Questi casi sono descritti dettagliatamente di seguito.

Coerenza della somma di controllo

Dopo l’aggiornamento di un progetto a V16 vengono visualizzate differenze online/offline, nonostante il programma online e offline siano completamente identici. Queste differenze sono riconducibili all’ottimizzazione del calcolo delle somme di controllo in V16. Nella maggior parte dei casi i blocchi sono comunque compatibili.

In rari casi il calcolo della somma di controllo modificato può comportare la ricompilazione del progetto prima che venga controllato e testato online.

Software Unit

Per il nome di una Software Unit, dalla V16 valgono le seguenti regole:

  • I caratteri ammessi sono caratteri alfanumerici e la sottolineatura.

  • Il numero massimo di caratteri è 125.

  • Il nome di una Software Unit deve essere univoca in tutta la CPU e nella CPU non deve esistere nemmeno un blocco con lo stesso nome.

Se le Software Unit nel programma non corrispondono a queste regole, dopo l’aggiornamento viene visualizzato un errore d sintassi. In questo caso modificare la proprietà della Software Unit e compilare di nuovo il programma.

Verifica della sintassi delle istanze (KOP, FUP, AWL, GRAPH)

Nel richiamo di un blocco funzionale viene ora verificato esattamente se il blocco dati di istanza indicato è del tipo dell'FB richiamato. Oltre al numero e alla struttura viene verificato ora anche il nome del blocco.

In caso di incoerenze viene segnalato un errore di sintassi dopo l'aggiornamento. Verificare, in questo caso, il tipo di blocco dati di istanza nelle proprietà del blocco nella sezione "Generale". Se il tipo non corrisponde all'FB richiamato, occorre modificare il richiamo del blocco e indicare un'istanza adeguata.

Istruzioni "UPPER_BOUND" e "LOWER BOUND" (KOP, S7-1200/S7-1500)

L'ingresso di abilitazione "EN" di entrambe le istruzioni "UPPER_BOUND" e "LOWER BOUND" viene ora valutato correttamente. Se l'ingresso "EN" ha lo stato di segnale "0", l'istruzione non viene eseguita e l’uscita di abilitazione "ENO" ha lo stato di segnale "0". Se si utilizzano entrambe le istruzioni assicurarsi, dopo l'aggiornamento, che lo svolgimento del programma sia rimasto invariato.

Istruzione "S_CONV" (KOP)

In versioni precedenti di TIA Portal l'ingresso di abilitazione "EN" dell'istruzione "S_CONV" non veniva analizzato nella conversione da (W)Char in (W)String se all'uscita di abilitazione "ENO" non era interconnesso alcun parametro. Questo comportamento è stato corretto. Se si utilizza "S_CONV" assicurarsi, dopo l'aggiornamento, che lo svolgimento del programma sia rimasto invariato.

Inizializzazione del tipo di dati STRUCT durante l’importazione di file sorgente esterni (SCL)

Le regole di inizializzazione per STRUCT son state unificate. Gli elenchi di inizializzazione vengono ora valutati sempre per le stesse regole, indipendentemente che si utilizzi un’interfaccia di blocco tabellare o di testo.

Se in un elenco di inizializzazione si utilizzano diverse sintassi e ad es. alcuni elementi vengono inizializzati indicando il nome dell’elemento, altri indicando il valore, controllare il programma dopo l’importazione in TIA Portal V16.

Il seguente esempio illustra la valutazione degli elementi della struttura nella V16 sia nell’interfaccia di blocco tabellare sia in quella di testo:

myStruct : Struct

member_1 : Int;

member_2 : Int;

member_3 : Int;

member_4 : Int;

member_5 : Int;

End_Struct:=(1,mem_3:=33,2,3);

//L’inizializzazione degli elementi di struttura avviene come indicato nel seguito:

//mem_1 := 1;

//mem_3 := 33;

//mem_4 := 2;

//mem_5 := 3;

Dichiarazione AT

In casi rari venivano scritti valori errati nei parametri di bus che seguivano immediatamente una dichiarazione AT nell'interfaccia. Questo comportamento è stato corretto.

Allo stesso tempo non è più possibile sovrapporre a parametri di blocco dei tipi di dati BOOL, BYTE, SINT, USINT o CHAR delle variabili del tipo di dati STRUCT e UDT. Le sovrapposizioni con variabili del tipo ARRAY sono possibili soltanto se le dimensioni dell'array non superano le dimensioni dei dati del tipo che viene sovrapposto.

Se si utilizzano le dichiarazioni AT, verificare il programma dopo l’aggiornamento.

Istruzione "MOVE"

Con l'istruzione "MOVE" è possibile copiare tutte le variabili di un blocco dati in un altro blocco dati ("DA a" := "DB b") soltanto se entrambi i blocchi hanno la stessa struttura, ovvero se il numero, i tipi di dati e la sequenza di dichiarazione delle variabili sono identici. Inoltre, entrambi i blocchi dati devono avere lo stesso formato di salvataggio (ottimizzato o non ottimizzato).

Se entrambi i blocchi sono disponibili in formato di salvataggio ottimizzato, tutte le variabili di entrambi i blocchi devono essere a ritenzione o non a ritenzione.

Istruzione "MOVE" (AWL)

A partire dalle TIA Portal V16, in AWL non è più possibile fornire all'uscita OUT di un'istruzione MOVEuna variabile di tipo di dati VARIANT delle sezioni InOut o Out dell'interfaccia del blocco.

Istruzioni "SCATTER_BLK" e "GATHER_BLK" (SCL)

A partire dalla V16 sono stati limitati i tipi di dati consentiti: se si utilizzano le strutture (STRUCT o tipo di dati PLC) come parametri, esse possono contenere esclusivamente variabili del tipo di dati BOOL.

Costanti non tipizzate (SCL)

La verifica della semantica per le costanti non tipizzate è stata adeguata agli altri linguaggi di programmazione: se una costante non tipizzata non è compatibile con il tipo di dati dell'operando assegnato, ora, se la verifica IEC è attiva, viene sempre segnalato un errore di compilazione.

Indirizzamento degli ARRAY tramite indice variabile e accesso alla periferia (S7-1200)

Nelle CPU della serie S7-1200 non è più possibile indirizzare gli ARRAY mediante un indice variabile abbinato all'ID di accesso alla periferia ":P".

Esempio di indirizzamento di ARRAY non consentito:

#array[0, #myIndexTag, 2]:P

Esempi di indirizzamenti consentiti di ARRAY con accesso alla periferia:

#array[0, #myConstant, 2]:P

#array[0, 1, 2]:P

Esempi di indirizzamenti consentiti di ARRAY con indice variabile:

#array[0, #myIndexTag, 2]

Grandezza di blocco con l'impiego di ARRAY in strutture

Con l'impiego di strutture (STRUCT), che contengono più di un ARRAY, potrebbe verificarsi il seguente errore:

Se più accessi accessi ad ARRAY superano il campo valido, la CPU non va in STOP, ma l'accesso risulta effettuato ad un elemento di ARRAY.

Questo comportamento è stato corretto nella versione V16: In questo caso la CPU va in STOP o esegue un trattamento errori locale o globale, se questo è programmato.

Con la correzione i blocchi interessati possono avere grandezza maggiore.

Grandezza di blocchi GRAPH

Considerare che, grazie alla suddetta correzione, tutti i blocchi GRAPH possono aumentare di ca. 90 byte.

Assegnazione di costanti non tipizzate (SCL)

Per l'assegnazione di costanti non tipizzate a variabili del tipo "Real" viene generata una segnalazione di errore, se la verifica IEC-Check è attivata e la costante si trova contemporaneamente dentro il campo dei valori di un LReal e fuori dal campo di valori di un Real.


Compatibilità dei programmi PLC creati con versioni precedenti alla V15.1

Contenuto Compatibilità Sequenza di elaborazione di richiami di funzioni in SCL (S7-1200/S7-1500) Operazioni di confronto (SCL S7-1200 >= 4.2 e S7-1500 >= 2.0) Importazione di temporizzatori IEC (S7-1200/S7-1500) Sostituzione di caratteri Unicode non validi durante l'upgrade Istruzioni “SCATTER” / “SCATTER_BLK” e “GATHER“ / „GATHER_BLK“ (S7-1200/1500) Istruzioni "BLKMOV" / "UBLKMOV" e "FILL" / "UFILL" Istruzione “RUNTIME” (SCL/AWL S7-1200/S7-1500)
Compatibilità dei programmi PLC creati con versioni precedenti alla V15.1

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Compatibilità

In linea di massima tutti i programmi per PLC creati con versioni precedenti di TIA Portal possono essere utilizzati anche con la V15.1. Tuttavia, poiché nella V15.1 si è intervenuti sul compiler per migliorarlo e correggere determinati errori, in alcuni casi è possibile che dopo l'aggiornamento il programma si comporti in modo diverso o che sia necessario modificare manualmente il codice di programma. Questi casi sono descritti dettagliatamente di seguito.

Sequenza di elaborazione di richiami di funzioni in SCL (S7-1200/S7-1500)

Nelle versioni precedenti di TIA Portal la sequenza di elaborazione di istruzioni contenenti espressioni o richiami di funzioni non era sempre univoca. L'elaborazione non veniva eseguita coerentemente da destra a sinistra ma anzi, in determinati casi, venivano valutate parti dell'espressione del lato sinistro.

Nella versione V15.1 questo comportamento è stato corretto in modo che sia sempre il lato destro dell'assegnazione ad essere ora calcolato per primo e soltanto successivamente venga elaborato il lato sinistro.

Esempio:

#myArr["FC_1"()]:= #x + #y;

Nelle versioni precedenti veniva prima eseguita l'„FC1“ per definire un elemento di ARRAY. Quindi veniva calcolato #x + #y.

A partire dalla versione V15.1 il programma viene elaborato correttamente da destra verso sinistra: prima viene calcolato #x + #y, quindi viene eseguita l'„FC1“.

Questa correzione può causare un comportamento diverso del programma dopo l'aggiornamento, come p. es. nel caso in cui nell'„FC1“ sono impostate le variabili #x o #y. Verificare pertanto il programma dopo l'aggiornamento.

Operazioni di confronto (SCL S7-1200 >= 4.2 e S7-1500 >= 2.0)

Confrontando in SCL due blocchi dati di istanza con le operazioni di confronto non viene confrontata la struttura ma solo i numeri dei blocchi. A partire dalla versione V15.1 l'utente viene avvisato durante la compilazione da un messaggio di errore che questa operazione possibilmente non dà il risultato desiderato (generalmente viene fornito FALSE in quanto i numeri dei blocchi non coincidono).

Esempio:

Il risultato delle operazioni di confronto seguenti è FALSE anche quando la struttura di entrambi i blocchi è identica.

IF "MyDBofFB" = "MyDBofSameFB" THEN …

Importazione di temporizzatori IEC (S7-1200/S7-1500)

I temporizzatori IEC contengono parametri protetti in scrittura, per es. ET (valore temporale attuale). Nelle versioni precedenti di TIA Portal, in determinati casi, venivano sovrascritti durante l'importazione di file sorgenti esterni i valori iniziali dei parametri protetti in scrittura. Questo comportamento è stato corretto con la versione V15.1: i valori iniziali per i parametri protetti in scrittura vengono ignorati nell'importazione di file sorgente. A loro posto vengono utilizzati i valori di default del tipo di dati. Verificare quindi il programma dopo l'importazione.

Sostituzione di caratteri Unicode non validi durante l'upgrade

Al momento dell'aggiornamento alla versione V15.1, eventuali caratteri Unicode non validi nel programma vengono corretti; caratteri non validi nelle costanti stringa vengono ad esempio sostituiti con sequenze di escape definite tramite IEC. Ciò può causare una variazione nella somma di controllo del programma con la visualizzazione di differenze tra il programma online e offline. Compilare e caricare nuovamente il programma.

Istruzioni “SCATTER” / “SCATTER_BLK” e “GATHER“ / „GATHER_BLK“ (S7-1200/1500)

Le istruzioni „SCATTER“ / „SCATTER_BLK“ consentono di suddividere sequenza di bit in singoli bit I comandi „GATHER“ / „GATHER_BLK“ consentono di riunire singoli bit in una sequenza di bit.

I valori utilizzati dalle istruzioni sopra descritte non devono trovarsi nell'area di periferia o nel DB di un oggetto tecnologico, perché in queste aree non viene garantita la coerenza dei dati.

Dalla versione V15.1 questa regola viene verificata con un controllo più accurato della sintassi. Se in queste istruzioni nel programma sono stati inseriti parametri di ingresso non ammessi, durante la compilazione viene segnalato un errore.

Per ovviare a quest'inconveniente è possibile copiare inizialmente le variabili in un'area di memoria temporanea e assegnarle alle istruzioni „SCATTER“ o „GATHER“ da quella posizione.

Istruzioni "BLKMOV" / "UBLKMOV" e "FILL" / "UFILL"

Le istruzioni "BLKMOV" / "UBLKMOV" e "FILL" / "UFILL" consentono di copiare i contenuti di un'area di memoria (area sorgente) in un'altra area di memoria (area di destinazione). Se queste istruzioni accedono ad un'area di memoria non disponibile, viene segnalato un errore di programma. Nelle versioni precedenti raramente accadeva che nel parametro "RET_VAL" venisse generato un codice di errore in luogo di un errore di programmazione. Nelle CPU S7-1500, dalla versione firmware 2.6, questo comportamento è stato corretto.

Istruzione “RUNTIME” (SCL/AWL S7-1200/S7-1500)

Il parametro „Mem“ dell'istruzione „RUNTIME“ appartiene al tipo di dati „LREAL“ e può essere utilizzato soltanto con una variabile di questo tipo di dati. Non è possibile effettuare qui la conversione implicita. Nella versione V15.1 questa regola viene verificata con un controllo più accurato della sintassi. Se al parametro „Mem“ dell'istruzione „RUNTIME“ nel programma, sono stati assegnati tipi di dati non ammessi, durante la compilazione viene ora segnalato un errore.


Compatibilità dei programmi PLC creati con versioni precedenti alla V15

Contenuto Compatibilità S7-GRAPH: conversioni implicite "Tipi di dati hardware <> INT" Sottocategorie in ProDiag (S7-1500) Istruzioni "(U)MOVE_BLK" e "(U)FILL_BLK" (S7-1500) Loop di programma in SCL (S7-1200/S7-1500) Valori di ritorno di funzioni SCL LDT_TO_DATE in SCL (S7-1500) Confronto di un elemento ARRAY con una variabile del tipo di dati "VARIANT" in SCL (S7-1200/1500) Istruzione "GetSymbolPath" (S7-1200/S7-1500) Istruzione "GetSymbolPath" (S7-1200/S7-1500) Addizioni e sottrazioni con DTL/LDT/DT Informazioni sul tempo di esecuzione (S7-1200/S7-1500) ARRAY di multiistanze Parametri di blocco del tipo di dati "VARIANT" (S7-1200/1500) Importazione di sorgenti esterne Dimensioni di ARRAY of BOOL/BYTE/CHAR (S7-1500)
Compatibilità dei programmi PLC creati con versioni precedenti alla V15

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Compatibilità

In linea di massima tutti i programmi per PLC creati con versioni precedenti di TIA Portal possono essere utilizzati anche con la V15. Tuttavia, poiché nella V15 si è intervenuti sul compiler per migliorarlo e correggere determinati errori, in alcuni casi è possibile che dopo l'aggiornamento il programma si comporti in modo diverso o che sia necessario modificare manualmente il codice di programma. Questi casi sono descritti dettagliatamente di seguito.

S7-GRAPH: conversioni implicite "Tipi di dati hardware <> INT"

Da TIA Portal V15 non è più possibile, come già per KOP, FUP, AWL e SCL, programmare conversioni implicite di tipi di dati hardware (ad es. INT -> DB_ANY o DB_ANY -> INT).

Utilizzare invece il tipo di dati UINT o una conversione esplicita.

Sottocategorie in ProDiag (S7-1500)

A partire dal TIA Portal V14 SP1 Update 2, le singole sottocategorie di ProDiag non vengono più inserite automaticamente bensì attivate e disattivate nella colonna "Attivazione".

Ciò richiede che dopo l'aggiornamento di un progetto <V14 SP1 Update 2, che utilizzi già sottocategorie in almeno un controllo, la funzione "Ripara" venga eseguita prima di procedere alla creazione di nuove sottocategorie.

Istruzioni "(U)MOVE_BLK" e "(U)FILL_BLK" (S7-1500)

In TIA Portal <= V15, con l'accesso diretto alla periferia, le istruzioni "(U)MOVE_BLK" e "(U)FILL_BLK" avevano accesso solo all'immagine di processo.

Questo comportamento è stato corretto e ora causa un errore di runtime in quanto nei comandi BLK non sono consentiti gli accessi diretti alla periferia.

Loop di programma in SCL (S7-1200/S7-1500)

In S7-1200/S7-1500 con SCL non è possibile modificare l'indice di un loop di programma dall'loop.

Pertanto il seguente esempio di programma risulterebbe non valido:

FOR #i := 1 TO 10 DO

#i := #i + 1;

END_FOR;

Dal TIA Portal V15 viene effettuata, durante la compilazione, una verifica più precisa della sintassi ed emesso un errore di compilazione.

Valori di ritorno di funzioni SCL

È stato adattato il comportamento con le funzioni il cui valore di ritorno è un tipo di dati strutturati. Sono tipi di dati strutturati ad es. i tipi di dati PLC o STRING.

Dipendentemente dal fatto che l'uscita ENO della funzione fosse stata utilizzata o meno, poteva succedere finora che venisse creata una copia di lavoro temporanea del valore della funzione anche se normalmente al richiamo senza ENO questa copia di lavoro non veniva generata. La copia temporanea alla variabile interconnessa viene assegnata al termine della funzione.

Questo comportamento è stato modificato nel modo seguente:

L'utilizzo del parametro di uscita ENO non influenza più il modo di assegnazione del valore di ritorno, che sia questo per copia o per riferimento. Se il valore di ritorno dispone di un tipo di dati strutturati, questo viene inoltrato normalmente mediante riferimento. Le regole di assegnazione sono descritte dettagliatamente al capitolo "Assegnazione dei parametri come copia o come pointer".

LDT_TO_DATE in SCL (S7-1500)

È stato corretto il comportamento di LDT_TO_DATI al verificarsi di un errore di conversione nel tempo di esecuzione .

Confronto di un elemento ARRAY con una variabile del tipo di dati "VARIANT" in SCL (S7-1200/1500)

Fino a questo momento il confronto di un elemento ARRAY indicizzato in modo variabile con un VARIANT in alcuni casi non veniva eseguito correttamente. Invece dell'elemento ARRAY veniva preso per il confronto l'intero ARRAY.

Questo comportamento è stato corretto nella versione V15. Per il confronto viene ora analizzato l'elemento ARRAY indicizzato. Se nel proprio programma si utilizzano tali confronti, occorre verificare il blocco interessato dopo l'upgrade.

Esempio:

IF (#my_Array[#1] = #my_variant) THEN…

Finora "my_variant" veniva confrontato con "my_Array". Dalla versione V15 il confronto viene eseguito correttamente e "my_variant" viene confrontato con l'elemento #1 di "my_Array".

Istruzione "GetSymbolPath" (S7-1200/S7-1500)

Se un FB viene interconnesso ad una variabile statica di un parametro formale di un richiamo e un blocco subordinato utilizza per il parametro "GetSymbolPath" V1.0 o V1.1, nella compilazione di questo blocco viene emesso anche il nome del DB prima del nome della variabile statica, tuttavia senza punto e separatore e senza sostituire il #. La versione V1.2 di "GetSymbolPath" visualizza il percorso coretto con punto come separatore e senza #.

Se nel programma si fa uso dell'istruzione "GetSymbolPath", dopo l'aggiornamento alla versione >=V15 è necessario utilizzare l'istruzione "GetSymbolPath" V1.2.

Istruzione "GetSymbolPath" (S7-1200/S7-1500)

Se un FB viene interconnesso ad una variabile statica di un parametro formale di un richiamo e un blocco subordinato utilizza "GetInstancePath", nella compilazione di questo blocco viene emesso anche il nome del DB prima del nome della variabile statica.

Addizioni e sottrazioni con DTL/LDT/DT

In addizioni e sottrazioni con il tipo di dati DTL/LDT/DT non possono più essere utilizzate costanti atipiche. Viene segnalato un errore di sintassi.

Le seguenti operazioni aritmetiche, ad es. non sono più possibili:

#myDTL + 1

#myLDT + 1

#myDate_And_Time +1

Utilizzare invece costanti del tipo di dati "Time" o "LTime"

#myDTL + TIME#1d

#myLDT + TIME#1ms

#myDate_And_Time + LTIME#1ns

Informazioni sul tempo di esecuzione (S7-1200/S7-1500)

Le istruzioni avanzate "GetInstanceName", "GetInstancePath", "GetSymbolName", "GetSymbolPath" e "GetBlockName" si comportano ora allo stesso modo in tutti i linguaggi di programmazione. Se, per limitazioni delle dimensioni, la sequenza di caratteri da emettere non rientra per intero nel parametro di uscita "OUT", il nome viene tagliato e al termine della sequenza viene visualizzato il carattere "...".

ARRAY di multiistanze

Finora, in alcuni casi non era possibile indirizzare correttamente gli ARRAY di multiistanze se si indirizzava tramite indice variabile una multiistanza ulteriormente istanziata in un'altra multiistanza, che a sua volta era un elemento di un ARRAY di multiistanze.

Esempio:

#MyMultiArray[#index].MyMultiMember := 10;

Questo comportamento è stato corretto nella versione V15.

Qualora nel proprio programma si fossero utilizzati tali accessi, occorre verificare e probabilmente compilare di nuovo il blocco interessato dopo l'aggiornamento.

Parametri di blocco del tipo di dati "VARIANT" (S7-1200/1500)

Come già in KOP, FUP, AWL e GRAPH, ora anche in SCL non è più possibile assegnare a un parametro formale del tipo di dati "VARIANT" un DB di istanza come parametro attuale.

Fanno eccezione i DB di istanza, che derivano da un tipo di dati PLC o da un tipo di dati di sistema. Questi possono essere assegnati a un parametro di blocco del tipo di dati "VARIANT" in qualsiasi linguaggio di programmazione.

Non è più possibile assegnare ad un parametro di blocco con tipo di dati "VARIANT" una variabile protetta in scrittura come parametro attuale.

Se possibile, eliminare la protezione in scrittura della variabile. In caso contrario valutare come si può modificare il programma per impedire l'accesso alla variabile protetta in scrittura. Se ad es. si vuole accedere solo in lettura, è possibile copiare il contenuto della variabile protetta in scrittura nel blocco richiamante in un'altra variabile senza protezione in scrittura. Successivamente si potrà assegnare questa variabile come parametro attuale.

Importazione di sorgenti esterne

Con l'importazione di una sorgente esterna nella quale veniva utilizzata un'istruzione come multiistanza o come istanza singola, finora veniva reimpostato sulla versione dell'istruzione utilizzata nella sorgente l'intero programma. Dalla versione V15 di TIA Portal questo comportamento è stato corretto. Le istruzioni già contenute nel progetto non vengono più reimpostate, ma mantengono la versione dell'istruzione progettata.

Se dopo l'importazione il progetto contiene più versioni di un'istruzione, viene segnalato un errore di sintassi. In questo caso compilare di nuovo l'intero programma. Nella navigazione del progetto evidenziare la cartella "Blocchi di programma" e selezionare il comando "Compila > Software (soltanto modifiche)" o "Compila > Software (compilazione completa)" nel menu di scelta rapida.

Dimensioni di ARRAY of BOOL/BYTE/CHAR (S7-1500)

Finora gli ARRAY dei tipi di dati BOOL, BYTE o CHAR avevano dimensioni diverse a seconda che venissero o meno utilizzati all'interno di una struttura. Dalla V15 le dimensioni degli ARRAY sono state uniformate. Se nel programma utente si accede a un ARRAY di BOOL, BYTE o CHAR in modo assoluto, ad es. attraverso un puntatore ANY, è necessario controllare il programma dopo l'upgrade.


Compatibilità dei programmi PLC creati con versioni precedenti alla V14 SP1

Contenuto Compatibilità Dimensioni complessive delle variabili per i messaggi di programma Loop di programma in SCL (S7-1200/S7-1500) Istruzioni CASE in SCL ARRAY di multiistanze Tipo di parametro "Block_DB" per l'indicazione del DB di istanza Accessi alla periferia come parametri di ingresso dei blocchi (S7-1500 dalla versione FW V2.1)
Compatibilità dei programmi PLC creati con versioni precedenti alla V14 SP1

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Compatibilità

In linea di massima tutti i programmi per PLC creati con versioni precedenti di TIA Portal possono essere utilizzati anche con la V14 SP1. Poiché tuttavia nella V14 SP1 si è intervenuti sul compiler per migliorarlo e correggere determinati errori, in alcuni casi è possibile che dopo l'aggiornamento il programma si comporti in modo diverso o che sia necessario modificare manualmente il codice di programma. Questi casi sono descritti dettagliatamente di seguito.

Esiste inoltre la possibilità di modificare il progetto nel modo di compatibilità. Per maggiori informazioni sulla compatibilità consultare l'argomento "Compatibilità di progetti".

Dimensioni complessive delle variabili per i messaggi di programma

La procedura di segnalazione della CPU S7-1500 mette a disposizione max. 512 byte per le variabili (parametri SD) dell'istruzione "Program_Alarm".

In TIA Portal <= V14 queste dimensioni venivano segnalate solo con un avviso al momento della compilazione. Da TIA Portal V14 SP1 viene eseguito un controllo più accurato. Al superamento di queste dimensioni viene emesso un errore già al momento della compilazione, in modo da escludere situazioni di errore durante l'esecuzione. Da ora in poi questo controllo non sarà più riferito alle dimensioni effettive dei parametri SD al momento del richiamo dell'istruzione "Program_Alarm", bensì alle dimensioni max. possibili dei parametri SD. Diventa perciò necessario valutare prima con quale lunghezza dichiarare le variabili delle sequenze di caratteri da trasmettere perché occupano molti byte.

Questo va tenuto debitamente in considerazione con la migrazione dalla versione <= V14 alla versione V14 SP1 Update 1 o superiore.

Loop di programma in SCL (S7-1200/S7-1500)

In S7-1200/S7-1500 con SCL non è possibile modificare l'indice di un loop di programma dall'loop.

Pertanto il seguente esempio di programma risulterebbe non valido:

FOR #i := 1 TO 10 DO

#i := #i + 1;

END_FOR;

Dal TIA Portal V14.01 viene effettuata, durante la compilazione, una verifica più precisa della sintassi ed emesso un errore di compilazione.

Istruzioni CASE in SCL

All'interno di un'istruzione Case non sono più ammesse le etichette senza una corrispondente istruzione "GOTO". Viene segnalato un errore di sintassi.

ARRAY di multiistanze

In alcuni casi non è stato possibile indirizzare correttamente gli ARRAY di multiistanze in V14 se le singole variabili all'interno di una multiistanza presentavano l'impostazione della ritenzione "Imposta nell'IDB". Questo comportamento è stato corretto in V14 SP1.

Qualora nel proprio programma si fossero utilizzate tali variabili, occorre probabilmente compilare di nuovo il blocco interessato dopo l'aggiornamento.

Tipo di parametro "Block_DB" per l'indicazione del DB di istanza

Nei linguaggi KOP e FUP non è possibile indicare il DB di istanza di un'istruzione attraverso un ingresso del tipo di dati "Block_DB". Questo comportamento è stato uniformato per tutte le famiglie di CPU e per tutti i tipi di blocchi.

Da TIA Portal V14 SP1 viene emesso un errore di sintassi.

Se nel programma utente sono stati assegnati DB di istanza con l'aiuto del tipo di dati "Block_DB", è necessario modificare il programma. Utilizzare invece un'istanza del parametro per assegnare l'istanza durante l'esecuzione.

Accessi alla periferia come parametri di ingresso dei blocchi (S7-1500 dalla versione FW V2.1)

Gli accessi diretti alla periferia, interconnessi ai blocchi come parametri di ingresso, non comportano più la mancata esecuzione del blocco al verificarsi di un errore di accesso alla periferia. Il blocco viene invece elaborato con il valore sostitutivo del segnale.

Nelle CPU S7-1500 con versione firmware inferiore alla V2.1 e nelle CPU S7-1200, il comportamento del sistema rimane invariato:

A causa dell'errore di accesso alla periferia, il blocco non viene richiamato. L'esecuzione del programma prosegue dopo il richiamo del blocco. Un OB 122 eventualmente disponibile o un trattamento locale degli errori attivato, vengono eseguiti.


Compatibilità dei programmi PLC creati con versioni precedenti alla V14

Contenuto Compatibilità AWL: Istruzioni "SRW", "SLW" e "SSI" (S7-300, S7-400, S7-1500) Rappresentazione del formato BCD Istruzioni "SET_BF: Imposta campo di bit" e "RESET_BF: Resetta campo di bit" (S7-1200, S7-1500) Istruzioni "SCALE: Riporta in scala" e "UNSCALE: Converti da numero in scala" (S7-1500) Bit non utilizzati dei tipi di dati PLC (UDT) nel firmware >= V1.8.1 Conversione esplicita del tipo di dati in SCL (S7-1200) nel firmware >= V4.2 SCL: meccanismo EN/ENO per i parametri dei blocchi con tipo di dati (W)STRING (S7-1200/1500) Trasferimento di parametri STRING tra blocchi ottimizzati e blocchi standard (S7-1200/1500) Dichiarazione della lunghezza delle costanti con tipo di dati "STRING" o "WSTRING" Modifica del tipo di dati di base per HW_ANY da WORD a UINT Lunghezza dei commenti ai blocchi Verifica della sintassi delle istruzioni “ SR: Flipflop di impostazione/resettaggio “ e “ RS: Flipflop di impostazione/resettaggio “ Puntatore Any: accesso ai dati ottimizzati Tipo di dati "(L)REAL" Parametro "ST" nei temporizzatori IEC Variabili per i messaggi (S7-1500) Conversione implicita dei tipi di dati per i parametri dei blocchi con tipo di dati "DB_ANY" Interfaccia di blocchi organizzativi con accesso standard Confronto di variabili del tipo di dati WORD con variabili del tipo di dati S5TIME (S7-1500)
Compatibilità dei programmi PLC creati con versioni precedenti alla V14

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Compatibilità

In linea di massima tutti i programmi per PLC creati con versioni precedenti di TIA Portal possono essere utilizzati anche con la V14. Tuttavia, poiché nella V14 si è intervenuti sul compiler per migliorarlo e correggere determinati errori, in alcuni casi è possibile che dopo l'aggiornamento il programma si comporti in modo diverso o che sia necessario modificare manualmente il codice di programma. Questi casi sono descritti dettagliatamente di seguito.

AWL: Istruzioni "SRW", "SLW" e "SSI" (S7-300, S7-400, S7-1500)

Il campo di valori consentito per il numero utilizzato per gli spostamenti in queste istruzioni è stato modificato da TIA Portal V13 SP1 a TIA Portal V14.

Per gli spostamenti, nella versione V13 SP1 è possibile indicare su una CPU della serie S7-1200/-1500 un numero compreso nel campo di valori da 0 a 31 e su una CPU della serie S7-300/-400 un numero compreso nel campo di valori tra 0 e 15.

Dalla versione V14, i campi di valori sono stati uniformati per tutte le serie di CPU (S7-300/400/1200/1500) a un campo compreso tra 0 e 15.

Rappresentazione del formato BCD

Da TIA Portal V13 SP1 a TIA Portal V14 è stata modificata la rappresentazione del segno nel formato BCD.

Nella versione V13 SP1 i valori in formato BCD vengono rappresentati senza segno.

Dalla versione V14 i valori in formato BCD vengono rappresentati con segno. È possibile perciò che i valori in formato BCD vengano visualizzati in un altro modo.

Numeri interi (sistema decimale) | Numeri esadecimali | Rappresentazione nella V13 SP1 | Rappresentazione nella V14
0 | 16#0000 | BCD#0 | BCD#0
-26215 | 16#9999 | BCD#9999 | BCD#-999
1365 | 16#0555 | BCD#555 | BCD#555
21845 | 16#5555 | BCD#5555 | BCD#555
4096 | 16#1000 | BCD#1000 | BCD#0
-28672 | 16#9000 | BCD#9000 | BCD#0

Istruzioni "SET_BF: Imposta campo di bit" e "RESET_BF: Resetta campo di bit" (S7-1200, S7-1500)

Per quanto concerne le strutture, il comportamento dell'istruzione nel TIA Portal V14 differisce da quello in precedenza adottato nel TIA Portal V13 SP1.

Nella versione V13 SP1 vengono sempre impostati o resettati tanti bit quanti ne sono indicati nell'uscita. Ciò vale anche se è stata indicata ad es. una struttura del tipo di dati PLC, STRUCT o ARRAY. Se ad es. si vogliono impostare o resettare 10 bit e la struttura contiene solo 5 bit, verranno impostati o resettati anche i successivi 5 bit all'interno della sequenza dell'indirizzo.

Dalla versione V14 nelle strutture del tipo di dati PLC, STRUCT o ARRAY vengono impostati al massimo tanti bit quanti quelli contenuti nella struttura: Se ad es. si specifica il valore "20" e la struttura contiene solo 10 bit, vengono impostati solo questi 10 bit. Se ad es. si specifica il valore "5" e la struttura contiene solo 10 bit, vengono impostati esattamente 5 bit.

Istruzioni "SCALE: Riporta in scala" e "UNSCALE: Converti da numero in scala" (S7-1500)

Per quanto concerne l'indicazione dei valori limite (LO_LIM > HI_LIM), il comportamento dell'istruzione nel TIA Portal V14 differisce da quello in precedenza adottato nel TIA Portal V13 SP1.

Nella versione V13 SP1 veniva visualizzato un messaggio di errore quando il valore limite inferiore superava il valore limite superiore.

Dalla versione V14 l'indicazione questo valore è ammessa ed il risultato viene convertito in scala in misura inversamente proporzionale al valore inserito.

Nelle CPU della serie S7-300/400, l'istruzione ha sempre convertito in scala il risultato in misura inversamente proporzionale al valore inserito.

Bit non utilizzati dei tipi di dati PLC (UDT) nel firmware >= V1.8.1

I bit non utilizzati dei tipi di dati PLC nelle aree di memoria standard vengono occupati o sovrascritti ad es. da un tipo di dati PLC contenente 4 bit.

Nelle versioni firmware < V1.8.1, i bit non utilizzati dei tipi di dati PLC possono essere impiegati per scopi diversi.

Dalla versione firmware >= V1.8.1, tutti i bit, anche in caso di impiego di soli 4 bit, vengono occupati o sovrascritti.

Nota

Assegnazione degli indirizzi

È importante tener presente che non si può assegnare due volte lo stesso indirizzo assoluto a indirizzamenti simbolici diversi.

Conversione esplicita del tipo di dati in SCL (S7-1200) nel firmware >= V4.2

Nelle versioni del firmware < V4.2 durante la conversione esplicita del tipo di dati SINT/INT/DINT/REAL_TO_STRING/WSTRING in SCL la stringa di caratteri trasferita era allineata a destra e preceduta da spazi vuoti.

Esempio: REAL_TO_WSTRING(12) = ' 1.200000E+1'

A partire dal TIA Portal V13 durante la conversione esplicita del tipo di dati SINT/INT/DINT/REAL_TO_STRING/WSTRING in SCL la stringa di caratteri trasferita è preceduta da un segno e allineata a sinistra.

Esempio: REAL_TO_WSTRING(12) = '+1.200000E+1'

SCL: meccanismo EN/ENO per i parametri dei blocchi con tipo di dati (W)STRING (S7-1200/1500)

Dalla V14 in poi TIA Portal verifica se i parametri dei blocchi con tipo di dati (W)STRING vengono tagliati quando vengono trasferiti in runtime. Questo può accadere ad es. quando le lunghezze dichiarate per i parametri formali e quelli attuali sono diverse. Qualora la lunghezza dichiarata del parametro di destinazione si riveli insufficiente per l'acquisizione di (W)STRING, quest'ultimo viene tagliato e l'uscita di abilitazione ENO viene impostata su "FALSE".

Se si analizza l’uscita di abilitazione ENO nel programma utente è possibile che la semantica del programma venga modificata.

Trasferimento di parametri STRING tra blocchi ottimizzati e blocchi standard (S7-1200/1500)

Al momento di trasferire i parametri tra blocchi ottimizzati e non ottimizzati prima di TIA Portal V14 non venivano trasmesse al blocco richiamato informazioni sulla lunghezza dei parametri STRING. Pertanto, al momento di rielaborare uno STRING potevano verificarsi errori di accesso non rilevati dal meccanismo ENO. L’uscita di abilitazione “ENO” rimaneva comunque “TRUE” nonostante l’errore di accesso.

Da TIA Portal V14 in poi le informazioni sulla lunghezza degli STRING vengono trasferite e il meccanismo ENO controlla gli errori di accesso. Se si analizza l’uscita di abilitazione ENO nel programma utente è possibile che la semantica del programma venga modificata.

Dichiarazione della lunghezza delle costanti con tipo di dati "STRING" o "WSTRING"

Non è più consentito dichiarare la lunghezza per le costanti (W)STRING locali e globali. Le eventuali dichiarazioni della lunghezza contenute nel programma, ad es."MyStringConst [7]", vengono eliminate automaticamente durante l'upgrade. Questa modifica tuttavia non ha conseguenze sulla semantica del programma.

Modifica del tipo di dati di base per HW_ANY da WORD a UINT

Il tipo di dati hardware "HW_ANY" consente l’identificazione di un qualsiasi componente hardware, ad es. un'unità. In V14 il tipo di dati di base "HW_ANY" è stato modificato da WORD a UINT. Perciò dopo la conversione a V14 possono verificarsi errori di compilazione se in un parametro del tipo di dati "HW_ANY" è stata indicata come valore attuale una costante WORD esplicita (ad es. W#16#1) o una variabile con tipo di dati WORD.

In questo caso, modificare la notazione della costante (ad es. in 16#1) o il tipo di dati della variabile in UINT.

Lunghezza dei commenti ai blocchi

A partire da TIA Portal V14 i commenti ai blocchi non devono superare una lunghezza di 32767 caratteri Unicode.

Verifica della sintassi delle istruzioni “ SR: Flipflop di impostazione/resettaggio “ e “ RS: Flipflop di impostazione/resettaggio “

Nell'ingresso “S“ è possibile utilizzare come operandi gli ingressi, le uscite, i merker e i dati statici o locali. Non è invece consentito utilizzare le costanti. Finora la funzione di verifica della sintassi non impediva di utilizzare le costanti "0" e "1". Da TIA Portal V14 la verifica della sintassi è stata migliorata e ora impedisce di utilizzare anche "0" o "1" nell'ingresso "S". Durante la compilazione potrebbe comparire un messaggio di errore anche per i programmi che prima erano compilabili senza errori. In questo caso si dovrà modificare il programma e utilizzare un operando consentito.

Puntatore Any: accesso ai dati ottimizzati

Anche nel caso di una CPU della serie S7-1500, il puntatore ANY può indicare solo aree di memoria con il tipo di accesso "Standard". Non è consentito accedere ai dati ottimizzati con un puntatore ANY.

Dal TIA Portal V14 viene effettuata una verifica più precisa sui puntatori ANY e l'accesso ai dati ottimizzati viene impedito. Durante la compilazione potrebbe comparire un messaggio di errore anche per i programmi che prima erano compilabili senza errori.

Tipo di dati "(L)REAL"

Nelle versioni di Windows a 64 bit, può accadere che il tipo di dati LREAL venga analizzato con modalità diverse rispetto a quelle adottate finora nelle versioni a 32 bit. Ciò può comportare differenze negli arrotondamenti e nei valori (L)Real delle costanti nel bit Least Significant.

L'eventuale differenza si trova all'ultimo posto nella mantissa e influisce generalmente solo in misura marginale sulla precisione.

Se viene analizzato l'ultimo posto della mantissa, può accadere che dopo la conversione la semantica nel programma STEP 7 subisca variazioni.

Parametro "ST" nei temporizzatori IEC

Il parametro "ST" in un temporizzatore IEC viene utilizzato internamente e non deve essere editato. Pertanto dalla versione V14 del TIA Portal questo parametro non è più visibile. In caso di accesso in scrittura al parametro "ST" nel programma, in seguito all'aggiornamento viene emesso un messaggio di errore durante la compilazione.

In caso di scambio dati con Inter Project Engineering e di accesso al parametro "ST" tramite HMI, il progetto deve essere dapprima esportato e reimportato nella CPUProxy. Solo dopo queste operazioni il parametro "ST" non sarà più visibile nella progettazione HMI.

Variabili per i messaggi (S7-1500)

I progetti creati con una versione precedente del TIA Portal possono contenere variabili incorporate che sono strutturate in modo diverso nelle varie lingue. Ad esempio possono avere una sequenza diversa o non essere disponibili in un'altra lingua. Quando si aggiorna un progetto di questo tipo la sequenza delle variabili viene uniformata in base alla lingua di riferimento impostata nel progetto originale. In questo caso è consigliabile controllare e correggere i testi tradotti.

Conversione implicita dei tipi di dati per i parametri dei blocchi con tipo di dati "DB_ANY"

Per l'accesso a un parametro di blocco del tipo di dati "DB_ANY" con la sintassi DB_ANY.%DB(B|W|D) finora non veniva eseguita una conversione implicita del tipo di dati. Il campione di bit del valore sorgente veniva semplicemente spostato nel tipo di dati di destinazione. Se il tipo di dati di destinazione era minore del tipo di dati sorgente, si verificava un overflow e il valore scritto poteva essere errato o impreciso. In caso di minore precisione o di errori di runtime l'uscita di abilitazione ENO non veniva impostata a "FALSE".

Dalla V14, al momento del trasferimento di parametri con la sintassi DB_ANY.%DB(B|W|D) viene eseguita un conversione con le regole della conversione implicita del tipo di dati. Tenere presente che in questo modo dopo l'upgrade potrebbe essere scritto un altro valore e la semantica del programma può essere modificata. Inoltre, se si verifica un errore di runtime, l'uscita di abilitazione ENO viene impostata su "FALSE".

Interfaccia di blocchi organizzativi con accesso standard

L'interfaccia di blocchi organizzativi con accesso standard deve avere dimensioni minime di 20 byte. Nelle versioni meno recenti del TIA Portal venivano controllate, nel corso della compilazione, soltanto le dimensioni dell'interfaccia dell'OB1. Dalla versione V14 vengono controllate le interfacce di tutti i blocchi organizzativi. Durante la compilazione potrebbe comparire un messaggio di errore anche per i programmi che prima erano compilabili senza errori.

Confronto di variabili del tipo di dati WORD con variabili del tipo di dati S5TIME (S7-1500)

Dalla versione V14 del TIA Portal, una variabile del tipo di dati WORD e una del tipo di dati S5TIME, oggetto di confronto reciproco, vengono entrambe convertite nel tipo di dati TIME. La variabile WORD viene in questo caso interpretata come valore S5TIME. In caso di impossibilità di conversione di una delle due variabili, il confronto non viene eseguito e viene emesso il risultato FALSE. In caso di conversione riuscita, l'esecuzione del confronto dipende dell'espressione di confronto selezionata.


Compatibilità dei programmi PLC creati con versioni precedenti alla V13 SP1

Contenuto Compatibilità Bit non utilizzati dei tipi di dati PLC (UDT) nel firmware >= V1.8.1 Conversione esplicita del tipo di dati in SCL (S7-1200) nel firmware >= V4.2 Lettura di un ingresso di periferia non valido Istruzione "S_CONV: Converti stringa di caratteri" Istruzione "SET: Imposta area a bit" (S7-300/S7-400) Istruzione "MUX: Multiplexaggio" (SCL) Istruzione "DEMUX: Demultiplexaggio" (SCL) Istruzione "MOVE: Copia valore" (AWL) (S7-1500) Istruzione "Program_Alarm: Generazione del messaggio di programma con variabili" (S7-1500) Istruzioni "READ_DBL: Leggi blocco dati nella memoria di caricamento" e "WRIT_DBL: Scrivi blocco dati nella memoria di caricamento“ Istruzioni "READ_DBL: Leggi blocco dati nella memoria di caricamento" e "WRIT_DBL: Scrivi blocco dati nella memoria di caricamento" (SCL) Valori delle funzioni (Return) Confronto dei due tipi di hardware HW_IO e HW_DEVICE Conversione implicita dei numeri in virgola mobile in DWORD (GRAPH) (S7-1500) Assegnazione di una valore a una costante LTIME (S7-1500) Indicizzazione indiretta di componenti ARRAY del tipo di dati Sequenza di bit in SCL (S7-1200/S7-1500) Meccanismo EN/ENO in caso di conversioni STRING (S7-1200/S7-1500) Superamento dello stack dei dati locali (S7-300/S7-400)
Compatibilità dei programmi PLC creati con versioni precedenti alla V13 SP1

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Compatibilità

In linea di massima tutti i programmi PLC creati con il TIA Portal V12 SP1 o V13 possono essere utilizzati anche nella V13 SP1. Poiché tuttavia nella V13 SP1 si è intervenuti sul compiler (compilazione del codice di programma) per migliorarlo e correggere determinati errori, in alcuni casi è possibile che dopo l'aggiornamento il programma si comporti in modo diverso o che sia necessario modificare manualmente il codice di programma. Questi casi sono descritti dettagliatamente di seguito.

Bit non utilizzati dei tipi di dati PLC (UDT) nel firmware >= V1.8.1

I bit non utilizzati dei tipi di dati PLC nelle aree di memoria standard vengono occupati o sovrascritti ad es. da un tipo di dati PLC contenente 4 bit.

Nelle versioni firmware < V1.8.1, i bit non utilizzati dei tipi di dati PLC possono essere impiegati per scopi diversi.

Dalla versione firmware >= V1.8.1, tutti i bit, anche in caso di impiego di soli 4 bit, vengono occupati o sovrascritti.

Nota

Assegnazione degli indirizzi

È importante tener presente che non si può assegnare due volte lo stesso indirizzo assoluto a indirizzamenti simbolici diversi.

Conversione esplicita del tipo di dati in SCL (S7-1200) nel firmware >= V4.2

Nelle versioni del firmware < V4.2 durante la conversione esplicita del tipo di dati SINT/INT/DINT/REAL_TO_STRING/WSTRING in SCL la stringa di caratteri trasferita era allineata a destra e preceduta da spazi vuoti.

Esempio: REAL_TO_WSTRING(12) = ' 1.200000E+1'

A partire dal TIA Portal V13 durante la conversione esplicita del tipo di dati SINT/INT/DINT/REAL_TO_STRING/WSTRING in SCL la stringa di caratteri trasferita è preceduta da un segno e allineata a sinistra.

Esempio: REAL_TO_WSTRING(12) = '+1.200000E+1'

Lettura di un ingresso di periferia non valido

In TIA Portal dalla versione V12 in poi il codice di errore 16#2942 per la lettura di un ingresso di periferia non valido viene emesso solo se l’accesso errato è stato programmato in modo da essere anche effettivamente attivato, ad es. %MW10 := “AccessoParolaNonValido”:P, e non si trova in una sequenza irrilevante. Potrebbe essere ad es. #tmp := "AccessoParolaNonValido":P se nel restante blocco di programma non viene utilizzata la variabile #tmp.

Istruzione "S_CONV: Converti stringa di caratteri"

Nel TIA Portal V13 SP1 il meccanismo EN/ENO si comporta in modo diverso rispetto al TIA Portal V13.

Nella versione V13, in caso di errore l'uscita di abilitazione ENO restituisce lo stato di segnale "0" anche se la si era disattivata. Ciò significa che un'ulteriore istruzione eventualmente collegata all'uscita di abilitazione ENO non viene eseguita.

Nella versione V13 SP1, in caso di errore l'uscita di abilitazione ENO restituisce lo stato di segnale "1" se la si era disattivata. Ciò significa che un'ulteriore istruzione eventualmente collegata all'uscita di abilitazione ENO viene eseguita come previsto.

Istruzione "SET: Imposta area a bit" (S7-300/S7-400)

Nel TIA Portal è possibile interconnettere nel parametro N dell'istruzione SET anche un elemento di un blocco dati.

Istruzione "MUX: Multiplexaggio" (SCL)

Fino al TIA Portal V13 incluso, il valore delle variabili veniva emesso senza essere modificato nel parametro di ingresso come valore di funzione anche se il valore del parametro K era un numero intero negativo. Questo comportamento è stato modificato nel TIA Portal V13 SP1.

In TIA Portal V13 SP1, se si indica nei parametri di ingresso dell’istruzione MUX una variabile con un tipo di dati valido e il parametro K è un numero intero negativo, il valore della variabile viene modificato. I tipi di dati validi sono specificati nella descrizione dell’istruzione MUX nel sistema di informazione.

Istruzione "DEMUX: Demultiplexaggio" (SCL)

Fino al TIA Portal V13 incluso, se il valore del parametro K era < 0 non veniva emesso alcun valore nel parametro di uscita OUTELSE. Se invece il valore del parametro K era > delle uscite disponibili, nel parametro di uscita OUTELSE veniva emesso il valore del parametro di ingresso IN. Questo comportamento è stato modificato nel TIA Portal V13 SP1.

Se nel TIA Portal V13 SP1 è indicato per il parametro K un valore al di fuori delle uscite disponibili (K < 0 o K > uscite disponibili), nel parametro di uscita OUTELSE viene emesso il valore del parametro di ingresso IN.

Istruzione "MOVE: Copia valore" (AWL) (S7-1500)

A partire dal TIA Portal V13 SP1 è stata introdotta una regola sintattica più restrittiva per l'istruzione "MOVE" in AWL:

fino al TIA Portal V13 compreso era possibile immettere nel parametro di ingresso IN costanti non tipizzate, ad es. "0".

Nel TIA Portal V13 SP1 per copiare, ad esempio, il valore "0" si deve specificare una costante tipizzata facendo riferimento al tipo di dati del parametro di uscita (ad es. INT#0, DINT#0, ecc.).

Istruzione "Program_Alarm: Generazione del messaggio di programma con variabili" (S7-1500)

Da TIA Portal V13 SP1 in poi non è più possibile utilizzare il tipo di dati INT per le variabili o per una variabile di indicizzazione di un elenco di testi. Utilizzare invece il tipo di dati UINT.

Istruzioni "READ_DBL: Leggi blocco dati nella memoria di caricamento" e "WRIT_DBL: Scrivi blocco dati nella memoria di caricamento“

TIA Portal V13 SP1 segnala un errore di compilazione se si utilizza "READ_DBL" V1.0 o "WRIT_DBL" V1.0 e si accede con il parametro DSTBLK a un blocco dati con l’attributo "Salva soltanto nella memoria di caricamento".

Utilizzare invece la versione 1.2 di entrambe le istruzioni.

Istruzioni "READ_DBL: Leggi blocco dati nella memoria di caricamento" e "WRIT_DBL: Scrivi blocco dati nella memoria di caricamento" (SCL)

A partire dalla versione V13 SP1 del TIA Portal, nelle istruzioni "READ_DBL" e "WRIT_DBL" in SCL viene applicata tassativamente la stessa regola di sintassi prevista per tutti gli altri linguaggi di programmazione:

Nella versione V13 del TIA Portal era possibile la creazione nei parametri SRCBLK e DSTBLK di blocchi dati "Standard" contenenti variabili con tipi di dati diversi.

Dalla versione V13 SP1 del TIA Portal, le singole variabili nei blocchi dati "Standard" e "Ottimizzati", devono appartenere allo stesso tipo di dati, diversamente viene segnalato un errore di compilazione.

Valori delle funzioni (Return)

A partire dal TIA Portal V13 SP1 sono previste regole di sintassi più rigide per il richiamo delle funzioni:

Viene verificato che il valore della funzione (Return) venga sempre scritto anche se nella funzione sono previsti diversi possibili percorsi di programma, ad es. se si utilizzano comandi di salto o loop IF. In tal modo non esiste più il rischio che la scrittura dei valori delle funzioni venga tralasciata per errore in runtime.

In fase di compilazione è tuttavia possibile ricevere errori di sintassi in funzioni che con V13 era ancora possibile compilare senza errori. In questo caso occorre modificare il codice di programma in modo che il valore della funzione venga scritto in tutti i possibili percorsi di programma.

Esempio:

SCL Copia il codice di programma seguente negli Appunti.

IF #MyIn1 = #MyIn2 THEN

#Block_3 := #MyIn1 + 1;

END_IF;

In questo esempio il valore della funzione di Block_3 non viene scritto se la condizione dell'istruzione IF non viene soddisfatta. Il valore della funzione contiene quindi un valore indefinito.

SCL Copia il codice di programma seguente negli Appunti.

#Block_3 := #MyIn1;

IF #MyIn1 = #MyIn2 THEN

#Block_3 := #MyIn1 + 1;

END_IF;

In questo esempio il valore della funzione di "Block_3" viene sempre scritto, in quanto il valore "MyIn1" è stato preassegnato prima della conclusione del loop IF.

Confronto dei due tipi di hardware HW_IO e HW_DEVICE

A partire da TIA Portal V13 SP1 vale una regola di sintassi più severa per il confronto dei tipi di dati HW_IO e HW_DEVICE.

Fino a TIA Portal V13 incluso era possibile confrontare direttamente tra loro i due tipi di dati HW_IO e HW_DEVICE.

Se si vogliono confrontare i due tipi di dati in TIA Portal V13 SP1, è necessario prima creare una variabile con tipo di dati HW_ANY nella sezione "Temp" dell'interfaccia di blocco e quindi copiare LADDR (del tipo di dati HW_DEVICE) nella variabile. Successivamente è possibile eseguire il confronto di HW_ANY e HW_IO.

Conversione implicita dei numeri in virgola mobile in DWORD (GRAPH) (S7-1500)

A partire dal TIA Portal V13 SP1 è stata introdotta una regola sintattica più restrittiva per la conversione implicita dei numeri in virgola mobile in DWORD.

Fino al TIA Portal V13 compreso, se il valore era inferiore a 32 bit, era possibile convertire implicitamente una costante non tipizzata (ad es. 1.0) nel tipo di dati DWORD.

Nel TIA Portal V13 SP1 per convertire implicitamente un numero in virgola mobile nel tipo di dati DWORD si possono utilizzare solo le costanti tipizzate (ad es. REAL#1.0), perché quelle che non lo sono (ad es. 1.0) vengono interpretate come LREAL e non possono essere quindi convertite implicitamente in DWORD.

Assegnazione di una valore a una costante LTIME (S7-1500)

A partire da TIA Portal V13 SP1 vale una regola di sintassi più severa per la definizione di un valore in una costante LTIME.

Fino a TIA Portal V13 incluso era possibile assegnare un valore TIME (ad es. T#10s) a una costante LTIME.

Se si vuole assegnare un valore a una costante LTIME in TIA Portal V13 SP1 è necessario utilizzare una sintassi LTIME (ad es. LT#10s).

Osservare che i corrispondenti progetti TIA Portal delle versioni precedenti devono essere già adeguati prima dell'upgrade a TIA Portal V13 SP1.

Indicizzazione indiretta di componenti ARRAY del tipo di dati Sequenza di bit in SCL (S7-1200/S7-1500)

Nel TIA Portal V13, per l'indirizzamento dei componenti di un ARRAY come indice in una CPU delle serie S7-1200/1500, oltre a una variabile del tipo di dati Numero intero è possibile indicare in SCL anche una variabile del tipo di dati BYTE, WORD, DWORD o LWORD se non è impostata la verifica IEC. Nelle CPU delle serie S7-300/400 ciò non è possibile.

Ne deriva un'incompatibilità con il TIA Portal V12 SP1, nel quale l'indicizzazione indiretta con il tipo di dati Sequenza di bit è consentita anche nelle CPU delle serie S7-300/400.

Meccanismo EN/ENO in caso di conversioni STRING (S7-1200/S7-1500)

Conversione

Spiegazione

Strg_TO_Chars: Converti stringa di caratteri in Array of CHAR

L'uscita di abilitazione ENO restituisce lo stato di segnale "0" anche se la si era disattivata:

  • se il parametro CHARS contiene un carattere non valido

  • se il parametro PCHARS contiene un indice ARRAY non valido

  • se la somma dei parametri PCHARS e STRG supera la lunghezza dell'ARRAY di destinazione.

Chars_TO_Strg: Converti Array of CHAR in stringa

L'uscita di abilitazione ENO restituisce lo stato di segnale "0" anche se la si era disattivata:

  • se la somma dei parametri PCHARS e CNT supera la lunghezza dell'ARRAY di origine.

Superamento dello stack dei dati locali (S7-300/S7-400)

A partire dal TIA Portal V13 SP1 viene verificato se le dimensioni dello stack dei dati locali definite nella configurazione hardware per le priorità degli OB vengono superate.

In fase di compilazione si potrebbero quindi ricevere messaggi di errore in progetti che con V13 era ancora possibile compilare senza errori. Modificare le dimensioni massime dello stack dei dati locali nella configurazione hardware.


Inter Project Engineering (IPE)

Inter Project Engineering (IPE)

Questo capitolo contiene informazioni sugli argomenti seguenti:
  • Avvertenze su IPE


Avvertenze su IPE

Contenuto Utilizzo della diagnostica di sistema nel proxy dei dispositivi Collegamenti al SIMATIC S7-1500 Software Controller Supporto di segnalazioni Alarm_S Compatibilità
Avvertenze su IPE

Contenuto

Indicazioni non più comprese nella Guida in linea e avvertenze importanti sulle proprietà del prodotto.

Utilizzo della diagnostica di sistema nel proxy dei dispositivi

Per poter utilizzare la funzione "Diagnostica di sistema" in un proxy dei dispositivi IPE, ad es. per una visualizzazione della diagnostica di sistema, inserire i "Messaggi PLC" come contenuto di un proxy dei dispositivi.

Collegamenti al SIMATIC S7-1500 Software Controller

I collegamenti al SIMATIC S7-1500 Software Controller come proxy dei dispositivi sono possibili solo tramite le interfacce assegnate al PLC software.

Supporto di segnalazioni Alarm_S

La funzionalità di progettazione integrata con WinCC e SIMATIC Manager supporta le segnalazioni Alarm_S che sono accessibili attraverso blocchi dati e Continuous Function Chart (CFC).

Compatibilità

TIA Portal V15.1 consente di aprire i file IPE della stessa versione e delle versioni precedenti a partire dalla V13 SP1.

I file IPE creati con la versione V15.1 di TIA Portal non possono essere aperti con versioni precedenti.