Categorie
Documentazione

WinCC Client

Riguardo la funzionalita’ client/server di WinCC, sappiamo che i client possono essere Client con progetto e Client senza progetto

Il problema e’ orientarsi nella documentazione per capire, quando parliamo di Client, a quale tipo di Client facciano riferimento.

Riassumiamo la situazione cercando di fare un po di chiarezza.

Inizialmente nella versione 4.x c’era solo il “client senza progetto”, detto “Client”.

Nella versione 5.x questo e’ stato ribattezzato come “UniClient” ed e’ stato introdotto il “client con progetto” detto “MultiClient”.

Nella versione 6.x il primo e’ stato ri-ribattezzato “Client-Senza-Progetto” e il secondo “Client-Con-Progetto” (o semplicemente “Client”).

Nella versione 7.x Siemens ha mantenuto i nomi della versione 6.x, ma hanno introdotto nella fase di installazione la possibilita’ di fare un setup per un client “Standard” (intendendo in questo caso un client senza progetto).

Nella finestra per la creazione di un nuovo progetto, la voce “client” fa implicitamente riferimento a un “client con progetto”

(MI)

Categorie
Comunicati Documentazione

Service Pack 1 per WinCC V7.0

E’ disponibile per il download il SP1 per WinCC 7.0

Le informazioni sono reperibili nel sito Siemens al seguente indirizzo

http://support.automation.siemens.com/WW/view/it/34896120

Il download è abbastanza corposo (oltre 5 GB)

Categorie
Documentazione

Avviare il runtime di WinCC da riga di comando

Se è necessario avviare il runtime da riga di comando ecco la riga di comando da eseguire:

AutoStartRT
C:\percorso\nomeprogettowincc.MCP
/Activ:yes /LANG=ENU /EnableBreak:yes

sostituire percorso con il percorso del tuo progetto
sostituire nomeprogettowincc.mcp con il nome del file di progetto che ha estensione mcp

Il parametro

EnableBreak:yes

Abilita il pulsante cancel all’avvio del runtime

EnableBreak:no

Lo disabilita (non lo visualizza)

Categorie
Documentazione Security

WinCC Security Concept

Interessante manuale relativo al concetto e l’implementazione della sicurezza IT vista da WinCC

http://support.automation.siemens.com/WW/view/en/23721796

Documentazione in inglese

Categorie
BasicScript cScript Documentazione

VB-Script e C-Script

Per prima cosa desideriamo ringraziare alcuni di Voi, che ci hanno segnalato questo argomento come articolo da pubblicare sul nostro Blog. Naturalmente Vi incoraggiamo a scriverci anche solo per esprimere le vostre opinioni.
Come avete letto dal titolo, in questo articolo cercheremo di confrontare il C-script e VB-Script per le versioni di WinCC 6.x in poi, compresa la nuova e tanto attesa versione 7.

Cominciamo con il precisare la differenza tra “azioni” e “funzioni”; in quanto ad alcuni non è ancora ben chiara…

Innanzitutto le azioni vengono utilizzate per attività di background, quali p. es. stampe giornaliere di protocolli, il monitoraggio di variabili o l’esecuzione di calcoli.

Le funzioni sono porzioni di codice che possono venire utilizzate in più punti, la cui definizione però si effettua in un punto solo. WinCC mette a disposizione numerose funzioni, liberamente utilizzabili e visibili direttamente nel riquadro a sinistra dell’editor della funzione. Inoltre è possibile scrivere funzioni ed azioni proprie, utilizzando l’ambiente Global Script e selezionando uno dei 2 ambienti che WinCC mette a disposizione: C-Script e VB-Sscript.

In WinCC è possibile utilizzare parallelamente VBScript e C-Script, ma non intersecare i due tipi di script:

  • all’interno di una pagina e di un progetto si possono progettare sia script VBS che script C: cioè posso associare ad un specifico evento un’azione C mentre per un altro tipo di evento un’altra funzione VBS
  • gli script C non si possono richiamare negli script VBS e viceversa.
  • in VBS sono a disposizione interfacce interne per variabili e oggetti di pagina, mentre nell’ambiente C è anche possibile accedere ad altri sottosistemi di WinCC (per es. i protocolli).

Inoltre da tenere presente che il tipo di dati delle variabili VBS è sempre VARIANT, mentre in C-Script si possono decidere il tipo di dati opportuno (char, double,ecc…)

In VBS di WinCC, contrariamente a C, non viene fatta alcuna differenziazione fra azioni locali (valide per tutto il progetto) e azioni globali (valide per tutto il computer). Un’azione progettata è sempre valida globalmente. Tenere presente che le lunghezze dei nomi degli oggetti dinamizzati in Graphics Designer  è spesso fonte di errori!!! Infatti tali lunghezze sono limitate a circa 200 caratteri, e che nei file script ogni carattere speciale utilizzato nel nome di un oggetto viene trasformato in 5 caratteri.

Dietro un X iniziale, il carattere speciale viene rappresentato in codice esadecimale a 4 cifre.

Se con un’azione VBS si dinamizza una proprietà dell’oggetto attraverso il valore di ritorno di uno script, il valore della proprietà dell’oggetto viene scritto soltanto se è cambiato rispetto all’ultima esecuzione script. In tal caso, non viene considerato se il valore è stato modificato da un’altra posizione.

Fate quindi attenzione quando dinamizzate una proprietà tramite valore di ritorno, in quanto non dovranno essere modificate in altri punti da C-Script o VB-Script

Per quanto rigurada le funzioni e le variabili globali in C, c’è solo da dire che la capacità di memoria massima disponibile di 64 KByte.
Inoltre tenere a mente che non è ammesso definire una variabile C in più posizioni. Per maggior chiarezza e per evitare definizioni doppie, è opportuno quindi definire le variabili C globali solo
in una posizione. Per definirla in una sola posizione basta fare così:

extern int a; //La variabile a viene dichiarata esterna

Oltretutto, con C-Script, a differenza di VBS, ho la possibilità di usare delle DLL proprie (Dynamic Link Libraries). Le funzioni comprese in DLL esistenti possono essere rese utilizzabili per funzioni ed azioni integrando la funzione o l’azione interessata.

Per utilizzare una DLL basta inserire all’inizio della funzione o dell’azione il seguente codice:

#pragma code(“<Nome>.dll”)
<Tipo di valore di retorno> <Nome di funzione 1>(…);
<Tipo di valore di ritorno> <Nome di funzione 2>(…);
.
.
.
<Tipo di valore di ritorno> <Nome di funzione n>(…);
#pragma code()

Per chi vuole sviluppare DLL ad hoc, ricordiamo che la struttura della DLL deve essere creata con allineamento a 1 byte. Inoltre la DLL deve trovarsi in una directory bin o in un percorso definito nelle variabili del sistema PATH.

Tale variabile viene definita tramite le proprietà di sistema del sistema operativo.

Un’ ultimo confronto possiamo farlo in termini di prestazioni tra VB-Script e C-Script: tale confronto viene anche riportato nella guida in linea di WinCC e sono test fatti direttemente da Siemens.

Nella guida in linea di WinCC è dedicato un capitolo “Prestazioni” dove sono comparati i tempi di esecuzione per ogni singola azione nei due ambienti.

Quello che subito salta all’occhio è che C-Script è preferibile in buona parte dei casi. Ma un attento programmatore potrebbe ottimizzare il tempo di esecuzione dei script scegliendo di volta in volta l’ambiente più appropriato.

Per adesso, mi fermo qui con questa carrellata su questi ambienti Script. Purtroppo l’argomento è molto vasto e il tempo per scrivere poco.

(MB)

Categorie
Documentazione

WinCC 6.x e Windows XP SP3

Se si tenta di installare WinCC 6.x su un Windows XP aggiornato alla SP3 normalmente basta rimuovere il SP3 installare WinCC e poi reistallare eventualmente il SP3.

Ma questo non è possibile se si dispone di un Windows XP “nativo” con il SP3.

Per far aggirare questo problema modificare il registro inserendo questa chiave:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP3\KB319740]

Successivamente ricordarsi di riavviare.

Il setup verrà eseguito normalmente.

Ricordiamo che WinCC 6.x alla data di questo articolo non è dichiarato compatibile con il SP3 di XP ma sembra che il SP3 sia la raccolta ordinata di tutti gli aggiornamenti rilasciati dopo la SP2

Seguire attentamente sempre la lista delle compatibilità ufficiale Siemens come fonte di numerosi problemi.

Categorie
Documentazione

Rilasciato WinCC 7.0

E’ disponibile da fine Giugno la tanto attesa versione di WinCC 7.0 per il momento in consegna automatica a chi dispone del contratto SIP di aggiornamento software.

Lo stiamo installando e lo testeremo un pò prima di darvi le nostre impressioni sul campo ed eventuali indicazioni.

Di seguito una panoramica delle innovazioni riportate nella guida.

Panoramica

La funzionalità del sistema è stata ampliata ulteriormente con l’evoluzione delle opzioni
WinCC esistenti, nonché con l’aggiunta di nuove opzioni:

  • Progetti a stazione singola e progetti client adesso sono eseguibili anche su computer
    che usano il sistema operativo Windows Vista.
  • Installazione semplificata del sistema base WinCC nonché delle opzioni WinCC grazie ad
    un nuovo setup generico.
  • I nuovi Control consentono una rappresentazione comoda di segnalazioni, valori di
    processo e valori di archivio in forma di tabelle e curve.
  • Revisione ed estensione dell’interfaccia runtime.
  • Revisione ed armonizzazione dei WinCC Control.
  • Supporto migliorato per progetti multilingue.
  • Documentazione di runtime con layout specifico della lingua.
  • Engineering orientato all’oggetto grazie ad oggetti di grafica modificabili in modo centrale.
  • Possibilità di comunicazione avanzate di WinCC con i sistemi di automazione di offerenti
    terzi.
  • WinCC può essere utilizzato come Windows Service nel modo di servizio WinCC.
  • Funzionalità estesa per le opzioni WinCC/WebNavigator e WinCC/DataMonitor.

Altre novità nella versione 7.0 di WinCC
Accanto alle novità descritte il WinCC V7.0 offre altre funzioni ed estensioni.

Richiesta di variabili senza prefisso

Con nuove estensioni alle variabili possono essere richieste variabili senza prefisso.
Le estensioni alle variabili hanno il seguente significato:

  • “@NOTP” disattiva il prefisso della variabile.
  • “@NOSP” disattiva il prefisso del server.
  • “@NOP” disattiva il prefisso della variabile ed il prefisso del server.

Persistenza per variabili interne

Le variabili interne presentano adesso inoltre la caratteristica “Persistenza Runtime”.
Con la nuova proprietà l’utente determina se il valore delle variabili interne viene mantenuto
all’uscita da runtime. Al successivo riavvio di runtime il valore salvato viene utilizzato come
valore iniziale.

Installazione di WinCC Client senza SQL Server

Si ha la possibilità di configurare un WinCC Client anche senza installazione di SQL Server
su un computer. In tal modo può essere utilizzato anche un hardware più “debole” come
stazione operativa WinCC.

Generazione di una segnalazione di servizio personalizzata

Per l’utilizzo di oggetti WinCC grafici qualsiasi può essere progettata una propria
segnalazione di servizio come azione C oppure come azione VBS.

  • Progettare la segnalazione di servizio come azione C con la funzione standard
    “GCreateMyOperationMsg” dal gruppo funzionale “Allarme”.
  • Progettare la segnalazione di servizio con l’oggetto VBS “HMIRuntime.Alarms”.

Trigger di animazione (trigger 125 ms)

Per la dinamizzazione di oggetti con VBS è disponibile il nuovo tipo di trigger “Ciclo di
animazione”. Il ciclo di animazione consente di attivare e disattivare azioni in runtime. Inoltre
può essere modificato il tempo in cui un trigger viene eseguito. Il trigger viene usato,
scrivendo un’azione ed utilizzando il tipo di trigger “Ciclo di animazione”.

SIMATIC Logon come parte integrante del sistema base

Adesso l’opzione “SIMATIC Logon” è parte integrante di WinCC V7.0 ed è contenuta sul
DVD fornito.

Più WinCC allo stesso prezzo

Due licenze Power Tag sono state sostituite a costo zero da licenze più ampie. Si tratta di
licenze per le seguenti prestazioni:

  • Licenza per 256 variabili viene sostituita da una licenza per 512 variabili.
  • Licenza per 1024 variabili viene sostituita da una licenza con 2048 variabili.
Categorie
Documentazione

Funzioni del nuovo WinCC 7.0 (anteprima)

Dovrebbe essere imminente il rilascio di WinCC 7.0 (giugno 2008 secondo i piani di sviluppo)

Di seguito alcune delle novità che saranno incluse nella nuova versione

  • Runtime eseguibile in Windows Vista
  • Nuovi oggetti allarmi, trend e user Archive
  • Eseguibile come servizio

Altre novità che dovrebbero essere presenti nella nuova versione

  • Nuove possibilità grafiche come trasparenze, sfumature di colore e ombreggiature
  • Gestione centralizzata della palette dei colori
  • Gestione centralizzata dei temi degli oggetti
  • Nuovi oggetti grafici (combo box, list box, testi multilinea, controlli multimediali, ecc.)
  • Oggetto allarmi visualizza un numero illimitato di allarmi
  • Filtro allarmi orientato all’utente
  • Nuovo editor per import export testi gestione multilingua
  • Filtri in textlibrary
  • Webclient possibile senzal’uso di internet explorer
  • Trigger veloce per animazioni fluide
  • Tag interne persistenti
  • Controllo container controlli .NET

E ancora:

  • Simatic Logon incluso “di serie”
  • Driver Ethernet IP (Allen-Bradley)
  • Driver Modbus TCP/IP (Schneider)

Ovvio che non vediamo l’ora di mettere le mani su una versione demo.

A presto

Categorie
BasicScript Documentazione Esempi WinCC

WinCC & Data Mining: insieme per migliorare la produzione

WinCC & Data Mining: insieme per migliorare la produzione.

La domanda che ci si pone spesso è la seguente: “Ma da tutti quei dati che lo SCADA raccoglie, si può trarre qualche informazione?”. Beh, la risposta è sicuramente e senza ombra di dubbio, SI !

Ci sono delle tecniche statistiche studiatissime in molti ambiti e oramai ben sviluppate anche su computer, per estrarre informazioni su grandi moli di dati. Queste tecniche sono raggruppate sotto la disciplina del Data Mining.

Quindi quello che ora vi chiederete è: ma che informazioni posso trarre dai dati? Quello che si trova dall’uso di queste tecniche non sono spesso informazioni scontate, ma ben si, tempi, procedure e decisioni sul come comportarsi per migliorare il processo produttivo.

Qui non voglio dilungarmi troppo su queste temi che sono ampiamente usati in ambiti dirigenziali, ma vorrei solo proporre una integrazione tra il WinCC e il Data Miner per Server SQL di Microsoft.

Una volta letto questo articolo vorrei che fosse chiaro come possono interagire due prodotti che sembrerebbero non avere niente da dirsi, ma che in realtà possono coesistere ed essere molto utili in ambito decisionale. Si pensi, ad esempio, alla direzione di una azienda che vuole monitorare la produzione di una propria linea produttiva, o più semplicemente controllare i fermi macchina, i tempi di lavorazione, le cause di guasto e monitorare i tempi di ciclo di un certo prodotto di una certa filiera di produzione.   

Avendo a disposizione uno SCADA professionale, configurato e pienamente funzionale si avrà a disposizione un DATABASE fornitissimo di dati. Ricordiamo che WinCC viene venduto con la licenza di SQL Server: uno dei migliori DBMS di casa Microsoft.
Ovviamente le variabili di interesse devono essere memorizzate in modo tale da poter essere reperibili: ricordiamo che la Siemens non lascia libero accesso a tutte le variabili. Questo discorso viene rimandato in altra sede, oppure leggetevi l’articolo WinCC & ADO reperibile in questo sito.

Una volta che sia hanno a disposizione i dati, possiamo cominciare la fase di DATA MINING sui dati, ovvero “scavare” nei dati per cercare di capire quali informazioni possono venire utili. Useremo per questa fase il Data Mining Engine di casa Microsoft.

Procediamo con il connettersi al sistema di servizio dei Servizi di Analisi che usa la metodologia  ADO standard. La macchina client deve avere i Servizi di Analisi OLE per il provider di DB (MSOLAP90.DLL) installato come viene spiegato nelle guide. Questo sistema di servizio deve essere configurato ad accettare sessioni per l’utilizzo di modelli per il data mining, e l’utente deve avere almeno dei permessi su un database sul sistema di servizio.

Il nostro esempio sarà incentrato sulla costruzione di un modello per prevedere l’andamento di una serie temporale: ad esempio la produzione tra 2 mesi piuttosto che il numero di fermi macchina previsti tra 6 mesi.

Con VBA programmiamo ADO per connetterci al servizio di sistema:

Dim conn As New ADODB.Connection
Conn.Open “Provider=MSOLAP90;Location=MyServer;” & _“Initial Catalog=MyDatabase”

A questo punto bisognerà creare una classe di TimeSeriesMining che serve per la creazione del modello. Il modello creato in questo esempio ha una colonna per ogni colonna (o fila) nella selezione di dati. Per questo modello ovviamente la Chiave sarà il Tempo ed ogni altra colonna avranno il tipo contenuto “Continuo” e uso “Predice”.

CREATE MINING MODEL TimeSeriesModel
(
[Date] DATETIME KEY TIME,
[Retail Food Total] DOUBLE CONTINUOUS PREDICT,
[Retail Food] DOUBLE CONTINUOUS PREDICT
) USING Microsoft_Time_Series

Qui di seguito propongo uno script da utilizzare sotto MS Excel oppure da utilizzare sotto WinCC se pur con qualche accorgimento.
 

‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’
Public Sub CreateModel(ModelName As String, Key As String, _
DataRange As Range, RowsAsRows As Boolean)

‘ Creazione di un modello per la time series mining da Excel
‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’
‘ inizializza variabili
On Error GoTo onerror
Dim strCreate As String
Dim strInsert As String
Dim cmd As New ADODB.Command
Dim param As ADODB.Parameter
Dim i As Integer
Dim xmla As New XMLARowsetGen
m_strModelName = ModelName

‘ Creo XMLA rowset a partire da un specifico range
xmla.FillRowset DataRange, RowsAsRows

‘ inizializzo, creo e inseriscoi comandi
strCreate = “CREATE SESSION MINING MODEL “ & ModelName & “( “
strInsert = “INSERT INTO “ & ModelName & “ ( “

‘ Add columns.
For i = 0 To xmla.ColumnCount – 1
If i > 0 Then
strCreate = strCreate & “ ,”
strInsert = strInsert & “ ,”
End If
strCreate = strCreate & _
“[“ & NormalizeName(xmla.ColumnName(i)) & “]”
strInsert = strInsert & “[“ & NormalizeName(xmla.ColumnName(i)) & “]”
strCreate = strCreate & “ “ & BuildOLEDBDMType(xmla.ColumnType(i))

If Key = xmla.ColumnName(i) Then
strCreate = strCreate & “ KEY TIME”
Else
strCreate = strCreate & “ CONTINUOUS PREDICT”
End If
Next
‘ Completo la creazione del modello
strCreate = strCreate & “) USING Microsoft_Time_Series”
‘ Completo il commando di inserzione.
strInsert = strInsert & “) @InputRowset”
‘ Eseguo il comando
cmd.ActiveConnection = m_cnAS
cmd.CommandText = strCreate
cmd.Execute
‘ Eseguo la interrogazione.
cmd.CommandText = strInsert
cmd.NamedParameters = True
cmd.Execute
End If
End Sub

Questo script darà in output una serie di valori che potranno essere visualizzati  in qualche grafico anche sotto WinCC.

(MB)

Categorie
Documentazione

Compatibilità di WinCC 6.x

Una delle primissime cose che si deve stare molto attenti nel progettare con WinCC è la sua compatibilità con i vari sistemi operativi microsoft e la combinazione con tutti gli altri pacchetti ed opzioni di Siemens

Esiste una tavola con le compatibilità tenuta costantemente aggiornata.

Eesiste anche una tavola delle compatibilità delle security patch di microsoft con WinCC

Importante è anche la sequenza di installazione (WinCC sempre per ultimo) e la presenza di WinCC flexible (sembra che i due pacchetti condividono alcune DLL) e l’uso del SimaticNET (se necessario) incluso con WinCC e non con la scheda di comuniczione.

In definitiva un ambiente “pulito” è la miglior piattaforma per evitare problemi di funzionamento.

Fortuna che le moderne tecniche di virtualizzazione ci vengono in aiuto per riscreare in laboratorio combinazioni di software installato presso l’impianto senza dover ogni volta disporre di un pc o una partizione per effettuare modifiche o test.

Categorie
Documentazione

Forum ufficiale Siemens

Ciao,

forse non tutti sanno che esiste un forum ufficiale di Siemens A&D su WinCC.

Il forum è in inglese o tedesco e necessita di registrazione per poter postare in una discussione.

Alcune discussioni sono molto interessanti e saranno sicuramente fonte di ispirazione per la creazione di un post in questo blog.