Автор Тема: Чтение контроллера SMSD-4.2  (Прочитано 16367 раз)

wwSerg

  • Новичок
  • *
Чтение контроллера SMSD-4.2
« : 18 Августа 2013, 12:58:48 »
Добрый день! Существует ли возможность прочитать состояние контроллера (шаги) во время работы?

Administrator

  • Администратор
  • Ветеран
  • *****
Re: Чтение контроллера SMSD-4.2
« Ответ #1 : 19 Августа 2013, 10:34:16 »
Здравствуйте!
Нет, такой возможности не существует.

wwSerg

  • Новичок
  • *
Re: Чтение контроллера SMSD-4.2
« Ответ #2 : 19 Августа 2013, 17:26:24 »
Спасибо! Попробую обойтись без этого. Ещё проблема: в режиме дробления шага 1/2 больше 1000 шагов в секунду двигатель не разгоняется. Импульсы идут (судя по звуку), но вал останавливается. Настройки тока и ускорения не помогли.

Administrator

  • Администратор
  • Ветеран
  • *****
Re: Чтение контроллера SMSD-4.2
« Ответ #3 : 19 Августа 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

Администрация:

wwSerg

  • Новичок
  • *
Re: Чтение контроллера SMSD-4.2
« Ответ #4 : 21 Августа 2013, 18:15:30 »
Добрый вечер! С контроллером SMSD-4.2 работаю не первый день, но два вопроса не дают спокойно спать:
1. Что означает команда "0F*" ?. Без неё не работает, а в описании ничего нет.
2. Утилита устранения ошибок... Как её можно реализовать программно? Вижу, что трижды посылается команда "ED*"

Ирина

  • Постоялец
  • ***
Re: Чтение контроллера SMSD-4.2
« Ответ #5 : 22 Августа 2013, 09:25:01 »
Здравствуйте.
1. Команда "0F*" использовалась для старых блоков, для разрешения микрошага. Сейчас микрошаг у блоков серии SMSD устанавливается переключателями на корпусе, а эта команда игнорируется.
2. Команда "ED*" - не относится к устранению ошибок, она используется для выхода из режима программирования и перезаписи команд в постоянную память контроллера.  Утилита устранения ошибок в SMC-Program относится к самой программе. Если у Вас возникают ошибки, то по их коду нужно выяснить их причину и устранить:
   E13* - ошибка кода испольнительной программы (проверить правильность написания программы, последовательность команд)
   E15* - Ошибка приема по com-порту (проверить верно ли настроены параметры обмена и исправен ли кабель)
   E16* - Ошибка команды (проверить правильность набора названия команды)
   E19* - Ошибка данных команды (значение вышло за допустимый диапазон, лишние знаки в параметре)

wwSerg

  • Новичок
  • *
Re: Чтение контроллера SMSD-4.2
« Ответ #6 : 22 Августа 2013, 12:34:13 »
Понял, спасибо!

wwSerg

  • Новичок
  • *
Re: Чтение контроллера SMSD-4.2
« Ответ #7 : 05 Сентября 2013, 13:41:39 »
Здравствуйте! Возник ещё один вопрос по чтению контроллера. Программа выполняется, по окончании получаю ответ "Е14*". Всё нормально. Но если остановить выполнение командой "ST1*", то при следующем запуске последний символ "*" перемещается в начало строки. Каждый останов приводит к смещению на один символ. Как этого избежать?

Administrator

  • Администратор
  • Ветеран
  • *****
Re: Чтение контроллера SMSD-4.2
« Ответ #8 : 13 Сентября 2013, 14:07:54 »
Символов перевода строки в ответе контроллера нет. Видимо, Вы считываете не всю строку за раз. Возможно, это особенности компонента передачи данных по RS-232, или при передаче данных происходят какие-то задержки. Это может зависеть как от программной составляющей, так и от конкретной платы порта.

wwSerg

  • Новичок
  • *
Re: Чтение контроллера SMSD-4.2
« Ответ #9 : 17 Сентября 2013, 16:02:16 »
Спасибо за ответ. Вы правы, была ошибка  с длиной строки. Разобрался. Теперь всё работает хорошо!

wwSerg

  • Новичок
  • *
Re: Чтение контроллера SMSD-4.2
« Ответ #10 : 01 Октября 2013, 20:43:35 »
Здравствуйте! Ещё возникли вопросы: можно ли после ответа контроллера "Е16*" повторять команду, которая не проходит, или начинать заново? Как стереть неудачно записанную в контроллер программу?

Ирина

  • Постоялец
  • ***
Re: Чтение контроллера SMSD-4.2
« Ответ #11 : 02 Октября 2013, 10:24:03 »
Здравствуйте.
Начинать запись всей программы сначала ненужно. Повторяете команду, которая вызвала ошибку E16, предварительно исправив ошибки, проверив правильность написания команды. Стирать тоже ничего не нужно, так как команда, которая вызвала ошибку, в блок не записывается.

wwSerg

  • Новичок
  • *
Re: Чтение контроллера SMSD-4.2
« Ответ #12 : 03 Октября 2013, 06:00:56 »
Заметил интересную особенность контроллера SMSD-4.2. После чтения ответа Е14* (4 байта) нужно дополнительно считать ещё один байт. Только в этом случае не возникает ошибка Е16*.

Administrator

  • Администратор
  • Ветеран
  • *****
Re: Чтение контроллера SMSD-4.2
« Ответ #13 : 03 Октября 2013, 10:18:24 »
Цитировать
Заметил интересную особенность контроллера SMSD-4.2. После чтения ответа Е14* (4 байта) нужно дополнительно считать ещё один байт. Только в этом случае не возникает ошибка Е16*.
Редактировать сообщение

Скорее всего, ошибка в Вашем компоненте приема/передачи данных.
Ошибка E16* ("ошибка команды") появляется только в том случае, если Вы отправляете команду, которая в данный момент не может быть обработана контроллером.

wwSerg

  • Новичок
  • *
Re: Чтение контроллера SMSD-4.2
« Ответ #14 : 03 Октября 2013, 11:30:55 »
Спасибо, что быстро отреагировали! Это всегда радует.
После команды ST1* (останов программы) читаю ответ ST1*E14*, который состоит из 9-ти байт! Поэтому и приходится дочитывать 1 байт. Это, возможно, жирная точка (нечитаемый символ ), которая видна в окне SMC_Program. Главное, что работает!