Контактный сканер с помощью EMC2

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение gendos »

При запуске EMC выдает
Can not find -sec EMC -var NML_FILE -num 1
сканер.hal:107: Pin 'hm2_7i43.0.encoder.03.position' was already linked to signal 'motion-ai'
1521
PID TTY STAT TIME COMMAND
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение gendos »

А как в моем варианте "через halsampler "
сделать в координатах по три цифры после запятой?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение nkp »

gendos писал(а):сделать в координатах по три цифры после запятой?
посмотри здесь
gendos писал(а):сканер.hal:107: Pin 'hm2_7i43.0.encoder.03.position' was already linked to signal 'motion-ai'
может у тебя эта строка 2 раза прописана

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

net motion-ai <= hm2_7i43.0.encoder.03.position => motion.analog-in-00
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение gendos »

nkp писал(а):
gendos писал(а):сделать в координатах по три цифры после запятой?
посмотри здесь


У меня на экране три цифры после запятой,а в сохраненном файле координат 6

-1.144737 5836.863958 48.640533
Возможно из за этого у меня программа их открыть не может
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение nkp »

так выложи файл - попробуем
ЗЫ я значит изначально вопрос не понял :)
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение gendos »

В файле первая колонка радиус,вторая угол в градусах,третья координата Х
Но мне конечно нужно чтоб EMC записывала в файл координаты не более 3 цифр после запятой,
но это можно и потом попытаться сделать.
Вложения
filename.zip
(2.5 МБ) 410 скачиваний
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение Nick »

Скинь все свои hal файлы.
И жеслательно запаковывай из tar.gz. zip иногда ломает русские имена файлов.
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение gendos »

Вот hal один через halsampler,другой через probe-in
Вложения
halsampler.hal.tar.gz
(2.11 КБ) 1111 скачиваний
через probe-in.hal.tar.gz
(1.43 КБ) 1084 скачивания
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение nkp »

вот твой файл
f23.txt
(5.13 МБ) 1002 скачивания
а вот скриптик для "обрезания":

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

#!/usr/bin/python
# -*- coding: utf-8 -*-

f = open(r'/home/nkp/Рабочий стол/f.txt')
lines = f.readlines()
f.close()
x=0
y=214094
while x<y :
	s=lines[x].split()
	z = '%.3f' % float(s[0])
	zz = '%.3f' % float(s[1])
	zzz = '%.3f' % float(s[2])
	ser=' '
	n=(z , zz , zzz ,'\n' )
	k = ser.join(n)
	f = open(r'/home/nkp/Рабочий стол/f23.txt','a')
	f.write(k)
	f.close()
	x=x+1
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение gendos »

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

Re: Контактный сканер с помощью EMC2

Сообщение Nick »

gendos писал(а):Вот hal один через halsampler,другой через probe-in
Ничего не понимаю, а ошибка на каком из них появляется?
Для последнего варианта не нужен не halsampler ни probe. Нужна простая конфигурация на три оси и 1 энкодер. + одна строчка с тем net.

Если один файл или несколько, то можно и не паковать совсем :). Запаковывай, только если расширение запрещено или файлов 100 штук.

nkp, это же не python-way!
Вот как надо:

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

#!/usr/bin/python
# -*- coding: utf-8 -*-

f = open(r'/home/nkp/Рабочий стол/f.txt') # открываем первый файл
f1 = open(r'/home/nkp/Рабочий стол/f23.txt') # открываем второй файл
for s in f.readlines() :  # цикл по строчкам файла
	s = " ".join(['%.3f' % i for i in s.split()]) # s = объединить массив через " ", сам массив это разбитая строка, и для каждого элемента делаем '%.3f' % i
	f.write(s) # пишем в файл 
f.close() # и закрываем оба файла
f1.close()	
О, кстати, наверное можно вообще вот так сделать: :hehehe:

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

f = open(r'/home/nkp/Рабочий стол/f.txt')
f1 = open(r'/home/nkp/Рабочий стол/f23.txt')
f1.writelines([ " ".join(['%.3f' % i for i in s.split()]) for s in f.readlines() ])
f.close()
f1.close()	
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение nkp »

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

Re: Контактный сканер с помощью EMC2

Сообщение Nick »

nkp писал(а):он работает :)
Черт, и тут меня сделали :hehehe:
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение gendos »

Ошибка появляется в этом hal,
Он не через probe (я его просто так обозвал)
Сейчас попробую создать новую конфигурацию
Вложения
через probe-in.hal
(4.44 КБ) 1055 скачиваний
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение Nick »

Попробуй вместо :

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

net motion-ai <= hm2_7i43.0.encoder.03.position => motion.analog-in-00
написать просто

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

net y-pos-fb => motion.analog-in-00
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение gendos »

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

Re: Контактный сканер с помощью EMC2

Сообщение Nick »

А что не получается?
Ждем твоего возвращения :)
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение gendos »

Создал заново конфигурацию
если в HAL
net motion-ai <= hm2_7i43.0.encoder.03.position => motion.analog-in-00

то выдает ошибку
сканер.hal:110: Pin 'hm2_7i43.0.encoder.03.position' was already linked to signal 'y-pos-fb'

если
net y-pos-fb => motion.analog-in-00
то после запуска G кода
(LOGOPEN,filename.txt)
#<x0> = 0
#<w> = 5
#<y0> = 0
#<h> = 5

#<stepx> = 1
#<stepy> = 1

#<x> = #<x0>
O<scanx> WHILE [#<x> LT [#<x0> + #<w>]]
G0 X#<x>
#<y> = #<y0>
O<scany> WHILE [#<y> LT [#<y0> + #<h>]]
G0 a#<y>
(LOG, X#5420 Y#5421 a#5423)
(В параметрах 5420-5428 храняться текущие координаты по XYZABCUVW)
#<y> = [#<y> + #<stepy>]
O<scany> ENDWHILE
#<x> = [#<x> + #<stepx>]
O<scanx> ENDWHILE
(LOGCLOSE)
M02

в текстовом файле координаты Y 00000000
При этом цифры на дисплее меняются
Если не запускать G код ,а двигать рукой энкодер на дисплее Y цифры тоже меняются.
Вот мой HAL
Вложения
сканер.hal
(8.91 КБ) 1035 скачиваний
Последний раз редактировалось gendos 14 янв 2013, 23:47, всего редактировалось 2 раза.
gendos
Мастер
Сообщения: 1117
Зарегистрирован: 06 июл 2011, 15:26
Репутация: 81
Настоящее имя: Геннадий
Откуда: Ростов-на-дону
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение gendos »

Еще хотел спросить,после того как запущу сканер с контактным роликом,хочу попробовать вместо ролика и энкодера
поставить лазерный дальномер.
Возможно ли его подключить к мессе если пишут что у него аналоговый выход 0-10V
Вложения
bod_26k.pdf
(221.58 КБ) 805 скачиваний
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Контактный сканер с помощью EMC2

Сообщение nkp »

а с этим хал файлом этот скрипт
пробовал ??
Ответить

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