Управление SMSD-9.0 с коипьютера по USB
 

Управление SMSD-9.0 с коипьютера по USB

Автор Alexey, 15 июня 2011, 18:22:32

« назад - далее »

Alexey

Добрый день!
Подключаю два SMSD-9.0 к компьютеру с моей управляющей программой. Вроде всё работает, но есть несколько проблемных моментов:
1. У нас в системе установлено 2 контроллера  SMSD-9.0, и в компьютере (так как у контроллеров интерфейс USB), они отображаются как 2 виртуальных порта RS-232, и возникают сложности с определением какой контроллер подключен к какому порту. Т.е. периодически они меняются местами. Предусмотрен ли в  SMSD-9.0 алгоритм решения этой проблемы? Можно ли у блока считать серийный номер и по нему определить, к какому порту подключен какой из контроллеров?
2. Сейчас моя программа на компьютере постоянно записывает в SMSD-9.0 новые управляющие программы, когда надо двигать мотором. Боюсь, как бы через некоторое время такой работы, не износилась энергонезависимая память контроллера. Правда ли такое может произойти? Есть ли способ выдавать команды по USB, не записывая их в энергонезависимую память? Способ с управлению по LPT не подходит, у меня нет LPT, тем более двух ;-).

Administrator

1. Обычно номер порта RS-232 привязывается к конкретному USB входу, либо берется первый свободный. Т.е. можно каждый из блоков подключать всегда к одному и тому же USB.  Либо если подключаются оба блока и windows назначает первый свободный - подключать их всегда в одном и том же порядке.

2. Для управления двумя приводами достаточно одного LPT пора. Как вариант - можно установить PCI карту с LPT (в компьютерных магазинах стоит не очень дорого). Также в природе существуют девайсы USB-LPT, но такие мы не пробовали, поэтому рекомендовать не можем.

Alexey

Спасибо за информацию, но это всё я и так знаю. Обычно с назначением портов всё так и происходит, но иногда (редко), порты назначаются на другие виртуальные порты, а одного такого неправильного назначения достаточно чтобы дорогая сложная система пошла вразнос и поломала себя. Так что, вопрос про проверку идентификаторов контроллера остаётся.
В единственном PCI слоте у меня стоит интерфейсная карта к датчикам линейных перемещений, так что вопрос про управление по USB тоже остаётся. Неужели нет каких-нибудь отладочных команд для прямого управления приводом, без записи в энергонезависимую память???

Administrator

В крайнем случае можно проводить идентификацию путем считывания программы из привода. Если блоки подключаются к ПК последовательно один за другим - анализировать, какие новые порты появляются в системе.

Отладочных команд не предусмотрено. Предполагалось, что более 100000 должно хватить для отладки и дальнейшей стабильной работы.

Alexey

Понятно. А какой код ошибки вернёт контроллер когда у него сотрётся память и начнутся с ней проблемы?

Administrator


Alexey

#6
Понятно, спасибо!