-> Hier kostenlos registrieren
Hallo Leute,
habe folgendes Problem:
Ich frage ein DWORD ab ob dort Bit0 =1 oder =0 ist.
Wenn 1 dann mache dies und wenn nicht (also 0) mache was anderes.
Aber die Abfrage funktioniert nicht, ich denke mal wieder Unwissenheit
TAG_2 wird immer auf 1 gesetzt egal was die Abfrage TAG_3 ergibt.
Gruß
Move
Das Script sieht so aus:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
#define Tag_1 "_AUTO"
#define TAG_2 "_BEIN"
#define TAG_3 "_EIN"
DWORD dwHelp3;
dwHelp3 = GetTagDWordWait(TAG_3); // Information Antrieb läuft / steht
// next TagID : 1
// WINCC:TAGNAME_SECTION_END
// WINCC
ICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC
ICNAME_SECTION_END
if (dwHelp3 & 1 !=0) // Antrieb steht
{
DWORD dwHelp1,dwHelp2;
dwHelp1=GetTagDWordWait(TAG_2);
dwHelp2=dwHelp1&(0xFFFFFFFF^1);
SetTagDWordWait(TAG_2, dwHelp2); // Wert 0 schreiben (Nachführung)
}
else // Antrieb läuft
{
DWORD dwHelp1,dwHelp2;
dwHelp1=GetTagDWordWait(TAG_2);
dwHelp2=dwHelp1|1;
SetTagDWordWait(TAG_2, dwHelp2); // Wert 1 schreiben (Nachführung)
}
SetTagBit(Tag_1,1-(GetTagBit(Tag_1))); // Befehl Hand setzen
habe folgendes Problem:
Ich frage ein DWORD ab ob dort Bit0 =1 oder =0 ist.
Wenn 1 dann mache dies und wenn nicht (also 0) mache was anderes.
Aber die Abfrage funktioniert nicht, ich denke mal wieder Unwissenheit

TAG_2 wird immer auf 1 gesetzt egal was die Abfrage TAG_3 ergibt.
Gruß
Move
Das Script sieht so aus:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
#define Tag_1 "_AUTO"
#define TAG_2 "_BEIN"
#define TAG_3 "_EIN"
DWORD dwHelp3;
dwHelp3 = GetTagDWordWait(TAG_3); // Information Antrieb läuft / steht
// next TagID : 1
// WINCC:TAGNAME_SECTION_END
// WINCC

// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC

if (dwHelp3 & 1 !=0) // Antrieb steht
{
DWORD dwHelp1,dwHelp2;
dwHelp1=GetTagDWordWait(TAG_2);
dwHelp2=dwHelp1&(0xFFFFFFFF^1);
SetTagDWordWait(TAG_2, dwHelp2); // Wert 0 schreiben (Nachführung)
}
else // Antrieb läuft
{
DWORD dwHelp1,dwHelp2;
dwHelp1=GetTagDWordWait(TAG_2);
dwHelp2=dwHelp1|1;
SetTagDWordWait(TAG_2, dwHelp2); // Wert 1 schreiben (Nachführung)
}
SetTagBit(Tag_1,1-(GetTagBit(Tag_1))); // Befehl Hand setzen