CAN input als Digital Input für Logik
Posted: Fri 5. Oct 2018, 10:36
Das Digital2 Modul wird (gemeinsam mit einem Analog 2-Modul) verwendet um ein Gerät CAN-fähig zu machen. Das Gerät besitzt ein Digital/Analoges Interface. Die Grundfunktionalität funktioniert soweit nur brauche ich für 2 Spezialfälle die Logik des Moduls.
Von den Ausgängen werden alle 4 und von den Eingängen werden 6 verwendet, also sind noch 2 freie DI vorhanden.
Die Aufgabe:
Die CAN-IDs werden auf die DO geleitet und entsprechend auch gesetzt, ebenso geht es mit den DI in Richtung CAN. Bit0 für DO0 usw. das setzen und rücksetzen funktioniert soweit, nur in 2 Spezialfällen wäre es notwendig zusätzlich zu DO0 DO1 bzw. DO2 zu setzen solange DI3 bzw. DI4 gesetzt ist.
DO0 ist für den Start bzw. auch eine Freigabe
Ansatz 1: (siehe Anhang)
Die beiden Eingänge werden ODER verknüpft und auf DO0 gesendet, gleichzeitig wird jedoch auch Die CAN-ID auf DO0 gesendet und dürfte offenbar den Logikwert mit 0 überschreiben.
Ansatz 2 - und das ist die eigentliche Frage:
Für eine einwandfreie Funktion müsste die CAN-ID (für das Setzen von DO0) mit in die ODER-Verknüpfung aufgenommen werden und das Ergebnis der Logik wird dann an den DO0 gesendet (über eine interne Variable), dazu muss aber die CAN-ID als IN definiert werden können!
Workaround 1:
die entsprechenden Verknüpfungen werden außerhalb im SteuerPC gemacht --> NOTLösung, da es sich eben um einen Anlagenumbau handelt und möglichst alle "Intelligenz" im Gerät sein soll und nicht im Steuerrechner
Workaround 2:
Die Freigabe wird extern durch Relais geschalten, wäre das Mittel der Wahl wenn keine andere Lösung gefunden werden kann.
Ich hoffe, dass ihr mir helfen könnt, eine Lösung im Modul wäre einfach eine elegantere Variante als mit Relais herumzudoktorn
PS: Das Timeout bei DO0 dreht das Gerät bei CAN-Ausfall ab!
Georg
Von den Ausgängen werden alle 4 und von den Eingängen werden 6 verwendet, also sind noch 2 freie DI vorhanden.
Die Aufgabe:
Die CAN-IDs werden auf die DO geleitet und entsprechend auch gesetzt, ebenso geht es mit den DI in Richtung CAN. Bit0 für DO0 usw. das setzen und rücksetzen funktioniert soweit, nur in 2 Spezialfällen wäre es notwendig zusätzlich zu DO0 DO1 bzw. DO2 zu setzen solange DI3 bzw. DI4 gesetzt ist.
DO0 ist für den Start bzw. auch eine Freigabe
Ansatz 1: (siehe Anhang)
Die beiden Eingänge werden ODER verknüpft und auf DO0 gesendet, gleichzeitig wird jedoch auch Die CAN-ID auf DO0 gesendet und dürfte offenbar den Logikwert mit 0 überschreiben.
Ansatz 2 - und das ist die eigentliche Frage:
Für eine einwandfreie Funktion müsste die CAN-ID (für das Setzen von DO0) mit in die ODER-Verknüpfung aufgenommen werden und das Ergebnis der Logik wird dann an den DO0 gesendet (über eine interne Variable), dazu muss aber die CAN-ID als IN definiert werden können!
Workaround 1:
die entsprechenden Verknüpfungen werden außerhalb im SteuerPC gemacht --> NOTLösung, da es sich eben um einen Anlagenumbau handelt und möglichst alle "Intelligenz" im Gerät sein soll und nicht im Steuerrechner
Workaround 2:
Die Freigabe wird extern durch Relais geschalten, wäre das Mittel der Wahl wenn keine andere Lösung gefunden werden kann.
Ich hoffe, dass ihr mir helfen könnt, eine Lösung im Modul wäre einfach eine elegantere Variante als mit Relais herumzudoktorn
PS: Das Timeout bei DO0 dreht das Gerät bei CAN-Ausfall ab!
Georg