Рассмотрим как управлять преобразователем частоты с помощью протокола rs 485. Сделаем управление шпинделем автоматикой. Для этого у нас имеется:
- Токарный станок со шпинделем ET65A-800W.
- Частотный преобразователь завода Шнайдер Электрик Altivar 71.
- Модернизатор интерфейса RS232/RS485.
- Mach3 v.3.042.029.
Сначала делаем конфигурацию мача:
- Разрешаем работу по ModBus, поставив соответствующую галочку.
- В настройках шпинделя в подменю убираем ненужные галочки.
- Добавляем строку инициализации в меню general conf.
- Для работы нужно в частотном преобразователе два регистра – это управление CMD и установка с регистром. Чтобы было удобнее, выбираем частоту вращения двигателем уставкой.
Делаем конфигурацию поллинга:
Связующие элементы 19200 8-N-1. Сканирование с частотой 10 герц в размерной таблице. Поллинг нужен для того, чтобы в связи произошла самодиагностика, и частота преобразовалась. Если обмен сети прекратился на размер заданного перерыва, то частотник выдает ошибку.
Исправляем VBA скрипты:
M3
SetModOutput(0,&H0006)
SetModOutput(1,0)
DoSpinCW()
SetModOutput(0,&H000F)
M4
SetModOutput(0,&H0006)
SetModOutput(1,0)
DoSpinCCW()
SetModOutput(0,&H000F)
M5
SetModOutput(0,&H0006)
SetModOutput(1,&H0000)
DoSpinStop()
SPINDLESPEED
rpm = GetRPM()
SetSpinSpeed( rpm )
SetModOutput(1,rpm)
Исправляем постпроцессор:
@start_tool
if only_xyz eq false
if tool_direction eq CW then
mcode = 4
else ; CCW
mcode = 3
endif
call @gen_nb
; {‘S’spin:integer_def_f, ‘ M’mcode}
{‘M’mcode}
call @gen_nb
{‘S’spin:integer_def_f}
call @gen_nb
{‘M8’}
endif
endp
Работаем по связке SolidWorks/SolidCAM.
Этот метод управления обладает преимуществами и отличается от ШИМ преобразователей:
— если скорость шпинделя равна нулю, то мотор гарантированно отключается;
— управляющая программа имеет возможность обмениваться информацией с частотным преобразователем;
— реальные обороты двигателя интерпретируют с заданием частотника;
— на большом расстоянии связной линии выделена хорошая адаптивность к помехам (до одного километра).
Подробнее про управление частотником по протоколу RS-485.
RS-485 применяет пару витую с экраном с землей и сигналом. Земля с сигналом обязательна, но не применяется для исчисления состояния линии в логике. Коммутатор, управляющий линией баланса (balanced line driver), имеет сигнал входа «Enable» (Разрешен), используемый для управления мониторами выхода этого устройства. Если сигнал «Enable» отключен, то это обозначает, что устройство выключено от линии, и в этом положении устройство всегда называется «tristate» (т.е. третье состояние, вместе к двоичным 1 и 0).
Стандартное значение на RS-485 обуславливает только 32 пары передачи и приема, но изготовители увеличили возможности RS-485 протокола, поэтому, теперь он будет поддерживать от 128 до 255 устройств на единичной линии, при использовании репитеров можно увеличивать RS-485/RS-422 очень намного. Если использовать RS-485 можно, и в с длинным проводом или огромного количества устройств надо, применять терминаторы, встроенные в устройства с RS-485 протоколом, но при коротком проводе, видимое ухудшение связи при применении терминаторов.
Так же номинал на RS-485 обуславливает применение двухжильной витой пары с экраном, такой 2-wire RS-485, но будет применение и витой пары из четырех проводов (4-wire RS-485), тогда будет целый дуплет. В этом случае, нужно, чтобы одна конструкция была создана как ведущая (Master), а другие как ведомые (Slave). Тогда многие ведомые конструкции сообщаются только с ведущей конструкцией, и никогда не отдадут ничего прямо друг другу. В этих случаях как всегда RS-422 драйвер применяется как ведущая конструкция, т.к. RS-422 имеет допуск подключения только как master/slave, а RS-485 конструкции как ведомые, для снижения цены системы. Стандарт на RS-422 с самого начала обуславливает применение четырехжильной витой пары с экраном, но имеет допуск соединения всего от одной конструкции к другой (до 5 драйверов и до 10 ресиверов на драйвер). RS-422 был создан, чтобы заменить RS-232 тогда, когда RS-232 не обеспечивает скоростной режим и дальности передачи.
RS-422 применяет чисто размещенные провода (две пары): для приема одну, для отдачи тоже одну (и по одной на все сигналы контроля и подтверждения (control/handshake)). RS-485 имеет наличие третьего состояния («tristate») и может использовать одну пару проводов, что снижает цену системы и обеспечивает связь на длинные дистанции. В настоящее время доступно много разных устройств для соединения RS-422/RS-485 с RS-232, причем RS-232 часто применяется для совмещения с ЭВМ (но, есть и карты интерфейса RS-422/RS-485 в компьютер), который применяется чтобы управлять системой. Имеют место и разнообразные приборы (хабы, репитеры, переключатели и др.) для обеспечения сложных конфигураций RS-422/RS-485 сетей, так что RS-422/RS-485 скрывают в себе много возможностей.
Как сделать разводку сетей RS-485 правильно?
RS-485 отдает информацию в цифровом виде между объектами. Данные могут передаваться со скоростью 10 Мбит/с. RS-485 применяется для отдачи сигнала на повышенную протяженность. Протяженность и скорость данных для RS-485 зависит от разных факторов.
Кабель.
RS-485 сконструирован как система баланса. Это значит, что есть два провода, использующиеся для передачи данных.
Рис. 1. Система баланса пользуется двумя жилами на передачу сигнала.
Эта система является балансной, так как сигнал на двух проводах с обоих концов является точно противоположным. См. Рис. 2.
Рис. 2. Данные отличающиеся с двух сторон проводов.
RS-485 должен использоваться с проводкой «витая пара».
Почему пользуются проводкой «витая пара»?
Это простая пара проводов, имеющих одинаковую длину. Они вместе свиты. Передатчик с кабелем из витой пары снижает две проблемы для создателей скоростных сетей, производимых электромагнитные и индуцируемые помехи.
Электромагнитные излучаемые помехи.
На рисунке показано, что при использовании импульсов с большими фронтами, в сигнале есть составляющие высокой частоты. Такие фронты необходимы для повышенных скоростей, чем может дать RS-485.
Рис. 3. Прямоугольные импульсы.
Компоненты высокой частоты этих фронтов с большими проводами приводят к излучению помех электромагнитных. Система баланса использует линии связи витой парой, снижает эффект, излучатель становится ненужным. Данные на проводах одинаковы, инверсные, сигналы окажутся тоже равными и инверсными. Это делает эффект снижения одного сигнала из-за другого. Это значит, что отсутствует электромагнитное излучение. Но это только предположение. Совмещение проводов дает нейтрализацию облучения из-за протяженности между жилами.
Электромагнитные индуцируемые помехи.
Это та же проблема, только наоборот. Соединения в системе на основе RS-485 работают как антенна. Эти сигналы искажают нужные сигналы, которые приводят к проблемам в данных. Она также может уменьшить зависимость помех. Шум одного провода тот же , что и на втором проводе. Его называют синфазным. Они подавляют шум обоих проводов.
Сопротивление витой пары в виде волн.
Переплетенная пара имеет свойства волн, которые определены производителем. RS-485 обуславливает, чтобы размер резистора был равен 120 Ом. Такая рекомендация импеданса нужна для подсчета худшей нагрузки в интервале синфазных напряжений в RS-485. Спецификация не дает такой импеданс для гибкости. Если нельзя использовать кабель сопротивлением 120 Ом, то нужно, чтобы худший вариант нагрузки и худший диапазон напряжений снова были просчитаны, чтобы убедиться, что система работает. Передатчик может управлять только одной витой парой, другое не предусмотрено спецификацией.
Согласующие резисторы.
Резистор согласующий– это обыкновенный резистор на одном конце кабеля. Размер резистора согласующего равен сопротивлению волновому кабеля.
Рис. 4. Резисторы согласующие имеют одинаковое сопротивление с витой парой.
Если значение двух резисторов отличается от волнового кабеля, то будет отражение, сигнал будет вворачиваться обратно. Расхождения вызывают отражение, чтобы сделать ошибки в данных.
Рис. 5. Сигнал получен с MAX3485. Сигнал справа получен при согласовании с резистором.
Нужно согласовать большую приближенность размера резистора согласующего и волнами. Не важно куда устанавливать согласующий резистор, на обоих концах кабеля.
По правилу резисторы согласования помещаются на концах кабеля, хотя лучше согласование обоих концов сделать критичным для многих дизайнов системы. В одном случае надо только один резистор. Этот случай есть в системе, где есть передатчик. Он находится на другом конце кабеля. Не нужно помещать резистор на конце кабеля вместе с передатчиком, так как сигнал идет от него.
Наибольшее число приемников и передатчиков в сети.
Обычная сеть на RS-485 состоит из приемника и передатчика. RS-485 дает гибкость, разрешает больше передатчиков и приемников на паре. Максимальное число зависит от загрузки системы.
В идеале передатчики и приемники будут иметь большой импеданс и не загрузят систему. Реально так не может быть. Подключенный приемник повышает нагрузку. В помощь разработчику сети RS-485 узнать какое количество устройств будут добавлены в сеть, создали единицу нагрузки. Такие конструкции характеризуются множителями или нагрузкой.
Приемник и передатчик по одному.
Резистор согласованный на проводе в стороне передатчика. Можно передвигать передатчик в ближние края провода, а прибавить передатчики в сеть.
Рис. 6. RS-485 имеет по одному приемнику и передатчику.
Несколько приемников и один передатчик.
Здесь очень важно, чтобы протяженность от витой пары была наименьшая.
Рис. 7. Сеть с несколькими приемниками и одним передатчиком.
Неправильные сети. Несогласованная сеть.
Сравним формулировку данных от неправильной сети разработанной системы. Она была измерена в точках А и В. Здесь на краях пары резисторов для согласования. Сигнал идет от источника, сталкивается с цепью на кабеле. Это ведет к разрушению импедансов, отражению. В открытой цепи энергия идет назад, вызывает искажение сигнала.
Рис. 8. Сеть несогласована. Форма сигнала отличается от правильной.
Расположение терминатора неправильное.
Резистор согласованный есть, но размещен отлично от другого конца кабеля. Сигнал сталкивается с импедансом и его рассогласованием, соединяется на резисторе. Сопротивление было согласовано с кабельным сопротивлением. Дополнительный кабель дает рассогласование и отражает экран. Другое рассогласование – это другой конец кабеля.
Рис. 9. Сеть с резистором, который размещен неправильно, его сигнал.
Кабели составные.
Проблема состоит в драйверах, которые разработаны чтобы управлять одной витой парой. Не любой передатчик может управлять 4-мя витыми параллельными парами. Уровни логические минимальные не гарантируются. Вместе с большой нагрузкой есть различие импедансов в месте, где соединены кабели. Различие импедансов значит отражение и искажение сигнала.
Рис. 10. Некорректная сеть с несколькими парами.
Удлиненные ответвители.
Кабель согласован, нагружен передатчик на витую пару одну. Проводной сегмент в точке подключения приемника слишком длинный. Большие ответвители оказывают большое рассогласование импеданса и отражают сигнал. Ответвители делают наименьшей длины.
Рис. 11. Сеть с трехметровым ответвителем и сигнал в итоге в сравнении с сигналом с маленьким ответвителем.
Какие действия нужны, чтобы разобраться с управлением по протоколу rs485?
- Поиск документации на конструкцию. Она приложена в печатном виде к частотнику и актуальна для него. Документы могут быть приложены в электронном виде на диске. Можно найти документацию в Интернете.
- Выясняем номера ревизии, версии. Наша цель – версия программы.
- Изучение документов по специфическим словам.
- Поиск подключающей схемы связующего кабеля и цоколевку разъема.
- Поиск описания регистров Modbus. Это карта памяти. Регистры называются переменными.
- Определение типа адресации переменных. В Modbus есть два типа различных адресации, логическая и физическая.
- Указание поиска в направлении. Это ответственный шаг.
Удаленное управление по RS485 для частотного преобразователя ОВЕН ПЧВ ModBus RTU