OK. und da wo du hin geschrieben hast "MyBit" trage ich die variable ein oder wie?
JA. Die volle Version ist aber...
Code:
// WINCC:TAGNAME_SECTION_START
#define TAG_1 "MeineVariable1"
#define TAG_2 "MeineVariable2"
#define EinAndererNameAlsTAG_irgendwas "MeineVariable3"
// WINCC:TAGNAME_SECTION_END
Die Zeichen "// WINCC:TAGNAME_SECTION_START" etc. bekommst du automatisch eingefügt wenn du ein neue C-Aktion erstellst.
Dazwischen, wie der Name "TAG-NAME-SECTION" schon sagt, musst du die WinCC-Variablen (die aus dem WinCC-Explorer) deklarieren.
Wenn du die Variablen so wie oben deklariert hast, greift zum Beispiel GetTagBit(TAG_1) auf die WinCC-Variable "MeineVariable1" zu.
Der Compiler macht beim Übersetzen nichts anderes als GetTagBit("MeineVariable1") daraus, man könnte also auch gleich selber GetTagBit("MeineVariable1") schreiben.
#define definiert mit "TAG_1" nur einen Platzhalter für "MeineVariable1". Google "C #define" für mehr Infos.
Warum die Mehrarbeit?
WinCC-Funktionen wie Querverweise (Cross Referencing) und Umverdrahten erkennen wenn WinCC-Tags in einem Skript innerhalb von "WINCC:TAGNAME_SECTION_START/END"
so verwendet werden. Wenn man es so macht, kann man bei Objekten die Funktion "Rechtsklick/Umverdrahten" verwenden und dann werden genau diese WinCC-Variablen für einen möglichen Austausch angeboten.
Ich würde dir die Handbücher "
WINCC GETTING STARTED" und
"WINCC SCRIPTING REFERENCE" empfehlen.
wo deklariere ich die Variable bei der kurzen Fassung?
Selbes wie vorher, ich war nur zu faul das "#define TAG_1" nochmal zu tippen.
Und auch hier gehört es zwischen "// WINCC:TAGNAME_SECTION_START" und // WINCC:TAGNAME_SECTION_END"