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

Ergebnis 1 bis 9 von 9

Thema: C-Aktion in WinCC

  1. #1
    Registriert seit
    11.11.2007
    Beiträge
    91
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Mit WinCC habe ich noch nicht viel zu tun gehabt, und ich habe folgendes Problem.

    Mit einem Button in WinCC soll ein Bild gewechselt werden und mehrere Bits gesetzt und resetet werden.

    Den Bildwechsel habe ich nun schon mit dem Dynamic-Wizard erstellen können. Der C-Code dazu sieht so aus:

    Code:
    #include "apdefap.h"
    void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
    {
     // WINCC:TAGNAME_SECTION_START
    // syntax: #define TagNameInAction "DMTagName"
    // next TagID : 1
    // WINCC:TAGNAME_SECTION_END
    
    // WINCC:PICNAME_SECTION_START
    // syntax: #define PicNameInAction "PictureName"
    // next PicID : 1
    #define PIC_0 "Start"
    #define PIC_1 "@normalbetrieb.Pdl"
    // WINCC:PICNAME_SECTION_END
    
    SetPictureName(PIC_0,"Bildfenster4",PIC_1);
    
    }
    Wie muss ich diesen Code nun editieren um z.B. die Variable "normalbetrieb" zu setzen und die Variable "tippbetrieb" zu reseten?

    Danke für eure Hilfe.

    PS: Bevor ichs vergesse, ich verwende WinCC 6
    Geändert von netx1 (13.12.2007 um 10:39 Uhr)
    Zitieren Zitieren C-Aktion in WinCC  

  2. #2
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.719
    Danke
    729
    Erhielt 1.159 Danke für 970 Beiträge

    Standard

    Kleiner Tip:
    Es gibt auch einen Wizard für Bit setzen und rücksetzen.
    Einfach mal ausführen und den Code mit dem Code für den Bildwechsel in ein Script schreiben

  3. #3
    netx1 ist offline Benutzer
    Themenstarter
    Registriert seit
    11.11.2007
    Beiträge
    91
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das habe ich auch schon versucht. Aber der erzeugte Code fürs setzen der Variable "normalbetrieb" sieht so aus.

    Code:
    #include "apdefap.h"
    void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
    {
     // WINCC:TAGNAME_SECTION_START
    // syntax: #define TagNameInAction "DMTagName"
    // next TagID : 1
    #define TAG_0 "normalbetrieb"
    // WINCC:TAGNAME_SECTION_END
    
    // WINCC:PICNAME_SECTION_START
    // syntax: #define PicNameInAction "PictureName"
    // next PicID : 1
    // WINCC:PICNAME_SECTION_END
    
    
    }
    Hier wird zwar "normalbetrieb" als TAG_0 definiert, aber es wird nichts mit dieser Variable getan.
    Geändert von netx1 (13.12.2007 um 10:53 Uhr)

  4. #4
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.719
    Danke
    729
    Erhielt 1.159 Danke für 970 Beiträge

    Standard

    Ok,
    dann versuche es mal mit
    SetTagBit("Variablenname",1); und SetTagBit("Variablenname",0);

  5. #5
    netx1 ist offline Benutzer
    Themenstarter
    Registriert seit
    11.11.2007
    Beiträge
    91
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ok danke, ich werde es einmal versuchen

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    SO sieht bei mir (V6.2) Bit setzen aus:

    Code:
    #include "apdefap.h"
    void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
    {
     // WINCC:TAGNAME_SECTION_START
    // syntax: #define TagNameInAction "DMTagName"
    // next TagID : 1
    #define TAG_0 "Taste_1-16_S1"
    // WINCC:TAGNAME_SECTION_END
    
    // WINCC:PICNAME_SECTION_START
    // syntax: #define PicNameInAction "PictureName"
    // next PicID : 1
    // WINCC:PICNAME_SECTION_END
    
    DWORD dwHelp1,dwHelp2;
    
    dwHelp1=GetTagDWordWait(TAG_0);
    dwHelp2=dwHelp1|134217728;
    SetTagDWordWait(TAG_0,dwHelp2);
    
    }
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  7. #7
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.719
    Danke
    729
    Erhielt 1.159 Danke für 970 Beiträge

    Standard

    @netx1
    So wie bei Ralle sieht es aus, wenn der Wizard richtig durchlaufen worden ist
    Dann setzt man ein oder mehrere Bits in einem Word

  8. #8
    netx1 ist offline Benutzer
    Themenstarter
    Registriert seit
    11.11.2007
    Beiträge
    91
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ist mir auch aufgefallen, dass da ein Bit eines Words gesetzt wird. THX

    PS: Warum wird das eigentlich so umständlich gemacht?
    Toll wär wenn man einfach "Variable=1;" schreiben könnte (wie im richtigen C).

  9. #9
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @next1

    Ich hab das so einige Warum-Fragen, die mir Siemens sicher nicht beantworten kann .
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

Ähnliche Themen

  1. Farbe mit C-Aktion ändern in WinCC
    Von Cococabana im Forum HMI
    Antworten: 3
    Letzter Beitrag: 28.10.2009, 10:50
  2. WinCC C-Aktion (Getting Started)
    Von Nordschreck im Forum HMI
    Antworten: 2
    Letzter Beitrag: 26.10.2009, 06:51
  3. WinCC 7: Aktion bei Bild verlassen
    Von MKP im Forum HMI
    Antworten: 1
    Letzter Beitrag: 06.04.2009, 09:34
  4. simple C-Aktion in WinCC
    Von Spanier im Forum HMI
    Antworten: 4
    Letzter Beitrag: 12.10.2006, 03:28
  5. Aktion erstellen in WinCC 6.0 (PCS7)
    Von Wastel im Forum HMI
    Antworten: 2
    Letzter Beitrag: 20.08.2005, 11:10

Lesezeichen

Berechtigungen

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