# WinCC & ToggleBit



## Anonymous (22 Oktober 2003)

Moin moin,

ich hab mal eine Frage: wie projektiere ich ein toggle bit unter WinCC 5.1. SetTag setzt je 'nur' auf 1 bzw 0... aber ich möchte gerne ein und den selben button zum ein- & ausschalten benutzen. Kann mir da jemand helfen???

Sorry, wenns ne dumme Frage sein sollte, aber bin grade erst mit WinCC angefangen...


_c ya *NetMare*_


----------



## Anonymous (22 Oktober 2003)

*...nachtrag*

ich nochmal...

mir würd natürlich auch reichen das ich einen Impuls zur PLC sende... sauberer wäre es zwar mit nem direkten toggle puls in der CC Anwendung - aber andersrum gehts auch: Impuls an die PLC und da dann das hin & herschalten...

Tipps???


----------



## volker (23 Oktober 2003)

hallo

ich kenn wincc nicht. in protool gibt es eine funktion: Bit_setzen_rücksetzen_in_Variable.

Invertiert ein Bit innerhalb einer Variablen.
Hat das Bit den Wert 0, wird es auf 1 gesetzt. Hat das Bit den Wert 1, wird es auf 0 gesetzt.
ProTool schreibt nach der Änderung die gesamte Variable in die Steuerung zurück.
Daher darf von der Steuerung nur lesender Zugriff auf die Variable erfolgen.

evtl gibt es das in wincc auch.


----------



## sps-concept (23 Oktober 2003)

*Toggle*

Hallo zu später Stunde,

das geht mit ner Antivalenz. Hab aber jetzt leider WinCC nicht auf dem Rechner. Könnte aber ne *.pdl schicken wo es so realisiert ist.

MfG
André Räppel


----------



## sps-concept (23 Oktober 2003)

*Toggle*

So, erstmal die Sache für eine Bitvariable. Soll ein einzelnes Bit aus nem Byte/Wort/Doppelwort getoggelt werden einfach nochmal melden.


```
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
BOOL z;
z=GetTagBit("Variable");
if (z==0) 
SetTagBit("Variable",1); 
else
SetTagBit("Variable",0); 
}
```

MfG
André Räppel


----------



## Anonymous (23 Oktober 2003)

*...*

Hi...

danke für eure Tipps. Bei ProTool bekomm ichs auch hin (hab zwar kein OP hier, aber habs bei verschiedenen Projekten für die Firma schon gemacht).

Wenn mir jemand - oder du SPS-Concept - ein Projekt oder auch mehrere zuschicken könnte würde mir das SEHR helfen. Wird zu 100% NUR für private Zwecke verwendet! Also Angst braucht ihr nicht haben 

Also wäre nett, wenn mir jemand ein, zwei, wieviel auch immer Projekte zuschicken könnte. Daraus könnte ich dann auch noch andere Sachen lernen.

Hier meine Mailadresse: netmare@gmx.de

danke und tschö, mit ö


----------



## Anonymous (25 Oktober 2003)

*Toggel_bit is WinCC*

Hallo 

ein Toggelbit in WinCC herzustellen ist eigentlich ganz einfach. Man generiert als erstes eine interne Wariable vom Typ bool. 

Dann unterprogramm Script aufrufen. Dort eine neue ( und das ist Wichtig) Aktion erstellen. Aktionen werden von WinCC im Runt Time Mode immer durchlaufen. Hier kann mann dann über eine C Programm das toggeln realisieren.

z.B. 

if(GetTagBit(TOGGEL))
{
SetTagBit(TOGGLE,FALSE);
}
else
{
SetTagBit(TOGGLE,TRUE);
}

Wenn du das ganze noch über einen Mausklick starten willst dann musst du den Mausklick auf eine Variable in C programmieren un diese hier einbinden.


----------



## Anonymous (25 Oktober 2003)

*Faulere Variante?!*

So müsste es auch klappen, die faulere Variante:

SetTagBit("Toggle", (!GetTagBit("Toggle")));

mfG
Rübennase


----------



## Anonymous (25 Oktober 2003)

*Siehe WinCC-CD's...*



			
				NetMare schrieb:
			
		

> Also wäre nett, wenn mir jemand ein, zwei, wieviel auch immer Projekte zuschicken könnte. Daraus könnte ich dann auch noch andere Sachen lernen.



Habe da einen guten Tip. Einfach mal die WinCC-CD's durchgucken und die mitgelieferten Beispielprojekte durchgehen. Da gibt es einen C-Kurs und vieles, vieles mehr - und das super aufbereitet.

Viele Grüße
Schlauchboot


----------



## Michakron (26 August 2014)

Wie läuft das ganze denn ab, wenn man das Bit mit WinCC nur setzen will sobald es False ist.
Also WinCC setzt das Bit und die SPS setzt das Bit zurück. Habe nämlich ne Überwachung drin, dass wenn Panel ausfällt die SPS ein Notprogramm startet und die Anlage runterfährt.


----------



## MSB (26 August 2014)

Michakron schrieb:


> Wie läuft das ganze denn ab, wenn man das Bit mit WinCC nur setzen will sobald es False ist.
> Also WinCC setzt das Bit und die SPS setzt das Bit zurück. Habe nämlich ne Überwachung drin, dass wenn Panel ausfällt die SPS ein Notprogramm startet und die Anlage runterfährt.


WinCC, welche Version ... P.S. WinCC ungleich WinCC Flexible.
PPS: Leichenschänder ...


----------



## Michakron (26 August 2014)

Hatte ich vergessen genauer zu schreiben. Sry. Also ich benutze WinCC V7.0+SP3+ Update 4

Das WinCC ungleich WinCC Flex ist wusste ich. Habe ich hier schon oft genug gelesen und war mir auch so klar.


----------



## mkol (28 August 2014)

Mach einfach eine globale Aktion mit deinem Toggle-Tag als Triggervariable. Im Skript liest du dann den Wert des Tags und setzt ihn auf true sofern er false ist.


----------

