Цитата(inzhenegr @ 21.11.2012, 16:56)

Есть проблемка с vlt2800. Нужно управлять им по modbus.
1. Подаю питание, нажимаю кнопку старт, привод стоит. Отправляю посылку с контроллера на запуск - привод запускается.
2. Подаю питание, отправляю посылку, привод стоит (статус поменялся на 047с), нажимаю кнопку старт - поехали.
Параметры 502-508 - единицы, управление serial.
Еще так и не смог запустить привод подачей сигнала на 18 клемму (изменения в параметры вносил). В настройках на эту клемму стоит старт (7)
К софту вопросов нет, привод посылки подтверждает. Чтение параметров тоже работает. Что-то с настройками...
Что же ему еще надо?
Хммм... (стихотвоных форм нынче не будет - не оправдали себя)
Наводящий вопрос "для подумать" - как CW записывается - "койлами" или сразу "мультиплей регистром"?
Тут вот в чем прикол - CW в CodeSys для наших приблуд формируется сразу и целиком, и заваливается в 16-битный регистр. Для старших моделек этот номер прокатывает, для 2800 - не очень. Обязательно надо в СW выставлять бит "дейта валид/новалид", иначе слово будет игнорироваться; обязательно надо надо выставлять бит "стоп коастинг", обязательно... много чего надо, 16 бит надо, причем правильно, иначе не запустится.
В каноничном мануале простым и доступным английским языком написано, что целиком регистр заливать нельзя, надо это делать побитно на готовую сформированную маску, (кстате, 047Сh -это таки правильно, но...), но следом, вдогонку, а лучше предварительно, надо заваливать в соответствующий регистр и задание, и подтверждать битом "валид/новалид". CW правильное, годное, а задание = "0"... Что будет? Правильно - ничего не будет.
Посему такой вариант: (простой, как палка и веревка, но эффективный, как выстрел в голову)
- плюём на CW, SW и Reference Reg. Слюной.
- программируем частотничек по полному профилю, как для работы от клеммного терминала, но терминалы 18, 27 и иже с ними, забиваем нулями - "no function" тоись; после чего ставим на эти терминалы перемычки. Проводом. Медным. Как будто это таки замкнутые контакты.
- по ModBus'у в соответствующие регистры (вход 18 = "старт", вход 27 = "стоп/коастинг") засылаем в гексадецимальном виде значения соответствующих настроек.
- преимущество: запись регистра занимает в 16 (а то и меньше) таки меньше времени, чем последовательная запись CW "по койлам" - раз; значение пишем на самом деле не во флеш, а в "оперативку", то есть, число циклов записи неограничено - два; при "моргушке", отключении, и так далее, частотник переписывает из "флеша" в "оперативку" значения, записанные руками с панельки, плюя на значения, записанные по ModBus'у, а значит, полностью исключается возможность спонтанного пуска при подаче питания - три.
- да, "не по-писанному", да, "не кошерно", зато просто, как палка и веревка, но таки работает, и таки больше 2...3 лет...
Итого, в сухом остатке имеем примерно вот такой CFC-модуль для благословенной CodeSys с всего 3-мя циферками на входе и без головной боли с командным словом...
Нажмите для просмотра прикрепленного файлаВот так оно как...