WinCC Auftrag im Aufgabenplaner nur bei einer Flanke ausführen

Magni

Level-2
Beiträge
313
Reaktionspunkte
17
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin, ich habe TIA WinCC V15.1 Prof im Einsatz. Es soll im Aufgabenplaner ein Auftrag nur bei steigender Flanke gestartet werden. Leider passiert dies ja jeweils bei steigender und fallender Flanke da der Variablentrigger auf jede Änderung reagiert.
Hat jemand da eine Idee?

Und zwar soll wenn im Anlagenraum die Hupe ertönt auf dem Visurechner ein Ton für die Dauer der Hupe erscheinen. Den C-Code für die Soundausgabe habe ich gefunden.

Gruß Heiko
 
Zuletzt bearbeitet:
wincc prof kenne ich nicht.
bei wccf adv kann man an eine variable (z.b. byte) eine funktion anbinden bei 'grenzwert überschritten'. damit kann man sowas machen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du könntest anstatt der Funktionsliste ein VB- oder C-Skript aufrufen, und dem Skript den Wert der Variable mitgeben (ich weiß nicht ob das geht) oder im Skript zuerst den Wert der Variable einlesen, und dann den Rest des Skriptes nur ausführen wenn die Variable = 1 ist.

Harald
 
Du könntest anstatt der Funktionsliste ein VB- oder C-Skript aufrufen, und dem Skript den Wert der Variable mitgeben (ich weiß nicht ob das geht) oder im Skript zuerst den Wert der Variable einlesen, und dann den Rest des Skriptes nur ausführen wenn die Variable = 1 ist.

Harald

Das Script für die Soundausgabe ist in C-Code. Ich habe da leider NULL Ahnung von. Wie stelle ich das an in C-Code? So einfach wie in VB ist das ja nicht. Man kann ja nicht auf true vergleichen... Oder?
 
Das Script für die Soundausgabe ist in C-Code. Ich habe da leider NULL Ahnung von. Wie stelle ich das an in C-Code? So einfach wie in VB ist das ja nicht. Man kann ja nicht auf true vergleichen... Oder?

Naja... Ich habe mich mal nach einschlägiger Literatur umgeschaut.

Folgende Lösung habe ich gefunden:

Ich habe im Aufgabenplaner die Funktion "Soundwiedergabe" angelegt, diese habe ich mit der Variable für die Hupe getriggert. Im Ereignis habe ich dann die Hupe mit IF auf eins abgefragt (if (GetTagBit("Hupe")==1)) und als Then das Script für die Soundwiedergabe benannt. Dieses läuft so lange bis (if (GetTagBit("Hupe")==0)) kommt.
Es scheint so zu funktionieren.

Gruß Heiko
 
Zurück
Oben