Hallo, ich hab einen alten IndustriePC (siehe Bild) aus dem Jahr 2003 auf dem MS Dos 6.22 und eine Steuerungssoftware läuft. Über den CanBus des PC werden diverse Verbraucher geschaltet (z.B. Motoren) bzw. Werte eingelesen (z.B. Waage). Der CANBus Befehl geht dabei an eine weitere CANBus Karte, die dann die Motoren schaltet. Der Industrie PC hat auf der Platine einen Stecker, an dem eine simple CANBus Karte hängt. Die Karte ist glaub ich nur ein "Signalverteiler" (siehe Bild). Die Verteilung geht von Platine (Low,High,GND) nach CAN_IN (LOW,HIGH;GND) und CAN_OUT (LOW,HIGH,GND). Ich denke der CANController ist auf der Platine des IndustriePC verbaut. Ich möchte nun die Software auf einem neueren PC (z.B. WIN 7) einsetzen. Dazu hab ich mir DosBox installiert. Das Steuerungsprogramm kann ich in der DOSBox starten und bedienen. Meine Frage ist nun: Wie ist es möglich, die CANBus Verbindung zu meinen Verbrauchern (CANBus Karten (Motoren)) aufzubauen. Könnte ich mir einen USB-SERIAL Converter kaufen und an dem eine CANBus Karte hängen (per COM Port) und diese CANBus Karte über CAN_LOW, CAN_HIGH, GND der original CAN "Signalverteiler" Karte verbinden? In der DosBox kann ich die COM Ports den realen Comports des WIN 7 PC´s zuordnen. Soweit ich weiß, sind für DOS keine speziellen Treiber notwendig. Ich bin leider kein Elektrotechniker. Aber als Softwareentwickler würde mich interessieren, ob sowas zu realisieren ist. Eigentlich müsste ja nur der CANBus Befehl des Steuerungssoftware über den CAN Adapter (WIN7) zu den CANKarten(Motoren) gesendet werden. Danke für eure Hilfe. Vg
Hallo Izibizi666, wenn Du einen USB-Port hast weshalb nimmst Du dann nicht USB? Es gibt fertige Dongles auf dem Markt. Kannst Du STM32 programmieren? Dann hätte ich auch ein Dongle hier. Den kannst Du dann auf verschiedene USB-Profile anpassen, sodass die alte SW läuft. VG Jörg
Jörg B. schrieb: > wenn Du einen USB-Port hast weshalb nimmst Du dann nicht USB? Es gibt > fertige Dongles auf dem Markt. > > Kannst Du STM32 programmieren? Dann hätte ich auch ein Dongle hier. Den > kannst Du dann auf verschiedene USB-Profile anpassen, sodass die alte SW > läuft. Lesen hilft. Hier geht es darum, dass die Software läuft. Die wird aber das CAN-Interface in einer Art und Weise ansprechen, die wir bis jetzt noch nicht kennen. Wenn er ganz ganz großes Glück hat ist das auch seriell im LAWICEL-Protokol gemacht, dann kann das gehen. Das sollte dann auch daran erahnbar sein, dass in der Software irgendwo die serielle Schnittstelle eingestellt werden kann. Es ist aber auch möglich, dass die DOS-Software seine eigenen Sprache direkt mit der Hardware spricht. In dem Fall ist es sicher ziemlich aussichtslos ohne genauere Kenntnis der Hardware so was nach zubauen, mit dem sich die alte DOS-Software noch unterhalten kann. Izibizi666 A. schrieb: > Eigentlich müsste ja > nur der CANBus Befehl des Steuerungssoftware über den CAN Adapter (WIN7) > zu den CANKarten(Motoren) gesendet werden. Dazu musst du aber erst mal raus kriegen wie die Steuerungssoftware das der Hardware mitteilt. Leider gibt es bis heute für CAN keine standardisierte Treiberschicht, sondern jeder macht seine eigenen Speziallösung.
Ich habe verstanden, dass Win7 die serielle Schnittstelle gar nicht findet, weil es dafür keinen Treiber gibt, oder? Gibt es einen Schaltplan? der Maschine? VG Jörg
:
Bearbeitet durch User
Kannst Du mal bitte eine Detailaufnahme von der Region der Batterie machen? Un den beiden Steckverbindern müssten Kabel drinnen gewesen sein. In der rechten Buchse vermutlich nicht (Staub). Mich interessieren die achtpoligen ICs auf der Platine. Ich vermute dort Transceiver. Wenn wir dann noch irgentwo einen UART entdecken könnten wären wir vielleicht weiter... Also das Foto nochmal so einstellen, dass die Bezeichnungen auf den ICs zu lesen sind. Danke. VG Jörg
Jörg B. schrieb: > Ich habe verstanden, dass Win7 die serielle Schnittstelle gar nicht > findet, weil es dafür keinen Treiber gibt, oder? Wie kommst du auf serielle Schnittstelle? Wir reden von CAN. Und ob die Spezialhardware und Software als Zwischenschicht eine serielle Schnittstelle hat ist völlig unklar und ehr unwahrscheinlich. CAN Controller früherer Jahre waren PCA82C200 oder SJA1000 und die hatten einen 8bit Datenbus und nichts serielles. Ein bißchen Logik dazu und man konnte die direkt an den ISA-Bus hängen. Da musste dann nur die Software das spezielle Hardwareprotokoll sprechen. Viel Spaß beim Re-Engineering.
temp schrieb: > Wie kommst du auf serielle Schnittstelle? Izibizi666 A. schrieb: > In der DosBox kann ich die COM Ports den realen Comports des WIN 7 PC´s > zuordnen. Soweit ich weiß, sind für DOS keine speziellen Treiber > notwendig. Daher, oder hab ich da was falsch verstanden? VG Jörg
temp schrieb: > Wie heisst den IC3 genau, das kann man auf deinem Bild nicht erkennen? Soweit ich das lesen konnte steht auf dem IC3: AM28F018 -120JC 9807DXM E (C) 1991 AMD
Am28F010 1 Megabit (128 K x 8-Bit) CMOS 12.0 Volt, Bulk Erase Flash Memory
Dann hat er damit nichts zu tun. Ist denn unter der CPU-Platine auch noch was ?
Jörg B. schrieb: > Izibizi666 A. schrieb: >> In der DosBox kann ich die COM Ports den realen Comports des WIN 7 PC´s >> zuordnen. Soweit ich weiß, sind für DOS keine speziellen Treiber >> notwendig. > > Daher, oder hab ich da was falsch verstanden? Das entspricht dem Wunschdenken von Izibizi666 dass der CAN-Bus über eine serielle Schnittstelle angesprochen wird. Die Realität wird eine andere sein.
temp schrieb: > Das entspricht dem Wunschdenken von Izibizi666 dass der CAN-Bus über > eine serielle Schnittstelle angesprochen wird. Die Realität wird eine > andere sein. Deshalb suchen wir ja die chips auf der Platine durch :-)
... dieser Bereich würde mich besonders interessieren. Auch was vielleicht unter dem Mainboard/CPU ist. Ich fände es hilfreich, wenn Du die Platine dort ein wenig vom Staub befreien würdest, dann lässt sich bei einer Detailaufnahme auch die Bezeichnung der ICs besser erkennen... VG Jörg
temp schrieb: > Das entspricht dem Wunschdenken von Izibizi666 Ja das ist richtig. Es wäre der Idealfall, wenn ich einfach einen CANAdapter an den COM Port meines Win7 PC´s hängen könnte. Ich könnte dann in der Dosbox sagen nimm COM1 des Win7 PC´s und verwende diesen in DOS. Nur das Problem wird sein, dass der CANAdapter einen anderen Chip verbaut hat wie der CAN auf meinem IndustriePC. Und das Steuerungsprogramm spricht ja den CANChip des IndustriePC an. So wie ich das verstehe bräuchte ich einen CANAdapter, der den selben Chip verbaut hat wie der IndustriePC bzw. ich müsste die Software umschreiben (was leider nicht geht, da ich den Quellcode nicht habe).
Unten links ist ein AN82527 verbaut. https://www.dena-de.com/en/products/intel/an82527-serial-can-20-controller-5v/ Die beiden Chips links daneben werden den wohl parallel an den Bus koppeln. Deshalb nochmal die Frage an Izibizi666: Was wird wie und wo in der DOS Software eingestellt um den Treiber zu konfigurieren?
Izibizi666 A. schrieb: > Meine Frage ist nun: Wie ist es möglich, die CANBus Verbindung zu meinen > Verbrauchern (CANBus Karten (Motoren)) aufzubauen. Könnte ich mir einen > USB-SERIAL Converter kaufen und an dem eine CANBus Karte hängen (per COM > Port) und diese CANBus Karte über CAN_LOW, CAN_HIGH, GND der original > CAN "Signalverteiler" Karte verbinden? Nein. Unter MS-DOS gibt es keine genormte CAN-API. Deine Software greift mittels I/O-Befehlen direkt auf die vorhandene CAN-Hardware zu. Diese Hardware muss bei dem neuen Rechner wieder genauso unter den originalen I/O-Adressen auf dem ISA-Bus (bzw PC-104, ist das gleiche nur anderer Stecker) vorhanden sein. Theoretisch könnte man die Steuersoftware neu programmieren, so dass diese über USB oder einen virtuellen COM-Port auf eine neuzeitliche CAN-Hardware (Vector CANcase oder Lawicel Can-USB) zugreift. Das muss aber derjenige machen der den Quellcode der Software hat. Mit ein paar Bytes patchen ist es nicht getan.
Izibizi666 A. schrieb: > So wie ich das verstehe bräuchte ich einen CANAdapter, der den selben > Chip verbaut hat wie der IndustriePC bzw. ich müsste die Software > umschreiben (was leider nicht geht, da ich den Quellcode nicht habe). Der muss dann aber auch zusätzlich von der Emulationschicht bedient werden können. Schließlich kannst du in deiner DosBox nicht mehr direkt auf deine Hardware zugreifen. Auch wenn beim AN82527 'seriel' vorkommt, das ist spi und hat nichts mit einer normalen seriellen Schnittstelle im Rechner zu tun.
Was haltet ihr von folgender IDEE: den Isa-Bus virtuell abbilden als Gerätetreiber => auf der andren Seite der Datenendpunkte den AN82527 emmulieren und nach seriell weiter leiten. Ob sich das lohnt? Was für eine Maschine ist das denn? VG Jörg
Jörg B. schrieb: > Was haltet ihr von folgender IDEE: > > den Isa-Bus virtuell abbilden als Gerätetreiber => auf der andren Seite > der Datenendpunkte den AN82527 emmulieren und nach seriell weiter > leiten. Ob sich das lohnt? > > Was für eine Maschine ist das denn? > > VG Jörg Da müsste die Maschine noch einen Restwer >10T€ haben damit sich das lohnt. Ich glaube auch kaum das Izibizi666 das auch nur ansatzweise hin bekommt. Anderenfalls hätte er hier diese Fragen nie gestellt. Für den SJA100 gibt es eine qemu-Emulation zu Socketcan. Die Frage nach der Treiberkonfiguration der jetzigen DOS Software und ob noch andere Chips unterstützt werden wurde aber nicht beantwortet, also ist da erst mal Ende.
temp schrieb: >Da müsste die Maschine noch einen Restwer >10T€ haben Oder produktionstechnisch als Sondermaschine nicht ersetzbar. > also ist da erst mal Ende. Das denke ich auch, sofern obiges nicht zutrifft. Sonst wäre eine Beckhoff IPC (o.ä.) die bessere Alternative. Die diversen Schnittstellen hat die ja. VG Jörg
Ich glaub ich hab den CAN Processor (IC21) gefunden: A82C250 2A6A2 n2194 Keine Ahnung, ob diese Information noch was nutzt. Was müsste man im Programm einstellen, damit ich einen anderen CAN Processor ansprechen kann?
Das ist nur die Kopplung zwischen dem Intel CAN Controller und dem Bus. Ein reiner Analogchip. Mehr nicht. Deine Situation ist recht hoffnungslos. Die Software wirst Du nur zum Laufen bekommen, wenn Du die aktuelle Hardware nachimplementierst. Den Intel CAN Controller bekommst Du nicht mehr - der wird schon seit Jahrzehnten nicht mehr produziert. Eine Neuentwickung wird einfacher - glaub es mir. fchk
fchk schrieb: > Eine Neuentwickung wird einfacher - glaub es mir. Das hatten Temp und ich auch schon festgestellt. Jetzt sind drei der selben Meinung... Vielleicht wird es ja so deutlicher? 8-) Jörg
Jörg B. schrieb: >> Eine Neuentwickung wird einfacher - glaub es mir. > > Das hatten Temp und ich auch schon festgestellt. Jetzt sind drei der > selben Meinung... Vielleicht wird es ja so deutlicher? 8-) Da Du Softwareentwickler bist, kannst Du das evtl. abschätzen
... Hier https://www.beckhoff.ch/default.asp?industrial_pc/ipc.htm?id=3443 findest Du geeignete Hardware. Beckhoff liefert eine gratis IDE mit; die anderer Hersteller musst Du vermutlich bezahlen CoDeSys ist C vergleichbar also leicht zu verstehen. Die Datenendpunkte steuern dann die Peripherie ... Noch etwas Rechtliches: Durch den Umbau machst Du ein RetroFit und wirst zum Hersteller. Du musst dann auch den ganzen Zertifizierungsprozess nachweisen. Also EN12100, EN60204, EN13849/EN62061 oder IEC61508. Bist Du Dir dessen bewusst? VG Jörg
:
Bearbeitet durch User
Das ganze ist dann doch nicht so trivial wie ich gedacht habe. Gut das ich hier im Forum nachgefragt habe. Werde die Sache dann auf Eis legen. Wenn der PC defekt ist muss ich mir wohl das aktuelle Modell kaufen. Vielen herzlichen Dank für eure tolle Unterstützung. Vg
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.