Linuxcnc vs EC5500 EC6002 Ethercat 16 x input

Odpovědět
fupe
Příspěvky: 638
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

11. 10. 2017, 10:38

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ů.
ETHERCAT_SLAVE_M.JPG
ETHERCAT_SLAVE_M.JPG (51.67 KiB) Zobrazeno 1853 x
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.
delta.xml.txt
(693 bajtů) Staženo 246 x
delta2.xml.txt
(2.26 KiB) Staženo 222 x
umazat příponu.txt protože xml neni podporováno. To by mohl robokop povolit :-)


Martin
Monteg
Příspěvky: 1480
Registrován: 30. 10. 2006, 5:37
Bydliště: LOUNY

11. 10. 2017, 11:12

Ale to je mi pěkná krabička :D :D :D
Moc pěkná práce

Možná by to chtělo nějaké video nebo podrobný návod pro takové jako jsem já :roll:
fupe
Příspěvky: 638
Registrován: 27. 5. 2008, 9:10
Bydliště: Praha

11. 10. 2017, 11:35

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
Odpovědět

Zpět na „LinuxCNC - drive pod nazvem EMC2“