Страница 13 из 17 ПерваяПервая ... 31112131415 ... ПоследняяПоследняя
Показано с 121 по 130 из 168

Тема: CODESYS V3.5. Онлайн-FAQ

  1. #121

    По умолчанию PRG#34. Где прочитать об использовании объектно-ориентированного подхода в CODESYS?

    Вопрос: где прочитать об использовании объектно-ориентированного подхода (ООП) в CODESYS V3.5?

    Ответ: объектно-ориентированный подход (ООП) - это устоявшаяся и хорошая известная методология программирования, которая не является какой-то уникальной чертой CODESYS V3.5.

    Если вы ранее не использовали ООП - то изучать его на примере CODESYS будет не самой лучшей идеей из-за крайне ограниченного количества методических материалов (особенно для начинающих).
    Желательно ознакомиться с концепцией ООП на примере какого-то enterprise-языка - например, Java (реализация ООП в CODESYS вдохновлена Java, используются те же самые ключевые слова - interface, extends, implements, super, this).
    В интернете доступно множество книг, статей, обучающих курсов и учебных видео по этому вопросу.

    Применение ООП неразрывно связано с системным подходом к проектированию ПО.
    Чтобы научиться оценивать, продуктивно ли будет использовать ООП в рамках вашей конкретной задачи, и применять объектно-ориентированный дизайн при проектировании ПО - необходимо изучить соответствующую литературу (например - см. Грэди Буч. Объектно-ориентированный анализ и проектирование).

    С терминологический точки зрения - говорить о примении ООП в CODESYS можно только при наличии осмысленного использования в вашем приложении наследования и полиморфизма
    (абстракция и инкапсуляция и так являются неотъемлемой частью продуманного приложения для ПЛК - даже созданного в типичной для них парадигме структурного программирования).

    Список материалов по использованию ООП при программировании ПЛК на языках стандарта МЭК 61131-3:

    1. Wolfgang Horn, Michael Braun. Object-oriented Programming in SIMOTION

    Это единственная известная мне книга, системно рассматривающая вопрос использования ООП для программирования ПЛК и рассчитанная в том числе на начинающих пользователей.

    2. Обучающие материалы PLCopen. Руководство по применению объектно-ориентированного подхода

    3. Швецов М. Л. CoDeSys V3 и объектно-ориентированные расширения языков МЭК 61131-3. Стратегическая идея или насущная необходимость?

    4. Петров И. В. Объектно-ориентированное программирование CDS V3

    5. Швецов М. Л. Эффективное применение ООП CODESYS на практике

    6. Кузьмина Н. С. Объектно-ориентированное программирование в стандарте МЭК 61131-3

    7. Хесс Д. Объектно-ориентированные расширения МЭК 61131-3

    8. CoDeSys. Object-Oriented Controller Programming

    9. OOP in CODESYS (часть 1, часть 2, часть 3)

    10. Статьи из блога Стефана Хеннекена

    11. Информация из онлайн-справки CODESYS

    12. Информация из онлайн-справки Beckhoff

    13. Вебинар по ООП от Beckhoff

    14. Примеры использования ООП в CODESYS:


  2. #122

    По умолчанию VISU#30. Как сделать всплывающее окно при появлении тревог?

    Вопрос: можно ли сделать так, чтобы при возникновении тревог на основном экране визуализации появлялось всплывающее окно с уведомлением о возникшей тревоге?

    Ответ: см. пример.

    2022-05-24_13-36-19.png

  3. #123

    По умолчанию PRG#35. Как определить объем используемой/свободной RETAIN-памяти?

    Вопрос: как определить объем используемой/свободной RETAIN-памяти?

    Ответ: после выполнения команды Компиляция - Генерировать код на панели сообщений компиляции отображается информация об общей и свободной RETAIN-памяти
    (параметр Наибольший непрерывный промежуток памяти). Соответственно, определить размер используемой в проекте RETAIN-памяти можно путем вычитания объема свободной RETAIN-памяти из общей.

    27-05-2022 8-35-39.png

  4. #124

    По умолчанию PRG#36. Как перенести проект из старой версии CODESYS в V3.5 SP17 Patch 3?

    Вопрос: наши проекты созданы в старых версиях CODESYS (V3.5 SP16 Patch 3, V3.5 SP14 Patch 3 и т.д.).
    Как перенести их в версию V3.5 SP17 Patch 3?

    Ответ: см. видео.

  5. #125

    По умолчанию PRG#37. Как перенести установленные плагины с одного ПК на другой?

    Вопрос: я использую CODESYS V3.5 SP17 Patch 3. С помощью CODESYS Installer обновил версии некоторых плагинов.
    Как теперь перенести их на другой ПК, на котором нет интернета/нет возможности использовать VPN и т.д.?

    Ответ: при загрузке плагина через CODESYS Installer его пакет (.package) сохраняется в директории C:\Users\<ваш пользователь>\AppData\Local\Temp\APInstaller\<дата загрузки плагина>.
    Вы можете перенести эти пакеты на другой ПК и установить их через CODESYS Installer.

    2022-07-01_7-16-13.png

  6. #126

    По умолчанию OTHER#12. Как отключить диагностику дискретных выходов в ПЛК210-03?

    Вопрос: в проекте используется контроллер ПЛК210-03. Дискретные выходы контроллера не будут использоваться. На контроллере они светятся красным.
    С точки зрения заказчика красные светодиоды - это плохо (авария и т.д.). Как их отключить и убрать красное свечение? Питание на выходы подано согласно схеме подключения.

    Ответ: цвет индикаторов выходов в выключенном состоянии определяется по следующей схеме:

    2022-07-14_6-29-59.png

    Общий принцип диагностики выходов и изменения цвета индикаторов выходов следующий:

    2022-07-14_11-34-39.png

    Если в проекте выходы не будут использоваться (то есть к ним не будет подключена нагрузка), и при этом красное свечение индикаторов выходов нужно отключить, то:

    1. Подайте питание на выходы согласно схеме подключения из РЭ.

    2022-07-14_11-30-11.png 2022-07-14_11-30-36.png

    2. Отключите диагностику быстрых дискретных выходов (FDO) в среде CODESYS:
    в узле LeftSide на вкладке Конфигурация в параметре Режим включения дискретных выходов присвойте всем выходам значение TRUE.
    Это переключит их в режим Верхний и нижний ключ, в котором диагностика выходов отключена.

    2022-07-11_9-19-18 (1).png

    3. Отключите диагностику обычных дискретных выходов (DO) в среде CODESYS:
    в узле RightSide на вкладке Конфигурация в параметре Диагностика работы выходов и обрыва нагрузки присвойте всем выходам значение FALSE.

    2022-07-14_6-36-27.png

  7. #127

    По умолчанию VISU#31. Медленное применение настроек тренда в плагине визуализации 4.2.0.0

    Вопрос: используем CODESYS V3.5 SP17 Patch 3 с плагином визуализации 4.2.0.0.
    Для элемента Тренд настроено управление видимостью перьев и диапазоном по оси Y - оператор в визуализации выбирает конкретное перо, после чего оно становится видимым, все остальные перья скрываются и устанавливается подходящий диапазон по оси Y. Но применение этих настроек происходит только спустя 10...30 секунд после выбора пера. С чем может быть связана эта проблема?

    Ответ: в плагине визуализации 4.2.0.0 изменился механизм обновления трендов.
    Теперь на него влияет переменная VisuElems.VisuElemBase.Visu_Globals.g_VisuTrendWit hTimeSelectorUpdateBehaviour; ее значение по умолчанию - 100.
    (из-за особенностей нашего форума в имени переменной отображается лишний пробел)
    Перерисовка тренда происходит с периодом = (время элемента выбора интервала дат) / VisuElems.VisuElemBase.Visu_Globals.g_VisuTrendWit hTimeSelectorUpdateBehaviour.

    Вот так работает клиентский проект со значением этой переменной по умолчанию = 100:

    https://ftp.owen.ru/CoDeSys3/95_Inte...aviour_100.mp4

    А вот что будет, если присвоить ей значение 0 (не обязательно делать это циклически - достаточно присвоить переменной 0 в первом цикле контроллера):

    https://ftp.owen.ru/CoDeSys3/95_Inte...ehaviour_0.mp4

    При значении 0 обновление тренда происходит максимально быстро - как в прошлых версиях плагина визуализации.
    Соответственно, такое поведение приводит к увеличению нагрузки на контроллер.

  8. #128

    По умолчанию OTHER#13. Как определить, можно ли перепрошить ПЛК2xx на прошивку 2.4.xxxx.xxxx?

    Вопрос: В ReadMe для прошивки 2.4.xxxx.xxxx написано следующее:

    Для ПЛК210:
    Перепрошивка с версии 1.2.xxxx.xxxx / 1.3.xxxx.xxxx на версию 2.4.xxxx.xxxx поддерживается только для устройств, выпущенных начиная с июля 2020 года (с 512 Мб flash-памяти).

    Для ПЛК200:
    Перепрошивка с версии 1.2.xxxx.xxxx / 1.3.xxxx.xxxx на версию 2.4.xxxx.xxxx поддерживается только для устройств, выпущенных начиная с марта 2021 года (с 512 Мб flash-памяти).
    Как определить дату производства ПЛК и объем его flash-памяти?

    Ответ: дату производства ПЛК можно определить по заводскому номеру.
    В его 7-8 разрядах указан год производства прибора, а в 9-10 - месяц.
    Пример заводского номера: 103026210832371658
    Этот ПЛК произведен в августе 2021 года (08.21).

    Но лучше ориентироваться на объем flash-памяти.
    Перезагрузите ПЛК, откройте web-конфигуратор, перейдите на вкладку Состояние/Журналы и выполните поиск по слову nand.
    В выводе отобразятся сообщения, в которых указан объем flash-памяти контроллера.

    2022-06-30_6-31-45.png

  9. #129

    По умолчанию PRG#38. Как использовать блок ПИД для управления охладителем?

    Вопрос: есть проект, в котором используется ФБ PID из библиотеки Util.
    Выход данного регулятора предназначен для управления нагревателем.
    Подскажите, что нужно сделать, если требуется управлять охладителем?

    Ответ: умножьте коэффициент пропорциональности (значение на входе KP регулятора) на -1.

    2022-09-20_14-13-30.png

  10. #130

    По умолчанию PRG#39. Как вызвать метод в языке CFC?

    Вопрос: как организовать вызов метода на языке CFC?

    Ответ: см. скриншот.

    CreateRecipe - метод ФБ RecipeManCommands.
    При вызове метода в языке CFC ко всем его входам и выходам обязательно должны быть привязаны переменные.

    cfc_methods.png

Страница 13 из 17 ПерваяПервая ... 31112131415 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 29.06.2017, 11:21

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •