ЧПУ пульты

Контроллеры, драйверы, датчики, управляющие устройства.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: ЧПУ пульты

Сообщение 2cme »

Тима писал(а):что ты хочешь отображать на цветном экране на пульте?
Правильный вопрос.
Тима писал(а):О режимах я тоже писал! 3 режима управления: комп, джойстик, штурвал! При работе станка по г-коду на пульте будет только отображение координат, скорости шпинделя и режима работы(т.е. "от компа"), кнопки работать не будут, кроме Е-СТОП!
В режиме "джойстик", работают кнопки и джойстик, в режиме "штурвал" - тонкая подгонка работают кнопки, штурвал и помимо координат отображаются режим работы и шаг энкодера! Для данной задачи думаю хватит и моего экрана.
Польт должен быть простым (чтобы не перегружать восприятие оператора) и эффективным, а главное надежным (один из важных параметров, т.к. порой заготовка стоит дорого как собственно и уже выполненные тех операции).
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: ЧПУ пульты

Сообщение Тима »

Так, продолжаем мучения!
Приехала ардуина НАНО, на нем проверил все, что пробовал на меге2560... ВСЕ РОБИТ!!!
Теперь надо отвязать выхода ардуины, привязать их данные к переменным и попробовать вывести через них координаты на экран!
Наверное буду пробовать завтра в ночную!
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: ЧПУ пульты

Сообщение Тима »

Как и писалось выше, мучения продолжаются!
Подключил свой экран к ардуино-нано, все(почти) работает!
Сейчас пытаюсь написать новый скрипт на питоне, чтоб создать компоненты(для начала один), которые отображались бы в емс, и чтоб их можно было кинуть на экран.
пробую как написано здесь: ЧПУ пульты #802 ЕМС выкидывает ошибку.
Прошу помочь ГУРУ питона и объяснить, как создать компонент для ЕМС в питоне???
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: ЧПУ пульты

Сообщение Nick »

Ошибку в студию!

Возьми как пример:

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

#!/usr/bin/python
import hal, time
h = hal.component("passthrough")  # создаем компонент 
h.newpin("in", hal.HAL_FLOAT, hal.HAL_IN) # добавляем к нему пины
h.newpin("out", hal.HAL_FLOAT, hal.HAL_OUT) # и еще 1 пин
h.ready() # говорим, что компонент готов
try: # основной  цикл
    while 1: # бесконечный цикл до ошибки  
        time.sleep(1) #  ждем 1 сек (можно меньше) 
        h['out'] = h['in']  #  назначаем значения пинов
except KeyboardInterrupt:  #  обработка исключений 
    raise SystemExit
Все отсюда : http://www.linuxcnc.org/docs/2.4/html/h ... odule.html
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: ЧПУ пульты

Сообщение Тима »

На твой скрипт пишет так:
Снимок.png (2422 просмотра) <a class='original' href='./download/file.php?id=11287&mode=view' target=_blank>Загрузить оригинал (395.34 КБ)</a>
Почему-то скопировать текст не получается
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: ЧПУ пульты

Сообщение nkp »

Тима писал(а):создать компонент для ЕМС в питоне???
и выше в теме уже обсуждали
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: ЧПУ пульты

Сообщение Тима »

nkp писал(а):и выше в теме уже обсуждали
Уже пробовал, пишу в питоне, как указано выше в теме. Указываю в хал ЕМС запуск питоновского файла, запускаю - выдает ошибку!
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: ЧПУ пульты

Сообщение nkp »

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

Re: ЧПУ пульты

Сообщение Nick »

Надо вверху файла написать: # -*- coding: utf8 -*-
Это все из-за русских буков в файле.
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: ЧПУ пульты

Сообщение Тима »

nkp писал(а):не найдешь - выкладывай сюда - вместе поищем
Так выложил постом выше! Скопировать текст не получилось, сделал скриншот! Или я что-то не то выложил?
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: ЧПУ пульты

Сообщение Тима »

Теперь так:

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

Debug file information:
Can not find -sec TASK -var TASK_LD_PRELOAD -num 1 
Can not find -sec DISPLAY -var DISPLAY_LD_PRELOAD -num 1 
Waiting for component 'arduino' to become ready.............................................................................................................................................................................................................................................................................................................
мой-станок.hal:101: python exited without becoming ready
Stopping realtime threads
RTAPI: ERROR: could not open shared memory (errno=2)
/usr/bin/emc: строка 412: 12920 Ошибка сегментирования                   $HALCMD stop
Unloading hal components
RTAPI: ERROR: could not open shared memory (errno=2)
/usr/bin/emc: строка 412: 12929 Ошибка сегментирования                   $HALCMD unload all
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)
RTAPI: ERROR: could not open shared memory (errno=2)

Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: ЧПУ пульты

Сообщение nkp »

я просто не понял - а вклинился ;)
так ты загружаешь вот этот код? :

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

#!/usr/bin/python
import hal, time
h = hal.component("passthrough")  # создаем компонент 
h.newpin("in", hal.HAL_FLOAT, hal.HAL_IN) # добавляем к нему пины
h.newpin("out", hal.HAL_FLOAT, hal.HAL_OUT) # и еще 1 пин
h.ready() # говорим, что компонент готов
try: # основной  цикл
    while 1: # бесконечный цикл до ошибки  
        time.sleep(1) #  ждем 1 сек (можно меньше) 
        h['out'] = h['in']  #  назначаем значения пинов
except KeyboardInterrupt:  #  обработка исключений 
    raise SystemExit
тогда файл должен называться "passthrough.py"
и в хал прописывать соответственно
loadusr тра-та-та --------------- passthrough.py
если я совсем не о том - то пойду спать :hehehe:
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: ЧПУ пульты

Сообщение Тима »

погоди спать! кроме Вас мне помочь некому, а я в ночную работаю и мучиться мне до утра!!!
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: ЧПУ пульты

Сообщение Тима »

nkp писал(а):файл должен называться "passthrough.py"
и в хал прописывать соответственно
loadusr тра-та-та --------------- passthrough.py
Спасибо!!! Все получилось! Теперь буду пробовать передавать ардуине!
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: ЧПУ пульты

Сообщение nkp »

Тима писал(а):Теперь буду пробовать передавать ардуине!
только много ей сразу не передавай - растяни до утра :hehehe:
удачи!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: ЧПУ пульты

Сообщение Тима »

nkp писал(а):только много ей сразу не передавай
Ну, это если она мне отдастся... :-)
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: ЧПУ пульты

Сообщение Тима »

Мужики, уже мозги вскипают :freak:
Вот скетч для ардуины:

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

#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
int in=0;
int ledPin=13;
 
void setup()
{  
  Serial.begin(9600);
  pinMode(ledPin,OUTPUT); 
}
void loop()
{  
  if (Serial.available() )
  {
    
    in = Serial.read();
    lcd.setCursor(4, 1);
     lcd.print("X = " );
     lcd.print(in);
     delay(10);
    
    if (in=='1')
    {
      digitalWrite(ledPin, HIGH);
    }    
    if (in=='0')
    {
      digitalWrite(ledPin, LOW);
    }
  }
}
Согласно ему при вводе в через монитор порта символа "1", должен включится светодиод пина 13 и вывезти на экран "Х=1", а при вводе "0" светодиод должен погаснуть и на экран вывезти "Х=0"
Со светодиодом все работает, а вот на экран выводит хрен знает что...
Т.е. шлем в порт "1" - загорается светодиод и на экран выводит "Х=49", шлем "0" - светодиод гаснет и выводит "Х=48"... :pssdoff:
пробовал и другие цифры, на "2" выводит 50, на "3" - 51 итд
Че за :silent:...
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Fisher
Почётный участник
Почётный участник
Сообщения: 3391
Зарегистрирован: 09 апр 2012, 12:39
Репутация: 424
Откуда: Киров
Контактная информация:

Re: ЧПУ пульты

Сообщение Fisher »

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

Re: ЧПУ пульты

Сообщение Nick »

Может с выводом что-то не так? Может он тупо как байт выводит число?
О, может ему надо base написать:
lcd.print(data, BASE)
Parameters
lcd: a variable of type LiquidCrystal
data: the data to print (char, byte, int, long, or string)
BASE (optional): the base in which to print numbers: BIN for binary (base 2), DEC for decimal (base 10), OCT for octal (base 8), HEX for hexadecimal (base 16).
http://arduino.cc/en/Reference/LiquidCrystalPrint

Или это не та функция lcd?

Кстати, можно для начала для проверки брать из порта переменную и посылать ее обратно, а там проверять.
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

Re: ЧПУ пульты

Сообщение Тима »

Если написать lcd.print(data, DEC) выводит 48.0000000 вместо 48
Кстати, пробовал передать координату Х... выводит что-то непонятное, причем значение меняется если изменить таймслип. К примеру при 0.001 выводит 135.0000000 и значение не меняется при изменении координаты. Если поставить 1, выводит 97.0000000
Тихо шифером шурша, едет крыша неспеша... :freak:
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Ответить

Вернуться в «Электроника»