MESA 7i76E для начинающих

Работа с платами MESA, подключение, конфигурация.
beltendo
Новичок
Сообщения: 18
Зарегистрирован: 12 май 2014, 21:01
Репутация: 1
Контактная информация:

MESA 7i76E для начинающих

Сообщение beltendo »

Уважаемые гуру, имеется MESA 7i76E. Помогите пожалуйста начинающему в Linuxe пошаговой инструкцией с самого начала - как запустить ее на LinuxCNC. В нете не нашел ничего вразумительного. Заранее спасибо.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение Nick »

1. Установить LinuxCNC с параметром uspace эт
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Uspace

UPD надо установить LinuxCNC с realtime with rt-preempt
2. Потом загружаешь спец компопнент hm2_eth.
3. Также надо выполнить все из manual.... у меня такое ощущение, что там было что-то про iptables...
4. Конфигурацию hal можно сделать на pncconf как для обычной 7i76, потом просто заменой заменить везде приставку hm2_5i25 на hm2_7i76e.

Проверить, что плата завелась можно простым питоновским скриптом: (из мануала)

Код: Выделить всё

import socket
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)
sip = "192.168.1.121"
sport = 27181
s.settimeout(.2)
while(2 >0):
sdata = raw_input ('>')
sdata = sdata.decode('hex')
s.sendto(sdata,(sip,sport))
try:
data,addr = s.recvfrom(1280)
print ('>'),data.encode('hex')
except socket.timeout:
print ('No answer')
Sample run:
>01420001 ; read hostmot2 cookie at 0x100
> fecaaa55 ; 7I76E returns 0x55AACAFE
>82492000 ; read EEPROM IP address at 0x0020
> 450a5863 ; 63:58:0A:45 = 99.88.10.69
          ;(for example)
>01D91A00025A82C920000100a8C0 ; write EEPROM IP address
;(at 0x0020) with
; C0:A8:0:1 = 192.168.0.1


ЗЫ только с тебя потом статья в вики! (Вот сюда надо будет информацию сложить.)
beltendo
Новичок
Сообщения: 18
Зарегистрирован: 12 май 2014, 21:01
Репутация: 1
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение beltendo »

Уважаемый Nick! Огромное спасибо, что откликнулись на мою проблему.Я с удовольствием поделюсь своими результатами когда они состоятся. Но прошу Вас помочь мне более конкретными инструкциями. Какую версию Linux выбрать (я пробую все на ubuntu 12.04lts), откуда и какую загрузить LinuxCNC и hm2_eth и как их инсталировать. Я понимаю, что мои вопросы наивны, но прошу Вас о помощи.
ЗЫ В emc2 имею опыт работы только пользователя на установленной системе.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение Nick »

Лучше всего взять последнюю версию с debian, по крайней мере, я делал на ней и у меня все получилось :).
1. поставь систему. хотя... наверное можно и на твоей попробовать...

2.... можно попробовать загрузить собранную версию от build bot linuxcnc http://buildbot.linuxcnc.org/.
нужна вот эта:
Wheezy (realtime with rt-preempt)
architectures: amd64
deb http://buildbot.linuxcnc.org/ wheezy master-rtpreempt
deb-src http://buildbot.linuxcnc.org/ wheezy master-rtpreempt
Как у тебя вообще с linux?
beltendo
Новичок
Сообщения: 18
Зарегистрирован: 12 май 2014, 21:01
Репутация: 1
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение beltendo »

С Linux я 0+, к сожалению
beltendo
Новичок
Сообщения: 18
Зарегистрирован: 12 май 2014, 21:01
Репутация: 1
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение beltendo »

Nick писал(а):Лучше всего взять последнюю версию с debian, по крайней мере, я делал на ней и у меня все получилось :).
1. поставь систему. хотя... наверное можно и на твоей попробовать...

2.... можно попробовать загрузить собранную версию от build bot linuxcnc http://buildbot.linuxcnc.org/.
нужна вот эта:
Wheezy (realtime with rt-preempt)
architectures: amd64
deb http://buildbot.linuxcnc.org/ wheezy master-rtpreempt
deb-src http://buildbot.linuxcnc.org/ wheezy master-rtpreempt
Я это и пробую, но не хватает элементарных знаний - как это загружать и устанавливать..
beltendo
Новичок
Сообщения: 18
Зарегистрирован: 12 май 2014, 21:01
Репутация: 1
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение beltendo »

Все сделал по инструкции, но ..

demytro@demytro-System-Product-Name:~$ sudo apt-get install linuxcnc
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Пакет linuxcnc недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list

E: Для пакета «linuxcnc» не найден кандидат на установку
demytro@demytro-System-Product-Name:~$ sudo apt-get install linuxcnc-sim
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Пакет linuxcnc-sim недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list

E: Для пакета «linuxcnc-sim» не найден кандидат на установку
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение Nick »

Тогда лучше поставь версию на debian с linuxcnc.org. Т.к. в 12.04 придется много что менять...
beltendo
Новичок
Сообщения: 18
Зарегистрирован: 12 май 2014, 21:01
Репутация: 1
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение beltendo »

Поставил, но вот загвоздка, на ней ключ не приходит для :
"To use these packages on your computer, first add the buildbot archive signing key to your apt keychain by running this command:
sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key E0EE663E"


dmytro@linux-debian:~$ uname -r
3.4-9-rtai-686-pae

dmytro@linux-debian:~$ sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key E0EE663E
[sudo] password for dmytro:
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.UL5huLOU22 --trustdb-name /etc/apt//trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-jessie-stable.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-squeeze-automatic.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-squeeze-stable.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-wheezy-automatic.gpg --keyring /etc/apt/trusted.gpg.d//debian-archive-wheezy-stable.gpg --keyserver hkp://keys.gnupg.net --recv-key E0EE663E
gpg: запрашиваю ключ E0EE663E с hkp сервера keys.gnupg.net
gpg: ключ E0EE663E: "LinuxCNC Buildbot <nomail@linuxcnc.org>" не изменен
gpg: Всего обработано: 1
gpg: неизмененных: 1
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение torvn77 »

beltendo писал(а):Но прошу Вас помочь мне более конкретными инструкциями. Какую версию Linux выбрать
Здесь можно глянуть на рячно-раскорячную инструкцию с ошибками и подвохами.
единственно что я могу сказатьв своё оправдание как её автор,
когда переуставливал систему я ей реально пользовался как шпаргалкой.
http://vk.com/topic-77252290_30466944
Если что не ясно пиши тут в теме вопрос и пинай меня в личку.

По поводу ОС ставь не i386 а amd64, i386 потихоньку забрасывают.

П.С. Nick, на ЛОРе есть команда cast user_name, может вам и здесь сделать нечто подобное?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение Nick »

beltendo писал(а):gpg: ключ E0EE663E: "LinuxCNC Buildbot <nomail@linuxcnc.org>" не изменен
так может он уже есть?
В принципе, можно и без ключа, просто потом при установке скажет, что ключ не проверенный.

Дальше пробовал?
beltendo
Новичок
Сообщения: 18
Зарегистрирован: 12 май 2014, 21:01
Репутация: 1
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение beltendo »

Еще раз переустановил Debian из binary.hibrid.iso,
выполнил все предложенные обновления,
на buildbot.linuxcnc.org выполнил sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key E0EE663E, но он все равно

Код: Выделить всё

gpg: запрашиваю ключ E0EE663E с hkp сервера keys.gnupg.net
gpg: ключ E0EE663E: "LinuxCNC Buildbot <nomail@linuxcnc.org>" не изменен
gpg: Всего обработано: 1
gpg:                   неизмененных: 1
несмотря на это идем дальше

Код: Выделить всё

sudo apt-get update
и

Код: Выделить всё

sudo apt-get install linuxcnc-uspace
в установках сети указал ip компьютера 192.168.1.1 255.255.255.0
В PNCCONFIG появилась плата 7i76e, создал конфигурацию my7i76,
запустил

Код: Выделить всё

dmytro@debian:~/linuxcnc/configs/my7i76$ linuxcnc my7i76.ini
вот результат:

Код: Выделить всё

dmytro@debian:~/linuxcnc/configs/my7i76$ linuxcnc my7i76.ini
LINUXCNC - 2.8.0-pre1-818-g66ec566
Machine configuration directory is '/home/dmytro/linuxcnc/configs/my7i76'
Machine configuration file is 'my7i76.ini'
Starting LinuxCNC...
Found file:./my7i76.hal
Note: Using POSIX non-realtime
hm2: loading Mesa HostMot2 driver version 0.15
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: Using iptables for exclusive access to network interface
hm2_eth: Hardware address: 00:60:1b:10:40:0e
hm2_eth: discovered 7I76E-16
hm2/hm2_7i76e.0: Smart Serial Firmware Version 43
hm2/hm2_7i76e.0: 51 I/O Pins used:
hm2/hm2_7i76e.0:     IO Pin 000 (P1-01): StepGen #0, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 001 (P1-14): StepGen #0, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 002 (P1-02): StepGen #1, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 003 (P1-15): StepGen #1, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 004 (P1-03): StepGen #2, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 005 (P1-16): StepGen #2, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 006 (P1-04): StepGen #3, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 007 (P1-17): StepGen #3, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 008 (P1-05): StepGen #4, pin Direction (Output)
hm2/hm2_7i76e.0:     IO Pin 009 (P1-06): StepGen #4, pin Step (Output)
hm2/hm2_7i76e.0:     IO Pin 010 (P1-07): IOPort
hm2/hm2_7i76e.0:     IO Pin 011 (P1-08): IOPort
hm2/hm2_7i76e.0:     IO Pin 012 (P1-09): IOPort
hm2/hm2_7i76e.0:     IO Pin 013 (P1-10): IOPort
hm2/hm2_7i76e.0:     IO Pin 014 (P1-11): IOPort
hm2/hm2_7i76e.0:     IO Pin 015 (P1-12): IOPort
hm2/hm2_7i76e.0:     IO Pin 016 (P1-13): IOPort
hm2/hm2_7i76e.0:     IO Pin 017 (P2-01): IOPort
hm2/hm2_7i76e.0:     IO Pin 018 (P2-14): IOPort
hm2/hm2_7i76e.0:     IO Pin 019 (P2-02): IOPort
hm2/hm2_7i76e.0:     IO Pin 020 (P2-15): IOPort
hm2/hm2_7i76e.0:     IO Pin 021 (P2-03): IOPort
hm2/hm2_7i76e.0:     IO Pin 022 (P2-16): IOPort
hm2/hm2_7i76e.0:     IO Pin 023 (P2-04): IOPort
hm2/hm2_7i76e.0:     IO Pin 024 (P2-17): IOPort
hm2/hm2_7i76e.0:     IO Pin 025 (P2-05): IOPort
hm2/hm2_7i76e.0:     IO Pin 026 (P2-06): IOPort
hm2/hm2_7i76e.0:     IO Pin 027 (P2-07): IOPort
hm2/hm2_7i76e.0:     IO Pin 028 (P2-08): IOPort
hm2/hm2_7i76e.0:     IO Pin 029 (P2-09): IOPort
hm2/hm2_7i76e.0:     IO Pin 030 (P2-10): IOPort
hm2/hm2_7i76e.0:     IO Pin 031 (P2-11): IOPort
hm2/hm2_7i76e.0:     IO Pin 032 (P2-12): IOPort
hm2/hm2_7i76e.0:     IO Pin 033 (P2-13): IOPort
hm2/hm2_7i76e.0:     IO Pin 034 (P3-01): IOPort
hm2/hm2_7i76e.0:     IO Pin 035 (P3-14): IOPort
hm2/hm2_7i76e.0:     IO Pin 036 (P3-02): IOPort
hm2/hm2_7i76e.0:     IO Pin 037 (P3-15): IOPort
hm2/hm2_7i76e.0:     IO Pin 038 (P3-03): IOPort
hm2/hm2_7i76e.0:     IO Pin 039 (P3-16): IOPort
hm2/hm2_7i76e.0:     IO Pin 040 (P3-04): IOPort
hm2/hm2_7i76e.0:     IO Pin 041 (P3-17): IOPort
hm2/hm2_7i76e.0:     IO Pin 042 (P3-05): IOPort
hm2/hm2_7i76e.0:     IO Pin 043 (P3-06): IOPort
hm2/hm2_7i76e.0:     IO Pin 044 (P3-07): IOPort
hm2/hm2_7i76e.0:     IO Pin 045 (P3-08): IOPort
hm2/hm2_7i76e.0:     IO Pin 046 (P3-09): IOPort
hm2/hm2_7i76e.0:     IO Pin 047 (P3-10): IOPort
hm2/hm2_7i76e.0:     IO Pin 048 (P3-11): IOPort
hm2/hm2_7i76e.0:     IO Pin 049 (P3-12): IOPort
hm2/hm2_7i76e.0:     IO Pin 050 (P3-13): IOPort
hm2/hm2_7i76e.0: registered
Found file:./custom.hal
hm2/hm2_7i76e.0: Watchdog has bit! (set the .has-bit pin to False to resume)
Запустился, на экране оси забегали. Сейчас попробую с шаговиками.

Смущает последняя строчка hm2/hm2_7i76e.0: Watchdog has bit! (set the .has-bit pin to False to resume).
Что это?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение Nick »

Ура! Заработало! :)
beltendo писал(а):hm2/hm2_7i76e.0: Watchdog has bit! (set the .has-bit pin to False to resume)
Сабака кусается :).
Вообще странно...
Покажи свой hal...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение Nick »

beltendo писал(а):на buildbot.linuxcnc.org выполнил sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key E0EE663E, но он все равно
...
gpg: ключ E0EE663E: "LinuxCNC Buildbot <nomail@linuxcnc.org>" не изменен
gpg: Всего обработано: 1
gpg:                   неизмененных: 1
Эта команда добавляет ключ подписи для проверки подлинности пакетов. И результат команды говорит, что этот ключ уже добавлен. Т.е. все хорошо ;)
beltendo
Новичок
Сообщения: 18
Зарегистрирован: 12 май 2014, 21:01
Репутация: 1
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение beltendo »

ini

Код: Выделить всё

# Generated by PNCconf at Wed Jul 22 15:31:55 2015
# Все изменения в этом файле будут перезаписаны
# overwritten when you run PNCconf again

[EMC]
MACHINE = my_LinuxCNC_machine
DEBUG = 0

[DISPLAY]
DISPLAY = axis
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 1.000000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/dmytro/linuxcnc/nc_files
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 0.250000
MAX_LINEAR_VELOCITY = 1.000000
MIN_LINEAR_VELOCITY = 0.010000
DEFAULT_ANGULAR_VELOCITY = 0.250000
MAX_ANGULAR_VELOCITY = 1.000000
MIN_ANGULAR_VELOCITY = 0.010000
EDITOR = gedit
GEOMETRY = xyz

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[RS274NGC]
PARAMETER_FILE = linuxcnc.var

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
SERVO_PERIOD = 1000000

[HOSTMOT2]
# **** This is for info only ****
# DRIVER0=hm2_eth
# BOARD0=7i76e

[HAL]
HALUI = halui
HALFILE = my_LinuxCNC_machine.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal

[HALUI]

[TRAJ]
AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 0.10
MAX_LINEAR_VELOCITY = 1.00

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

#********************
# Axis X
#********************
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 1.25
STEPGEN_MAXACCEL = 37.50
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 1.25
# these are in nanoseconds
DIRSETUP   = 1000
DIRHOLD    = 1000
STEPLEN    = 1000
STEPSPACE  = 1000
STEP_SCALE = 300.0
MIN_LIMIT = -0.001
MAX_LIMIT = 8000.0
HOME_OFFSET = 0.0

#********************
# Axis Y
#********************
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 1.25
STEPGEN_MAXACCEL = 37.50
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 1.25
# these are in nanoseconds
DIRSETUP   = 1000
DIRHOLD    = 1000
STEPLEN    = 1000
STEPSPACE  = 1000
STEP_SCALE = 200.0
MIN_LIMIT = -0.001
MAX_LIMIT = 8000.0
HOME_OFFSET = 0.0

#********************
# Axis Z
#********************
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 1.25
STEPGEN_MAXACCEL = 37.50
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 1.25
# these are in nanoseconds
DIRSETUP   = 1000
DIRHOLD    = 1000
STEPLEN    = 1000
STEPSPACE  = 1000
STEP_SCALE = 200.0
MIN_LIMIT = -4.0
MAX_LIMIT = 20.001
HOME_OFFSET = 0.0

#********************
# Spindle 
#********************
[SPINDLE_9]
P = 0
I = 0
D = 0
FF0 = 1
FF1 = 0
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 2000
hal

Код: Выделить всё

# Generated by PNCconf at Wed Jul 22 15:31:55 2015
# Все изменения в этом файле будут перезаписаны
# overwritten when you run PNCconf again

loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hostmot2
loadrt hm2_eth board_ip="192.168.1.121" config="firmware=hm2/7i76/7i76e.BIT num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=00xxxx" 
setp    hm2_7i76e.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.y,pid.z,pid.s

addf hm2_7i76e.0.read          servo-thread
addf motion-command-handler   servo-thread
addf motion-controller        servo-thread
addf pid.x.do-pid-calcs       servo-thread
addf pid.y.do-pid-calcs       servo-thread
addf pid.z.do-pid-calcs       servo-thread
addf pid.s.do-pid-calcs       servo-thread
addf hm2_7i76e.0.write         servo-thread
setp hm2_7i76e.0.dpll.01.timer-us -50
setp hm2_7i76e.0.stepgen.timer-number 1

# external output signals


# external input signals


#*******************
#  AXIS X
#*******************

setp   pid.x.Pgain     [AXIS_0]P
setp   pid.x.Igain     [AXIS_0]I
setp   pid.x.Dgain     [AXIS_0]D
setp   pid.x.bias      [AXIS_0]BIAS
setp   pid.x.FF0       [AXIS_0]FF0
setp   pid.x.FF1       [AXIS_0]FF1
setp   pid.x.FF2       [AXIS_0]FF2
setp   pid.x.deadband  [AXIS_0]DEADBAND
setp   pid.x.maxoutput [AXIS_0]MAX_OUTPUT
setp   pid.x.error-previous-target true
setp   pid.x.maxerror .0005

net x-index-enable  <=> pid.x.index-enable
net x-enable        =>  pid.x.enable
net x-pos-cmd       =>  pid.x.command
net x-vel-cmd       =>  pid.x.command-deriv
net x-pos-fb        =>  pid.x.feedback
net x-output        =>  pid.x.output

# Step Gen signals/setup

setp   hm2_7i76e.0.stepgen.00.dirsetup        [AXIS_0]DIRSETUP
setp   hm2_7i76e.0.stepgen.00.dirhold         [AXIS_0]DIRHOLD
setp   hm2_7i76e.0.stepgen.00.steplen         [AXIS_0]STEPLEN
setp   hm2_7i76e.0.stepgen.00.stepspace       [AXIS_0]STEPSPACE
setp   hm2_7i76e.0.stepgen.00.position-scale  [AXIS_0]STEP_SCALE
setp   hm2_7i76e.0.stepgen.00.step_type        0
setp   hm2_7i76e.0.stepgen.00.control-type     1
setp   hm2_7i76e.0.stepgen.00.maxaccel         [AXIS_0]STEPGEN_MAXACCEL
setp   hm2_7i76e.0.stepgen.00.maxvel           [AXIS_0]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net x-pos-cmd    <= axis.0.motor-pos-cmd
net x-vel-cmd    <= axis.0.joint-vel-cmd
net x-output     <= hm2_7i76e.0.stepgen.00.velocity-cmd
net x-pos-fb     <= hm2_7i76e.0.stepgen.00.position-fb
net x-pos-fb     => axis.0.motor-pos-fb
net x-enable     <= axis.0.amp-enable-out
net x-enable     => hm2_7i76e.0.stepgen.00.enable

# ---setup home / limit switch signals---

net x-home-sw     =>  axis.0.home-sw-in
net x-neg-limit     =>  axis.0.neg-lim-sw-in
net x-pos-limit     =>  axis.0.pos-lim-sw-in

#*******************
#  AXIS Y
#*******************

setp   pid.y.Pgain     [AXIS_1]P
setp   pid.y.Igain     [AXIS_1]I
setp   pid.y.Dgain     [AXIS_1]D
setp   pid.y.bias      [AXIS_1]BIAS
setp   pid.y.FF0       [AXIS_1]FF0
setp   pid.y.FF1       [AXIS_1]FF1
setp   pid.y.FF2       [AXIS_1]FF2
setp   pid.y.deadband  [AXIS_1]DEADBAND
setp   pid.y.maxoutput [AXIS_1]MAX_OUTPUT
setp   pid.y.error-previous-target true
setp   pid.y.maxerror .0005

net y-index-enable  <=> pid.y.index-enable
net y-enable        =>  pid.y.enable
net y-pos-cmd       =>  pid.y.command
net y-vel-cmd       =>  pid.y.command-deriv
net y-pos-fb        =>  pid.y.feedback
net y-output        =>  pid.y.output

# Step Gen signals/setup

setp   hm2_7i76e.0.stepgen.01.dirsetup        [AXIS_1]DIRSETUP
setp   hm2_7i76e.0.stepgen.01.dirhold         [AXIS_1]DIRHOLD
setp   hm2_7i76e.0.stepgen.01.steplen         [AXIS_1]STEPLEN
setp   hm2_7i76e.0.stepgen.01.stepspace       [AXIS_1]STEPSPACE
setp   hm2_7i76e.0.stepgen.01.position-scale  [AXIS_1]STEP_SCALE
setp   hm2_7i76e.0.stepgen.01.step_type        0
setp   hm2_7i76e.0.stepgen.01.control-type     1
setp   hm2_7i76e.0.stepgen.01.maxaccel         [AXIS_1]STEPGEN_MAXACCEL
setp   hm2_7i76e.0.stepgen.01.maxvel           [AXIS_1]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net y-pos-cmd    <= axis.1.motor-pos-cmd
net y-vel-cmd    <= axis.1.joint-vel-cmd
net y-output     <= hm2_7i76e.0.stepgen.01.velocity-cmd
net y-pos-fb     <= hm2_7i76e.0.stepgen.01.position-fb
net y-pos-fb     => axis.1.motor-pos-fb
net y-enable     <= axis.1.amp-enable-out
net y-enable     => hm2_7i76e.0.stepgen.01.enable

# ---setup home / limit switch signals---

net y-home-sw     =>  axis.1.home-sw-in
net y-neg-limit     =>  axis.1.neg-lim-sw-in
net y-pos-limit     =>  axis.1.pos-lim-sw-in

#*******************
#  AXIS Z
#*******************

setp   pid.z.Pgain     [AXIS_2]P
setp   pid.z.Igain     [AXIS_2]I
setp   pid.z.Dgain     [AXIS_2]D
setp   pid.z.bias      [AXIS_2]BIAS
setp   pid.z.FF0       [AXIS_2]FF0
setp   pid.z.FF1       [AXIS_2]FF1
setp   pid.z.FF2       [AXIS_2]FF2
setp   pid.z.deadband  [AXIS_2]DEADBAND
setp   pid.z.maxoutput [AXIS_2]MAX_OUTPUT
setp   pid.z.error-previous-target true
setp   pid.z.maxerror .0005

net z-index-enable  <=> pid.z.index-enable
net z-enable        =>  pid.z.enable
net z-pos-cmd       =>  pid.z.command
net z-vel-cmd       =>  pid.z.command-deriv
net z-pos-fb        =>  pid.z.feedback
net z-output        =>  pid.z.output

# Step Gen signals/setup

setp   hm2_7i76e.0.stepgen.02.dirsetup        [AXIS_2]DIRSETUP
setp   hm2_7i76e.0.stepgen.02.dirhold         [AXIS_2]DIRHOLD
setp   hm2_7i76e.0.stepgen.02.steplen         [AXIS_2]STEPLEN
setp   hm2_7i76e.0.stepgen.02.stepspace       [AXIS_2]STEPSPACE
setp   hm2_7i76e.0.stepgen.02.position-scale  [AXIS_2]STEP_SCALE
setp   hm2_7i76e.0.stepgen.02.step_type        0
setp   hm2_7i76e.0.stepgen.02.control-type     1
setp   hm2_7i76e.0.stepgen.02.maxaccel         [AXIS_2]STEPGEN_MAXACCEL
setp   hm2_7i76e.0.stepgen.02.maxvel           [AXIS_2]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net z-pos-cmd    <= axis.2.motor-pos-cmd
net z-vel-cmd    <= axis.2.joint-vel-cmd
net z-output     <= hm2_7i76e.0.stepgen.02.velocity-cmd
net z-pos-fb     <= hm2_7i76e.0.stepgen.02.position-fb
net z-pos-fb     => axis.2.motor-pos-fb
net z-enable     <= axis.2.amp-enable-out
net z-enable     => hm2_7i76e.0.stepgen.02.enable

# ---setup home / limit switch signals---

net z-home-sw     =>  axis.2.home-sw-in
net z-neg-limit     =>  axis.2.neg-lim-sw-in
net z-pos-limit     =>  axis.2.pos-lim-sw-in

#*******************
#  SPINDLE S
#*******************

setp   pid.s.Pgain     [SPINDLE_9]P
setp   pid.s.Igain     [SPINDLE_9]I
setp   pid.s.Dgain     [SPINDLE_9]D
setp   pid.s.bias      [SPINDLE_9]BIAS
setp   pid.s.FF0       [SPINDLE_9]FF0
setp   pid.s.FF1       [SPINDLE_9]FF1
setp   pid.s.FF2       [SPINDLE_9]FF2
setp   pid.s.deadband  [SPINDLE_9]DEADBAND
setp   pid.s.maxoutput [SPINDLE_9]MAX_OUTPUT
setp   pid.s.error-previous-target true
setp   pid.s.maxerror .0005

net spindle-index-enable  <=> pid.s.index-enable
net spindle-enable        =>  pid.s.enable
net spindle-vel-cmd-rpm     => pid.s.command
net spindle-vel-fb-rpm      => pid.s.feedback
net spindle-output        <=  pid.s.output

# ---setup spindle control signals---

net spindle-vel-cmd-rps        <=  motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs    <=  motion.spindle-speed-out-rps-abs
net spindle-vel-cmd-rpm        <=  motion.spindle-speed-out
net spindle-vel-cmd-rpm-abs    <=  motion.spindle-speed-out-abs
net spindle-enable             <=  motion.spindle-on
net spindle-cw                 <=  motion.spindle-forward
net spindle-ccw                <=  motion.spindle-reverse
net spindle-brake              <=  motion.spindle-brake
net spindle-revs               =>  motion.spindle-revs
net spindle-at-speed           =>  motion.spindle-at-speed
net spindle-vel-fb-rps         =>  motion.spindle-speed-in
net spindle-index-enable      <=>  motion.spindle-index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true


#******************************
# connect miscellaneous signals
#******************************

#  ---HALUI signals---

net joint-select-a        halui.joint.0.select
net x-is-homed            halui.joint.0.is-homed
net jog-x-pos             halui.jog.0.plus
net jog-x-neg             halui.jog.0.minus
net jog-x-analog          halui.jog.0.analog
net joint-select-b        halui.joint.1.select
net y-is-homed            halui.joint.1.is-homed
net jog-y-pos             halui.jog.1.plus
net jog-y-neg             halui.jog.1.minus
net jog-y-analog          halui.jog.1.analog
net joint-select-c        halui.joint.2.select
net z-is-homed            halui.joint.2.is-homed
net jog-z-pos             halui.jog.2.plus
net jog-z-neg             halui.jog.2.minus
net jog-z-analog          halui.jog.2.analog
net jog-selected-pos      halui.jog.selected.plus
net jog-selected-neg      halui.jog.selected.minus
net spindle-manual-cw     halui.spindle.forward
net spindle-manual-ccw    halui.spindle.reverse
net spindle-manual-stop   halui.spindle.stop
net machine-is-on         halui.machine.is-on
net jog-speed             halui.jog-speed 
net MDI-mode              halui.mode.is-mdi

#  ---coolant signals---

net coolant-mist      <=  iocontrol.0.coolant-mist
net coolant-flood     <=  iocontrol.0.coolant-flood

#  ---probe signal---

net probe-in     =>  motion.probe-input

#  ---motion control signals---

net in-position               <=  motion.in-position
net machine-is-enabled        <=  motion.motion-enabled

#  ---digital in / out signals---

#  ---estop signals---

net estop-out     <=  iocontrol.0.user-enable-out
net estop-out     =>  iocontrol.0.emc-enable-in

#  ---manual tool change signals---

loadusr -W hal_manualtoolchange
net tool-change-request     iocontrol.0.tool-change       =>  hal_manualtoolchange.change
net tool-change-confirmed   iocontrol.0.tool-changed      <=  hal_manualtoolchange.changed
net tool-number             iocontrol.0.tool-prep-number  =>  hal_manualtoolchange.number
net tool-prepare-loopback   iocontrol.0.tool-prepare      =>  iocontrol.0.tool-prepared
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение Nick »

beltendo писал(а):setp    hm2_7i76e.0.watchdog.timeout_ns 5000000
может это по больше сделать? Это стандартное значение?
beltendo
Новичок
Сообщения: 18
Зарегистрирован: 12 май 2014, 21:01
Репутация: 1
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение beltendo »

Nick писал(а):Ура! Заработало! :)
beltendo писал(а):hm2/hm2_7i76e.0: Watchdog has bit! (set the .has-bit pin to False to resume)
Сабака кусается :).
Вообще странно...
Покажи свой hal...
Забыл упомянуть: теперь предлагается два варианта загрузки системы.

Но эта ошибка выскакивает только при загрузке 3.4-9.
При 3.2.0 - все ровно
Вложения
20150723_101621.jpg (16092 просмотра) <a class='original' href='./download/file.php?id=54648&sid=3fd1e1d3c88573189f987b797fe1072a&mode=view' target=_blank>Загрузить оригинал (229.72 КБ)</a>
beltendo
Новичок
Сообщения: 18
Зарегистрирован: 12 май 2014, 21:01
Репутация: 1
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение beltendo »

Nick писал(а):
beltendo писал(а):setp    hm2_7i76e.0.watchdog.timeout_ns 5000000
может это по больше сделать? Это стандартное значение?
Прекратила выскакивать ошибка при setp hm2_7i76e.0.watchdog.timeout_ns 15000000.
Это нормальное значение? И почему ее нет при версии 3.2.0?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение Nick »

Быстрее что-то подгружается.
в принципе значение нормальное, это около 0.015 с, если плата не ответит в течении 0,015с то будет авост.
beltendo
Новичок
Сообщения: 18
Зарегистрирован: 12 май 2014, 21:01
Репутация: 1
Контактная информация:

Re: MESA 7i76E для начинающих

Сообщение beltendo »

Пробовал подключить шаговики - молчат. :eh:
На выходах TB2 0..3 S+- D+- осциллограф показывает постоянные 5v
Последний раз редактировалось beltendo 23 июл 2015, 13:13, всего редактировалось 1 раз.
Ответить

Вернуться в «MESA»