Categorie
BasicScript cScript Esempi WinCC

Trucchi e consigli per creare script in WinCC TIA

Siemens ha raccolto alcuni consigli e trucchi per la programmazione TIA di WinCC

Le informazioni sono presenti nella FAQ 57132412 reperibile al seguente indirizzo

https://support.industry.siemens.com/cs/ww/en/view/57132412

La documentazione è disponibile in inglese

Categorie
Alarm Logging BasicScript cScript DataBase Documentazione Esempi WinCC

Esportare archivi WinCC/CAS con WinCC OLE DB Provider

WinCC ha rilasciato un interessante documento (FAQ 35840700) che illustra le tecniche di esportazione dati

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

Il documento è disponibile in inglese

Categorie
Alarm Logging BasicScript cScript Esempi WinCC

Segnalazioni custom in WinCC

E’ possibile generare delle segnalazioni personalizzate da codice script in WinCC

La FAQ 24325381 di Siemens illustra con un esempio la funzionalità

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

La documentazione è disponibile anche in Italiano

Categorie
BasicScript cScript Esempi WinCC Graphics Designer Tools

Cambiare tema di WinCC in runtime

Dalla versione 7 di WinCC sono disponibili i temi per la definizione centralizzata dei colori e del funzionamento degli oggetti.

La FAQ 33912016 di Siemens illustra come fare questa operazione da codice durante il Runtime, permettendo all’operatore di scegliere tra i temi definiti dal programmatore

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

La documentazione è disponibile anche in Italiano

Categorie
BasicScript cScript Documentazione Esempi WinCC Graphics Designer Security Text Libray Tools

Manuali di istruzione WinCC 7.2

Spesso ci à utile trovare i manuali di istruzione di WinCC e delle sue opzioni. Tramite il seguente link si accede alla raccolta completa di tutta la documentazione.

http://support.automation.siemens.com/WW/view/en/10805584/133300

Alcuni manuali sono disponibili anche in Italiano.

Categorie
Alarm Logging BasicScript Comunicati Corsi cScript DataBase Documentazione Esempi WinCC Graphics Designer Security ServicePack Step7 Text Libray Tools Update

TIA Portal documentazione

Siemens ha pubblicato una raccolta ordinata di informazioni importanti sul TIA Portal (FAQ 65601780).

La pagina pubblicata è un riferimento a tutte le risorse, update e documentazioni relative al TIA Portal.

Tutto è ora consultabile dal seguente indirizzo:

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

La pagina pubblicata per ora è solo in inglese.

Categorie
cScript Esempi WinCC

Mantenere una applicazione in primo piano

Spesso si eseguono applicazioni esterne dall’interno di WinCC.

La FAQ 2522765 spiega come mantenerle sempre in primo piano.

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

La documentazione è disponibile anche in italiano.

Categorie
BasicScript cScript Esempi WinCC Graphics Designer

Inserire curve in in trend f(t) di WinCC Professional 11

L’esempio riportato nella FAQ 55741262 spiega come inserire una curva in un oggetto di visualizzazione trend di WinCC Professional 11

L’esempio riporta gli script in cScript e in basicScript

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

La documentazione è disponibile anche in Italiano

Categorie
BasicScript Corsi cScript Documentazione Esempi WinCC Tools

Esportare e importare dati in WinCC

Chiaro esempio su come esportare e/o importare in WinCC tramite basicScript o cScript

image

Le informazioni sono reperibili nella FAQ 850338

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

Le informazioni sono disponibili anche in Italiano

Categorie
BasicScript cScript Esempi WinCC

Esportare dati di trend in WinCC Professional 11

Esempi in basicScript e cScript utili per esportare dei valori dei trend in formato CSV sono disponibili nella FAQ 56098724

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

La documentazione è in Inglese

Categorie
Alarm Logging cScript Esempi WinCC

Come comandare dall’esterno l’Alarm Logging OCX

image

Siemens riporta nella FAQ 11769423 come comandare dall’esterno con pulsanti custom le funzioni disponibili nella toolbar dell’Alarm Control sia la versione 7 che per il vecchio controllo denominato Classic presente nella versione 6.

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

La documentazione è in Inglese

Categorie
cScript DataBase Esempi WinCC

Utilizzare “INSERT INTO” con cScript

L’esempio mostra come inserire un nuovo record in una tabella di SQL Server utilizzando il comando SQL “INSERT INTO” in linguaggio cScript

#include “apdefap.h”

int dbInsertInto(char *szTable,char *szCampi,char *szValori)
{
#define GetObject GetObject
__object *objConnection=NULL;
__object *objRst=NULL;

char strConnectionString[NC];
char strSQL[NC];
int NewID;

printf(“dbInsertInto(%s,%s,%s)\r\n”,szTable,szCampi,szValori);

//connessione a database e query
sprintf(strConnectionString,”DRIVER=SQL Server;”
“UID=SYSTEM;”
“Trusted_Connection=Yes;”
“DATABASE=%sR;”
“WSID=%s;”
“SERVER=%s\\WINCC;”,
GetTagChar(“@ProjectDSN”),
GetTagChar(“@ServerName”),
GetTagChar(“@ServerName”));

if(!GetTagBit(“@IsServerPc”))
strcat(strConnectionString,”LINKS=TCPIP;”);

objConnection = __object_create(“ADODB.Connection”);
objConnection->ConnectionString = strConnectionString ;
objConnection->Open;

objRst = __object_create(“ADODB.Recordset”);
objRst->CursorType = 0;
objRst ->LockType = 1;

// trovo l’id da utilizzare
sprintf(strSQL,””);
sprintf(strSQL,”SELECT TOP 1 ID FROM UA#%s ORDER BY ID DESC”,szTable);

objRst ->Open(strSQL, objConnection,0,1,1);     //adCmdText

if((objRst ->eof && objRst ->bof))
NewID = 1;
else
NewID = objRst ->Fields->Item(“ID”)+1;

//eseguo l’inserimeto del record
objRst ->Close;
__object_delete(objRst );

sprintf(strSQL,”INSERT INTO UA#%s (ID,%s) VALUES (%d,%s);”,szTable,szCampi,NewID,szValori);

objConnection->Execute(strSQL);

objConnection->Close;
__object_delete(objConnection);

return NewID;

}

La funzione viene chiamata con i parametri nome tabella, nome campi e valori, ritorna l’id del record
(NT)

Categorie
cScript Esempi WinCC

Stato comunicazione

FAQ Siemens su come controllare lo stato della comunicazione

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

L’esempio prevede uno script in cScript.

Categorie
cScript DataBase Esempi WinCC

Toolbarbuttons dello UserArchive all’esterno dello OCX

Si può progettare la Toolbarbuttons dello UserArchive (da 4.02) anche in una pagina esterna allo OCX.

Di seguito il link alla FAQ Siemens (FAQ. 729703):

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

Maggiori informazioni sul sito Siemens.

Categorie
Alarm Logging BasicScript cScript DataBase Documentazione Esempi WinCC

Esportare dati dagli archivi tramite WinCC OLE DB Provider

Interessante FAQ siemens sull’uso di WinCC OLE DB Provider reperibile al seguente indirizzo:

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

Un altro esempio è reperibile al seguente indirizzo

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

La documentazione si riferisce a WinCC 6.2 e 7.0 e comprende esempi e descrizioni dettagliate.

Categorie
BasicScript cScript Esempi WinCC Graphics Designer

Chiudere una Picture Window

Per chiudere (nascondere) una Picture Window tramite un pulsante presente al suo interno esistono vari modi.

Il piu semplice e veloce e’ usare una direct connection che imposta (source) come costante 0 la proprietà (targhet) display della Current Window.

Tramite VBS

Item.Parent.Parent.Visible = False

Tramite cScript

SetVisible(“nomePWContenitore”,”nomePW”,FALSE);

Categorie
Alarm Logging cScript DataBase Documentazione Esempi WinCC

Manuale WinCC/Connectivity Pack

E’ disponibile in inglese il manuale di istruzioni del connectivity pack al seguente indirizzo:

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

Categorie
BasicScript cScript Esempi WinCC Graphics Designer

Rilevare la posizione del mouse

Puo’ essere utile avere la posizione del mouse da script.

Seguire la seguente procedura come esempio.

  1. Inserire dalla libreria HMI Symbol Library l’oggetto Basic Shapes \ Banner
  2. Impostare la proprietà Stile su Trasparente
  3. Usare l’evento MouseOver per avere le coordinate del mouse

L’evento MouseOver dell’oggetto viene chiamato passando tra i parametri anche le coordinate del mouse.

In questo semplice modo sono possibili iterfacce di selezione degli oggetti a video come liste o altro.

Categorie
cScript Esempi WinCC

Campo I/O personalizzato

Potrebbe essere necessario utilizzare un campo I/O in modo personalizzato.

Per esempio controllare il valore di input dell’operatore e modificarlo prima di trasmetterlo alla Tag collegata al campo di I/O

Oppure ancora fare in modo che il campo di I/O visualizzi un valore letto da una prima Tag ma che un eventuale valore introdotto venga scritto in una Tag diversa dalla prima.

Per implementare questa e altre casistiche personalizzate occorre usare la funzione GetInputValueDouble() disponibile in cScript.

Per verificare e testarne la funzionalità seguire l’esempio di seguito descritto.

Disegnato un campo di I/O a video nella proprietà “valore in uscita” inserire questo codice CScript

return(GetTagWord(“NomeTagLettura”)/10);

con esecuzione del codice su trigger della stessa Tag “NomeTagLettura” con il tempo di scansione desiderato.

Nell’evento “Valore di Ingresso” (del gruppo Uscita/Ingresso) inserire questo codice CScript

double lValore;

lValore=GetInputValueDouble(lpszPictureName,lpszObjectName);
SetTagWord(“NomeTagScrittura”,lValore*10);

Con queste poche righe di codice si avrà il seguente funzionamento:

  • il valore visualizzato dal campo I/O viene letto dalla Tag “NomeTagLettura” e diviso per 10 prima della visualizzazione.
  • il valore introdotto nel campo di I/O verrà moltiplicato per 10 e scritto nella Tag “NomeTagScrittura”

Altre personalizzazioni e controlli possono in questo modo essere implementati per modificare o controllare l’input dell’operatore.

Categorie
cScript Esempi WinCC

Disattivare WinCC da WSH

Puo’ essere necessario dover disattivare il runtime di WinCC da uno script Windows (WSH) per effettuare uno spegnimento ordinato per esempio in caso di mancanza di alimentazione.

Alcuni software di gestione UPS permettono l’esecuzione di Windows Script (.vbs) per effettuare alcune operazioni in modo ordinato e temporizzato prima di comandare la chiusura del SO.

In file .vbs inseriamo le seguenti istruzioni

dim mcp
set mcp = CreateObject(“WinCCRuntime-Project”)
mcp SetValue “Spegni”,1
set mcp = nothing

Questo codice non fa altro che settare il valore 1 nella tag “Spegni” di WinCC

Basterà triggherare dall’interno di WinCC tramite una action cScript la Tag “Spegni” e sul cambio di valore eseguire il seguente codice di chiurura runtime

DMExitWinCCEx(DM_SDMODE_POWEROFF)

Questa istruzione chiude WinCC e spegne il PC