Znaleziono 1 wynik

autor: ldywicki
14 paź 2021, 12:26
Forum: Elektronika CNC
Temat: Osie na serwomechanizmach. Sterowanie po CANopen i DS301
Odpowiedzi: 2
Odsłony: 1677

Re: Osie na serwomechanizmach. Sterowanie po CANopen i DS301

Cześć,
Odkopuję temat po latach żeby dopytać się czy w końcu coś zadziałało. Kilka informacji dla potomnych, jak by trzeba było w przyszłości coś z podobnym przypadkiem zrobić.

Żeby spiąć napędy/peryferia komunikujące się po CAN do komputera potrzebny jest adapter/karta komunikacyjna. Można wybierać z markowych niemców lub bardziej popularnych (konsumenckich) sprzętów. W sklepach jest tego całkiem dużo. To, na co warto zwrócić uwagę to w jaki sposób oprogramowanie po stronie komputera powinno komunikować się z adapterem.
Jeśli mówimy o Linux to najlepiej jest szukać karty/adaptera, który jest zgodny z socketcan. Pod linuxem SocketCAN jest tym, czym "stos sieciowy" i pozwala on na komunikację z różnymi adapterami sprzętowym i kartami CAN przy użyciu jednolitego API.
Z tego co udało mi się sprawdzić to linuxcnc wciąż nie dorobił się obsługi CAN (odpowiedniej biblioteki HAL) także podejrzewam że temat u kolegi umarł śmiercią naturalną. Inna opcja to spięcie przez biblioteki - CAN <> python <> linuxcnc.
Co do przejścia na EtherCAT - fizycznie ethercat to inne medium transmisyjne mimo wykorzystania tej samej terminologii (SDO/PDO). W praktyce CoE oznacza CANopen over EtherCAT, czyli komunikaty CANopen są pakowane w komunikaty EtherCAT. Oznacza to, że z ethercat trzeba później przejść na CAN przez odpowiedni adapter (śledź) sterownika lub moduł I/O (wyspę).
Komunikacyjne są dwie opcje. Jeśli jest sterownik PLC zgodny z EtherCAT (komputer -> PLC -> napędy) to można spokojnie ze sterownikiem komunikować się po TCP (ethernet), tak aby to on koordynował silniki. Jeśli nie ma sterownika (komputer -> wyspa -> napędy) to wówczas, jeśli w grę wchodzi kontrola, potrzebna jest karta, która obsłuży to w sposób właściwy + API i oczywiście oprogramowanie które to ogarnie.

Co do samego CANopen - trzeba poszukać dokumentacji producenta jak komunikować się z nimi. CANopen to tylko sposób układania komunikatów na magistrali CAN. Wciąż trzeba znać adresy i rejestry oraz co raportuje napęd lub enkoder z powrotem. Aby to wszystko ułatwić na bazie CANopen są publikowane profile. Dla napędów jest to CiA 402: https://www.can-cia.org/de/can-knowledg ... en/cia402/. Jeśli urządzenia są zgodne z w/w opisem to można je parametryzować i sterować przy pomocy dowolnego sterownika, który ma obsługę CiA 402.

Wróć do „Osie na serwomechanizmach. Sterowanie po CANopen i DS301”