Перейти к содержанию
    

griabig

Участник
  • Постов

    30
  • Зарегистрирован

  • Посещение

Весь контент griabig


  1. в Beremiz есть расширение, которое позволяет вставлять код на Си, а также поддерживается специальная прагма для Си вставок в МЭК-код.
  2. Сложно на такой вопрос ответить однозначно без покрытия тестами результатов кодогенератора. Вот здесь есть список проблем (а иногда и не проблем) в кодогенераторе: https://bitbucket.org/mjsousa/matiec/issues?status=new&status=open Из того, с чем я сталкивался это проблемы в языке SFC. Но с ними я сталкивался и у другого платного рантайма. Мои коллеги, программирующие ПЛК, в принципе, SFC не очень доверяют при реализации ответственных систем на других известных закрытых системах. Есть некоторые небольшие особенности кодогенератора и для LD из-за того, что он конвертируется в ST. Когда пишешь на ST обычно проблем нет. Я бы лично автоматизацию каких-то опасных объектов, в принципе, на чём-то новом и необкатанном не стал делать. Что касается Beremiz то вот ИНЭУМ им Брука, выпускающий СМ1820, раньше регулярно на конференциях по атомной энергетике про Beremiz рассказывал. Не знаю, правда, применяют ли они его фактически на атомных объектах, а если используют, то какой версии кодогенератор используется и исправляли ли они в нём какие-то ошибки или нет.
  3. 1) Базовое портирование примитивное. Нужен только таймер, который с задаваемым пользователем интервалом будет дёргать определённую процедуру. аппаратные входы-выходы привязываются по классике через МЭК-адреса, для этого обычно пишется модуль расширения для среды разработки Beremiz. Тут понадобится знание python. Сложность задачи зависит от того, что за железо и какие возможности по оффлайн-конфигурированию в среде разработке необходимы. Помимо прочего это расширение должно генерировать код для обновления входов и записи новых значений на выходы. Если расширение слишком сложно,то есть очень быстрый вариант с написанием библиотеки МЭК-функциональных блоков, использующих ваши нативные функции С(С++). То есть можно сделать, чтобы пользователь сам конфигурировал входы-выходы и выполнял опрос входов-выходов в цикле программы, когда ему необходимо. Это будет немного странно для ПЛК-программистов, но в целом можно быстро получить работающий прототип. Следующая сложность - это если вам нужна будет онлайн-отладка. Для целевых платформ на базе GNU/Linux с python системой исполнения уже всё сделано, а вот для встраиваемых систем придётся повозиться самому. Сложность опять же зависит от того, что за ОСРВ, какой интерфейс, какой протокол. И здесь уже точно без написания поддержки со стороны среды разработки не обойдётся. Для STM32 был порт yaplc. Возможно, там можно подглядеть что-нибудь. 2) С многопоточностью сложно. МЭК-стандарт изначально про многопоточность ничего не говорит. Генерируемый Си код про многопоточность ничего не знает и подразумевает исполнение в одно потоке всех МЭК программ. Соответственно никакие механизмы синхронизации для доступа к глобальным переменным не используются. Возможно, можно подправить макросы декларирования переменных и доступа, чтобы они использовали механизмы синхронизации, а может этого будет и недостаточно. Вопрос сложный.
  4. Спрашивать лучше в списке рассылки beremiz-devel https://sourceforge.net/projects/beremiz/lists/beremiz-devel Там выше вероятность, что дадут ответ.
  5. CODESYS Micro Runtime

    Понимаю, что обсуждение не совсем актуально, но всё же отвечу. С документацией/информацией действительно не очень, но, надеюсь, что ситуация когда-нибудь исправится. Существующие статьи про Beremiz можно найти тут: http://www.beremiz.org/doc. Есть несколько видео, где можно посмотреть Beremiz в действии. Питоновские файлы для среды разработки. С++ - это компилятор МЭК в Си, его вам трогать скорее всего не потребуется. Весь код для контроллера на Си. Если вы уже используете GNU make для сборки под контроллер, то тестовую адаптацию вы можете получить в течение нескольких дней в зависимости от квалификации разработчика(ов). Вариант адаптации под STM32 уже существует и называется YaPLC. Исходники открытые, можете посмотреть, как у них сделано.
  6. Добрый день, для Beremiz есть отдельная тема на форуме. Вообще с вопросами лучше в список рассылки Beremiy лучше писать. Там ответят. А по поводу вопроса, то посмотрите для начала презентацию с обзором архитектуры Beremiz, дальше рекомендую посмотреть, как сделана поддержка для уже существующих таргетов Linux, Win32. Это же open source, все исходники открыты. Всё можно посмотреть. :-) Дальше посмотрете, как это сделано в YaPLC. Это baremetal для STM32 для Beremiz. Baremetal не проблема для Beremiz, просто он требует несколько больше работы и заботы. :-)
  7. Обновил примеры в репозитории. Выложил скринкасты. Можешь смотреть.
  8. примеры, в том числе и по работе с wxGlade, есть в самом Beremiz в директории tests и устанавливаются на рабочий стол в папку BeremizExamples. Единственно, что я их не смотрел, не было необходимости. Возможно в этой части присутствуют баги. А вам нужен функционал wxGlade в ПЛК? Если так, то постараемся в ближайшее время поправить это.
  9. С python скорее всего придётся познакомиться, но это не сильно большая проблема, если вы уже опытный программист и знакомы с объектно-ориентированным подходом. Документация - это была бы огромнейшая помощь. Багрепорты - это тоже хорошо. Присланный код вообще замечательно. Лучше подписаться на список рассылки и писать текущие вопросы по Beremiz туда.
  10. Да, в этом-то и дело. Единственно, что писать с нуля своё я бы точно не стал.
  11. Если вы собираетесь писать самим, скажите сколько программистов у вас в штате планирует работать над этим проектом и как долго? "Делать оборудование совместимым с..." с чем вы хотите сделать его совместимым? В этом случае если у вас не будет письменной договорённости (она будет скорее всего стоить денег), то к вам рано или поздно могут придти с претензиями.
  12. А где вы такой вообще взяли??? Текущая версия PLCOpen Editor совпадает с текущей версией Beremiz - 1.2-85fdcc04da25. Я пробовал на виртуалке Win7 64bit, не смог воспроизвести. На моей основной системе, Debian , тоже не получилось.
  13. Почтовая рассылка однозначно оперативнее. Потому что форум этот я проверяю крайне редко. Все актуальные обсуждения ведутся там. В любом случае, если занимаетесь Beremiz, то подписаться на список рассылки крайне рекомендуется. Вообще эта проблема должна повторяться и на Beremiz. YaPLC эту часть кода не затрагивает, поэтому проблема должно присутствовать и в Beremiz и в PLCOpen Editor. Код они используют один и тот же. Пытался повторить проблему у себя, но что-то не вышло. Кстати, принудительная перерисовка есть по Ctrl-R. А спросить? А спросить? Вдруг вышлют по запросу. Wiki есть https://bitbucket.org/skvorl/beremiz/wiki/Home Информации там, правда, пока немного. Пишите туда. Абсолютно не вижу проблемы сделать два раздела в вики для разработки и для использования. Сейчас информации не так много, чтобы делать для неё отдельную Wiki. Если понадобится, то часть вики всегда можно вынести в отдельное место.
  14. А ты пробовал добавлять дочерние узлы к интерфейсу настройки modbus в дереве проекта? Вообще с вопросами лучше писать в список рассылки Beremiz. Лучше всего на вопросы по поводу этой библиотеки Modbus ответит её автор, который этот форум не читает. ;-) глюки GUI - что под этим конкретно подразумевается и у кого? Beremiz? YaPLC? Автор YaPLC, кстати, список рассылки Beremiz тоже читает. По поводу промышленного применения Beremiz: Вот список тех, кто его уже использует. У Smarteh вообще вся продукция основана на Beremiz. На сайте Beremiz только про один их контроллер написано, но с тех пор у них уже несколько линеек контроллеров и панелей на Beremiz вышло.
  15. Работа над интеграцией Modbus-RTU/TCP идёт. Когда-нибудь она обязательно появится в основном репозитории. Сейчас для целевых платформ на базе GNU/Linux доступна реализация от Марио. Используемая библиотека доступна здесь. Репозиторий Beremiz от Марио сильно отстаёт от текущей ветки разработки. Поэтому рекомендуется к Beremiz из репозитория, где сейчас в основном ведётся разработка, применить следующую заплатку из репозитория Марио. Если интересует целевая платформа на базе Cortex-Mx, то можете посмотреть, как поддержка Modbus-RTU сделана в основанном на Beremiz YaPLC.
  16. Это была проблема не в Beremiz, а в трансляторе matiec. Исправление уже доступно. Спасибо.
  17. Все багрепорты лучше писать на баг трекере. Пожалуйста, опишите вашу проблему там. Если сомневаетесь баг ли это, то лучше спросить сначала в списке рассылки [email protected].
  18. Все верно. Необходим ключ -i. http://www.beremiz.org/doc раздел "How To"
  19. Я так понимаю, что Вы списками рассылки не пользовались. Там всё просто. По сути Вашим интерфейсом является Ваш почтовый клиент. Регистрируете свой почтовый адрес здесь: https://lists.sourceforge.net/lists/listinfo/beremiz-devel После этого Вам на почту будут приходить сообщения других людей, пишущих в рассылку (трафика не много) Отправляете письмо на адрес рассылки и его получают другие подписчики. Кто может помочь, тот отвечает.
  20. Опять же повторю, что с вопросами лучше в список рассылки [email protected]. Напишите туда, помогут. ;-)
  21. Репозиторий безусловно правильный, но часть надо брать с https://github.com/nucleron, а часть нет. Например, Matiec и Beremiz там уже давно неактуальные версии. Их надо брать по следующим адресам: Beremiz - https://bitbucket.org/skvorl/beremiz (здесь ведется сейчас основная разработка), http://dev.automforge.net/beremiz/ (официальный репозиторий, который периодически синхронизируется с предыдущем) Matiec - https://bitbucket.org/mjsousa/matiec (официальный репозиторий). По поводу CANFestival могу сказать, что официальный репозиторий сейчас не поддерживается, но есть активный форк библиотеки (https://bitbucket.org/Mongo/canfestival-3-asc). Если вы используете CANOpen в Beremiz, то имеет смысл рассмотреть переход на поддерживаемую библиотеку. Возможно, будут какие-то проблемы в Beremiz при обновлении библиотеки. С этими вопросами добро пожаловать в список рассылки [email protected]. В любом случае, если Вы занимаетесь разработкой продукта на базе Beremiz, то крайне рекомендую подписаться на список рассылки [email protected]. Все вопросы по поводу Beremiz лучше писать туда. Имя '_' используется для локализации программ. В принципе, можно (и рекомендуется) использовать python-wx3.0.
  22. Если блокируют сам протокол IRC или нет возможности установить IRC-клиент, то всегда есть возможно войти в IRC чат через вэб. Например, вот здесь https://webchat.freenode.net/ Я всегда там, даже если меня в данный момент нет в офисе, то я прочитаю сообщение потом и обязательно отвечу на него.
  23. Замечательно! Но если забудет, то тогда добавим в баг-трекер. Так надежней, уже точно не потеряется.
  24. Предлагаю объединить усилия и допилить Beremiz/matiec до рабочего состояния. Я исправил некоторые ошибки, которые мне попались в работе в своем репозитории. Кстати, там сделана русская локализация пользовательского интерфейса. Есть части, которые не переведены еще. Но это части кода, которые вообще без поддержки локализации написаны. Это я поправлю, как буду на них натыкаться. По поводу matiec ничего не могу сказать. Только белгло просмотрел код. Там надо разбираться. Кстати проблемы, касающиеся matiec, мне кажется, что лучше описывать еще на баг-трекере.
×
×
  • Создать...