TIA FC mehrmals zeitgleich aufrufen

Mupuckl

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
HI

Ich versuch mich gerade das erste mal an der Programmierung einer SPS. Der FC im Anhang sollte eine PWM Funktion darstellen, der mittels CycleTime(ms) und PWM_Percent(%) aufgerufen werden kann.

Das funktioniert auch erstmal. Wenn der FC aber mehr als einmal aufgerufen wird (z.B. einmal zum ansteuern einens Ventils, ein zweites Mal zum Ansteuern eines Motors) wird es chaotisch. Ich versteh auch warum, scheitere aber an einer Lösung. Kann jemand helfen?
 

Anhänge

  • PWM.png
    PWM.png
    325,5 KB · Aufrufe: 88
Also erste Sache die mir ins Auge springt sind die Timer mit ihren Instanzen DB1 und DB2. Rufst du den FC nun mehrfach auf verwenden alle Aufrufe die gleichen Timer Instanzen. Und der letzte Aufruf gewinnt.

Zweitens hast du ein SR mit einer Temp Variable verwendet. Temp kann nichts speichern also geht das so nicht.

Entweder du machst daraus einen FB und legst die Timer Instanzen als Static an oder du übergibst den FC die Timer Instanzen als variable. Das gleiche gilt für den SR.

Davon abgesehen glaube ich nicht das auch der einzelne Aufruf sauber funktioniert. Sieht eher nach Glück aus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde es auch nicht so machen.
Auf jeden Fall schon mal FB und dann so wie von @TheQuest beschrieben.
Bei der Berechnung würde ich dann, gerade wegen Prozent, dann schonm mal mit REAL's arbeiten.
Naja ... und dann mal sehen ...
 
ich hab den FC nun in einen FB übertragen. Im OB1 hab ich den FB zweimal eingefügt und es wurden zwei unabhängige Instanzen erzeugt (DB3 bzw. DB4)
trotzdem läuft es noch nicht wie es soll und die beiden Instanzen beeinflussen sich gegenseitig
 

Anhänge

  • FB.png
    FB.png
    241,3 KB · Aufrufe: 46
  • var.png
    var.png
    186,5 KB · Aufrufe: 46
Zurück
Oben