Это не бибилиотека, это моя работа последние 20+ лет.x4axis писал(а): Вот! сразу видно, человек в библиОтеку ходит!:) Что посоветуете?
На данный момент идея такова: в составе станка простенький комп (например на базе VIA), на котором живёт linuxcnc. А вот с ним общение по ethernet. У этого компа может быть монитор/индикатор и/или удалённый монитор по протоколам X и/или VNC. Можно даже скормить станку УП и выключить основной комп, а в процессе периодически включать, "заходить на станок" и смотреть как там дела. Собираюсь в ближайшем будующем реализовать это.
kernel, пинговать в несколько потоков - это фигня! И дело не в кривости конкретной реализации стека, а в заточенности под такие задачи TCPv4. Вот пример, когда всё сломается:
для простоты понимания предположим, что у нас сеть устроена так: имеется комутатор на 5-8 портов, стоимостью ~2000 руб (или оный в составе маршрутизатора), комп, ноутбук, станок. Можно таже считать, что и комп и ноут и комутатор имеют порты на 1Gb/s (хотя это наверно будет уже подороже, чем 2000 руб), а станок имеет порт 100 Mb/s (сильно сомневаюсь, что даже китайцы поставят туда гигабитныхй чип). Теперь, если между компом и ноутом передавать какой-нибудь большой файл, например кино, то эти данные между двумя гигабитными портами просто "забьют" порт станка благодаря дешёвому комутатору. А если у вас будет комутатор чуток подороже и маршрутизатор подающий инет в эту-же сеть, то тоже забьют.
Пурелогик применил очевидное решение, чтобы немного "скорректировать" эту проблему - читайте про "время упреждающего расчета траектории" в документации на их контроллер. Это нормальное решение, если во время работы соблюдать определённые правила, такие как "не гонять по сети большие файлы", "отключить от сети лишние устройства" и т.п.
Собственно тут оказались описаны два подхода: дорогого и надёжного и простого, дешёвого, но ненадёжного, каждый выбирает, что ему нравится.