7i97 konfigurace přes mesact

jiri.plucha
Příspěvky: 16
Registrován: 11. 7. 2020, 1:37

1. 11. 2023, 5:11

Zdravím,

jako šťastný majitel mesy 7i97 (ethernetová karta s analogovými výstupy) se ji snažím zprovoznit. Mám linuxcnc 2.9, bookworm. S mojí kartou mi PNCconf nepomůže, proto jsem si nainstaloval mesact, když ale cvaknu na buld config, tak vyhodí error:

Mesact Version: 2.0.3 Build Date: 09/24/2023
File "../../usr/lib/python3/dist-packages/libmesact/buildconfig.py", line 57, in build
buildhal.build(parent)
File "../../usr/lib/python3/dist-packages/libmesact/buildhal.py", line 191, in build
halContents.append(f'setp hm2_[MESA](BOARD).0.{card}.0.{port}.analogout{i}-scalemax [JOINT_{i}](ANALOG_SCALE_MAX)\n')


nějakou konfiguraci to vytvoři, při pouštění LCNC ale vyhodí chybu:

RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/lib/linuxcnc/modules
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/lib/tcltk/linuxcnc/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.6
LINUXCNC - 2.9.1
Machine configuration directory is '/home/cnc/linuxcnc/configs/xxxxx'
Machine configuration file is 'xxxxx.ini'
INIFILE=/home/cnc/linuxcnc/configs/xxxxx/xxxxx.ini
VERSION=1.1
PARAMETER_FILE=parameters.var
TPMOD=
HOMEMOD=
TASK=milltask
HALUI=
DISPLAY=axis
COORDINATES=XYZ
KINEMATICS=trivkins coordinates=XYZ
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: iov2
emc/iotask/ioControl_v2.cc 888: iov2: can't load tool table.
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
CANNOT FIND FILE FOR:main.hal
Shutting down and cleaning up LinuxCNC...
iov2: exiting
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments

Debug file information:
Note: Using POSIX realtime
7912
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime


nejsem si jistý, jestli mi nechybí hostmot, nebo jestli je nutné mít stažený firmware k 7i97, ale celkově nevím kudy kam. Za jakoukoli pomoc budu rád, kdyby mě někdo chtěl navštívit ve Vysokém nad Jizerou, rád si nechám za nějaký peníz pomoct.
Uživatelský avatar
zz912
Příspěvky: 1357
Registrován: 25. 5. 2008, 7:16

1. 11. 2023, 8:06

Je to potřeba nahlásit autorovi. Vytvoř nové Issue.
MesaCT-Issue.png
nejsem si jistý, jestli mi nechybí hostmot, nebo jestli je nutné mít stažený firmware k 7i97
hostmot Ti pravděpodobně nechybí a firmware stažený mít nemusíš.

Jinak pingneš se aspoň na tu kartu?
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
zz912
Příspěvky: 1357
Registrován: 25. 5. 2008, 7:16

1. 11. 2023, 8:19

Mesa má na stránkách výchozí konfiguraci:
basic7i97.zip
(4.49 KiB) Staženo 57 x
LinuxCNC - MESA 7i96
zz912.webnode.cz
jiri.plucha
Příspěvky: 16
Registrován: 11. 7. 2020, 1:37

2. 11. 2023, 7:54

děkuju za rady.

issue nahlásim, ale předpokládám, že chyba bude spíš na mojí straně, protože zažívám svůj první kontakt s linuxem, tak dost často narážim a nestačím se divit.

karta pingnout jde, ale myslím, že konfiguraci bez erroru bych měl být schopný udělat i bez karty.

základní konfuguraci jsem zkoušel zatím neúspěšně, ale ještě si s ní pohraju.
jiri.plucha
Příspěvky: 16
Registrován: 11. 7. 2020, 1:37

2. 11. 2023, 9:05

...
Naposledy upravil(a) jiri.plucha dne 2. 11. 2023, 9:07, celkem upraveno 1 x.
jiri.plucha
Příspěvky: 16
Registrován: 11. 7. 2020, 1:37

2. 11. 2023, 9:06

Basic konfigurace mi přijde nejnadějnější, ale zatím mi nefunguje.

přepsal jsem v basic7i97.hal ip adresu na 10.10.10.10 . Nikde jinde ani v ini souboru jsem o adrese nic nenašel, tak mi to přišlo dostatečné, ale má cenu přeházet jumpery na kartě?

LCNC se ale s kartou spojil a vyhodil:

Kód: Vybrat vše

RUN_IN_PLACE=no
LINUXCNC_DIR=

...

emc/iotask/ioControl.cc 786: can't load tool table.
Starting HAL User Interface program: halui
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
Found file(REL): ./basic7i97.hal
Shutting down and cleaning up LinuxCNC...
Running HAL shutdown script
hm2: loading Mesa HostMot2 driver version 0.15
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 10.10.10.10: INFO: Hardware address (MAC): 00:60:1b:17:00:bb
hm2_eth: discovered 7I97
hm2/hm2_7i97.0: Low Level init 0.15
hm2/hm2_7i97.0: Smart Serial Firmware Version 43
hm2/hm2_7i97.0: 51 I/O Pins used:
hm2/hm2_7i97.0:     IO Pin 000 (TB3-04): PWMGen #0, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i97.0:     IO Pin 001 (TB3-08): PWMGen #1, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i97.0:     IO Pin 002 (TB3-12): PWMGen #2, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i97.0:     IO Pin 003 (TB3-16): PWMGen #3, pin Out0 (PWM or Up) (Output)

...

hm2/hm2_7i97.0:     IO Pin 048 (P1-23/DB25-12): IOPort
hm2/hm2_7i97.0:     IO Pin 049 (P1-25/DB25-13): IOPort
hm2/hm2_7i97.0: registered
hm2_eth: in hm2_eth_reset
hm2_eth: HostMot2 ethernet driver unloaded
hm2: unloading
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments

Debug file information:
Note: Using POSIX realtime
./basic7i97.hal:225: Unknown command '3600'
Could not open command file 'shutdown.hal'
2914
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime
během spouštění linuxcnc se rozsvítila červená "fpga status led"

základní konfigurace je udělaná pro linuxcnc 2.9.0, já mám 2.9.1 ale říkám si, že tím by to být nemělo.

Systém jsem instaloval čistý, (iso z linuxcnc.org s debianem12 a LCNC 2.9.1) ethernet funguje, s kartou by zatím asi také nemělo nic být.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22399
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

2. 11. 2023, 9:34

Karta ti funguje a komunikuje jen mas v configu napsany nesmysl a dokonce ti napsal na kterem radku(225) a ze tam mas nejake cislo namisto prikazu (3600)
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
zz912
Příspěvky: 1357
Registrován: 25. 5. 2008, 7:16

2. 11. 2023, 9:42

Z toho výpisu, co jsi posílal, tak nejdůležitější řádek je:

Kód: Vybrat vše

./basic7i97.hal:225: Unknown command '3600'
Could not open command file 'shutdown.hal' 2914
Co se týče "basic7i97.hal:225" , tak to je divné. Na řádku 225 nic není. Nerýpal jsi se v tom?
nic.png
Co se týče "Could not open command file 'shutdown.hal' 2914", tak to je jasné. Tento soubor Ti chybí. Používá se na provedení příkazů při zavírání LCNC. Buď si vytvoř prázdný soubor shutdown.hal . Nebo v INI smaž požadavek na něj (smaž řádek č. 60 ):
Shutdown.png
LinuxCNC - MESA 7i96
zz912.webnode.cz
jiri.plucha
Příspěvky: 16
Registrován: 11. 7. 2020, 1:37

6. 11. 2023, 11:33

Ahoj, děkuju za pomoc, možná to z vašeho pohledu tak nevypadá, ale i drobná rada ztracenému začátečníkovi je k nezaplacení.

Karta mi funguje, encodery měří, teďka mě čeká samostudium.
Uživatelský avatar
zz912
Příspěvky: 1357
Registrován: 25. 5. 2008, 7:16

6. 11. 2023, 11:54

Tak gratuluji k počátečním úspěchům.

No a co tam bylo za problémy? Jen chyběl ten shutdown.hal ?

Jinak poslal jsem Ti SZ (Soukromou Zprávu).
LinuxCNC - MESA 7i96
zz912.webnode.cz
jiri.plucha
Příspěvky: 16
Registrován: 11. 7. 2020, 1:37

4. 1. 2024, 10:02

Ahoj, trochu jsem postoupil, ale jak už to tak bývá narazil jsem na další problém.

Serva nedrží na místě. Bez signálu z karty trošku cestují, ale když připojím kartu, zapnu linuxcnc, tak by určitě měly stát na místě, ale rozjedou se a LCNC vyhodí error: Fyzická osa 1 nezvládá sledovat pohyb

sígnály z encoderu by měly být v pořádku, mašina měří, kde je.

Řízení mám analogový simodrive611, takže jsem zkoušel přehodit polaritu analogových výstupů na 7i97.

Abych lépe viděl o co jde, zkoušel jsem nastavit FEROR a MIN_FEROR na nesmyslně velké hodnoty, jak se dá předpokládat, error to vyhodí přibližně na hodnotě MIN_FERORU.

Nevíte, čím by to mohlo být?

k minulému problému
shutdown.hal není potřeba. Chybový řádek se týkal vřetena, tak jsem ho smazal, protože vřetenu se zatím nevěnuju.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22399
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

4. 1. 2024, 10:36

koukni se na hodnotu z encoderu co vlastne dela
muze byt prohozena polarita ridiciho napeti
tzn posilas mu tam opacny smer
nebo muze byt desne mekka PID a nestiha to dorovnat

kdyz se podivas na vystup ktery davas do mesy, vstup z encoderu a pripadne i nameris voltmetrem napeti z emsy tak ti to napovi
Vsechna prava na chyby vyhrazena (E)
jiri.plucha
Příspěvky: 16
Registrován: 11. 7. 2020, 1:37

4. 1. 2024, 10:55

Že to posílám opačným směrem mě napadlo a po každém pokusu, kdy něco změním polaritu přehazuju, ikdyž jsem se snažil podle manuálů, aby byla dobře.

Encodery se mi zdají funkční, normálně měří. Když s vypnutou osou pohnu, dělají, to co mají.

Myslel jsem, že měkké PID bych mohl pro pokus vyřešit velkým FEROREM, takže během pár centimetrů by se měly motory najít.

Aby mi to nenamlátilo, změnil jsem output scale takhle, tím by to mohlo být?

Kód: Vybrat vše

OUTPUT_SCALE = 2.0
OUTPUT_MIN_LIMIT = -2.0
OUTPUT_MAX_LIMIT = 2.0
Všechno to vypadá takhle:

Kód: Vybrat vše

[AXIS_X]
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 150.0
MIN_LIMIT = -1
MAX_LIMIT = 50

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 50.0
MIN_FERROR = 10.0
#MIN_FERROR = 1.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 150.0
P = 60.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
ENCODER_SCALE = 341.3333
OUTPUT_SCALE = 2.0
OUTPUT_MIN_LIMIT = -2.0
OUTPUT_MAX_LIMIT = 2.0
MIN_LIMIT = -5
MAX_LIMIT = 100
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -0.050000
HOME_LATCH_VEL = -0.016667
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1

Uživatelský avatar
gekonko
Příspěvky: 335
Registrován: 24. 10. 2014, 11:23
Bydliště: Bratislava

4. 1. 2024, 11:01

Mal by si tam mat aj integracnu zlozku nerovnu nule
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22399
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

4. 1. 2024, 11:39

musis si vydefinovat ten output scale aby jsi to mel treba v otackach nebo v napeti
proste neco co muzes overit
tzn treba 10 na output scale je 10V vystup
takze kdyz pidka vynda hodnotu 5 na svuj output mel bys na mese namerit 5V a to budou nejake otacky serva - realene 1/2 maximalnich
pak zacni ladit PID slozky
I jak bylo zminene musi byt nenulove
P samozrejme taky nejake trosku vyssi
zkontroluj si ty limity atd... aby to odpovidalo
Vsechna prava na chyby vyhrazena (E)
Odpovědět

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