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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: (Banale) WinCC C-Aktions Frage

  1. #1
    Registriert seit
    03.02.2004
    Beiträge
    117
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute!

    Ich habe da eine kleine Frage zu einer C-Aktion in WinCC habe aber leider null Ahnung von der Sprache. (Sollte ich dringend mal dran arbeiten )

    Auf jeden FAll möchte ich ein Symbol nur anzeigen, wenn zwei bits gesetzt sind. Also eine simple AND Funktion.

    Habe aber leider keine Ahnung wie ich das in WinCC realisieren kann

    Danke für etwas Code

    MfG

    Rengel
    Zitieren Zitieren (Banale) WinCC C-Aktions Frage  

  2. #2
    Registriert seit
    06.01.2005
    Ort
    im schönen Lipperland
    Beiträge
    4.472
    Danke
    498
    Erhielt 1.143 Danke für 736 Beiträge

    Standard

    Ich hab leider schon lange nicht mehr mit WinCC gearbeitet aber so wie ich mich erinnerkann kannst Du die Variablen im Aktionfeld verknüpfen... also bei Sichtbarkeit Var1 AND Var2 eintippen...... sollte gehen

    Viel Erfolg

    Axel
    Früher gab es Peitschen .... heute Terminkalender

  3. #3
    Rengel ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.02.2004
    Beiträge
    117
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Habe ich versucht, klappt leider nicht! So einfach scheints nicht zu sein

    DAnn kommt es zu Fehlermeldungen wie

    "Undefined Identifier" für die Variablen und zu <ident> expected before <eof>

    Und leider habe ich ja überhaupt keine Ahnung was er mir damit sagen will Ein Schelm wer dabei schlechtes denkt *fg*

  4. #4
    Registriert seit
    01.03.2005
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo!

    Die C Funktion müsste so aussehen:

    if (var1 == var2 && var3 == var 4) ....

    Müsste klappen

    Bernhard

  5. #5
    Rengel ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.02.2004
    Beiträge
    117
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also, ich habe mich jetzt mal mit dem Visu Rechner eingeloggt

    Also, das ganze sieht im Moment so aus:

    Code:
    #include "apdefap.h"
     BOOL _main&#40;char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName&#41;
    &#123;
    
    DE_30_1_ZF_0801__Start_Beladen_GS3 && DE_30_2_ZF_0801__Ende_Beladen_GS3
    
    
    // WINCC&#58;TAGNAME_SECTION_START
    // syntax&#58; #define TagNameInAction "DMTagName"
    // next TagID &#58; 1
    // WINCC&#58;TAGNAME_SECTION_END
    
    // WINCC&#58;PICNAME_SECTION_START
    // syntax&#58; #define PicNameInAction "PictureName"
    // next PicID &#58; 1
    // WINCC&#58;PICNAME_SECTION_END
    
    &#125;
    Wieso denn eine if/then Aktion? Obiges ist sicherlich völlig Falsch denke ich

  6. #6
    Rengel ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.02.2004
    Beiträge
    117
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Bzw. nach einer kleinen Eingebung, die aber auch nicht funktioniert...

    Das then wird nicht blau hinterlegt also wohl gar nicht als Befehl erkannt...

    Code:
    #include "apdefap.h"
     BOOL _main&#40;char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName&#41;
    &#123;
    
    if &#40;DE_30_1_ZF_0801__Start_Beladen_GS3 && DE_30_2_ZF_0801__Ende_Beladen_GS3&#41;
    
    then GetVisible&#40;"Visible",lpszObjectName&#41;;	//Return-Type&#58; BOOL 
    
    &#125;

  7. #7
    Registriert seit
    01.03.2005
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    In C brauchst du kein then.

    Ich glaube, dass du eine Set Visible Anweisung brauchst, habe leider derzeit keinen WinCC Rechner, wenn du noch Hilfe brauchst, kann ich dir am Nachmittag nachsehen.

    Statt "Visible" gehört außerdem eine boolscher Wert, also 0 oder 1 und statt lpszObjectName der Name deines Objektes. Füge den Befehl aus der Bibliothek ein, dann hast du ein Auswahlmenu zur Verfügung.

    Wenn DE_30_1_ZF_0801__Start_Beladen_GS3 Variablen aus deiner Steuerung sind, was ich vermute, musst du sie ausserdem mit dem Befehl GetTagBit laden, da es ja keine Variablen in deinem C Script sind.

    [/code]
    #include "apdefap.h"
    BOOL _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
    {

    if (GetTagBit(DE_30_1_ZF_0801__Start_Beladen_GS3) && GetTagBit(DE_30_2_ZF_0801__Ende_Beladen_GS3))
    {
    SetVisible(1, Objektname);
    }

  8. #8
    Rengel ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.02.2004
    Beiträge
    117
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also bei den Variablen handelt es sich um welche aus der Steurung, da hast du recht.

    Allerdings klappt es so wie von dir geschrieben leider auch nicht.

    Die Fkt. hate ich schon aus den Vorlagen nur irgendwie hat er die Gruppe nicht übernommen. So schauts jetzt bei mir aus:

    Code:
    #include "apdefap.h"
     BOOL _main&#40;char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName&#41;
    &#123;
    if &#40;GetTagBit&#40;DE_30_1_ZF_0801__Start_Beladen_GS3&#41; && GetTagBit&#40;DE_30_2_ZF_0801__Ende_Beladen_GS3&#41;&#41; 
    
    GetVisible&#40;1, Gruppe10&#41;; 
    
    &#125;
    Es wäre super Nett von dir wenn du die Zeit und Lust finden würdest das heute mittag mal an einem WinCC Rechner zu probieren )

    Danke und Grüße

    Rengel

  9. #9
    Registriert seit
    01.03.2005
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Sorry, Befehl für SetVisible war falsch.

    Zusätzlich gehört die Variablennamen unter ""

    So müssts jetzt eigentlich gehen

    Code:
    #include "apdefap.h"
     BOOL _main&#40;char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName&#41;
    &#123;
    if &#40;GetTagBit&#40;"DE_30_1_ZF_0801__Start_Beladen_GS3"&#41; && GetTagBit&#40;"DE_30_2_ZF_0801__Ende_Beladen_GS3"&#41;&#41;
    SetVisible&#40;"Bild.pdl","Objekt",1&#41;;
    &#125;

  10. #10
    Rengel ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.02.2004
    Beiträge
    117
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Super, DAnke dein Code ist Fehlerfrei )

    Jetzt bekomme ich nur noch ein Meldung zu Zeile 2

    BOOL _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)

    und zwar: error (0086): function 'main' does not Return a value

Ähnliche Themen

  1. frage zu WinCC Skript
    Von Gadget im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 14.06.2011, 19:45
  2. WinCC V7.0 Frage
    Von Weles im Forum HMI
    Antworten: 4
    Letzter Beitrag: 30.05.2010, 11:12
  3. Frage zu WinCC-Upgrade
    Von Approx im Forum HMI
    Antworten: 1
    Letzter Beitrag: 24.11.2009, 11:59
  4. Frage zu WinCC Web Navigator 6.2
    Von Denis im Forum HMI
    Antworten: 0
    Letzter Beitrag: 13.03.2009, 09:28
  5. Antworten: 2
    Letzter Beitrag: 02.03.2007, 17:39

Lesezeichen

Berechtigungen

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