1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Ответить
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

Здравствуйте, уважаемые форумчане!
Вынужден опять к вам за советом обратиться.
На заводе затеяли модернизацию транспорта и в реальный проект надо будет добавить 5 новых секций. С частотниками пока ещё дела не имел - почитал кое-что здесь, посмотрел на "ютубе". Представление имею.
В теории вроде не так всё сложно. РЕшил отработать на практике - просто задать частоту через слово управления PZD. Срезался уже вначале - CPU не видит частотник по PROFIbus.

Условия:
1) CPU314C-2DP
2) Частотник Danfoss FC 302.
3) Интерфейс PROFIbus.

Проект прикреплю. В нём частотник сконфигурирован на адрес 3. Этот же адрес я установил в частотнике. Посмотрел и поэксперементировал с другими параметрами. Проверил соединения - здесь у меня кстати вопрос - разъём со стоны ПЧ не обычный 9 пиновый порт - там просто подсоединяются два зачищенных провода кабеля PROFIbus - если частотник последний в цепочке (или единственный как в моей обучающей программе) - нужно ли какие-то ньюансы в его физическом подключении?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

stesl
эксперт
эксперт
Сообщения: 1002
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 87 раз
Поблагодарили: 126 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение stesl »

Alex80 писал(а): 24 янв 2022, 10:20 если частотник последний в цепочке (или единственный как в моей обучающей программе) - нужно ли какие-то ньюансы в его физическом подключении?
Нужно включить терминатор Он по любому в том или ином виде в ПЧ есть.
Не надо просто задавать частоту. Просто прочитайте слово состояния ПЧ. Разберите его по битам, посмотрите - меняются ли они при разных режимах. В хардваре в онлайн режиме ПЧ в коннекте? Думаю Вы еще и не подключились к нему на самом деле ;)

И да, чтобы что то задавать ПЧ, нужно чтобы он был в режиме "слушаю профибас шину"
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

stesl писал(а): 24 янв 2022, 11:09 В хардваре в онлайн режиме ПЧ в коннекте? Думаю Вы еще и не подключились к нему на самом деле ;)
Не подключился - поэтому и пишу сюда. И контроллер показывает - не идёт обмен данными. Я как бы и не говорил, что дошёл до программы - нет. Пока борюсь с соединением. ДУмал, что для соединения по PROFIbus достаточно корректных адресов, участников сети и скорости обмена по этой сети. Видимо не достаточно...
Терминатор сейчас по схеме поищу - спасибо. Возможно в нём и дело. Железо не может понять, где конец PROFIbus.
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

Разобрался я с соединением. Вдруг если кто-то будет недоумевать почему частотник Danfos 302 в аварии, хотя сконфигурирован вроде верно - достаточно перевести CPU в состояние RUN и ошибка пропадает.

С этим ладно - разобрался. Очень нужен совет тех кто работал с Danfoss FC.
Я пытаюсь разобраться с самим механизмом передачи управляющего слова и частоты, при чём частоту у меня уже получается передать с интерфейса HMI. Когда частотник работает в ручном режиме - я могу менять частоту вращения. А вот включить его не получается в автомате.

Вот моя учебная конфигурация. Профиль передачи FC. Согласованность по слову - как я понял, в этом случае можно пользоваться командами пересылки, а не фикциями SFC14 и SFC15.
Конфигурация.jpg
Опытным путём я даже понял что при пересылке слова его младший и старший байты меняются местами.

Вот слово управления именно для моего ЧП:
Слово управления.jpg
Может конечно я чего-то не понял, но по описанию я составил следующий код для старта:
1) 7626

для стопа:
2) 3626

Данные комбинации уже с учётом "перевёрнутых байтов" - они хранятся в блоке данных и после пересылки по соответсвующему адресу (у меня это Q 264) они выставляются как нужно. Но мотор с места не трогается. Перепробывал все возможные комбинации - идеи на исходе. Был бы благодарен за любую помощь. Я много прочитал и здесь и по документации - мне бы просто понять принцип дистанционного управления.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

v0v
не первый раз у нас
не первый раз у нас
Сообщения: 343
Зарегистрирован: 12 дек 2018, 14:47
Имя: Влад
Благодарил (а): 1 раз
Поблагодарили: 44 раза

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение v0v »

Попробуйте не Q264 а PQW
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

v0v писал(а): 27 янв 2022, 17:32 Попробуйте не Q264 а PQW
Я описАлся - так в коде и есть. Частота же записывается. Значит механизм вцелом работает. Я просто не понимаю какая комбинация заставила бы мотор стартануть. Числа которые я указал (они в 16-ом коде) должны подходить. Но не подходят почему-то.

Parliament74
корифей
корифей
Сообщения: 792
Зарегистрирован: 16 ноя 2016, 11:33
Имя: Максим Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 202 раза

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Parliament74 »

Посмотрите, пожалуйста, руководство по работе с FC300 через Profibus: какое слово управления передаёте, какое слово состояния получаете (по битам прям распишите) и с большой долей вероятности станет ясно, чего там не хватает для запуска ПЧ...

https://files.danfoss.com/download/Driv ... 33C202.pdf
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

Parliament74, Да - я его читал, только у меня на русском языке.

Вот как я рассуждал:
Слово управления 2.jpg
Единственное - я смотрю с тетрадой младших байтов я ошибся. Вроде должно быть 16#3426 - для стоп и 16#7426 для старта.
Пойду сейчас пробовать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 377
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 116 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение M3f »

Проверьте какой профиль у вас выбран в настройках FC Profile или PROFIdrive Profile (у них разные CW).
Я обычно задаю CW побитово (некоторые ПЧ требует определенную последовательность установки битов с выдержкой времени).
Для примера можете посмотреть инструкцию от CHANt-а, ТУТ. Там для FC202 и Profinet IO, но управление почти аналогично.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

Делаю по профилю FC. Пример этот я читал - вернее пример D - он ближе к моей ситуации.
Попробую после обеда профиль PROFidrive. Хотя и так должно работать. Но видимо я чего-то не понимаю, а идеи уже кончились, как и время подходит к концу.
У меня ещё пара вопросов - вдруг кто знает:

1) Вот у меня конфигурация
Конфигурация.jpg
Я сначала думал, что вторая строка (113 которая) для пересылки управляющего слова и частоты, а с верхнего диапазона адресов (4АХ) читаем ответ ПЧ. Но опытным путём я понял, что в верхнем диапазоне (256-263) всё всегда по нулям.
Прочитал PIB264-265 - там 06 03 00 00. Я так понимаю это слово состояния? Зачем тогда вообще нужна верхняя строка?

2) Большое количество вопросов у меня именно по назначению битов управляющего слова - только не отсылайте меня к инструкции - её я уже перечитал не один раз. Если не пояснит живой человек - толку от того что я в десятый раз прочитаю одно и то же не будет.

2.1) Бит 04 - это либо "быстрый останов" либо "изменение скорости" - если мне не нужно не то ни другое? Если я хочу чтобы мотор работал с постоянной скокростью? Там же в любом случае будет или 0 или 1. Не понимаю я такой выбор.

2.2) Бит 05 тоже какой-то туманный - "фиксация выходной частоты" - это он начинает работать с какой-то предустановленной частотой, которая в настройках ПЧ или по этому биту он принимает заданную мной во втором слове частоту? При бит 05 = 0 опять "изменение скорости", которую я не желаю менять и которая уже встречалась в бите например 02 и 04 - чем они отличаются - тоже не понятно.

2.3) Бит 09 - здесь опять "изменение скорости" - ну я так понимаю здесь отсылка к настройкам - по какому закону она меняется?

2.1) Далее Бит 11 и 12 - я выбрал "нет функции", но если там "1" - активируются какие-то реле. Посмотрел по схеме - вроде таких нет. Сначала думал, что с помошью этих реле коммутируется нагрузка выходная - но выход у нас один - а тут их два... Для чего они - тоже не понятно - в иструкции только написано как их активировать.

2.3) Бит 13 - тоже не очень понятно - вроде для выбора предустановленных наборов.
Сложно формировать управляющее слово если не чётко представляешь что для чего нужно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 377
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 116 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение M3f »

1. Верхняя строка нужна для ациклического чтения/записи данных из/в требуемые параметры ПЧ.
2.1. Бит 4 - задает для вашего ПЧ торможение за время, согласно параметра "быстрая остановка". Если бит = 0, ПЧ будет остановлен, согласно этому параметру. Если бит = 1, ПЧ будет останавливаться (если подана команда стоп), согласно установленному разгону/торможению (рампе). Когда бит 4 = 1, ПЧ может быть запущен.
2.2. Бит 5 - замораживает установленную выходную частоту (бит 5 = 0). Когда частота заморожена ее нельзя изменить заданием, только через цифровые входы. При = 1 работает согласно установленному разгону/торможению (рампе).
2.3 Бит 9 - отвечает за выбор одной из 2 (двух) уставок разгона/торможения (рампе). Иногда бывает полезно в первой уставке сделать разгон 10 сек., а во второй 120 сек. и менять согласно программы (например для плавного заполнения трубопровода при первом пуске).
2.4. Биты 11, 12 - это для управления релейными выходами. Бит 11 для релейного выхода №1, бит 12 для релейного выхода №4 (это если у вас установлен модуль расширения). Дополнительно, чтобы они переключались надо в настройках для реле, параметр 5-40, выбрать соответствующий параметр (= 36 или =37).
2.5 Бит 13 работает в паре с битом 14. Как вы правильно написали, эти биты нужны для выбора одного из 4 наборов параметров (используется, например, если у вас ПЧ подключается к 4 разным двигателям, разной мощности). Например для выбора 3 набора надо, чтобы бит 13 = 0, а бит 14 = 1.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

Спасибо. Запустить правда не получилось дистанционно. В понедельник продолжу по протоколу PROFIDrive. FC как-то не пошло. На PROFIDrive в руководстве есть хотя бы графы состояний. Может так получится.
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

Попробовал я по профилю PROFIdrive - тоже не запускается в автомате. Чего-то я не понимаю. Знать бы ещё чего.

В руководстве есть граф состояний ПЧ по данному профилю. Вот оно:
Граф состояний.jpg
Исходя из него - начальное состояние в стопе, оно и логично.

Выставляю CTW в начальное состояние останова:
Теоритическое НС.jpg
Т.е. я выставляю управляющее слово 16#0038 и отклик на него STW = 16#6004
Если я его правильно интерпретирую, то у меня уже почему- "превышение напряжение" и "превышение крутящего момента" - это мне уже непонятно - мотор ещё с места не тронулся - какое превышение крутящего момента. И какое превышение напряжения? ПЧ запитан от номинального 380В.

Вообщем я перепробывал много комбинаций управляющего слова - мотор как стоял, так и стоит. В ручном работает. Даже частота меняется с HMI интерфейса.
Что может быть не так? Может у него другое начальное состояние? Просто изменение бита 6 управляющего слова из 0 в 1 ничего не даёт. Значит должны быть соблюдены ещё какие-то условия.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 377
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 116 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение M3f »

Для профиля PROFIdrive, вы как минимум должны выставить биты: 3, 4, 5, 6, 10 (16#0478 или 16#7804 если меняете байты) в CW. Как задали нужное значение, посмотрите на ПЧ, что приходит к нему по CW (вроде параметр 16-00).
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

Я такое выставлял - тоже ничего. Если предположить, что до сигнала старта (6 бит) должно предшествовать ещё какое-то нулевое состояние. Параметр сейчас проверю.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 377
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 116 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение M3f »

Проверьте на ПЧ какое CW к нему приходит и что настройки запуска у него стоят через CW.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

Да - проверил - слово управление пишется один в один.
Параметр 8-01 - [2] - Управление с помощью только командного слова.
Результат по прежнему отрицательный. Мотор не стартует.

Andreyit
не первый раз у нас
не первый раз у нас
Сообщения: 338
Зарегистрирован: 06 фев 2020, 16:09
Имя: Андрей
город/регион: Екатеринбург
Поблагодарили: 59 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Andreyit »

С данфосом была какая-то проблема (у старенького vlt280), что даже если его настраивать на управление с клеммника (вывести кнопки на ящик), то он не будет запускаться по сигналу пуск, до тех пор, пока руками не нажмешь пуск с кнопок на ЧП, и только потом будет работать пуск\стоп с клеммника.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 377
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 116 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение M3f »

1. Проверьте что у вас в 8-14, должно быть [0] None.
2. Попробуйте DP-V1 с другим PPO.
Попробуйте настроить полностью из руководства:
Из руководства для FC профиля:
Слово управления:
Danfoss_001.PNG
PPO6:
Danfoss_002.PNG
Команда пуска и задания:
Danfoss_003.PNG
Еще бывает проблемы с .gsd файлами. Я так понимаю у вас новый ПЧ с последней прошивкой? Надо искать последний .gsd файл, так как с более старыми могут быть проблемы с подключениям (но как правило нельзя вообще ничего прочитать/записать).
У вас нет необходимых прав для просмотра вложений в этом сообщении.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

Спасибо большое за советы. К сожалению заболел и не могу попробовать. НА реальном оборудовании. Нет ли какой-нибудь программы эмулятора? Я скачал какой-то LCP Simulator эмулирующий FC 302. Но не знаю - будет ли он работать с проектом Step 7.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 377
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 116 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение M3f »

Этот эмулятор, вроде, только для панели управления ПЧ. В своей практике, я не встречал эмулятора под ПЧ фирмы Danfoss.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 27 раз
Поблагодарили: 155 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение aranea »

Alex80 писал(а): 28 янв 2022, 09:32 Вроде должно быть 16#3426 - для стоп и 16#7426 для старта.
Пойду сейчас пробовать.
писать магические цифры и получать волшебный хекс в ответ - это прекрасно

Код: Выделить всё

FUNCTION_BLOCK Sina_G120C

TITLE = 'Управление ЧРП Sinamics G120C'

VERSION: '1.0'
AUTHOR: aranea
NAME: Folio
FAMILY: SPEC

//-- Block Parameters
VAR_INPUT
    //-- Input Parameters
    i_Address       : INT   := 0;   // Адрес IO привода

    i_Speed         : REAL  := 0.0; // Уставка скорости [%]
    i_Torque        : INT   := 0;   // Ограничение момента [%]
    i_Analog        : INT   := 0;   // Аналоговый выход [%]

    i_Cmd_Forward   : BOOL  := 0;   // Команда движения вперед
    i_Cmd_Backward  : BOOL  := 0;   // Команда движения назад
    i_Cmd_Fast_Stop : BOOL  := 0;   // Команда быстрого останова
    i_Cmd_Reset     : BOOL  := 0;   // Сброс ошибки
END_VAR

VAR_OUTPUT
    //-- Output Parameters
    q_Ready         : BOOL  := 0;   // Готов к включению

    q_Run_Forward   : BOOL  := 0;   // Работа вперед
    q_Run_Backward  : BOOL  := 0;   // Работа назад

    q_Speed_P       : REAL  := 0.0; // Актуальная скорость [%]
    q_Curr_P        : REAL  := 0.0; // Актуальный ток [%]
    q_Torq_P        : REAL  := 0.0; // Актуальный момент [%]

    q_W_Status      : WORD  := 0;        // Слово состояния
    q_abi_Status    AT q_W_Status  : ARRAY [0..15] OF BOOL;

    q_W_Control     : WORD  := 0;        // Слово управления
    q_abi_Control   AT q_W_Control : ARRAY [0..15] OF BOOL;

    q_W_Warning     : INT   := 0;        // Слово предупреждений
    q_W_Fault       : INT   := 0;        // Слово аварий
END_VAR

VAR_TEMP
    //-- Temporary Variables
    i_Ret   : INT;
    w_Ret   : WORD;
    w_Addr  : WORD;

    // Побитовое представление слова состояния
    t_s00_Rdy_Switch    : BOOL; // bit 00. 1=Drive ready for switching on;0=Drive not ready
    t_s01_Rdy_Operat    : BOOL; // bit 01. 1=Ready for operation (DC link loaded, pulses disabled);0=not ready
    t_s02_Drive_Run     : BOOL; // bit 02. 1=Drive running; 0=Pulses disabled
    t_s03_Fault         : BOOL; // bit 03. 1=Drive fault active (pulses disabled);0=No fault
    t_s04_Coast         : BOOL; // bit 04. 0=Coast down active (OFF2 active);1=OFF2 inactive
    t_s05_Fast_Stop     : BOOL; // bit 05. 0=Fast stop active;1=OFF3 inactive
    t_s06_Switch_Deny   : BOOL; // bit 06. 1=Switching on inhibited active;0=No (possible to switch on)
    t_s07_Warning       : BOOL; // bit 07. 1=Drive warning active; 0=No warning
    t_s08_Deviation     : BOOL; // bit 08. 0=Deviation setpoint/act.value 1=No deviation setpoint/act.Value
    t_s09_PZD_control   : BOOL; // bit 09. 1=PZD control (always 1)
    t_s10_Speed_Max     : BOOL; // bit 10. 1 = Maximum speed reached (f_act >= p1082 (f_max))
    t_s11_Limit_Mon     : BOOL; // bit 11. 0=I,M,P limit reached; 1=Limit not reached
    t_s12_Brake_Opn     : BOOL; // bit 12. 1=Open motor holding brake
    t_s13_Over_Heat     : BOOL; // bit 13. 0=Alarm motor overtemperature;1=No overtemperature
    t_s14_Right_run     : BOOL; // bit 14. 1=Motor runs right; 0=Motor does not run right
    t_s15_Over_Load     : BOOL; // bit 15. 0=Alarm drive overload; 1=No drive overload

    // Побитовое представление слова управления
    t_c00_On_Off1       : BOOL; // bit 00. 0_1=ON, 0=OFF; p.0840
    t_c01_Off2          : BOOL; // bit 01. 1=Operation, 0=Electrical stop; p.0844, p.0845
    t_c02_Off3          : BOOL; // bit 02. 1=Operation, 0=Fast stop; p.0848, p.0849
    t_c03_Oper_Enable   : BOOL; // bit 03. 1=Operation enable;p.0852
    t_c04_Ramp_Enable   : BOOL; // bit 04. 1=Ramp-function generator enable;r2090.4 with PB or 1
    t_c05_Ramp_Cont     : BOOL; // bit 05. 1=Continue ramp-function generator;r2090.5 with PB or 1
    t_c06_En_Speed_SP   : BOOL; // bit 06. 1=Speed setpoint enable; r.2090.6 with PB or 1
    t_c07_Reset_Err     : BOOL; // bit 07. 1=Acknowledge fault
    t_c08_Jog_0         : BOOL; // bit 08. Jog bit 0 p.1055
    t_c09_Jog_1         : BOOL; // bit 09. Jog bit 1 p.1056
    t_c10_Cntrl_PLC     : BOOL; // bit 10. 1=Master control by PLC
    t_c11_Reversal      : BOOL; // bit 11. Directions reversal (setpoint)
    t_c12_Reserve       : BOOL; // bit 12. Reserved
    t_c13_Raise         : BOOL; // bit 13. 1=Motorized potentiometer raise
    t_c14_Lower         : BOOL; // bit 14. 1=Motorized potentiometer lower
    t_c15_CDS_0         : BOOL; // bit 15. 1=CDS bit 0

    t_s_Spd_act         : INT;  // Speed actual в машинных единицах 100%=4000HEX
    t_s_Curr_act        : INT;  // Current actual в машинных единицах 100%=4000HEX
    t_s_Torq_act        : INT;  // Torque actual в машинных единицах 100%=4000HEX
    t_s_Warn_Code       : INT;  // Warning code
    t_s_Fault_Code      : INT;  // Fault code

    t_c_Speed_stp       : INT;  // Speed setpoint, в машинных единицах 100%=4000HEX
    t_c_Torq_max        : INT;  // Torque max limitation;p.1522 fig.6630 в машинных единицах 100%=4000HEX
    t_c_Analog          : INT;  // Analog Output;p.0771 в машинных единицах 100%=4000HEX

END_VAR

VAR
    //-- Static Variables
    Status : STRUCT         // Слово состояния привода (r0052)
        Status      : WORD; // Слово состояния (LSB/MSB)
        Spd_act     : WORD; // Актуальная скорость в машинных единицах 100%=4000HEX
        Curr_act    : WORD; // Актуальный ток в машинных единицах 100%=4000HEX
        Torq_act    : WORD; // Актуальный момент в машинных единицах 100%=4000HEX
        Warn_Code   : WORD; // Слово предупреждений
        Fault_Code  : WORD; // Слово аварий
    END_STRUCT;

    Control : STRUCT        // Слово управления приводом (r0054)
        Control     : WORD; // Слово управления (LSB/MSB)
        Speed_stp   : WORD; // Уставка скорости в машинных единицах 100%=4000HEX
        Torq_max    : WORD; // Ограничение момнета;p.1522 fig.6630 в машинных единицах 100%=4000HEX
        An_Out      : WORD; // Аналоговый выход;p.0771 в машинных единицах 100%=4000HEX
        Reserve_1   : WORD; // Reserved
        Reserve_2   : WORD; // Reserved
    END_STRUCT;

END_VAR
//-- Statement Section
BEGIN

(* Обмен данными с приводом *)
//Обнуление данных с прошлого цикла чтения
w_Ret := w#16#0;
i_Ret := FILL(BVAL := w_Ret, BLK := Status);

// Чтение данных с привода 
w_Addr := INT_TO_WORD(i_Address);
i_Ret := DPRD_DAT(LADDR := w_Addr, RECORD := Status);
w_Ret := INT_TO_WORD(i_Ret);    // Анализ кода ошибки (0 = OK)

// Запись слова состояния на выход
q_W_Status := Status.Status;

// Побитовое представление слова состояния (реверс байт в слове)
t_s00_Rdy_Switch    := q_abi_Status[08];    // bit 00. 1=Drive ready for switching on;0=Drive not ready
t_s01_Rdy_Operat    := q_abi_Status[09];    // bit 01. 1=Ready for operation (DC link loaded, pulses disabled);0=not ready
t_s02_Drive_Run     := q_abi_Status[10];    // bit 02. 1=Drive running; 0=Pulses disabled
t_s03_Fault         := q_abi_Status[11];    // bit 03. 1=Drive fault active (pulses disabled);0=No fault
t_s04_Coast         := q_abi_Status[12];    // bit 04. 0=Coast down active (OFF2 active);1=OFF2 inactive
t_s05_Fast_Stop     := q_abi_Status[13];    // bit 05. 0=Fast stop active;1=OFF3 inactive
t_s06_Switch_Deny   := q_abi_Status[14];    // bit 06. 1=Switching on inhibited active;0=No (possible to switch on)
t_s07_Warning       := q_abi_Status[15];    // bit 07. 1=Drive warning active; 0=No warning
t_s08_Deviation     := q_abi_Status[00];    // bit 08. 0=Deviation setpoint/act.value 1=No deviation setpoint/act.Value
t_s09_PZD_control   := q_abi_Status[01];    // bit 09. 1=PZD control (always 1)
t_s10_Speed_Max     := q_abi_Status[02];    // bit 10. 1 = Maximum speed reached (f_act >= p1082 (f_max))
t_s11_Limit_Mon     := q_abi_Status[03];    // bit 11. 0=I,M,P limit reached; 1=Limit not reached
t_s12_Brake_Opn     := q_abi_Status[04];    // bit 12. 1=Open motor holding brake
t_s13_Over_Heat     := q_abi_Status[05];    // bit 13. 0=Alarm motor overtemperature;1=No overtemperature
t_s14_Right_run     := q_abi_Status[06];    // bit 14. 1=Motor runs right; 0=Motor does not run right
t_s15_Over_Load     := q_abi_Status[07];    // bit 15. 0=Alarm drive overload; 1=No drive overload

// Копирование аналоговых данных
t_s_Spd_act         := WORD_TO_INT(Status.Spd_act);     // Speed actual в машинных единицах 100%=4000HEX
t_s_Curr_act        := WORD_TO_INT(Status.Curr_act);    // Current actual в машинных единицах 100%=4000HEX
t_s_Torq_act        := WORD_TO_INT(Status.Torq_act);    // Torque actual в машинных единицах 100%=4000HEX

q_W_Warning         := WORD_TO_INT(Status.Warn_Code);   // Warning code
q_W_Fault           := WORD_TO_INT(Status.Fault_Code);  // Fault code

// Максштабирование в проценты
q_Speed_P  := (t_s_Spd_act  * 100.0) / 16384.0;
q_Curr_P   := (t_s_Curr_act * 100.0) / 16384.0;
q_Torq_P   := (t_s_Torq_act * 100.0) / 16384.0;

// Формирование статусных сигналов работы и готовности привода
q_Run_Forward   := t_s02_Drive_Run AND t_s14_Right_run; 
q_Run_Backward  := t_s02_Drive_Run AND NOT t_s14_Right_run; 

q_Ready         := t_s00_Rdy_Switch;


// Формирование слова управления
t_c00_On_Off1       := i_Cmd_Forward OR i_Cmd_Backward; // bit 00. 0_1=ON, 0=OFF; p.0840
t_c01_Off2          := true;                            // bit 01. 1=Operation, 0=Electrical stop; p.0844, p.0845
t_c02_Off3          := NOT i_Cmd_Fast_Stop;             // bit 02. 1=Operation, 0=Fast stop; p.0848, p.0849
t_c03_Oper_Enable   := true;                            // bit 03. 1=Operation enable;p.0852
t_c04_Ramp_Enable   := true;                            // bit 04. 1=Ramp-function generator enable;r2090.4 with PB or 1
t_c05_Ramp_Cont     := true;                            // bit 05. 1=Continue ramp-function generator;r2090.5 with PB or 1
t_c06_En_Speed_SP   := true;                            // bit 06. 1=Speed setpoint enable; r.2090.6 with PB or 1
t_c07_Reset_Err     := i_Cmd_Reset;                     // bit 07. 1=Acknowledge fault
t_c08_Jog_0         := false;                           // bit 08. Jog bit 0 p.1055
t_c09_Jog_1         := false;                           // bit 09. Jog bit 1 p.1056
t_c10_Cntrl_PLC     := true;                            // bit 10. 1=Master control by PLC
t_c11_Reversal      := i_Cmd_Backward;                  // bit 11. Directions reversal (setpoint)
t_c12_Reserve       := false;                           // bit 12. Reserved
t_c13_Raise         := false;                           // bit 13. 1=Motorized potentiometer raise
t_c14_Lower         := false;                           // bit 14. 1=Motorized potentiometer lower
t_c15_CDS_0         := false;                           // bit 15. 1=CDS bit 0

// Запись слова управления на выход
q_abi_Control[00]   := t_c08_Jog_0;
q_abi_Control[01]   := t_c09_Jog_1;
q_abi_Control[02]   := t_c10_Cntrl_PLC;
q_abi_Control[03]   := t_c11_Reversal;
q_abi_Control[04]   := t_c12_Reserve;
q_abi_Control[05]   := t_c13_Raise;
q_abi_Control[06]   := t_c14_Lower;
q_abi_Control[07]   := t_c15_CDS_0;
q_abi_Control[08]   := t_c00_On_Off1;
q_abi_Control[09]   := t_c01_Off2;
q_abi_Control[10]   := t_c02_Off3;
q_abi_Control[11]   := t_c03_Oper_Enable;
q_abi_Control[12]   := t_c04_Ramp_Enable;
q_abi_Control[13]   := t_c05_Ramp_Cont;
q_abi_Control[14]   := t_c06_En_Speed_SP;
q_abi_Control[15]   := t_c07_Reset_Err;

// Передача слова управления в структуру
Control.Control     := q_W_Control;

// Формирование аналоговых сигналов
t_c_Speed_stp       := REAL_TO_INT(i_Speed  * 16384.0 / 100.0); // Speed setpoint, в машинных единицах 100%=4000HEX
t_c_Torq_max        := (i_Torque * 16384) / 100; // Torque max limitation;p.1522 fig.6630 в машинных единицах 100%=4000HEX
t_c_Analog          := (i_Analog * 16384) / 100; // Analog Output;p.0771 в машинных единицах 100%=4000HEX

Control.Speed_stp   := INT_TO_WORD(t_c_Speed_stp);     // Speed setpoint, в машинных единицах 100%=4000HEX
Control.Torq_max    := INT_TO_WORD(t_c_Torq_max);      // Torque max limitation;p.1522 fig.6630 в машинных единицах 100%=4000HEX
Control.An_Out      := INT_TO_WORD(t_c_Analog);        // Analog Output;p.0771 в машинных единицах 100%=4000HEX

// Запись данных в привод
i_Ret := DPWR_DAT(LADDR := w_Addr, RECORD := Control);
w_Ret := INT_TO_WORD(i_Ret);    // Анализ кода ошибки (0 = OK)

END_FUNCTION_BLOCK

mazytus
осмотрелся
осмотрелся
Сообщения: 128
Зарегистрирован: 20 июл 2015, 06:43
Имя: Мазитов Максим Вазирович
Страна: Россия
город/регион: Красноярск
Благодарил (а): 29 раз
Поблагодарили: 14 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение mazytus »

По умолчанию у Danfoss один из DI настроен на НЗ состояние на останов ПЧ.
Из коробки эта перемычка с +24В естественно отсутствует.
Причем этот DI действует даже в в локальном режиме управления с панели.
Практик всегда пристрелит теоретика...
Eplan 2.7 > 2.9 > 2022.
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

Получилось у меня. Путём длительных экспериментов мотор таки стал стартовать дистанционно.
Я изменил тип телеграммы на РРО3. Но я почти уверен не в этом дело.
Нужно было изначально ввести CTW = 16#047F,
следом CTW = 16#047E
и снова CTW = 16#047F
После этого магического ввода состояний слова управления мотор стартует. У останавливается он битом 0, а не как описано 6. Я не знаю почему это так - но опытным путём установлено что это так. Он на 6 бит вообще не реагирует никак. Так что магический перебор "хекса" всёж работает.
Я правда не понимаю почему так - сравнил с состоянием графа состояний ПЧ - не должно работать. По описанию битов вообще другая комбинация на старт и останов должна быть, но опытный путь никто не отменял. И если кто-то как я будет грызть гранит с Danfoss FC 302. У вас есть готовое решение старта/стопа.
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 129
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 28 раз
Поблагодарили: 7 раз

Соединение CPU 314C-2DP с ПЧ Danfoss FC 302

Сообщение Alex80 »

Не знаю - стоит ли создавать отдельную тему для этого, но есть ещё вопрос около темы: попытался подключиться через родную программу MCT10 для параметрирования указанного ПЧ по RS485 и не видит компьютер ПЧ. Сталкивался кто-нибудь? Один парень в видео советует подпаять шунтирующий резистор на 120 Ом на переходнике USB. Поможет? Кто-нибудь делал?
Ответить

Вернуться в «Приводная техника (Sinamics, Micromaster, Masterdrive, Simoreg, Simotics)»