Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 23

Тема: Из Simulink в FBD

  1. #1

    По умолчанию Из Simulink в FBD

    Здравствуйте.
    Появилась задача - перевести модель, собранную в Matlab Simulink, на язык FBD (точнее, на любой, удовлетворяющий стандарту МЭК, но на FBD именно из Симулинка, думаю, будет проще). Вроде бы так посмотрел - всё есть, все блоки имеют свои аналоги, всё хорошо. Но есть несколько вопросов, больше "организационных" - поскольку с CoDeSys и вообще с ПЛК работать не приходилось.

    Во-первых, как в FBD принято организовывать визуальный контроль переменных? То есть каков аналог осциллографа?
    Во-вторых, есть ли готовые библиотеки специфических блоков (например, тиристора, или там, блок разложения сигнала на гармоники)?

    Вроде пока больше вопросов нет. Буду очень признателен за ответы.

  2. #2

    По умолчанию

    Видите ли Киналь...
    Matlab - сугубо теоретический инструмент расчета и создания моделей.
    CoDeSys - профессиональная система программирования ПЛК. Она не предназначена для сложных математических преобразований и вычислений... Хотя возможно такие библиотеки где то и есть, но не в базовой поставке - надо искать.
    Осцилографирование блока не возможно. Есть в ресурсах трассировка, с помощью которой можно производить осцилографирование переменных...

  3. #3

    По умолчанию

    Цитата Сообщение от Киналь Посмотреть сообщение
    Появилась задача - перевести модель, собранную в Matlab Simulink, на язык FBD (точнее, на любой, удовлетворяющий стандарту МЭК…
    Для этого есть специальный инструмент PLClink. Он позволяет интегрировать Simulink c CoDeSys практически бесшовно. Программа автоматом транслируется в исполняемый код, грузится в ПЛК и организуется обратная связь так, что прямо в Simulink видны значения переменных из ПЛК. Параллельно может работать модель и можно сравнить результаты. Очень серьезная штука, но не дешевая. Для маленьких проектов достаточно демо. Принципы работы кратко описаны тут. Аналогично можно преобразовать модель вручную, но естественно только в один конец. Проще в язык ST.

    Цитата Сообщение от Киналь Посмотреть сообщение
    ... с CoDeSys и вообще с ПЛК работать не приходилось.
    Вот с этого надо бы начать. Тогда пазл сложится. Иначе шансов мало.
    Цитата Сообщение от Киналь Посмотреть сообщение
    ...каков аналог осциллографа?
    См. графическая трассировка в CoDeSys. При применении PLClink данные из ПЛК отображаются прямо в осциллографах Симулинка.
    Цитата Сообщение от Киналь Посмотреть сообщение
    ...есть ли готовые библиотеки специфических блоков (например, тиристора, или там, блок разложения сигнала на гармоники)?
    Такого не будет в принципе. Это другой мир. Программистам ПЛК нужны высокоуровневые блоки для прикладных задач (регуляторы, таймеры и пр.). Все системные штуки (типа управления тиристорами через ШИМ, Фурье, свертки, цифровые фильтры) должны быть спрятаны на системном уровне. Например, специалист по дизельным двигателям пишет прикладную программу на контроллере. Он знает про двигатели все досконально, но процессоры и тиристоры его не волнуют. Это обязан сделать системный программист, встроить низкоуровневую поддержку в контроллер и дать прикладнику готовый выход (1 переменная) управления чем надо. Аналогично в Фотошопе не должно быть настроек режимов шины PCI. Это стержневая идея языков МЭК 61131-3: прикладное ПО должно быть четко отделено от системного. Их делают разные люди с образованием в разных областях. Если мы валим все в кучу, то МЭК языки теряют смысл.

  4. #4

    По умолчанию

    Спасибо за подробные ответы!
    Кажется, я спросил, "а как в телевизоре диктор помещается"=)

    Начну тогда с самого начала.
    Есть выполненная в Симулинке модель тиристорного преобразователя (выпрямителя-инвертора) с системой управления. В модели присутствуют как логические цепи (формирование сигналов управления для тиристоров), так и силовые (сеть-преобразователь-нагрузка). Есть, конечно и обратные связи - датчики тока, напряжения, мощности и пр.
    Требуется создать модель этого преобразователя на любом языке МЭК, никак не связанную с Симулинком. Преобразователь этот - штука мощная и дорогая, так что отлаживать программу на нём вживую никто не даст) Следовательно, нужны модели. Из ваших ответов я понял, что в рамках языков МЭК такие модели создать невозможно; как тогда быть? Или с помощью упомянутого PLClink можно "оставить" все силовые цепи в Симулинке, а логические перенести в CoDeSys?

    И ещё вопрос, из общих соображений - стоит ли вообще за это браться при отсутствии всяких навыков программирования ПЛК?

  5. #5

    По умолчанию

    Есть еще один вариант. LabView. Сдается мне что в нем уже есть все необходимое. В том числе специальные библиотеки для создания моделей объектов. На нем делают модели и отлаживают САУ для ,например, турбин, генераторов и прочих серьезных штук.

    Так же можно прикупить платы ввода-вывода. При готовности модели работать с контроллером.

  6. #6

    По умолчанию

    Их Википедии:
    LabVIEW (англ. Laboratory Virtual Instrumentation Engineering Workbench) — это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G»
    Разве это язык МЭК?

    Мне ведь не нужно программировать контроллер, мне нужно именно модель на языке МЭК. Или доказательство того, что трансляция симулинк-модели в МЭК-модель невозможна принципиально или возможна только при очень специфических условиях.

  7. #7

    По умолчанию

    Вы совершенно верно говорите - Вам нужна модель объекта. Если каким либо образом Вы сможете привести её к законченному мат. выражению - описать его на языках МЭК возможно.
    Но надо четко отдавать отчет - CoDeSys не для построения мат моделей.

  8. #8

    По умолчанию

    А как обычно поступают при программировании ПЛК? Ведь они могут управлять не только каким-нибудь там светофором, - где для отладки достаточно контролировать значения нескольких флагов - но и сложным процессом, где без модели не обойтись.

  9. #9

    По умолчанию

    С помощью PLClink можно сделать в Симулинке и модель объекта управления и управляющую программу. Откатать все нем, для начала. Затем управляющая программа автоматически транслируется в МЭК языки и далее в код в ПЛК. Получаем 2-й этап отладки-верификации правильности кода (это не позволяют обычные компиляторы будь то МЭК или Си). Автоматически созданная управляющая программа работает в ПЛК. Против нее в Симулинке играет модель. Сравниваем результаты и убеждаемся что программа управления правильная и ее машинный код создан без ошибок (компилятор CoDeSys сработал четко). Затем убираем Симулинк с моделью и заменяем его реальным объектом. Такая вот технология разработки ПО.
    Она применяется в очень сложных и супер дорогих системах. Например, управление углом атаки лопастей ветряных генераторов прямого возбуждения. В Матлабе можно решить соотв-ю модели систему диф. уравнений, создать нужный блок управления, транслировать в МЭК программу и верифицировать код. Все, что в Симулинке наваяли PLClink автоматом переведет в МЭК программу. Без ручного кодирования вообще!
    Для нас препятствием применения этой технологии является высокая стоимость Матлаб и Симулинк.
    Цитата Сообщение от Киналь Посмотреть сообщение
    ...Или доказательство того, что трансляция симулинк-модели в МЭК-модель невозможна принципиально или возможна только при очень специфических условиях.
    Возможно, с некоторыми ограничениями. В документации на PLClink эта тема рассмотрена детально.
    Цитата Сообщение от Киналь Посмотреть сообщение
    А как обычно поступают при программировании ПЛК? Ведь они могут управлять не только каким-нибудь там светофором, - где для отладки достаточно контролировать значения нескольких флагов - но и сложным процессом, где без модели не обойтись.
    Делаем модели прямо в CoDeSys, никто не запрещает. Можно в одном ПЛК параллельно писать и запускать управляющую программу и модель. Для этого есть параллельные задачи и визуализация для интерфейса. Это нормальная практика. Пробуйте.
    Цитата Сообщение от Киналь Посмотреть сообщение
    Кажется, я спросил, "а как в телевизоре диктор помещается"=)
    Вопрос очень похож на курсовую работу с выдуманными условиями. Сомнение вызывает практическая реализуемость на ПЛК в реальном времени:
    1) Справится ли с этим процессор ПЛК? В алгоритмах будут вычисления не типичные для ПЛК.
    2) Набор входов/выходов тут будет не типовой для ПЛК.
    3) Готовых ФБ в МЭК языках для этого нет. Придется писать самому.
    Наверняка управление преобразователем сделано не на ПЛК, а на спец. контроллере с DSP? Хорошая модель тут должна быть штукой более сильной и дорогой. Разве нет?

  10. #10

    По умолчанию

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

Страница 1 из 3 123 ПоследняяПоследняя

Ваши права

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