SMSD 1.5 RS-485 Ошибка комманды
 

SMSD 1.5 RS-485 Ошибка комманды

Автор djpopkov, 17 октября 2016, 18:58:17

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

djpopkov

В режиме контроллера некоторые команды проходят, но при подаче команд на вращение пишется ошибка и светодиод на панели меняет цвет с зеленого на желтый.
Когда просто старт/стоп жмешь, то проходят команды, но в контроллере ничего нету.
Когда загружается последовательность команд в окне Ответ пишется всё нормально, а в нижнем постоянно ошибки, двигатель иногда дергается, однако программы в контроллере не остается и при нажатии кнопки старт ничего не происходит.

djpopkov

Не пойму как мне залить программу, чтобы она запускалась при нажатии кнопки "старт".
Есть другой модуль с SMSD 4.2 RS232 с ним таких проблем нету.
В чес может быть дело? Сам интерфейс RS-485 или последовательность команд?
К сожалению не получается скриншоты загрузить.
Если в расширенном режиме задать направление, скорость 200, начальную скорость 200 и движение на N шагов, то вращается. Но потом при нажатии кнопки старт на самом контроллере ничего не происходит в нем программа не остается. Если в добавить начало и конец программы, то все перестает работать.
Управление через панель не работает, когда нажимаю Загрузка появляется ошибка "Нет ответа от контроллера", а светодиод меняет цвет на желтый.

Administrator

Здравствуйте!

Какую версию программы Вы используете?
Для работы с блоками RS-485 нужна последняя версия программы SMC-Program 4.0.4 (можно загрузить с нашего сайта http://electroprivod.ru/program.htm)
Или, если Вы используете собственную программу, нужно настройить побайтную загрузку команд, т.к. контроллер отправляет эхо на каждый переданный символ.

djpopkov

Программу скачивал с сайта, версия 4.0.4
В режиме управления через панель совсем не управляется, постоянно ошибки возникают
в расширенном с галкой  direct control можно задать скорость, количество шагов и разрешить движение, после этого двигатель поворачивается.
Но нету возможности записать программу в блок управления, чтобы она там сохранилась.
У меня преобразователь USB-RS485 MOXA NPort 5150

djpopkov

Программу скачивал с сайта, версия 4.0.4
В режиме управления через панель совсем не управляется, постоянно ошибки возникают
в расширенном с галкой  direct control можно задать скорость, количество шагов и разрешить движение, после этого двигатель поворачивается.
Но нету возможности записать программу в блок управления, чтобы она там сохранилась.
У меня преобразователь USB-RS485 MOXA NPort 5150
В окне ответ порта эхо приходит, а в нижем окне ошибки

djpopkov

Желтый светодиод на модуле загорается при подаче команды "Load program to coordinate 1"
После этого он перестает реагировать на все остальные команды и в программе ошибка "Нет ответа от контроллера!"
Когда нажимаю "End programming" на модуле снова загорается зеленый светодиод и движком можно управлять
Еще на команду "Begin programm" возникает ошибка "Ошибка - некорректная команда!"

У меня получается управление только через программу SMC. А необходимо залить на контроллер последовательность действий и выполнять их при нажатии кнопки "старт"

Administrator

А код ответа команды E10* приходит? Такое ощущение, что происходят ошибки при чтении из порта.
Попробуйте любой терминал для передачи данных по COM порту (Hyper Terminal, Comport Toolkit или подобные). На отправленную команду приходит полный ответ или только эхо?

Еще нюанс - некоторые переходники требуют установки родных драйверов. Например, windows автоматически подбирает драйвер при подключении к USB, а этот драйвер оказывается не совсем подходящим. Возникают ошибки буферизации или неправильное переключение переходника между режимами чтение-передача.

Administrator

Если есть возможность, попробуйте другой переходник.

djpopkov

На все команды эхо и E10* приходит, на начало программы  BG* E16*

Administrator

А команду начала загрузки программы LD Вы не забываете отправить?

djpopkov

Отправляю в ответ LD1* E10*. А дальше ни на какие команды не реагирует. В окне ответ порта пишутся команды BG* EN* и т.д. без подтверждения E10*, а в нижнем окне на каждую команду "Нет ответа от контроллера". Когда высылаю ED* контроллер вновь начинает реагировать на команды.
Всё это делаю с установленной галкой Direct Control, без нее совсем ничего не работает.

Если я просто пытаюсь запустить двигатель без попытка загрузить программу, то всё работает. Последовательность (SD200, SS1, MV, EN). Также с галочкой Direct Control

Administrator

При установленной галочке Direct Control команды сразу отправляются в порт, т.е. кнопка "отправить в данном случае не нужна".
При снятой галочке "Direct Control" команды сначала сохраняются во внутренний буфер, затем по нажатию "Отправить" пересылаются в контроллер. Т.е. особой разницы, каким способом отправлять команды, нет. Только вот уже если Direct Control отмечена, то кнопку "Отправить" уже не нужно нажимать.

Теперь еще раз:
1) Вы попробовали любую другую (кроме SMC-Program) программу для передачи данных по COM порту, на команду LD1* есть эхо и ответ, а на все последующие только эхо? Правильно?
2) Вам удалось попробовать работу с  другим переходником? Если приходит эхо, но не приходит код ответа, возможно, проблема в буферизации данных, получаемых от порта. Если так, нужен либо другой переходник, либо другой драйвер для этого переходника (лучше всего "родной", от производителя этого самого переходника).
3) При установленной галочке Direct Control Вы не нажимаете кнопку "отправить"?
4) В программе SMC-Program отмечена опция RS-485? (В меню выбор порта. Там, где номер порта выбирается.)

ЦитироватьЕсли я просто пытаюсь запустить двигатель без попытка загрузить программу, то всё работает. Последовательность (SD200, SS1, MV, EN). Также с галочкой Direct Control
ЦитироватьВ окне ответ порта пишутся команды BG* EN* и т.д. без подтверждения E10*
Это подтверждает, что команды без проблем отправляются в одну сторону, проблема именно в получении данных из порта.

ЦитироватьНа все команды эхо и E10* приходит, на начало программы  BG* E16*
Это означает, что команда BG отправляется не в режиме записи программы. Эта команда может использоваться только после команды начала загрузки программы LD.

Можно попробовать в режиме Direct Control (т.е. при отмеченной галочке) последовательно нажимать кнопки отправки команд LD BG ...(нужная последовательность команд)...ED. потом старт ST.

Administrator

Настоятельно рекомендую попробовать хотя бы Comport Toolkit - программка маленькая, бесплатная. По крайней мере, будет понятно, что именно и в каком виде приходит из порта. В нашей практике уже были случае, когда из-за проблем работы переходника вместо кодов ответа приходил случайный набор символов. SMC-Program этого не отобразит, а Comport toolkit покажет абсолютно все содержимое, которое пришло в порт.
Можно также Hyper Terminal - эта утилита поставляется во многих версиях windows. Если ее нет, можно попробовать скачать ее из интернета.

djpopkov

Вот из Putty строки с командами
Работает SD200*E10*SS1*E10*MV*E10*EN*E10*ST*E10*DS*E16*ST*E14*DS*E10*
Не работает LD1*E10*BG*SD200*SS1*MV*EN*ED*ST*E10*
Пробовал разные последовательности, но все, что начинается на LD не работает

Administrator

#14
Putty настроена на отображение всех символов?
Попробуйте Toolkit - нужно посмотреть, после получения эха команды нет ничего или есть неотображаемые данные (toolkit выводит одновременно hex и ascii).
В наш офис сможете привезти или отправить контроллер?

Ну и еще раз на всякий случай - в настройках порта SMC-Program указан тип RS-485?