-> Hier kostenlos registrieren
Hallo,
auch wenn die meisten Forumuser hier wahrscheinlich "kommerzielle SPSen" programmieren, habe ich mal eine Frage zu einem Steuerungsprojekt, was nichts mit CoDeDys, FUP, KOP, AWL etc. zu tun hat.
Es geht um eine produzierende, automatisierte Anlage im Uni-Umfeld, die prinzipiell einen Ablauf (Teil produzieren) in einer Schleife durchführt.
Bussystem: CANopen, 500kBit/s, ca. 10-20 CAN-Knoten, ~100 Digitale I/O's, ~20 Analogsignale (je 2-4 byte)
Beispiel Aktoren: Ventile für Pneumatikzylinder, Meldeleuchten, Triggerausgänge für selbstständige Anlagen (Roboter, etc.)
Beispiel Sensoren: Näherungsschalter, Lichtschranken, Taster, Rückmeldungen von selbstständigen Anlagen (Roboter, etc.)
Der CAN-"Master" ist eine PCI-CAN-Karte im PC. Der Zugriff erfolgt aus einem C-Programm, was auch für Messdatenerfassung und Virtualisierung zuständig ist.
Der Zugang zur Prozessebene geschieht nur durch die Funktionen "CAN_Read()" und "CAN_Write()". Es wird jeweils immer ein komplettes CAN-Frame, bestehend aus ID, Länge, 8 Bytes gesendet/empfangen. Der PC muss also jedes auflaufende CAN-Frame untersuchen, vergleichen und prüfen, ob sich der Zustand eines Bits (z.B. Taster) geändert hat. Wenn das der Fall ist, folgen weitere Folgen von Funktionen.
Das System läuft bis jetzt seit einigen Jahren gut und relativ sicher an einer Anlage, die demnächst modernisiert wird. Ich überlege, das gleiche System nochmal einzusetzen, wollte aber erstmal Fragen, ob ihr sowas vielleicht auch schonmal gemacht habt, Erfahrungen dabei habt, oder Tipps geben könnt. Ansonsten einfach mal die Meinung, wie das in den Augen eines professionellen SPS-Programmieres ist.... ;-)
Im Anhang noch ein grobes Bild über meine Programmstruktur. Ich werde das evtl. noch verfeinern und nochmal hier reinstellen.
Grüße,
clumsi
auch wenn die meisten Forumuser hier wahrscheinlich "kommerzielle SPSen" programmieren, habe ich mal eine Frage zu einem Steuerungsprojekt, was nichts mit CoDeDys, FUP, KOP, AWL etc. zu tun hat.
Es geht um eine produzierende, automatisierte Anlage im Uni-Umfeld, die prinzipiell einen Ablauf (Teil produzieren) in einer Schleife durchführt.
Bussystem: CANopen, 500kBit/s, ca. 10-20 CAN-Knoten, ~100 Digitale I/O's, ~20 Analogsignale (je 2-4 byte)
Beispiel Aktoren: Ventile für Pneumatikzylinder, Meldeleuchten, Triggerausgänge für selbstständige Anlagen (Roboter, etc.)
Beispiel Sensoren: Näherungsschalter, Lichtschranken, Taster, Rückmeldungen von selbstständigen Anlagen (Roboter, etc.)
Der CAN-"Master" ist eine PCI-CAN-Karte im PC. Der Zugriff erfolgt aus einem C-Programm, was auch für Messdatenerfassung und Virtualisierung zuständig ist.
Der Zugang zur Prozessebene geschieht nur durch die Funktionen "CAN_Read()" und "CAN_Write()". Es wird jeweils immer ein komplettes CAN-Frame, bestehend aus ID, Länge, 8 Bytes gesendet/empfangen. Der PC muss also jedes auflaufende CAN-Frame untersuchen, vergleichen und prüfen, ob sich der Zustand eines Bits (z.B. Taster) geändert hat. Wenn das der Fall ist, folgen weitere Folgen von Funktionen.
Das System läuft bis jetzt seit einigen Jahren gut und relativ sicher an einer Anlage, die demnächst modernisiert wird. Ich überlege, das gleiche System nochmal einzusetzen, wollte aber erstmal Fragen, ob ihr sowas vielleicht auch schonmal gemacht habt, Erfahrungen dabei habt, oder Tipps geben könnt. Ansonsten einfach mal die Meinung, wie das in den Augen eines professionellen SPS-Programmieres ist.... ;-)
Im Anhang noch ein grobes Bild über meine Programmstruktur. Ich werde das evtl. noch verfeinern und nochmal hier reinstellen.
Grüße,
clumsi