-> Hier kostenlos registrieren
Hallo zusammen,
ich bin blutiger Anfänger und probiere mich gerade daran eine Ventilsteuerung zu programmieren.
Insgesamt sind es 4 Ventile und 8 Näherungsschalter die jeweils AUF bzw. ZU zurückgeben.
Ich hab jetzt ein Programm geschrieben welches soweit auch funktioniert aber ich kann mir nicht vorstellen, dass das auch so in der Praxis programmiert wird.
Prinzipiell beginnen die 4 Ventile mit einer bestimmten Grundstellung, nach 5min müssen sie eine bestimmte Stellung einnehmen (jedes Ventil wird nacheinander bis zur neuen Stellung angesteuert) nach 5min müssen sie dann genau rückwärts nacheinander wieder in die Grundstellung gebracht werden sie dürfen nur gestellt werden, wenn die Näherungsschalter die entsprechende AUF ZU Information liefern. Sollte dies nicht der Fall sein soll die Anlage auf Störung umspringen.
Jetzt zu meiner Frage:
Ich bin folgendermaßen vorgegangen:
Ich beginne mit der o.g. Grundstellung mit der Einnahme der Grundstellung fängt der erste Zähler das laufen an. Nach 5 min gibt er eine logische 1 raus und die Kette beginnt. Also er beginnt das erste Ventil zu schalten, wenn dieses zu ist dann gehts mit dem nächsten weiter u.s.w. wenn die Kette durchlaufen ist beginnt ein Zähler 2 zu zählen an, der wiederum stößt wieder einen Prozess an und die Ventile werden nacheinander wieder geschaltet mit dem Schalten des letzten Ventils beginnt wieder Zähler 1 zu laufen....
Das ganze passiert in einem Funktionsbaustein.
Viel lieber würde ich aber für jede Stellung einen Funktionsbaustein erstellen.
Also z.B. FC1 erste Stellung am Ende noch eine Kontrolle, ob wirklich alle Ventile in der richtigen Stellung sind.
ist diese Bedingung erfüllt soll der FC2 aufgerufen werden. Dort soll dann die zweite Stellung eingenommen werden wieder kontrolliert werden und dann soll wieder FC1 aufgerufen werden.
Wenn ich das so versuche zu programmieren geht die CPU sofort auf STOP.
Ich hoffe das sind jetzt nicht zu viele Informationen.
Vielleicht habt ihr eine Idee wie man das ganze möglichst einfach programmieren kann.
Dazu kommt noch das alles auch noch im "HAND" Betrieb geschaltet werden soll.
Vielen Dank euch allen
Ich kann meinen FC auch mal reinstellen allerdings ist der wie gesagt recht kompliziert ...weiß nicht ob das viel Sinn hat
Danke !!!!!!!!!!!!
ich bin blutiger Anfänger und probiere mich gerade daran eine Ventilsteuerung zu programmieren.
Insgesamt sind es 4 Ventile und 8 Näherungsschalter die jeweils AUF bzw. ZU zurückgeben.
Ich hab jetzt ein Programm geschrieben welches soweit auch funktioniert aber ich kann mir nicht vorstellen, dass das auch so in der Praxis programmiert wird.
Prinzipiell beginnen die 4 Ventile mit einer bestimmten Grundstellung, nach 5min müssen sie eine bestimmte Stellung einnehmen (jedes Ventil wird nacheinander bis zur neuen Stellung angesteuert) nach 5min müssen sie dann genau rückwärts nacheinander wieder in die Grundstellung gebracht werden sie dürfen nur gestellt werden, wenn die Näherungsschalter die entsprechende AUF ZU Information liefern. Sollte dies nicht der Fall sein soll die Anlage auf Störung umspringen.
Jetzt zu meiner Frage:
Ich bin folgendermaßen vorgegangen:
Ich beginne mit der o.g. Grundstellung mit der Einnahme der Grundstellung fängt der erste Zähler das laufen an. Nach 5 min gibt er eine logische 1 raus und die Kette beginnt. Also er beginnt das erste Ventil zu schalten, wenn dieses zu ist dann gehts mit dem nächsten weiter u.s.w. wenn die Kette durchlaufen ist beginnt ein Zähler 2 zu zählen an, der wiederum stößt wieder einen Prozess an und die Ventile werden nacheinander wieder geschaltet mit dem Schalten des letzten Ventils beginnt wieder Zähler 1 zu laufen....
Das ganze passiert in einem Funktionsbaustein.
Viel lieber würde ich aber für jede Stellung einen Funktionsbaustein erstellen.
Also z.B. FC1 erste Stellung am Ende noch eine Kontrolle, ob wirklich alle Ventile in der richtigen Stellung sind.
ist diese Bedingung erfüllt soll der FC2 aufgerufen werden. Dort soll dann die zweite Stellung eingenommen werden wieder kontrolliert werden und dann soll wieder FC1 aufgerufen werden.
Wenn ich das so versuche zu programmieren geht die CPU sofort auf STOP.
Ich hoffe das sind jetzt nicht zu viele Informationen.
Vielleicht habt ihr eine Idee wie man das ganze möglichst einfach programmieren kann.
Dazu kommt noch das alles auch noch im "HAND" Betrieb geschaltet werden soll.
Vielen Dank euch allen
Ich kann meinen FC auch mal reinstellen allerdings ist der wie gesagt recht kompliziert ...weiß nicht ob das viel Sinn hat
Danke !!!!!!!!!!!!