Mit ansi-c in WinCC Bild visualisieren

stepwin

Level-1
Beiträge
15
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

kann mir vieleicht einer von euch experten helfen, ich hänge hier jetzt schon seit Tagen und hoffe auf eure Hilfe.
Ich möchte ein Bild in WinCC erscheinen lassen, wenn in Step7 min. 2 Bedingungen erfüllt worden sind. Dann soll das Code aus zB einem Word die einzelnen Bits vergleichen.

Ich habe hier ein Code aus dem Netz gefunden der bestimmt funktionieren würde, nur leider weiß ich nicht wie es benutzen kann.


#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, double value)
{
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
//#define TAG_1 ".OsIs01"
// WINCC:TAGNAME_SECTION_END
// WINCC:pICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:pICNAME_SECTION_END
int wert;
wert=value;
//wert= GetPropWord(lpszPictureName,lpszObjectName,"OutputValue"); //Return-Type: long int
//wert=GetTagWord("OutputValue"); //Return-Type: WORD
//SetPropWord(lpszPictureName,lpszObjectName,"ToolTipText",wert); //Return-Type: BOOL

//Checkboxen FixIs-Struktur setzen
//vergleich 10. Bit
if (wert & 1024)
{
SetPropWord(lpszPictureName,"Checkbox1","Process",1); //Return-Type: BOOL
}
else
{
SetPropWord(lpszPictureName,"Checkbox1","Process",0); //Return-Type: BOOL
}



Vielen Dank schon mal im Vorraus
 
...
Ich möchte ein Bild in WinCC erscheinen lassen, wenn in Step7 min. 2 Bedingungen erfüllt worden sind. Dann soll das Code aus zB einem Word die einzelnen Bits vergleichen.
...
Kannst du diesen Teil etwas näher erläutern.
Welche 2 Bedingungen sind es genau. 2 Variablen, 2 betimmte Bits in einem Word, 2 beliebige Bits in einem Word oder oder oder...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte in wincc Fehler Meldungen anzeigen, wenn die Maschine nicht Vorwärts, anhält oder Rückwärsts fährt.
Ich habe die Eingangsbit in einem Datenwort gespeichert und in WinCC versucht JE nach Eingangsbit eine Fehlermeldung auszugeben.
Mein Problem nun ist es kommt die ganze Zeit ein Fehler Meldung weil der Eingangsbit für Vorwärts fahren nicht true ist bei Rückwärtsfahrt.
Deshalb möchte ich nur Fehler Meldung für Vorwärts fahren wenn der Eingangsbit Vorfahren true ist und der Ausgangsbit zum Vorfahren False ist.
 
//die ist die Bedingung zum Vorfahren
U E0.0 Vorwärtsfahren
U E0.1 Freigabe
U E0.2 Stromversorgung
UN E0.3 Notaus
=
A 0.1 Vorwärts
------------------------------------------
//
U E0.0 Vorwärtsfahren
UN E0.1 Freigabe
UN A0.1 Stromaus
=M1.0
-------------------------------------------
//Schreibe die Variablen Zustände in die Merkerwort
U E0.0 Vorwärtsfahren
= M 0.0
U E0.1 Freigabe
=M 0.1
U E0.2 Stromversorgung
=M0.2
UN E0.3 Notaus
=M0.3
A 0.1 Vorwärts
=M0.4
---------------------------------------------
//In WinCC kann ich nun das Bild genau einen Bit zuweisen.
Ich möchte das Bild zB. erscheinen lassen, wenn das E0.0 Bit gesetzt und das A0.0 Bit nicht gesetzt ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
nochmal eine frage zu deinem Script... Willst du ein Bild erscheinen lassen sprich (datei.PDL) oder eine Messagebox?


in deinem fall mit einem Bildfenster (sprich eine Bild von WinCC aufrufen)

Hier mal kurz dazu was.. Habs allerdings nicht geprüft
Wichtig ist, das dein Bildfenster im gleichem "Hauptbild mit eingebaut ist



Code:
BOOL Wert1;
BOOL Wert2;
 
Wert1 = GetTagBit("Variable1_Bit"); // Werte einlesen
Wert2 = GetTagBit("Variable2_Bit");  // Werte einlesen
 
if(Wert1 == Wert2){
 
        SetVisible(lpszPictureName,"Dein_Bildfenster",0);  
         }
 
  else
         {
 
        SetVisible(lpszPictureName,"Dein_Bildfenster",1);
 
          }
}
 
Zuletzt bearbeitet:
Zurück
Oben