Управление из LinuxCNC через COM-порт (РЕШЕНО)

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение Ворон226 »

Прописал
v=bin(170)
затем
ser.write(v)
сработали 7 реле из восьми...
Попробовал следом
v=bin(171)
ser.write(v)
Восьмое реле щелкнуло и отключилось...
При записи
v=bin(0)
ser.write(v)
никакой реакции...
Чего дальше?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение nkp »

наверно мы что то не так пишем...
bytesize=8 добавим в настройки
ser = serial.Serial('/dev/ttyS0', 19200,bytesize=8, timeout=1)
закрыть порт
открыть с новыми настройками
пробовать так ser.write(bin(170))
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение Ворон226 »

Аналогично.
Не ругается, но включенные реле (7 из 8) так и горят. При посылке всё моргнуло и осталось в прежнем состоянии.
Хочешь быть счастливым? Будь им!
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение Сергей Саныч »

я в питоне вообще никак, но может вместо bin попробовать int ?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение Сергей Саныч »

И неплохо бы в настройках порта указать нечетную четность.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение Ворон226 »

На int опять ругается... На bin хоть пока помалкивает - правда и не прописывает как нужно...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение Ворон226 »

Serg-tmn писал(а):И неплохо бы в настройках порта указать нечетную четность.
"Для работы с модулем параметры порта необходимо выставить следующие: скорость 19200, четность ODD, стоп-бит 1, число бит в посылке 8. "
Интересно как?
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение nkp »

в плате которую настраивал емс из ладдера "сам" посылал в порт значения (через modbus)
hex(v) можешь для полного перебора
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение Ворон226 »

попробовал:
ser.write(bin(170))
ser.write(bin(10101010))
ser.write(dec(170))
ser.write(hex(AA))

не идёт...
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение nkp »

Ворон226 писал(а):четность ODD
вот все настройки http://pyserial.sourceforge.net/pyserial_api.html
parity =PARITY_ODD
Последний раз редактировалось nkp 19 май 2013, 19:48, всего редактировалось 1 раз.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение Сергей Саныч »

Ворон226 писал(а):четность ODD
и я про то же.

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

ser = serial.Serial(port='/dev/ttyS0', baudrate=19200, parity=serial.PARITY_ODD, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1)
а может

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

ser = serial.Serial(port='/dev/ttyS0', baudrate=19200, parity=PARITY_ODD, stopbits=STOPBITS_ONE, bytesize=EIGHTBITS, timeout=1)
Последний раз редактировалось Сергей Саныч 19 май 2013, 20:02, всего редактировалось 1 раз.
Чудес не бывает. Бывают фокусы.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение nkp »

Ворон226 писал(а):ser.write(hex(AA))
а так
ser.write(hex(1))
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение Ворон226 »

После выполнения
ser = serial.Serial(port='/dev/ttyS0', baudrate=19200, parity=serial.PARITY_ODD, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1)
закрытия порта
ser.close()
затем
import serial
Повторения (на всякий случай)
ser = serial.Serial(port='/dev/ttyS0', baudrate=19200, parity=serial.PARITY_ODD, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1)
и прописывания
ser.write(bin(170))
включились реле 5 и 6 разряда.
на
ser.write(bin(10101010))
ser.write(dec(170))
ser.write(hex(AA))
опять нет реакции...

На ser.write(hex(AA)) ругается NameError^ name 'AA' is not defined
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение nkp »

вот по моему что то подобное решают
http://ubuntuforums.org/showthread.php?t=829416
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение Ворон226 »

Своих бы правильно понять ;)
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение nkp »

Ворон226 писал(а):Своих бы правильно понять
все правильно:
chr(i)

Return a string of one character whose ASCII code is the integer i. For example, chr(97) returns the string 'a'. This is the inverse of ord(). The argument must be in the range [0..255], inclusive; ValueError will be raised if i is outside that range.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение Сергей Саныч »

Ворон226 писал(а):На ser.write(hex(AA)) ругается NameError^ name 'AA' is not defined
А так: hex('AA') ?
Чудес не бывает. Бывают фокусы.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение nkp »

надо пробовать:
chr(1)
chr(0)
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение Ворон226 »

Serg-tmn писал(а):
Ворон226 писал(а):На ser.write(hex(AA)) ругается NameError^ name 'AA' is not defined
А так: hex('AA') ?
Теперь:
TypeError: hex() argument can't be converted to hex
Хочешь быть счастливым? Будь им!
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Управление из LinuxCNC через COM-порт

Сообщение nkp »

Serg-tmn писал(а):А так: hex('AA') ?
в питоне в кавычках - строка...
Ответить

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