Hallo, ich hab eine Frage und hoffe auf ein paar Tipps .. hoffe mal ich bin hier nicht OT,.. Vorgeschichte: Ich habe vor langer Zeit einmal eine Maschinensteuerung unter Windows mit Delphi programmiert. Es war ähnlich CanBus. Die Frames ähneln sich sehr. Seinerzeit hatte ich aber keine Ahnung was Microcontroller sind und was die genau machen. CanBus wahr eher ein öffentliches Verkehrsmittel (Bus und Bahn) als etwas mit Bit's und Bytes.. Es ging nur drum Bytes via RS232/485 rauszuschicken und abzuwarten was zurückkommt. Es wurden Aktoren geschaltet, digitale und analoge Sensoren abgefragt.. usw. Die ganze Kommunikation incl. Error Management, etc. hab ich da selbst geschrieben. Die Programme laufen 24/7 und steuern Maschinen. Zeitkritisch ist da eigentlich nichts. Timeouts liegen da bei 300ms welche nie erreicht wurden, ausser der Strom war aus. Antwortzeiten der angesteuerten Geräte waren in der Regel 30-50ms bei 9600 Baud. Die Zeiten ändern sich, Maschinen auch... demzufolge die Aufgabe. Die Zahl der Aktoren hat sich erhöht, auch Sensoren. Es sollen geschaltet werden, je Gerät, bis zu 12 Aktoren digital + 4 analoge, 6 digitale + 4 analoge Sensoren gelesen werden... auch bis zu 255 Geräte sollen verwaltet werden. Anforderung ist natürlich.. Hardware/Elektronik an den Endgeräten nicht zu teuer.. und die Programmierung darf auch nicht viel kosten. Also ein kommerzielles Problem. Bei mir kommt in der Kürze der Zeit ein Verständnisproblem hinzu. Suche ich bei Aliexpress nach der eierlegenden Wollmilchsau legenden Platine aus China mit einem Atmel Chip, der nach individuellen Wünschen vorprogrammiert ist, finde ich echt überhaupt nix. Wahrscheinlich kennen die den Begriff "Wollmilchsau" nicht... ich habe gerade im Moment keine Ahnung wie ich eine Spezifikation der Hardware bzw. der MC Software darstellen kann/sollte. Und ich suche nach Ansprechpartnern und Adressen wer da weiter behilflich ist oder so etwas herstellen und liefern kann. für jeden Tipp dankbar, Marcel
Marcel Schlasinger schrieb: > Es sollen geschaltet werden, je Gerät, bis zu 12 Aktoren digital + 4 > analoge, 6 digitale + 4 analoge Sensoren gelesen werden Günstige MC mit 12 digitalen Ausgängen, 6 digitale Eingängen, 4 analoge Eingänge sind kein Problem. 4 analoge Ausgänge sind aber nicht drin, externer DAC ist erforderlich. > auch bis zu 255 Geräte sollen verwaltet werden. > und die Programmierung darf auch nicht viel kosten. Verwaltet vom PC aus? Delphi kann bleiben. Oder mit VisualBasic. Oder sogar mit Excel VBA. Ist i.d.R. nicht kritisch weil die MC ja autonom laufen und vom PC nur überwacht und parametriert werden. Für die Anbindung der MC an den PC ist CAN bzw. CANopen schon eine gute Wahl. Es gibt MC mit CANopen-Treiber im ROM, da muss nichts programmiert werden und es sind keine Lizenzzahlungen fällig. Bei kurzer Entfernung wäre auch USB eine Möglichkeit, es gibt MC mit USB-HID-Treiber im ROM. Ansonsten bei RS232/485 bleiben. CANopen:http://www.nxp.com/products/microcontrollers/cortex_m0_m0/LPC11C24FBD48.html USB:http://www.nxp.com/products/microcontrollers/cortex_m3/LPC1347FBD64.html RS232/485:http://www.nxp.com/products/microcontrollers/cortex_m0_m0/LPC1227FBD64.html
@Lothar Danke für Deinen Tipp,
1 | Für die Anbindung der MC an den PC ist CAN bzw. CANopen schon eine gute |
2 | Wahl. Es gibt MC mit CANopen-Treiber im ROM, da muss nichts programmiert |
3 | werden und es sind keine Lizenzzahlungen fällig. Bei kurzer Entfernung |
4 | wäre auch USB eine Möglichkeit, es gibt MC mit USB-HID-Treiber im ROM. |
5 | Ansonsten bei RS232/485 bleiben. |
mmhh dann wäre wohl CAN/CANOpen das Mittel der Wahl.. USB würde definitiv wegfallen da größere Leitungslängen bestehen. Da bin ich wohl schon einen Schritt weiter. Frage anbei; muss/sollte man bei CAN/CANopen oder anderen Bussystemen bestimmte Adapter zw. PC und Endgeräten benutzen? Werden ja zu Hauf angeboten im Netz. Oder reicht es nativ über die serielle zu gehen; bzw. USB/seriell oder USB/485? So wie ich das sehe ist der einzige Vorteil bei einem Adapter, das man aus einer Library die Funktionen nehmen kann,.. ohne Adapter den nativen Frame erstellen muss/kann. Im Adapter hängt wohl ein MC dazwischen der Funktionen bereitstellt. Kann man das so sehen? vielen Dank, Marcel
Marcel Schlasinger schrieb: > muss/sollte man bei CAN/CANopen oder anderen Bussystemen > bestimmte Adapter zw. PC und Endgeräten benutzen? Wenn die Datenmenge gering ist, was hier ja der Fall sein sollte, reicht es natürlich, einen MC an den PC zu klemmen, der die Messages über RS232 bzw. USB/UART-Kabel überträgt. Gibt dafür ein sehr günstiges Board mit Open-Source-Demo (CAN communication example): https://www.olimex.com/Products/ARM/NXP/LPC-P11C24/ Und hier wird die Funktion der Demo erklärt: Google NXP AN11238 Bei grossen Datenmengen empfiehlt sich aber schon ein professioneller Adapter mit grossem Puffer, auch wegen der mitgelieferten DLL, z.B.: http://www.ixxat.de/canopen_master_api_de.html
WOW! den Stoff muss ich zu später Stunde echt erst verdauen... .. das dauert.. min. bis zum Morgengrauen :-) vielen Dank für den Input! Gruss, Marcel
Lothar schrieb: > 4 analoge Ausgänge sind aber nicht drin, externer DAC ist erforderlich. PWM Ausgabe mit Tiefpaß könnte bei langsamen Signalen eine Option sein.
Marcel Schlasinger schrieb: > auch bis zu 255 Geräte sollen verwaltet werden. heisst das "bis zu 255 Teilnehmer am CAN Bus"? Da musst Du dann auf Repeater o.ä. zurückgreifen. Nach meinem CAN Buch sind max. 40 Teilnehmer erlaubt, wikipedia spricht von bis zu 128. Die Delphi SW wirst Du sicherlich weiter nutzen wollen bzw. das Interface zur PC-Schniittstelle auf CAN umbauen? Neben dem von Lothat genannten Link, kannst Du auch hier fündig werden. Da gibts zum CAN-Interface auch DLL zum Programmieren über Delphi. http://www.peak-system.com/Produkte.57.0.html Gruß, Arne
Arne schrieb: > Nach meinem CAN Buch sind max. 40 Teilnehmer erlaubt, wikipedia spricht > von bis zu 128. Das genannte PCAN-PCI gibt es mit 2 Kanälen und es sollen je 110 Knoten möglich sein. Aber bei grösseren Entfernungen sind CAN-Router auf jeden Fall sicherer. Wolfgang schrieb: >> 4 analoge Ausgänge sind aber nicht drin, externer DAC ist erforderlich. > PWM Ausgabe mit Tiefpaß könnte bei langsamen Signalen eine Option sein. Einen Versuch ist es wert. Wenn das Analogsignal aber in einen Motorverstärker gehen soll, sind DACs vorzuziehen, insbesondere für +/- Spannung.
Wenn alle deine Geräte nicht und niemals mit anderen CANopen Geräten an einem Bus hängen, dann würde ich ganz auf CANopen verzichten und nur auf der reinen CAN Ebene aufsetzten. Man muss sich nicht unbedingt in ein Korsett klemmmen wenn man keinen Nutzen davon hat.
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.