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

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

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

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

Вот что меня напрягает: Программа, описанная в первом посту работает. Идёт запись битов, включаются и выключаются реле... И всё было бы в норме, если бы весь этот процесс не прерывался непонятными сбоями. Сбои периодические. 4-5 перещёлкиваний каждые 9-10 секунд.
Эти перещёлкивания начинаются при загрузке Debian-а. До запуска программы питоновской. И не прекращаются после выхода из питоновской программы.
Хочешь быть счастливым? Будь им!
Kost_irk
Мастер
Сообщения: 995
Зарегистрирован: 19 июл 2018, 07:46
Репутация: 193
Откуда: Иркутск
Контактная информация:

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

Сообщение Kost_irk »

Я же говорю, это какая-то системная хрень специфическая, причем именно для аппаратных портов, с usb-com такого нет. Пробуйте слушать, может поймем, чего она там хочет.
А ваша программа открывается, пишет и закрывается?
Kost_irk
Мастер
Сообщения: 995
Зарегистрирован: 19 июл 2018, 07:46
Репутация: 193
Откуда: Иркутск
Контактная информация:

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

Сообщение Kost_irk »

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

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

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

Kost_irk писал(а): 09 дек 2021, 22:14 Я же говорю, это какая-то системная хрень специфическая, причем именно для аппаратных портов, с usb-com такого нет. Пробуйте слушать, может поймем, чего она там хочет.
А ваша программа открывается, пишет и закрывается?
Хм... Я не умею слушать порт...
Хочешь быть счастливым? Будь им!
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

Kost_irk писал(а): 09 дек 2021, 22:14 А ваша программа открывается, пишет и закрывается?
У меня прописана конфигурация в LinuxCNC с компонентом на Python, который получает на входные пины из LinuxCNC сигналы и передаёт их через COM-порт на плату PLA-001 (8 реле). Я включаю комп. Начинают щёлкать реле... Запускается конфигурация LinuxCNC. Я могу прописывать биты и передавать их на реле. Но весь процесс продолжает прерываться. Могу выйти из конфигурации (автоматом отключится и компонент передачи сигналов на плату реле. А перещёлкивания продолжаются...
Хочешь быть счастливым? Будь им!
Kost_irk
Мастер
Сообщения: 995
Зарегистрирован: 19 июл 2018, 07:46
Репутация: 193
Откуда: Иркутск
Контактная информация:

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

Сообщение Kost_irk »

Ворон226 писал(а): Я не умею слушать порт...
Берете другой порт, открываете терминалом, minicom подойдет. Соединяете его rx с пином tx прослушиваемого порта. Пробуете менять скорость.
Ворон226 писал(а): У меня прописана конфигурация в LinuxCNC с компонентом на Python
Еще раз повторю, эксклюзивно порт откройте в своей программе.
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

Kost_irk писал(а): 09 дек 2021, 23:15 Еще раз повторю, эксклюзивно порт откройте в своей программе.
Сделал так:

ser = serial.Serial(port='/dev/ttyS0', baudrate=19200, parity=serial.PARITY_ODD, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1, exclusive=False)

и варианты:
exclusive=True
exclusive=None

Ничего не изменилось...
Хочешь быть счастливым? Будь им!
Kost_irk
Мастер
Сообщения: 995
Зарегистрирован: 19 июл 2018, 07:46
Репутация: 193
Откуда: Иркутск
Контактная информация:

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

Сообщение Kost_irk »

А если просто открыть этот порт в minicom, подозрительная активность прекращается?
alex_sar
Мастер
Сообщения: 1672
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 278
Настоящее имя: Алексей
Контактная информация:

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

Сообщение alex_sar »

а что показывает вывод
systemctl list-units --all --type=service --no-pager | grep tty
или вот
systemctl list-units --all | grep ttyS
куда то сюда надо копать. systemd чёго там запускает
Аватара пользователя
Ворон226
Мастер
Сообщения: 1922
Зарегистрирован: 01 окт 2012, 18:14
Репутация: 181
Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
Контактная информация:

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

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

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

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

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

alex_sar писал(а): 10 дек 2021, 11:32 а что показывает вывод
systemctl list-units --all --type=service --no-pager | grep tty
systemctl list-units --all --type=service --no-pager | grep tty
getty-static.service loaded inactive dead getty on tty2-tty6 if dbus and logind are not available
getty@tty1.service
alex_sar писал(а): 10 дек 2021, 11:32или вот
systemctl list-units --all | grep ttyS
куда то сюда надо копать. systemd чёго там запускает
systemctl list-units --all | grep ttyS
dev-ttyS0.device loaded active plugged /dev/ttyS0
dev-ttyS1.device loaded active plugged /dev/ttyS1
dev-ttyS2.device loaded active plugged /dev/ttyS2
dev-ttyS3.device loaded active plugged /dev/ttyS3
sys-devices-platform-serial8250-tty-ttyS2.device loaded active plugged /sys/devices/platform/serial8250/tty/ttyS2
sys-devices-platform-serial8250-tty-ttyS3.device loaded active plugged /sys/devices/platform/serial8250/tty/ttyS3
sys-devices-pnp0-00:02-tty-ttyS0.device loaded active plugged /sys/devices/pnp0/00:02/tty/ttyS0
sys-devices-pnp0-00:03-tty-ttyS1.device loaded active plugged /sys/devices/pnp0/00:03/tty/ttyS1
Хочешь быть счастливым? Будь им!
Kost_irk
Мастер
Сообщения: 995
Зарегистрирован: 19 июл 2018, 07:46
Репутация: 193
Откуда: Иркутск
Контактная информация:

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

Сообщение Kost_irk »

Ворон226 писал(а): Нет. Продолжается
Странно, minicom точно блокирует доступ к порту другим программам.
Я так понимаю, у вас 2 com порта? На втором то же самое?
Ну тогда остается только аппаратная прослушка порта. Осциллограф какой есть?

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

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

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

Kost_irk писал(а): 10 дек 2021, 13:40 Осциллограф какой есть?

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

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

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

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

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

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

Провел следующую проверку:
Подключил старую материнку с винтом и системой Ubuntu 10.04 и... всё заработало!!!
Выходит нужно отловить какой-то системный процесс в Debian?
Но как?
Перечитал уже кучу ссылок в инете, но по COM-порту практически ничего нет...
Хочешь быть счастливым? Будь им!
Ответить

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