Контактный сканер с помощью EMC2
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
При запуске 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
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
А как в моем варианте "через halsampler "
сделать в координатах по три цифры после запятой?
сделать в координатах по три цифры после запятой?
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Контактный сканер с помощью EMC2
посмотри здесьgendos писал(а):сделать в координатах по три цифры после запятой?
может у тебя эта строка 2 раза прописанаgendos писал(а):сканер.hal:107: Pin 'hm2_7i43.0.encoder.03.position' was already linked to signal 'motion-ai'
Код: Выделить всё
net motion-ai <= hm2_7i43.0.encoder.03.position => motion.analog-in-00-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
посмотри здесьnkp писал(а):gendos писал(а):сделать в координатах по три цифры после запятой?
У меня на экране три цифры после запятой,а в сохраненном файле координат 6
-1.144737 5836.863958 48.640533
Возможно из за этого у меня программа их открыть не может
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Контактный сканер с помощью EMC2
так выложи файл - попробуем
ЗЫ я значит изначально вопрос не понял
ЗЫ я значит изначально вопрос не понял
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
В файле первая колонка радиус,вторая угол в градусах,третья координата Х
Но мне конечно нужно чтоб EMC записывала в файл координаты не более 3 цифр после запятой,
но это можно и потом попытаться сделать.
Но мне конечно нужно чтоб EMC записывала в файл координаты не более 3 цифр после запятой,
но это можно и потом попытаться сделать.
- Вложения
-
- filename.zip
- (2.5 МБ) 410 скачиваний
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Скинь все свои hal файлы.
И жеслательно запаковывай из tar.gz. zip иногда ломает русские имена файлов.
И жеслательно запаковывай из tar.gz. zip иногда ломает русские имена файлов.
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Вот 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
вот твой файл
а вот скриптик для "обрезания":
Код: Выделить всё
#!/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
Спасибо.
Попробовал открыть все равно не получилось,значит количество цифр после запятой здесь не причем.
Тогда пока можно оставить как есть.
Попробовал открыть все равно не получилось,значит количество цифр после запятой здесь не причем.
Тогда пока можно оставить как есть.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Ничего не понимаю, а ошибка на каком из них появляется?gendos писал(а):Вот hal один через halsampler,другой через probe-in
Для последнего варианта не нужен не halsampler ни probe. Нужна простая конфигурация на три оси и 1 энкодер. + одна строчка с тем net.
Если один файл или несколько, то можно и не паковать совсем
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()
Код: Выделить всё
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
нет , ну я же не программист
(но зато у моего скрипта есть пусть маленькое ,но преимущество -
он работает
)
(но зато у моего скрипта есть пусть маленькое ,но преимущество -
он работает
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Черт, и тут меня сделалиnkp писал(а):он работает
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Ошибка появляется в этом hal,
Он не через probe (я его просто так обозвал)
Сейчас попробую создать новую конфигурацию
Он не через probe (я его просто так обозвал)
Сейчас попробую создать новую конфигурацию
- Вложения
-
- через probe-in.hal
- (4.44 КБ) 1055 скачиваний
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Попробуй вместо :
написать просто
Код: Выделить всё
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
Пока не получается.
Сейчас уезжаю,на три дня .Приеду продолжу.
Сейчас уезжаю,на три дня .Приеду продолжу.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Контактный сканер с помощью EMC2
А что не получается?
Ждем твоего возвращения
Ждем твоего возвращения
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Создал заново конфигурацию
если в 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
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
Еще хотел спросить,после того как запущу сканер с контактным роликом,хочу попробовать вместо ролика и энкодера
поставить лазерный дальномер.
Возможно ли его подключить к мессе если пишут что у него аналоговый выход 0-10V
поставить лазерный дальномер.
Возможно ли его подключить к мессе если пишут что у него аналоговый выход 0-10V
- Вложения
-
- bod_26k.pdf
- (221.58 КБ) 805 скачиваний
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Контактный сканер с помощью EMC2
а с этим хал файлом этот скрипт
пробовал ??
пробовал ??
