Просмотр полной версии : Связка ПЛК110 [M02] + Danfoss VLT280
v.agoshkin
31.01.2023, 11:44
Всех приветствую!!
Требуется запускать ЧП посредством ПЛК110 [М02] , читать и записывать параметры по modbus. Пользовался официальным мануалом на modbus от danfoss.
Связь с ЧП установилась нормально. Параметры считываются и записываются согласно формуле (№пар.*10-1). Пробовал функции 03,06,10 . Все вроде работают.
Вопрос, куда записывать контрольное слово, в смысле в какой регистр ? Какую функцию использовать при передаче?
В более свежих моделях таких как FC051 это регистр 49999. Собственно они у меня работают без проблем.
В этой инструкции (http://files.danfoss.com/download/Drives/MG92B102.pdf) нет конкретных моделей, возможно везде одинаковые регистры используются.
Однако в ней упоминаются ещё такие адреса:
65592
v.agoshkin
31.01.2023, 15:10
Эту инструкцию я видел тоже на просторах интернета. Она в принципе похожа инструкцию VLT2800. Единственное просто написано более общими словами.
Но все равно спасибо за отклик на проблему!
Перепробовал разные варианты. Либо не туда стучусь с переменными либо как вариант что-то не донастроил в самом преобразователе. Проблему пока к сожалению не удалось решить(((
kondor3000
31.01.2023, 15:33
Эту инструкцию я видел тоже на просторах интернета. Она в принципе похожа инструкцию VLT2800. Единственное просто написано более общими словами.
Но все равно спасибо за отклик на проблему!
Перепробовал разные варианты. Либо не туда стучусь с переменными либо как вариант что-то не донастроил в самом преобразователе. Проблему пока к сожалению не удалось решить(((
Вы какой тип переменной указываете и какая в инструкции? Для 32 битной целочисленной нужна перестановка регистров.
Пример темы https://owen.ru/forum/showthread.php?t=30519&highlight=Danfoss
v.agoshkin
31.01.2023, 18:33
Скрин из документа на первый пример прикрепил к сообщению. Если где-то я не прав, то поправите пожалуйста. Согласно мануалу обращаюсь через 32-х битную целочисленную переменную. В codesys вкладка universal modbus device и создаем 32bit output module. Функция force Multiple Coils (0,0f) 15. Адрес обращения согласно мануалу 0.65604
Я так понял перестановка будет выглядеть так байт 7 меняется с 8-м и 9-й с 10-м. Ну если касательно переменной 32bit - первый байт меняется со вторым и третий с четвертым соответственно.
kondor3000
31.01.2023, 18:44
Скрин из документа на первый пример прикрепил к сообщению. Если где-то я не прав, то поправите пожалуйста. Согласно мануалу обращаюсь через 32-х битную целочисленную переменную. В codesys вкладка universal modbus device и создаем 32bit output module. Функция force Multiple Coils (0,0f) 15. Адрес обращения согласно мануалу 0.
Я так понял перестановка будет выглядеть так байт 7 меняется с 8-м и 9-й с 10-м. Ну если касательно переменной 32bit - первый байт меняется со вторым и третий с четвертым соответственно.
Всё не так, 32bit output module, функция записи 0х10, скрин 65605
В UMD с вашим адресом Слейва, настройки такие Native - переставить регистры, By Value Change - запись по изменению 65606
Не понял, адрес чего согласно мануалу 0 ???
Я вам дал скрины, как записывать 32 битную переменную, вы же даёте скрин записи битов управления.
v.agoshkin
31.01.2023, 19:01
Чуть чуть не так выразился - регистр в который нужно писать нашу 32-х битную переменную.
Попробовать эти изменения теперь смогу только завтра.
Спасибо что наставляете на путь истенный.
kondor3000
31.01.2023, 19:10
Чуть чуть не так выразился - регистр в который нужно писать нашу 32-х битную переменную.
Попробовать эти изменения теперь смогу только завтра.
Спасибо что наставляете на путь истенный.
Я вам дал скрины, как записывать 32 битную переменную, вы же даёте скрин записи битов управления.
Если вам надо записать биты управления функцией 0х0f, то добавляете 4 штуки 8 Bit Output ( то есть 4 байта, адреса байт будут 0,8,16,24), 65609
это и будут 32 бита с адресами от 0 до 31.
Не надо никаких 32 разрядных переменных.
Управляющее слово, слово состояния, задание частоты и текущая частота - каждый из них занимает один регистр (16 бит).
v.agoshkin
01.02.2023, 09:17
Не надо никаких 32 разрядных переменных.
Управляющее слово, слово состояния, задание частоты и текущая частота - каждый из них занимает один регистр (16 бит).
Как вы говорите так даже и удобнее. Разные варианты уже перепробовал. Вопрос так и остается в какой регистр записывать CW и с какого считывать SW. Обмен с ЧП идет точно, считываю записываю параметры без проблем. Больше уже склоняюсь к неправильным настройкам самого ЧП. Хотя параллельно c VLT2800 запускал FC051 и с ним всё впорядке. Настраивал его по аналогии.
Как вы говорите так даже и удобнее. Разные варианты уже перепробовал. Вопрос так и остается в какой регистр записывать CW и с какого считывать SW. Обмен с ЧП идет точно, считываю записываю параметры без проблем. Больше уже склоняюсь к неправильным настройкам самого ЧП. Хотя параллельно c VLT2800 запускал FC051 и с ним всё впорядке. Настраивал его по аналогии.
Конечно, если другие параметры из ПЧ читаете без проблем, то со связью все в порядке. Смотрите настройки выбора источников задания частоты и управления. Проверьте на предмет возможного сдвига адресации +/- 1 регистр.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot