Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Beremiz
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Программирование
Страницы: 1, 2, 3
_Pasha
Цитата(bigmaxtor @ Mar 6 2017, 16:14) *
Приветствую всех! Сборка проекта matiec из репозитория прошла с незначительными варнингами. Сам beremiz запускается. Однако при попытке запуска его проекта из среды PyDev вываливается куча ошибок. В чем может быть моя ошибка?


Чаще всего непонятки из-за неявного вызова python2/python3
PyDev универсальный, написан так что может хоститься и под 2 и под 3.

Я всегда в случаях использования pip install указываю явно pip2 или pip3, например.
griabig
Цитата(bigmaxtor @ Mar 9 2017, 11:25) *
Beremiz и matiec - из https://github.com/nucleron. Нам требуется собрать минимально рабочую систему на плате F4Discovery. Из какого репозитория нам будет быстрее это сделать? Работаем в Linux/Ubuntu. IDE - Eclipse+PyDev. Логи соберу, укорочу и выложу.


Репозиторий безусловно правильный, но часть надо брать с 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 при обновлении библиотеки. С этими вопросами добро пожаловать в список рассылки beremiz-devel@lists.sourceforge.net.

В любом случае, если Вы занимаетесь разработкой продукта на базе Beremiz, то крайне рекомендую подписаться на список рассылки beremiz-devel@lists.sourceforge.net.
Все вопросы по поводу Beremiz лучше писать туда.




Цитата(bigmaxtor @ Mar 9 2017, 13:12) *
Это было бы круто, но не сейчас. Сейчас STMка - всего лишь цель для беремиза.



Видимо, что-то не так с нашей питоновской средой PyDev - похоже, она не видит определения самого беремиза и виджетов.
Мы ставили python-wxgtk2.8.
Мы не поставили какую-то библиотеку или для беремиза лучше другую IDE использовать ?

Наши логи:
Код
============================= ERRORS =============================
Traceback (most recent call last):
  File "/home/igor/.p2/pool/plugins/org.python.pydev_5.5.0.201701191708/pysrc/_pydev_runfiles/pydev_runfiles.py", line 468, in __get_module_from_str
    mod = __import__(modname)
  File "/home/igor/acs/beremiz/beremiz_test/beremiz/Beremiz_service.py", line 88, in <module>
    sys.exit()
SystemExit
ERROR: Module: Beremiz_service could not be imported (file: /home/igor/acs/beremiz/beremiz_test/beremiz/Beremiz_service.py).

============================= ERRORS =============================
Traceback (most recent call last):
  File "/home/igor/.p2/pool/plugins/org.python.pydev_5.5.0.201701191708/pysrc/_pydev_runfiles/pydev_runfiles.py", line 468, in __get_module_from_str
    mod = __import__(modname)
  File "/home/igor/acs/beremiz/beremiz_test/beremiz/PLCOpenEditor.py", line 80, in <module>
    from IDEFrame import IDEFrame, AppendMenu
...
  File "/home/igor/acs/beremiz/beremiz_test/beremiz/dialogs/FBDVariableDialog.py", line 37, in <module>
    VARIABLE_CLASSES_DICT = {INPUT : _("Input"),
NameError: name '_' is not defined
ERROR: Module: PLCOpenEditor could not be imported (file: /home/igor/acs/beremiz/beremiz_test/beremiz/PLCOpenEditor.py).

============================= ERRORS =============================
Traceback (most recent call last):
  File "/home/igor/.p2/pool/plugins/org.python.pydev_5.5.0.201701191708/pysrc/_pydev_runfiles/pydev_runfiles.py", line 468, in __get_module_from_str
    mod = __import__(modname)
  File "/home/igor/acs/beremiz/beremiz_test/beremiz/svgui/__init__.py", line 1, in <module>
    from svgui import *
  ...
  File "/home/igor/acs/beremiz/beremiz_test/beremiz/dialogs/FBDVariableDialog.py", line 37, in <module>
    VARIABLE_CLASSES_DICT = {INPUT : _("Input"),
NameError: name '_' is not defined
ERROR: Module: svgui.svgui could not be imported (file: /home/igor/acs/beremiz/beremiz_test/beremiz/svgui/svgui.py).


Имя '_' используется для локализации программ.
В принципе, можно (и рекомендуется) использовать python-wx3.0.
bigmaxtor
Цитата(griabig @ Mar 10 2017, 14:18) *
Репозиторий безусловно правильный, но часть надо брать с https://github.com/nucleron, а часть нет.
Например, Matiec и Beremiz там уже давно неактуальные версии. Их надо брать по следующим адресам:
Beremiz - https://bitbucket.org/skvorl/beremiz , http://dev.automforge.net/beremiz/
Matiec - https://bitbucket.org/mjsousa/matiec


В Ubuntu из командной строки запускаю:
igor@ThinkPad:~/acs/beremiz/Mario_Sousa/beremiz$ python Beremiz.py - запускается из репозитория bitbucket.org/mjsousa/beremiz.
Аналогично без проблем запускается из репозитория bitbucket.org/skvorl/beremiz

Но yaplcide выдает ошибку:
igor@ThinkPad:~/acs/beremiz/nucleron/IDE$ pycharm-community yaplcide.py
Traceback (most recent call last):
File "yaplcide.py", line 100, in <module>
from util.misc import InstallLocalRessources
ImportError: cannot import name InstallLocalRessources

Что-то я еще не установил?
griabig
Цитата(bigmaxtor @ Mar 12 2017, 22:28) *
В Ubuntu из командной строки запускаю:
igor@ThinkPad:~/acs/beremiz/Mario_Sousa/beremiz$ python Beremiz.py - запускается из репозитория bitbucket.org/mjsousa/beremiz.
Аналогично без проблем запускается из репозитория bitbucket.org/skvorl/beremiz

Но yaplcide выдает ошибку:
igor@ThinkPad:~/acs/beremiz/nucleron/IDE$ pycharm-community yaplcide.py
Traceback (most recent call last):
File "yaplcide.py", line 100, in <module>
from util.misc import InstallLocalRessources
ImportError: cannot import name InstallLocalRessources

Что-то я еще не установил?


Опять же повторю, что с вопросами лучше в список рассылки beremiz-devel@lists.sourceforge.net.
Напишите туда, помогут. ;-)
bigmaxtor
Цитата(griabig @ Mar 13 2017, 12:19) *
Опять же повторю, что с вопросами лучше в список рассылки beremiz-devel@lists.sourceforge.net.
Напишите туда, помогут. ;-)


Благодарю. Буду осваивать тамошний непростой интерфейс.
griabig
Цитата(bigmaxtor @ Mar 13 2017, 13:34) *
Благодарю. Буду осваивать тамошний непростой интерфейс.


Я так понимаю, что Вы списками рассылки не пользовались.
Там всё просто. По сути Вашим интерфейсом является Ваш почтовый клиент.

Регистрируете свой почтовый адрес здесь: https://lists.sourceforge.net/lists/listinfo/beremiz-devel
После этого Вам на почту будут приходить сообщения других людей, пишущих в рассылку (трафика не много)
Отправляете письмо на адрес рассылки и его получают другие подписчики. Кто может помочь, тот отвечает.

bigmaxtor
Цитата(griabig @ Mar 10 2017, 14:18) *
Репозиторий безусловно правильный, но часть надо брать с 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 при обновлении библиотеки. С этими вопросами добро пожаловать в список рассылки beremiz-devel@lists.sourceforge.net.

В любом случае, если Вы занимаетесь разработкой продукта на базе Beremiz, то крайне рекомендую подписаться на список рассылки beremiz-devel@lists.sourceforge.net.
Все вопросы по поводу Beremiz лучше писать туда.

Имя '_' используется для локализации программ.
В принципе, можно (и рекомендуется) использовать python-wx3.0.


Благодарю, IDE запустил. Работа началась.
griabig
Цитата(bigmaxtor @ Mar 16 2017, 10:51) *
Благодарю, IDE запустил. Работа началась.


Отлично!
Ruslan.B
Хотелось бы попробовать. Пока не понял как ставить под Linux, будем разбираться.
paulbell
Цитата(Ruslan.B @ Apr 6 2017, 10:37) *
Хотелось бы попробовать. Пока не понял как ставить под Linux, будем разбираться.


Вот примерная инструкция:

Устанавливаем зависимости:
Цитата
sudo apt-get install codeblocks
sudo apt-get install build-essential bison flex autoconf
sudo apt-get install python-wxgtk2.8 pyro mercurial
sudo apt-get install python-numpy python-nevow python-matplotlib python-lxml


Для YAPLC/RTE и liopencm3 надо поставить
https://launchpad.net/gcc-arm-embedded

Создаем каталог
Цитата
mkdir ~/YAPLC
cd ~/YAPLC


Клонируем репозитории:

Цитата


Собираем matiec:
Цитата
cd ~/YAPLC/matiec
autoreconf -i
./configure
make


Собираем libopencm3

Цитата
cd ~/YAPLC/libopencm3
make


Собираем stm32flash

Цитата
cd ~/YAPLC/stm32flash
make


Для сборки YaPySerial используем codeblocks, цель - POSIX
Для сборки рантаймов под девайсы так же надо codeblocks и gcc-arm-embedded, цель - Debug

Опционально собираем CanFestival-3:
Цитата
hg clone http://dev.automforge.net/CanFestival-3
cd ~/YAPLC/CanFestival-3
./configure --can=virtual
make


Запуск

Цитата
cd ~/YAPLC/IDE
python yaplcide.py


Вроде ничего не забыл...
x83
Цитата(paulbell @ Apr 6 2017, 12:43) *
Вот примерная инструкция:

...
Собираем matiec:
autoreconf
./configure
make
....


autoreconf ругается
Код
configure.ac:22: error: required file 'config/compile' not found
configure.ac:22:   'automake --add-missing' can install 'compile'
autoreconf: automake failed with exit status: 1


соответственно ./configure выдает ошибку
Код
checking for strdup... yes
checking for strtoul... yes
checking for strtoull... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: error: cannot find input file: `Makefile.in'


Не могу понять чего не хватает? /config/compile вроде во всех репозиториях matiec отсутствует
psL
Цитата(paulbell @ Apr 6 2017, 10:43) *
Вот примерная инструкция:

забавно, что на https://github.com/nucleron/YAPLC только README.md
paulbell
Цитата(x83 @ Apr 6 2017, 19:46) *
autoreconf ругается
Код
configure.ac:22: error: required file 'config/compile' not found
configure.ac:22:   'automake --add-missing' can install 'compile'
autoreconf: automake failed with exit status: 1


соответственно ./configure выдает ошибку
Код
checking for strdup... yes
checking for strtoul... yes
checking for strtoull... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: error: cannot find input file: `Makefile.in'


Не могу понять чего не хватает? /config/compile вроде во всех репозиториях matiec отсутствует



Только что скачал у matiec из репозитория Андрея, собирается именно этими командами. Система Debian Wheezy.


Цитата(psL @ Apr 6 2017, 19:50) *
забавно, что на https://github.com/nucleron/YAPLC только README.md



Этот репозиторий сделан для бинарников и обратной связи с пользователями.
x83
Цитата(paulbell @ Apr 7 2017, 09:54) *
Только что скачал у matiec из репозитория Андрея, собирается именно этими командами. Система Debian Wheezy.


Система ubuntu 16.04.
Загрузил виртуалку с читым archlinux. Установил зависимы пакеты, получил те-же самые ошибки.

Upd:

Еще раз перечитал маны. Надо делать так:
Код
autoreconf -i
paulbell
Цитата(x83 @ Apr 7 2017, 10:14) *
Система ubuntu 16.04.
Загрузил виртуалку с читым archlinux. Установил зависимы пакеты, получил те-же самые ошибки.

Upd:

Еще раз перечитал маны. Надо делать так:
Код
autoreconf -i



Странно! У меня по дефолту сработало!
griabig
Цитата(x83 @ Apr 7 2017, 08:14) *
Система ubuntu 16.04.
Загрузил виртуалку с читым archlinux. Установил зависимы пакеты, получил те-же самые ошибки.

Upd:

Еще раз перечитал маны. Надо делать так:
Код
autoreconf -i

Все верно. Необходим ключ -i.
http://www.beremiz.org/doc раздел "How To"
paulbell
Цитата(griabig @ Apr 7 2017, 12:11) *
Все верно. Необходим ключ -i.
http://www.beremiz.org/doc раздел "How To"


Поправил пост.
KelZen
Стал изучать беремиз, скачал с beremiz.org "1.2 - Russian Release" и, кажется, обнаружил баг. При создании циклической задачи, если время повторения цикла задавать до 4 секунд, то все корректно работает, но если время цикла выставить 4.3 секунды и больше - то период выполнения задачи не соответствует заданному, а гораздо больше. Целевая платформа - windows. Свой тестовый беремиз проект прикрепляю.
griabig
Цитата(KelZen @ Apr 9 2017, 11:08) *
Стал изучать беремиз, скачал с beremiz.org "1.2 - Russian Release" и, кажется, обнаружил баг. При создании циклической задачи, если время повторения цикла задавать до 4 секунд, то все корректно работает, но если время цикла выставить 4.3 секунды и больше - то период выполнения задачи не соответствует заданному, а гораздо больше. Целевая платформа - windows. Свой тестовый беремиз проект прикрепляю.


Все багрепорты лучше писать на баг трекере. Пожалуйста, опишите вашу проблему там.
Если сомневаетесь баг ли это, то лучше спросить сначала в списке рассылки beremiz-devel@lists.sourceforge.net.
griabig
Цитата(KelZen @ Apr 9 2017, 11:08) *
Стал изучать беремиз, скачал с beremiz.org "1.2 - Russian Release" и, кажется, обнаружил баг. При создании циклической задачи, если время повторения цикла задавать до 4 секунд, то все корректно работает, но если время цикла выставить 4.3 секунды и больше - то период выполнения задачи не соответствует заданному, а гораздо больше. Целевая платформа - windows. Свой тестовый беремиз проект прикрепляю.

Это была проблема не в Beremiz, а в трансляторе matiec.
Исправление уже доступно.
Спасибо.
Lost_byte
Приветствую коллеги.
Извините за наглый поверхностный подход, но все-таки спрошу, а есть в Beremiz плагин (или еще что-то), для реализации Modbus-RTU/TCP в runtime?
Вчитывался в книгу "Руководство программиста" ИЭУМ им. Брука, увидел пачку интересных плагинов, развернул Beremiz - а их нет.
Понимаю что, наверное ИЭУМ делает свою сборку которая уже не совсем open-source.

Очень интересно было бы иметь в базе Modbus, как это сделано в OpenPLC. Накрывает чуть ли не половину практических потребностей.

Сориентируйте пожалуйста, в каком направлении копнуть?
griabig
Цитата(Lost_byte @ May 30 2017, 10:08) *
Приветствую коллеги.
Извините за наглый поверхностный подход, но все-таки спрошу, а есть в Beremiz плагин (или еще что-то), для реализации Modbus-RTU/TCP в runtime?
Вчитывался в книгу "Руководство программиста" ИЭУМ им. Брука, увидел пачку интересных плагинов, развернул Beremiz - а их нет.
Понимаю что, наверное ИЭУМ делает свою сборку которая уже не совсем open-source.

Очень интересно было бы иметь в базе Modbus, как это сделано в OpenPLC. Накрывает чуть ли не половину практических потребностей.

Сориентируйте пожалуйста, в каком направлении копнуть?


Работа над интеграцией Modbus-RTU/TCP идёт. Когда-нибудь она обязательно появится в основном репозитории.
Сейчас для целевых платформ на базе GNU/Linux доступна реализация от Марио.
Используемая библиотека доступна здесь.
Репозиторий Beremiz от Марио сильно отстаёт от текущей ветки разработки.
Поэтому рекомендуется к Beremiz из репозитория, где сейчас в основном ведётся разработка, применить следующую заплатку из репозитория Марио.


Если интересует целевая платформа на базе Cortex-Mx, то можете посмотреть, как поддержка Modbus-RTU сделана в основанном на Beremiz YaPLC.
Lost_byte
Уж простите новичка. Что-то не получается.
Итак:
1. Патч скачал и наложил без проблем.
2. Modbus библиотеку клонировал и собрал, получил libmb.so
3. Что дальше? Куда-то libmb.so нужно положить? Ничего похожего в каталоге Beremiz не нашел.

В выпадающем меню дерева проектов появился компонент Modbus support Но клик по нему приводит к ошибке:
Код
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14665, in <lambda>
    lambda event: event.callable(*event.args, **event.kw) )
  File "/home/master/Development/OpenPLC/beremiz/beremiz/BeremizIDE.py", line 1033, in AddConfNode
    self.CTR.CTNAddChild(ConfNodeName, ConfNodeType)
  File "/home/master/Development/OpenPLC/beremiz/beremiz/ConfigTreeNode.py", line 533, in CTNAddChild
    CTNClass = CTNClass()
  File "/home/master/Development/OpenPLC/beremiz/beremiz/util/misc.py", line 44, in fac
    mod=__import__(classpath.rsplit('.',1)[0])
ImportError: No module named modbus


Насчет посмотреть YaPLC - это конечно резонно... Смотрю, пытаю, на моей Win7 наблюдаю катастрофические глюки GUI (это при том что чистый PLCOpen Editor вполне вменяем).
Копать надо глубоко, а у меня задача - принять решение, рабочая такая задача, не хоббийная.

Что посоветуете, камраде?
Lost_byte
Цитата(Lost_byte @ May 30 2017, 15:16) *
Уж простите новичка. Что-то не получается.
Итак:
1. Патч скачал и наложил без проблем.
2. Modbus библиотеку клонировал и собрал, получил libmb.so
3. Что дальше? Куда-то libmb.so нужно положить? Ничего похожего в каталоге Beremiz не нашел.

В выпадающем меню дерева проектов появился компонент Modbus support Но клик по нему приводит к ошибке:
Код
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14665, in <lambda>
    lambda event: event.callable(*event.args, **event.kw) )
  File "/home/master/Development/OpenPLC/beremiz/beremiz/BeremizIDE.py", line 1033, in AddConfNode
    self.CTR.CTNAddChild(ConfNodeName, ConfNodeType)
  File "/home/master/Development/OpenPLC/beremiz/beremiz/ConfigTreeNode.py", line 533, in CTNAddChild
    CTNClass = CTNClass()
  File "/home/master/Development/OpenPLC/beremiz/beremiz/util/misc.py", line 44, in fac
    mod=__import__(classpath.rsplit('.',1)[0])
ImportError: No module named modbus


Насчет посмотреть YaPLC - это конечно резонно... Смотрю, пытаю, на моей Win7 наблюдаю катастрофические глюки GUI (это при том что чистый PLCOpen Editor вполне вменяем).
Копать надо глубоко, а у меня задача - принять решение, рабочая такая задача, не хоббийная.

Что посоветуете, камраде?


Все-таки патч лег не ровно...
Поведение вылечилось созданием папки modbus и переносом туда файлов:
__init__.py
__init__.pyc
mb_runtime.c
mb_runtime.h
mb_utils.py
mb_utils.pyc
modbus.py
modbus.pyc
README

... после патча они почему-то оказались в корне.

Теперь появляется интерфейс настройки modbus, с единственным редактируемым полем MaxRemoteTCPclients.
Как-то не совсем то что ожидалось. Эх печаль.
griabig
Цитата(Lost_byte @ May 30 2017, 15:28) *
Все-таки патч лег не ровно...
Поведение вылечилось созданием папки modbus и переносом туда файлов:
__init__.py
__init__.pyc
mb_runtime.c
mb_runtime.h
mb_utils.py
mb_utils.pyc
modbus.py
modbus.pyc
README

... после патча они почему-то оказались в корне.

Теперь появляется интерфейс настройки modbus, с единственным редактируемым полем MaxRemoteTCPclients.
Как-то не совсем то что ожидалось. Эх печаль.



А ты пробовал добавлять дочерние узлы к интерфейсу настройки modbus в дереве проекта?
Вообще с вопросами лучше писать в список рассылки Beremiz. Лучше всего на вопросы по поводу этой библиотеки Modbus ответит её автор, который этот форум не читает. ;-)

Цитата(Lost_byte @ May 30 2017, 14:16) *
Насчет посмотреть YaPLC - это конечно резонно... Смотрю, пытаю, на моей Win7 наблюдаю катастрофические глюки GUI (это при том что чистый PLCOpen Editor вполне вменяем).
Копать надо глубоко, а у меня задача - принять решение, рабочая такая задача, не хоббийная.

Что посоветуете, камраде?


глюки GUI - что под этим конкретно подразумевается и у кого? Beremiz? YaPLC?
Автор YaPLC, кстати, список рассылки Beremiz тоже читает.

По поводу промышленного применения Beremiz: Вот список тех, кто его уже использует.
У Smarteh вообще вся продукция основана на Beremiz.
На сайте Beremiz только про один их контроллер написано, но с тех пор у них уже несколько линеек контроллеров и панелей на Beremiz вышло.
Lost_byte
Цитата(griabig @ May 30 2017, 18:23) *
А ты пробовал добавлять дочерние узлы к интерфейсу настройки modbus в дереве проекта?
Вообще с вопросами лучше писать в список рассылки Beremiz. Лучше всего на вопросы по поводу этой библиотеки Modbus ответит её автор, который этот форум не читает. ;-)


Пробовал, позднее чем написал этот пост. Да, видимо это то что надо. Насчет автора modbus - спасибо учту, но пока форум дал мне больше информации, и оперативнее.

Цитата(griabig @ May 30 2017, 18:23) *
глюки GUI - что под этим конкретно подразумевается и у кого? Beremiz? YaPLC?
Автор YaPLC, кстати, список рассылки Beremiz тоже читает.


Конечно YaPLC, контекст предложения однозначен.
Конкретно:
1. Добавляю релейную диаграмму (Ladder);
2. Рисую схему 2 входа - один выход, монтажное-ИЛИ (да в общем то не важно);
3. При копировании элементов произвольно с экрана пропадают то оригиналы то копии;
4. При перетаскивании элемент зрительно остается на месте, появляется в новом (будто ьы обновление экрана) если кликнуть вне области редактирования.
5. Выделенные элементы бывает остаются выделенными "навсегда".


Цитата(griabig @ May 30 2017, 18:23) *
По поводу промышленного применения Beremiz: Вот список тех, кто его уже использует.
У Smarteh вообще вся продукция основана на Beremiz.
На сайте Beremiz только про один их контроллер написано, но с тех пор у них уже несколько линеек контроллеров и панелей на Beremiz вышло.


Здорово, спасибо, да я уже "проехался" по этому списку, жаль что у Нуклерона нет в данный момент инфы о выпускаемых ПЛК, а ИЭУМ им. Брука не предлагает скачать свою сборку Beremiz.

Есть предложение. А может сделать русскоязычную Wiki для Beremiz? Подозреваю что не я один такой интересующийся новичок. В целях популяризации проекта и роста сообщества толковых разработчиков стоило бы снизить порог входимости, например таким вот нехитрым способом.
Сам я готов написать статью по результатам своих изысканий в части Modbus, ну и в общем поставить эдакий начальный "каркас" Wiki. Нужно решить вопрос с размещением ресурса. Наверное самое простое и бесплатное - прямо в битбакете. Вопрос, рядом с основным репозиторием или в отдельном? По опыту вики рядом с репозиторием разработки должны быть посвящены теме именно разработки а не практического использования.
griabig
Цитата(Lost_byte @ May 31 2017, 09:04) *
Пробовал, позднее чем написал этот пост. Да, видимо это то что надо. Насчет автора modbus - спасибо учту, но пока форум дал мне больше информации, и оперативнее.

Почтовая рассылка однозначно оперативнее. Потому что форум этот я проверяю крайне редко. Все актуальные обсуждения ведутся там. В любом случае, если занимаетесь Beremiz, то подписаться на список рассылки крайне рекомендуется.

Цитата(Lost_byte @ May 31 2017, 09:04) *
Конечно YaPLC, контекст предложения однозначен.
Конкретно:
1. Добавляю релейную диаграмму (Ladder);
2. Рисую схему 2 входа - один выход, монтажное-ИЛИ (да в общем то не важно);
3. При копировании элементов произвольно с экрана пропадают то оригиналы то копии;
4. При перетаскивании элемент зрительно остается на месте, появляется в новом (будто ьы обновление экрана) если кликнуть вне области редактирования.
5. Выделенные элементы бывает остаются выделенными "навсегда".

Вообще эта проблема должна повторяться и на Beremiz. YaPLC эту часть кода не затрагивает, поэтому проблема должно присутствовать и в Beremiz и в PLCOpen Editor.
Код они используют один и тот же. Пытался повторить проблему у себя, но что-то не вышло.
Кстати, принудительная перерисовка есть по Ctrl-R.

Цитата(Lost_byte @ May 31 2017, 09:04) *
Здорово, спасибо, да я уже "проехался" по этому списку, жаль что у Нуклерона нет в данный момент инфы о выпускаемых ПЛК,

А спросить?

Цитата(Lost_byte @ May 31 2017, 09:04) *
а ИЭУМ им. Брука не предлагает скачать свою сборку Beremiz.

А спросить? Вдруг вышлют по запросу.

Цитата(Lost_byte @ May 31 2017, 09:04) *
Есть предложение. А может сделать русскоязычную Wiki для Beremiz? Подозреваю что не я один такой интересующийся новичок. В целях популяризации проекта и роста сообщества толковых разработчиков стоило бы снизить порог входимости, например таким вот нехитрым способом.
Сам я готов написать статью по результатам своих изысканий в части Modbus, ну и в общем поставить эдакий начальный "каркас" Wiki. Нужно решить вопрос с размещением ресурса. Наверное самое простое и бесплатное - прямо в битбакете. Вопрос, рядом с основным репозиторием или в отдельном? По опыту вики рядом с репозиторием разработки должны быть посвящены теме именно разработки а не практического использования.

Wiki есть https://bitbucket.org/skvorl/beremiz/wiki/Home
Информации там, правда, пока немного. Пишите туда. Абсолютно не вижу проблемы сделать два раздела в вики для разработки и для использования. Сейчас информации не так много, чтобы делать для неё отдельную Wiki. Если понадобится, то часть вики всегда можно вынести в отдельное место.
paulbell
Добрый день.

Цитата(Lost_byte @ May 31 2017, 11:04) *
Конечно YaPLC, контекст предложения однозначен.
Конкретно:
1. Добавляю релейную диаграмму (Ladder);
2. Рисую схему 2 входа - один выход, монтажное-ИЛИ (да в общем то не важно);
3. При копировании элементов произвольно с экрана пропадают то оригиналы то копии;
4. При перетаскивании элемент зрительно остается на месте, появляется в новом (будто ьы обновление экрана) если кликнуть вне области редактирования.
5. Выделенные элементы бывает остаются выделенными "навсегда".


У себя воспроизвести не могу, система Win 7 Pro 32bit.

Как сказал griabig, YAPLC/IDE использует код Beremiz, по сути - это запускалка Beremiz с плагинами для, конфигурации, сборки проекта, связи.

Сборка под win основана на https://bitbucket.org/skvorl/beremiz_public_dist
Lost_byte
Цитата
У себя воспроизвести не могу, система Win 7 Pro 32bit.


У меня Win7 64bit.

А вот PLCOpen Editor использовал с приставкой v2, видимо был когда-то и v1...

Попробую на днях затестить под виртуалкой в Debian.

Вообще не первый раз встречаю "залипания" WxWidget-python проектов, навскидку примеры не приведу, но было точно.
При всем при том что старый добрый Code::Blocks (тоже Wx но на чистом C) работает как часики и порой по удобству/скорости уделывает таких мастодонтов как Eclipse.

P.S. для пруфов могу попробовать записать видосик с экрана и выложить куда-нибудь в облако. Нужно?
griabig
Цитата(Lost_byte @ Jun 1 2017, 14:43) *
У меня Win7 64bit.

А вот PLCOpen Editor использовал с приставкой v2, видимо был когда-то и v1...

А где вы такой вообще взяли??? Текущая версия PLCOpen Editor совпадает с текущей версией Beremiz - 1.2-85fdcc04da25.

Цитата(Lost_byte @ Jun 1 2017, 14:43) *
Попробую на днях затестить под виртуалкой в Debian.

Вообще не первый раз встречаю "залипания" WxWidget-python проектов, навскидку примеры не приведу, но было точно.
При всем при том что старый добрый Code::Blocks (тоже Wx но на чистом C) работает как часики и порой по удобству/скорости уделывает таких мастодонтов как Eclipse.

P.S. для пруфов могу попробовать записать видосик с экрана и выложить куда-нибудь в облако. Нужно?

Я пробовал на виртуалке Win7 64bit, не смог воспроизвести.
На моей основной системе, Debian , тоже не получилось.
Lost_byte
Цитата(griabig @ Jun 1 2017, 14:52) *
А где вы такой вообще взяли??? Текущая версия PLCOpen Editor совпадает с текущей версией Beremiz - 1.2-85fdcc04da25.


Ваша правда, действительно v1.2. Видимо-где-то я ошибся при сортировке по папочкам и потерял "1."
Lost_byte
ну вот захватил небольшой видос. Жаль что не нашел фревую совтинку с отображением нажатий клавиатуры.
Поэтому напишу здесь: глюки начинаются при попытках сделать Ctrl+C-Ctrl+V. Копипаста может сработать, сработать с окном ошибки (после этого Ctrl-V не работает можно вставить через правый клик), или не сработать вообще, или же привести к порче всего уже нарисованного.

paulbell
Цитата(Lost_byte @ Jun 1 2017, 18:17) *
ну вот захватил небольшой видос. Жаль что не нашел фревую совтинку с отображением нажатий клавиатуры.
Поэтому напишу здесь: глюки начинаются при попытках сделать Ctrl+C-Ctrl+V. Копипаста может сработать, сработать с окном ошибки (после этого Ctrl-V не работает можно вставить через правый клик), или не сработать вообще, или же привести к порче всего уже нарисованного.



У вас в видео на 59 секунде сгенерировался отчет об ошибке, путь к файлу отчета читаем, сможете создать issue здесь : https://bitbucket.org/skvorl/beremiz/issues...amp;status=open и приложить отчет об ошибке?
Насколько я помню, это можно сделать без регистрации...
yanvasiij
Цитата
Насчет посмотреть YaPLC - это конечно резонно... Смотрю, пытаю, на моей Win7 наблюдаю катастрофические глюки GUI (это при том что чистый PLCOpen Editor вполне вменяем).
Копать надо глубоко, а у меня задача - принять решение, рабочая такая задача, не хоббийная.


Мы тут недавно осваивали среду для контроллеров B&R. По сравнению с ней, Beremiz очень даже неплох, при том, что B&R это очень крупная контора (в России конечно они плохо распространены по сравнению с теми же сименсами, бредлями и шнайдерами). Я имею ввиду не дизайн (с дизайном там то в отличии от беремиза все в порядке), а функционал и степень глючности. А по поводу принять решение - какие собственно варианты - codesys, да isagraph? Так там, простите, та еще борода...
Lost_byte
Цитата(yanvasiij @ Jun 2 2017, 10:42) *
А по поводу принять решение - какие собственно варианты - codesys, да isagraf? Так там, простите, та еще борода...


Вопрос стоит несколько иначе. Иначе в плане выбора. Если кратко то: писать самим или присоединиться к сообществу open-source?
Третьим элементом вроде как рассматривается "делать оборудование совместимым с...". Но я на своем уровне ответственности выступаю категорически "против" такого пункта выбора.
griabig
Цитата(Lost_byte @ Jun 2 2017, 11:03) *
Вопрос стоит несколько иначе. Иначе в плане выбора. Если кратко то: писать самим или присоединиться к сообществу open-source?
Третьим элементом вроде как рассматривается "делать оборудование совместимым с...". Но я на своем уровне ответственности выступаю категорически "против" такого пункта выбора.


Если вы собираетесь писать самим, скажите сколько программистов у вас в штате планирует работать над этим проектом и как долго?

"Делать оборудование совместимым с..." с чем вы хотите сделать его совместимым? В этом случае если у вас не будет письменной договорённости (она будет скорее всего стоить денег),
то к вам рано или поздно могут придти с претензиями.
Lost_byte
Цитата(griabig @ Jun 2 2017, 11:10) *
Если вы собираетесь писать самим, скажите сколько программистов у вас в штате планирует работать над этим проектом и как долго?

"Делать оборудование совместимым с..." с чем вы хотите сделать его совместимым? В этом случае если у вас не будет письменной договорённости (она будет скорее всего стоить денег),
то к вам рано или поздно могут придти с претензиями.


Все считается и решается. Лицензии CoDeSys или IsaGraph стоят вполне определенных денег, как и штат специалистов в пересчете на зарплаты/годы.


Есть вопрос. Напишу здесь ибо наверное это не формат mailing-list.
Коллеги, а кто-нибудь видел руководство или примерчик разработки формы wxglade? Что-то я кроме обрывков текста на корейском и пары скриншотов ничего не нагуглил. Может контакт есть с кем можно на эту тему ненавязчиво проконсультироваться?
griabig
Цитата(Lost_byte @ Jun 2 2017, 11:24) *
Все считается и решается. Лицензии CoDeSys или IsaGraph стоят вполне определенных денег, как и штат специалистов в пересчете на зарплаты/годы.

Да, в этом-то и дело. Единственно, что писать с нуля своё я бы точно не стал.
Lost_byte
Цитата(griabig @ Jun 2 2017, 11:33) *
Да, в этом-то и дело. Единственно, что писать с нуля своё я бы точно не стал.


Да, "давайте перепишем все с нуля" - это порочная практика программирования.

Андрей, чем помочь? Проект действительно интересный. Я не силен в питоне, но вот на С, линукс что-то могу пособить. Ну в плане документирования уже вроде как договорились, тут мне самому бы поднатореть во владении проектом.
griabig
Цитата(Lost_byte @ Jun 2 2017, 11:40) *
Да, "давайте перепишем все с нуля" - это порочная практика программирования.

Андрей, чем помочь? Проект действительно интересный. Я не силен в питоне, но вот на С, линукс что-то могу пособить. Ну в плане документирования уже вроде как договорились, тут мне самому бы поднатореть во владении проектом.

С python скорее всего придётся познакомиться, но это не сильно большая проблема, если вы уже опытный программист и знакомы с объектно-ориентированным подходом.
Документация - это была бы огромнейшая помощь. Багрепорты - это тоже хорошо. Присланный код вообще замечательно.
Лучше подписаться на список рассылки и писать текущие вопросы по Beremiz туда.
Lost_byte
Цитата(griabig @ Jun 2 2017, 11:56) *
Лучше подписаться на список рассылки и писать текущие вопросы по Beremiz туда.


Дык уже...

Так что с wxGlade? Есть какая инфа? примеры?
yanvasiij
Цитата(Lost_byte @ Jun 2 2017, 14:03) *
Так что с wxGlade? Есть какая инфа? примеры?


Если Вы скачали Beremiz с оффициального сайта, то в директории \beremiz\tests, есть папка wxGlade, а в ней пример проекта.

Цитата(Lost_byte @ Jun 2 2017, 13:03) *
Третьим элементом вроде как рассматривается "делать оборудование совместимым с...". Но я на своем уровне ответственности выступаю категорически "против" такого пункта выбора.


Этот вариант не MasterScada ли случаем?
griabig
Цитата(Lost_byte @ Jun 2 2017, 12:03) *
Дык уже...

Так что с wxGlade? Есть какая инфа? примеры?

примеры, в том числе и по работе с wxGlade, есть в самом Beremiz в директории tests и устанавливаются на рабочий стол в папку BeremizExamples.
Единственно, что я их не смотрел, не было необходимости. Возможно в этой части присутствуют баги.
А вам нужен функционал wxGlade в ПЛК?
Если так, то постараемся в ближайшее время поправить это.
Lost_byte
Цитата(griabig @ Jun 2 2017, 12:26) *
А вам нужен функционал wxGlade в ПЛК?


Да, это видится мне весьма полезной фичей при определенных критериях проекта (автоматизации).
Ведь что у нас есть в плане HMI:
- Аварийные лампы, и прочие семафоры не рассматриваем, это отдельная песенка, древняя как сама ПА и решается непосредственно средствами автоматизации;
- Web - интерфейс, самое универсальное и мобильное что можно придумать, но! Для этого нужен web-сервер, а на "панели" нужен браузер, да еще новомодный, с поддержкой javascript и прочими плюхами. В эпоху встраиваемого linux и андроид-планшетов по цене ужина в ресторане уже не проблема, но не всегда это то, что хочет заказчик.
- HMI - панель непосредственно привязанная к ПЛК, то что раньше являлось пультом оператора. Это снимает с платформы ПЛК требования по наличию WEB-сервера, а сама панель может быть например USB-монитором (есть такие, да без видеоинтерфейса вообще, за то с кнопками или тачскрином). А ПЛК по функционалу в таком случае опускается в категорию "программируемое реле", соответственно и ось режется по самое "это вот"... Такие решения очень нравятся заказчикам помешанным на безопасности, ибо бытует мнение что "Если есть Web - значит можно хакнуть". Увы, это мнение, даже при самом критическом рассмотрении, не так далеко от истины. Лучший способ защититься от атаки - не предоставлять лишнего сервиса.

Цитата(yanvasiij @ Jun 2 2017, 12:20) *
Этот вариант не MasterScada ли случаем?


Нет. Это самые что ни на есть CoDeSys с IsaGraf'ом. Если хотите вот вам примеры отечественных компаний, идущих по такому пути: раз, два
yanvasiij
Цитата(Lost_byte @ Jun 2 2017, 15:15) *
Нет. Это самые что ни на есть CoDeSys с IsaGraf'ом. Если хотите вот вам примеры отечественных компаний, идущих по такому пути...


Не примеры я хотел, просто Вы не сразу упомянули с кем собираетесь работать "совместно". Поэтому я подумал про MasterScada. У них появился отдел, который пилит свое ядро и среду разработки к нему соответственно. Эти ребята, якобы (не знаю насколько успешно), портировали весь этот набор на контроллер отечественного Прософта. После этого начали активно искать еще заказчиков, которые тоже хотят свой контроллер. Парят, что у них все готово, кроме фолловера (который тоже типа скоро будет), так же говорят, что помогут с портированием, забрав часть работы на себя.
Lost_byte
Цитата(yanvasiij @ Jun 2 2017, 14:00) *
Не примеры я хотел, просто Вы не сразу упомянули с кем собираетесь работать "совместно". Поэтому я подумал про MasterScada. У них появился отдел, который пилит свое ядро и среду разработки к нему соответственно. Эти ребята, якобы (не знаю насколько успешно), портировали весь этот набор на контроллер отечественного Прософта. После этого начали активно искать еще заказчиков, которые тоже хотят свой контроллер. Парят, что у них все готово, кроме фолловера (который тоже типа скоро будет), так же говорят, что помогут с портированием, забрав часть работы на себя.


Нет, я не "оттуда" laughing.gif
paulbell
Цитата(Lost_byte @ Jun 2 2017, 15:15) *
- HMI - панель непосредственно привязанная к ПЛК, то что раньше являлось пультом оператора. Это снимает с платформы ПЛК требования по наличию WEB-сервера, а сама панель может быть например USB-монитором (есть такие, да без видеоинтерфейса вообще, за то с кнопками или тачскрином). А ПЛК по функционалу в таком случае опускается в категорию "программируемое реле", соответственно и ось режется по самое "это вот"... Такие решения очень нравятся заказчикам помешанным на безопасности, ибо бытует мнение что "Если есть Web - значит можно хакнуть". Увы, это мнение, даже при самом критическом рассмотрении, не так далеко от истины. Лучший способ защититься от атаки - не предоставлять лишнего сервиса.



THIS!!1



Я считаю, что оптимальный вариант, - панель с 485/Ethernet, на котором, например, Modbus-Master и система HMI, для которой код генерируется в графическом конфигураторе.

Кстати, в Beremiz была бы полезна фича "репозиториев с библиотеками/целевыми файлами", тогда по функционалу оно бы вплотную приблизилось к известным закрытым решениям.
griabig
Цитата(Lost_byte @ Jun 2 2017, 12:03) *
Дык уже...

Так что с wxGlade? Есть какая инфа? примеры?

Обновил примеры в репозитории. Выложил скринкасты. Можешь смотреть.
bullit
Всем Здравствуйте!

Помогите разобраться с Beremiz + CANopen в режиме Debug.
Хочу чтоб Beremiz выступал в качестве мастера и "опрашивал" через SDO слейв.
С проектом Beremiz слейв (проект canopen _slave) - всё хорошо: через кан шину опросить беремиз через сдо получается.

Интересно как сделать, чтоб беремиз через sdo запрашивал данные у слейва?))

Заранее спасибо.

С подключением проблем нет: Linux + slcan.
bullit
Вопрос снят!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.