Aktuell hacke ich eine Bosch CC300 CNC und ihre SPS. Ziel ist es, die Peripherie-Komponenten über Modbus anzusteuern. Die primitiven EA-Baugruppen können bereits angesteuert werden. Ich habe die Platinen analysiert und konnte dadurch die Belegung des Peripherie-Interface bestimmen. Auf dem oberen DIN553401 Stecker befinden sich folgende Signale: A0-A7: Addresse D0-D7: Write Port R0-R7: Read Port WRITE: Daten schreiben READ: Daten lesen CLEAR: Latch resetten ADDRESSED: Karte adressiert Leider läuft der Bus auf 12V (CMOS) und muss mit einer Koppelkarte auf 5V oder 3.3V Level gebracht werden. Da zumindest die Bausteine der EA Baugruppen 5V vertragen, konnte ich durch Entfernen der alten Versorgung (12V) und Absenken der Versorgungsspannung einen Arduino 2560 anschließen und die Karten ansteuern. Mit dem ersten Testprogramm konnte ich eine maximale Datenrate von 70kHz erreichen. 1kHz sind in der Regel das nötige Maximum. Im zweiten Schritt wurde Modbus im Arduino Programm integriert. Dazu habe ich die ModbusSlave Library benutzt. Beim Hochfahren wird der Peripherie-Bus gescannt und entsprechend der gefundenen Karten-Adressen ein Speicherabbild im RAM angelegt. Über Modbus kann über die Holding Register auf die EA-Pins zugriffen werden. Da immer 2 Byte geschickt werden, können mit einer Abfrage 16 Bit aktualisiert werden. Die EA-Baugruppen funktionieren damit schon tadellos. Nächster Schritt wird ein Linux RTAI Treiber, damit eine Anbindung an eine Linux Echtzeit PLC möglich ist. Da die Karten so robust und einfach aufgebaut sind, habe ich mich auch über die PU401 Positioniereinheit hergemacht. Bei dem aktuellen Projekt sind 4 Stk. dieser Karten verbaut, wäre also sehr interessant auch diese zum Laufen zu bringen. Leider findet sich im Netz keine Beschreibung mehr von diesem Teil. Der erste Versuch mit der 5V Arduino Variante ging in die Hose. Ich konnte keine schreib- oder lesewilligen Adressen zwischen 0-255 finden. Meine Vermutung liegt darin, dass die Karte zu wenig Spannung bekommt. Vor einiger Zeit habe ich bereits eine Platine angefertigt, welche die alten CD40116E Bus-Transceiver der Bosch CNC/PLC Speicherkoppelkarte nutzt. Beim Auslöten sind aber ein paar IOs defekt geworden. Somit war schlussendlich nur 1 von 4 ICs nutzbar und die Platinen landeten im Müll, denn den CD40116E gibt's nicht mehr. Gestern war ich motiviert und habe im Schnelldurchlauf eine neue Platine mit Atxmega256 designed und bestellt. Als Bus-Koppler habe ich CD4050 und CD40109 eingesetzt. Wegen des Chip Mangels weltweit wird die Karte nur halbfertig geliefert. Den Atxmega muss ich noch selbst einlöten. Wenn das Interface funktioniert bin ich eventuell in der Lage die PU401 auszulesen, jedoch habe ich keine Ahnung welche Adressen angesteuert werden müssen. Die PU401 verfügt über einen TTY Anschluss (Seriell 110-2400 Baud), hat eine interne 24V Versorgung für Geber, zwei potentialfreie Schaltausgänge (Bereit1/2), einen Optokoppler-Eingang für das Referenz-Signal, einen Eingang für das Messsystem (Sin/Cos) und einen +-10V Ausgang als Drehzahlreferenz für die Servoendstufe. Ich denke, dass Werte wie die aktuelle Position und der Status der Achse auf 3-4 Bytes liegen werden. Fraglich ist nur, ob die Regelkreisparameter auch über den Peripheriebus gesetzt werden können. Da ein serieller Anschluss auf der Karte ist, vermute ich eher nicht. Leider kann ich auch keine Info über die Schnittstelle finden. Werde mal was anhängen wenn die Karte angesprochen werden kann vielleicht kommt was raus. Das ganze Projekt ist dem aktuellen Chipmangel zu verdanken. Für eine Maschine mit relativ viel EAs bekomme ich bis 2023 keine Hardware. Anstatt zu warten, versuche ich lieber so viel wie möglich von der alten Hardware zu retten und mit der neuen Steuerung wiederzuverwenden. Falls noch ein alter Bosch PLC Fuchs hier unterwegs ist und Ahnung von der PU401 hat, wäre ich zutiefst dankbar für eine Beschreibung der Adressbelegung. Bis dahin werde ich mal Brute Force Hacking betreiben und meine Erkenntnisse hier weiter teilen. Das ganze Projekt beschreibe ich auch auf unserer Seite. Hier ist die dazugehörige Maschine: http://retrofit.center/work-inner/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.