WinCC C-Skript

cordon-sport

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,
ich arbeite zurzeit an meinem ersten Wincc Projekt. Meine Aufgabe besteht darin einfach ein paar Ventile "nachzurüsten", also habe ich vorhandene Ventile genommen habe die kopiert und dort meine neuen Variablen hinterlegt.
Wenn ich dann die Runtime starte (offline) und auf ein Ventil drücke öffnet sich ein Fenster wo man das Ventil von Auto auf Hand stellen und das entsprechende Ventil mit Hand auf und zu fahren.
So wie ich die Sache interpretiert habe werden dafür 2 Scripte verwendet.
Eins um dynamisch das Bild aufzurufen und ein anderes um ein kleines Windows Fenster zu "erstellen" in welches das Bild geladen wir.
Bei den alten Ventilen erscheint in bei dem Fenster als Title auch der Name von dem Ventil. Bei meinen neuen Ventilen macht er das nicht.
Und ich kann aus dem Script nicht ersehen wo er sich diese Bezeichnung herholt.

Ich kopiere hier mal das Script rein:


void Steuerung(char* lpszPictureName, char* lpszObjectName,
char* lpszBFensterName, char* lpszBoxName)

{
int ButtonXPos, ButtonYPos,ButtonBreite,ButtonHoehe;
int BildBreite,BildHoehe;
int BFensterXPos,BFensterYPos,BFensterBreite,BFensterHoehe;
int XAbstand=0, YAbstand= -10;
char* lpszAntrieb;
char* lpszBef;
char* lpszState;
char* lpszAntriebNr;
int anr,Bef,State;

SetTagPrefix(lpszPictureName,"SteuerungMotor", lpszObjectName);


SetVisible("KA_Oelabscheider","SteuerungMotor",0);
SetVisible("KA_Behaelter_B1.1_B2.1","SteuerungMotor",0);
SetVisible("KA_Spuelbehaelter","SteuerungMotor",0);
SetVisible("KA_UF_Blöcke_20_23","SteuerungMotor",0);
SetVisible("KA_UF_Blöcke_27_30","SteuerungMotor",0);
SetVisible("KA_Vorlage","SteuerungMotor",0);
SetVisible("KA_Desorber","SteuerungMotor",0);
SetVisible("KA_Separator","SteuerungMotor",0);
SetVisible("KA_VE-Wasser","SteuerungMotor",0);
SetVisible("KA_Emulsionsspeicher Halle 1-4","SteuerungMotor",0);
SetVisible("KA_Oelschlammanlage","SteuerungMotor",0);

ButtonXPos=GetLeft(lpszPictureName,lpszObjectName);
ButtonYPos=GetTop(lpszPictureName,lpszObjectName);
ButtonBreite=GetWidth(lpszPictureName,lpszObjectName);
ButtonHoehe=GetHeight(lpszPictureName,lpszObjectName);
BildBreite=GetWidth(lpszPictureName,NULL);
BildHoehe=GetHeight(lpszPictureName,NULL);
BFensterBreite=GetWidth(lpszPictureName, lpszBFensterName);
BFensterHoehe=GetHeight(lpszPictureName, lpszBFensterName);

BFensterXPos = ButtonXPos + ButtonBreite + XAbstand;
BFensterYPos = ButtonYPos + ButtonHoehe + YAbstand;

if((BFensterXPos + BFensterBreite) > BildBreite)
{
BFensterXPos = ButtonXPos - BFensterBreite - XAbstand;
}
if((BFensterYPos + BFensterHoehe) > BildHoehe)
{
BFensterYPos = BildHoehe - BFensterHoehe ;
}
SetLeft(lpszPictureName,lpszBFensterName,BFensterXPos);
SetTop(lpszPictureName,lpszBFensterName,BFensterYPos);
SetPictureName(lpszPictureName,lpszBFensterName,lpszBoxName);
SetVisible(lpszPictureName,lpszBFensterName,1);
//Antriebsnummer
lpszAntrieb= lpszObjectName; //Return-Type: char*
lpszAntriebNr=strstr(lpszAntrieb,"_");
lpszAntriebNr++;
SetTagCharWait("AntriebUeberschrift",""); //Return-Type: BOOL

//strcat(lpszAntrieb,lpszAntriebNr); //Return-Type: char*
anr=atoi(lpszAntriebNr);
SetTagDWord("AntriebNr",(WORD)anr); //Return-Type: BOOL

//Anhängen von anr an die Objektvariable

//lpszBef=lpszObjectName;
//strcat(lpszBef,"Bef");
//SetTagChar("Bef", lpszBef);

//lpszState=lpszObjectName;
//strcat(lpszState,"State");
//SetTagChar("State", lpszState);

}
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Objektname

Hi,
erstmal danke für die Antwort. Mit dem Objektname habe ich auch erst gedacht aber die Objektnamen bei den Ventilen die Funktionieren heißen zb. Antrieb_126 aber angezeigt wird MV2.4. gibt es eine Möglichkeit diese Objekt zu bearbeiten? Wie zb. Variablen? Weil irgendwie muss hinter dem Antrieb_126 ja irgendetwas hinterlegt sein?!
Hoffe mir kann jemand helfen.
 
wincc

Ja es gibt glaub ich eine dynamisierung weil das selbe bild ja von verschiedenen ventilen aufgerufen wird. ich weiß aber halt nicht wie die das realisieren das das bild weiß von welchem ventil es aufgerufen wurde.
 
tooltip

Hallo. bei Tooltip ist nichts eingetragen. und in der Text-Library tauchen diese Bezeichnungen nicht auf. Weiß echt nicht mehr weiter
 
Zurück
Oben