Ahoj všem,
jak sem před časem inzeroval že dopíšu jak rozběhat ethercatovy modul EC6002, tak tak činím.
Oproti driverum k servu je to opravdu brnkačka. všechno chodí jak má a celá akce je velmi intuitivní.
Jak rozběhat samotný ethercat už opakovat nebudu soustředím se jenom na xml soubor potřebny pro linuxcnc.
EC6002 je IO karta která obsahuje 16 x input (24V). Samotná krabička nefunguje bez mateřské desky EC5500 na kterou se přicvakne a už to jede. IO desky se daji stohovat jak je videt na obrázku a tak ziskat potřebne množství IO, analogovych vstupů či výstupů.
xml soubor od výrobce ani neni potřeba, vše potřebné lze vyčíst přímo ze zařízení.
mk@linuxcnc:~/linuxcnc-ethercat/examples/delta$ ethercat slave
0 0:0 OP + ASDA-A2-E
1 0:1 OP + R1-EC5500 EtherCAT to E-BUS adapter Module
2 0:2 OP + R1-EC6002 16-ch Sink/Source Type Digital Input Module with 0.1m
takhle nejak je to videt v systemu (zařízení 0 je driver z předchoziho článku)
dál se mužeme zeptat jaké PDo zařízení obsahuje.
mk@linuxcnc:~/linuxcnc-ethercat/examples/delta$ ethercat -p2 pdos
SM0: PhysAddr 0x1000, DefaultSize 2, ControlRegister 0x00, Enable 1
TxPDO 0x1a00 "Channel 1"
PDO entry 0x6000:01, 1 bit, "Input"
TxPDO 0x1a01 "Channel 2"
PDO entry 0x6010:01, 1 bit, "Input"
TxPDO 0x1a02 "Channel 3"
PDO entry 0x6020:01, 1 bit, "Input"
TxPDO 0x1a03 "Channel 4"
PDO entry 0x6030:01, 1 bit, "Input"
TxPDO 0x1a04 "Channel 5"
PDO entry 0x6040:01, 1 bit, "Input"
TxPDO 0x1a05 "Channel 6"
PDO entry 0x6050:01, 1 bit, "Input"
TxPDO 0x1a06 "Channel 7"
PDO entry 0x6060:01, 1 bit, "Input"
TxPDO 0x1a07 "Channel 8"
PDO entry 0x6070:01, 1 bit, "Input"
TxPDO 0x1a08 "Channel 9"
PDO entry 0x6080:01, 1 bit, "Input"
TxPDO 0x1a09 "Channel 10"
PDO entry 0x6090:01, 1 bit, "Input"
TxPDO 0x1a0a "Channel 11"
PDO entry 0x60a0:01, 1 bit, "Input"
TxPDO 0x1a0b "Channel 12"
PDO entry 0x60b0:01, 1 bit, "Input"
TxPDO 0x1a0c "Channel 13"
PDO entry 0x60c0:01, 1 bit, "Input"
TxPDO 0x1a0d "Channel 14"
PDO entry 0x60d0:01, 1 bit, "Input"
TxPDO 0x1a0e "Channel 15"
PDO entry 0x60e0:01, 1 bit, "Input"
TxPDO 0x1a0f "Channel 16"
PDO entry 0x60f0:01, 1 bit, "Input"
tady je videt adresovani pdo a hlavne taky syncmanager SM0
protože se jedna o vstupní piny je použit pouze jeden SM na rozdíl od složitejších zařízeni kde je potřeba použít 2x SM, jeden tam a druhej zpátky.
A to je vše co je potřeba. tady jsou dva xml soubory. jeden popisuje kazdy pin zvlášt a lze si jednotlive piny pojmenovat a druhy generuje stejny pocet pinu, ale s jednotnym nazvem a cislem na konci.
v xml souborech je i část definující ASDA driver jako zařízení 0. takže je potřeba upravit pořadí vašich zařízení podle toho jak je máte pověšené na drátech.
umazat příponu.txt protože xml neni podporováno. To by mohl robokop povolit
Martin
Linuxcnc vs EC5500 EC6002 Ethercat 16 x input
Podrobnějc už to nejde.
vše je v předchozích návodech i s příkazama step-by-step. Tohle je jenom 16 vstupu, zádný nastavování režimů jako u driveru.
Proste svití nesvítí.
pustis halrun a zadas
loadrt threads name1=master period1=1000000
loadusr lcec_conf delta.xml
loadrt lcec
addf lcec.read-all master
addf lcec.write-all master
start
show pin lcec.0.2
a krasne vidis kterej pin je sepnutej.
halcmd: show pin lcec.0.2
Component Pins:
Owner Type Dir Value Name
8 bit OUT FALSE lcec.0.2.delta-in-0
8 bit OUT FALSE lcec.0.2.delta-in-1
8 bit OUT FALSE lcec.0.2.delta-in-10
8 bit OUT FALSE lcec.0.2.delta-in-11
8 bit OUT FALSE lcec.0.2.delta-in-12
8 bit OUT FALSE lcec.0.2.delta-in-13
8 bit OUT FALSE lcec.0.2.delta-in-14
8 bit OUT FALSE lcec.0.2.delta-in-15
8 bit OUT TRUE lcec.0.2.delta-in-2
8 bit OUT FALSE lcec.0.2.delta-in-3
8 bit OUT FALSE lcec.0.2.delta-in-4
8 bit OUT FALSE lcec.0.2.delta-in-5
8 bit OUT FALSE lcec.0.2.delta-in-6
8 bit OUT FALSE lcec.0.2.delta-in-7
8 bit OUT FALSE lcec.0.2.delta-in-8
8 bit OUT FALSE lcec.0.2.delta-in-9
8 bit OUT TRUE lcec.0.2.slave-online
8 bit OUT TRUE lcec.0.2.slave-oper
8 bit OUT FALSE lcec.0.2.slave-state-init
8 bit OUT TRUE lcec.0.2.slave-state-op
8 bit OUT FALSE lcec.0.2.slave-state-preop
8 bit OUT FALSE lcec.0.2.slave-state-safeop
tady treba sepnutej vstup c.2
samozřejmě předtím je potřeba rozběhat samotny ethercat na linuxu.
M
vše je v předchozích návodech i s příkazama step-by-step. Tohle je jenom 16 vstupu, zádný nastavování režimů jako u driveru.
Proste svití nesvítí.
pustis halrun a zadas
loadrt threads name1=master period1=1000000
loadusr lcec_conf delta.xml
loadrt lcec
addf lcec.read-all master
addf lcec.write-all master
start
show pin lcec.0.2
a krasne vidis kterej pin je sepnutej.
halcmd: show pin lcec.0.2
Component Pins:
Owner Type Dir Value Name
8 bit OUT FALSE lcec.0.2.delta-in-0
8 bit OUT FALSE lcec.0.2.delta-in-1
8 bit OUT FALSE lcec.0.2.delta-in-10
8 bit OUT FALSE lcec.0.2.delta-in-11
8 bit OUT FALSE lcec.0.2.delta-in-12
8 bit OUT FALSE lcec.0.2.delta-in-13
8 bit OUT FALSE lcec.0.2.delta-in-14
8 bit OUT FALSE lcec.0.2.delta-in-15
8 bit OUT TRUE lcec.0.2.delta-in-2
8 bit OUT FALSE lcec.0.2.delta-in-3
8 bit OUT FALSE lcec.0.2.delta-in-4
8 bit OUT FALSE lcec.0.2.delta-in-5
8 bit OUT FALSE lcec.0.2.delta-in-6
8 bit OUT FALSE lcec.0.2.delta-in-7
8 bit OUT FALSE lcec.0.2.delta-in-8
8 bit OUT FALSE lcec.0.2.delta-in-9
8 bit OUT TRUE lcec.0.2.slave-online
8 bit OUT TRUE lcec.0.2.slave-oper
8 bit OUT FALSE lcec.0.2.slave-state-init
8 bit OUT TRUE lcec.0.2.slave-state-op
8 bit OUT FALSE lcec.0.2.slave-state-preop
8 bit OUT FALSE lcec.0.2.slave-state-safeop
tady treba sepnutej vstup c.2
samozřejmě předtím je potřeba rozběhat samotny ethercat na linuxu.
M