cScript

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

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.

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)

Di |2011-08-11T04:42:00+02:00Agosto 11th, 2011|cScript, DataBase, Esempi WinCC|0 Commenti

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.

Torna in cima