Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 7 von 7

Thema: WinCC C-Skript

  1. #1
    Registriert seit
    18.06.2010
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    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);

    }
    Zitieren Zitieren WinCC C-Skript  

  2. #2
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Ich denke er wird den Objektnamen deines Bildobjektes verwenden!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Objekname...  

  3. #3
    cordon-sport ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.06.2010
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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.
    Zitieren Zitieren Objektname  

  4. #4
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Vieleicht gibts in dem fenster noch eine Dynamisierung?
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  5. #5
    cordon-sport ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.06.2010
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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.
    Zitieren Zitieren wincc  

  6. #6
    Registriert seit
    12.05.2009
    Beiträge
    61
    Danke
    21
    Erhielt 14 Danke für 12 Beiträge

    Standard

    ToolTipText (sollte aber eigentlich mitkopiert werden)

    oder

    Textreferenz Variable (Text Library schon mal geöffnet?)?

  7. #7
    cordon-sport ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.06.2010
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo. bei Tooltip ist nichts eingetragen. und in der Text-Library tauchen diese Bezeichnungen nicht auf. Weiß echt nicht mehr weiter
    Zitieren Zitieren tooltip  

Ähnliche Themen

  1. Datenlogger WinCC´f Skript
    Von michal im Forum HMI
    Antworten: 4
    Letzter Beitrag: 30.08.2011, 10:06
  2. frage zu WinCC Skript
    Von Gadget im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 14.06.2011, 19:45
  3. Skript WinCC Flexible
    Von Ruud im Forum HMI
    Antworten: 7
    Letzter Beitrag: 23.05.2011, 08:27
  4. WinCC Flex 2005 - Skript
    Von eYe im Forum HMI
    Antworten: 1
    Letzter Beitrag: 05.03.2009, 17:50
  5. WinCC flexible und VB-Skript
    Von herdi im Forum HMI
    Antworten: 3
    Letzter Beitrag: 26.07.2008, 09:02

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •