Главная категория - посвящена электродвигателям, электроприводам и связанным с ними темам => Управление шаговыми двигателями => : wwSerg 18 August 2013, 12:58:48

: Чтение контроллера SMSD-4.2
: wwSerg 18 August 2013, 12:58:48
Добрый день! Существует ли возможность прочитать состояние контроллера (шаги) во время работы?
: Re: Чтение контроллера SMSD-4.2
: Administrator 19 August 2013, 10:34:16
Здравствуйте!
Нет, такой возможности не существует.
: Re: Чтение контроллера SMSD-4.2
: wwSerg 19 August 2013, 17:26:24
Спасибо! Попробую обойтись без этого. Ещё проблема: в режиме дробления шага 1/2 больше 1000 шагов в секунду двигатель не разгоняется. Импульсы идут (судя по звуку), но вал останавливается. Настройки тока и ускорения не помогли.
: Re: Чтение контроллера SMSD-4.2
: Administrator 19 August 2013, 18:02:03
Максимальная скорость в том числе зависит от модели двигателя, напряжения и нагрузки на валу.
Графики зависимости момента от скорости для конкретного комплекта можно получить, отправив запрос на электронную почту в технический отдел.
http://electroprivod.ru/address.htm
Технический отдел:

тел. (812) 974-05-39
engineering@electroprivod.ru

Анна Каргу
mail@electroprivod.ru

Владимир Слугин
slugin@eprivod.ru

Владимир Бойков
bve@eprivod.ru

Илья Помазов
pomazoff@eprivod.ru

Администрация:
: Re: Чтение контроллера SMSD-4.2
: wwSerg 21 August 2013, 18:15:30
Добрый вечер! С контроллером SMSD-4.2 работаю не первый день, но два вопроса не дают спокойно спать:
1. Что означает команда "0F*" ?. Без неё не работает, а в описании ничего нет.
2. Утилита устранения ошибок... Как её можно реализовать программно? Вижу, что трижды посылается команда "ED*"
: Re: Чтение контроллера SMSD-4.2
: Ирина 22 August 2013, 09:25:01
Здравствуйте.
1. Команда "0F*" использовалась для старых блоков, для разрешения микрошага. Сейчас микрошаг у блоков серии SMSD устанавливается переключателями на корпусе, а эта команда игнорируется.
2. Команда "ED*" - не относится к устранению ошибок, она используется для выхода из режима программирования и перезаписи команд в постоянную память контроллера.  Утилита устранения ошибок в SMC-Program относится к самой программе. Если у Вас возникают ошибки, то по их коду нужно выяснить их причину и устранить:
   E13* - ошибка кода испольнительной программы (проверить правильность написания программы, последовательность команд)
   E15* - Ошибка приема по com-порту (проверить верно ли настроены параметры обмена и исправен ли кабель)
   E16* - Ошибка команды (проверить правильность набора названия команды)
   E19* - Ошибка данных команды (значение вышло за допустимый диапазон, лишние знаки в параметре)
: Re: Чтение контроллера SMSD-4.2
: wwSerg 22 August 2013, 12:34:13
Понял, спасибо!
: Re: Чтение контроллера SMSD-4.2
: wwSerg 05 September 2013, 13:41:39
Здравствуйте! Возник ещё один вопрос по чтению контроллера. Программа выполняется, по окончании получаю ответ "Е14*". Всё нормально. Но если остановить выполнение командой "ST1*", то при следующем запуске последний символ "*" перемещается в начало строки. Каждый останов приводит к смещению на один символ. Как этого избежать?
: Re: Чтение контроллера SMSD-4.2
: Administrator 13 September 2013, 14:07:54
Символов перевода строки в ответе контроллера нет. Видимо, Вы считываете не всю строку за раз. Возможно, это особенности компонента передачи данных по RS-232, или при передаче данных происходят какие-то задержки. Это может зависеть как от программной составляющей, так и от конкретной платы порта.
: Re: Чтение контроллера SMSD-4.2
: wwSerg 17 September 2013, 16:02:16
Спасибо за ответ. Вы правы, была ошибка  с длиной строки. Разобрался. Теперь всё работает хорошо!
: Re: Чтение контроллера SMSD-4.2
: wwSerg 01 October 2013, 20:43:35
Здравствуйте! Ещё возникли вопросы: можно ли после ответа контроллера "Е16*" повторять команду, которая не проходит, или начинать заново? Как стереть неудачно записанную в контроллер программу?
: Re: Чтение контроллера SMSD-4.2
: Ирина 02 October 2013, 10:24:03
Здравствуйте.
Начинать запись всей программы сначала ненужно. Повторяете команду, которая вызвала ошибку E16, предварительно исправив ошибки, проверив правильность написания команды. Стирать тоже ничего не нужно, так как команда, которая вызвала ошибку, в блок не записывается.
: Re: Чтение контроллера SMSD-4.2
: wwSerg 03 October 2013, 06:00:56
Заметил интересную особенность контроллера SMSD-4.2. После чтения ответа Е14* (4 байта) нужно дополнительно считать ещё один байт. Только в этом случае не возникает ошибка Е16*.
: Re: Чтение контроллера SMSD-4.2
: Administrator 03 October 2013, 10:18:24
Заметил интересную особенность контроллера SMSD-4.2. После чтения ответа Е14* (4 байта) нужно дополнительно считать ещё один байт. Только в этом случае не возникает ошибка Е16*.
Редактировать сообщение

Скорее всего, ошибка в Вашем компоненте приема/передачи данных.
Ошибка E16* ("ошибка команды") появляется только в том случае, если Вы отправляете команду, которая в данный момент не может быть обработана контроллером.
: Re: Чтение контроллера SMSD-4.2
: wwSerg 03 October 2013, 11:30:55
Спасибо, что быстро отреагировали! Это всегда радует.
После команды ST1* (останов программы) читаю ответ ST1*E14*, который состоит из 9-ти байт! Поэтому и приходится дочитывать 1 байт. Это, возможно, жирная точка (нечитаемый символ ), которая видна в окне SMC_Program. Главное, что работает!
: Re: Чтение контроллера SMSD-4.2
: Administrator 03 October 2013, 11:48:47
Точка могла быть в старых версиях прошивок блоков.
Ошибка E16 возникает в том случае, когда Вы передаете команду в тот момент, когда контроллер еще не готов такую команду принять. Т.е. имеется проблема с тайм-аутами или статусами готовности приема/передачи в компоненте.
С тем же успехом можно не считывать последний байт (точку), а дождаться статуса готовности линии или просто увеличить паузу между приемом и отправкой данных.
: Re: Чтение контроллера SMSD-4.2
: wwSerg 03 October 2013, 12:55:46
В моей программе задержки при переключениях очень нежелательны. А контроллеры мы купили больше двух лет назад. В любом случае было полезно пообщаться на вашем форуме. Спасибо!