Дело тут не в драйвере USB для СП.
Возможно, что контроллер будет работать при подключении к панели с помощью переходника RS232-->USB. Панель(порт PLC)-->RS232/USB-->контроллер. Это при условии, что для переходника RS232/USB со стороны RS232 достаточно трех сигналов GNG, TxD и RxD.
Если брать другой контроллер, с Модбасом и с портами RS232/RS485, то совсем не достаточно "сваять окна ввода на панели, подключить ее как мастер и вводить через нее в регистры контроллера данные о скорости и небходимом числе импульсов, а также направлении движения". Потому, что не получится
Все дело в том, что по протоколу Модбас возможна работа только в режиме контроллера т.е. реального времени.Задача в том, чтобы с панели менять программу в контроллере, причем делать это должен оператор, не знакомый с программированием.
То есть, он должен забить в ячейки на панели скорость, расстояние, ускорение, момент останова, реверса и так далее, затем программу нужно транслировать в контроллер, и запускать станок уже кнопкой "Пуск".
Захват-6.png
А то, что Вы хотели изначально -"программу нужно транслировать в контроллер, и запускать станок уже кнопкой "Пуск"" возможно только в программном режиме
Захват-7.png
А это возможно только если используется протокол OSMASCII, а не Модбас.
Еще раз повторю, что если связка Панель-->переходник RS232/USB--> контроллер заработает, то использование протокола OSMASCII не должно вызывать сложностей.
Протокол очень простой
Причем все команды - два символаАлгоритм работы с контроллером серий U и R c поддержкой ASCII протокола следующий (описан в документации):
Посылаем один символ команды.
Ждем получения "эха" (повторения переданного символа), передаем второй символ и т. д.
После передачи символов передаем символ завершения команды '>'.
В случае получения кода ошибки "e6" (ошибка интерпретации команды), необходимо отправить контроллеру команду завершения ввода программы "FN>".Тогда контроллер сможет воспринять следующую команду "LM>" (загрузка программы) без ошибки. Обратите внимание, что если запустить контроллер на бесконечное движение, он не сможет воспринимать команды во время движения. Вывести его из этого состояния можно командой "RX>" (перезапуск контроллера).
В случае получения символа 'новая строка': посылаем следующую команду аналогичным образом.
Окно, по типу терминала, для ввода последовательности команд сделать можно.





Ответить с цитированием