|
Beremiz, портирование под stm32 |
|
|
|
Dec 2 2015, 04:40
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Доброго времени суток!
Несколько слов о том, что я делаю и что получается. Озадачился портированием вышеупомянутого ПО. Идея была такая: поскольку Beremiz компилирует входные исходники на языках IEC в Си, то эти исходники можно далее компилировать на чем угодно в том числе и под микроконтроллеры. Тогда я взял GCC под ARM embed (GNU Tools ARM Embedded), написал несложный рантайм (если это так можно назвать), который вызывает апи беремиза в задачах ртос. Делал по аналогии с тем как это сделано под платформу Xenomai (.\bremiz\targets\Xenomai). Далее организовал папочку STM32 в .\bremiz\targets c необходимыми питонячими файлами, задача которых прилинковывать при компиляции мой рантайм, плюс несколько несложных манипуляций над исходниками самого Beremizа, чтобы он при компиляции использовался gcc. Теперь в результате компиляции программы на IEC в Beremiz получаю hex готовый для зашивки в микроконтроллер.
Теперь собственно проблема. Для того, чтобы появилась связка между конкретным железом и программой, нужно в beremizу написать плагин и разместить его в папочке plugins, в котором и будет описание связки с "железом". Запустить эти плагины у меня так и не вышло. Я уже не раз видел упоминание Beremiza на этом форуме. Кто-нибудь писал эти плагины? Я бы был очень признателен, если бы мне ответили на несколько вопросов.
|
|
|
|
|
 |
Ответов
(1 - 99)
|
Dec 8 2015, 16:05
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 20-01-08
Пользователь №: 34 249

|
немножко копнул беремиз. давай вместе подумаем. у меня такие же хотелки.
|
|
|
|
|
Jan 5 2016, 16:24
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 20-01-08
Пользователь №: 34 249

|
мне про matiec больше интересно. всё равно всё потом им кампилится в C. как сделать вызов сишной функции из кода на IEC языках. вообще не понятно.
|
|
|
|
|
Jan 14 2016, 09:22
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Цитата(unkier @ Jan 5 2016, 21:24)  мне про matiec больше интересно. всё равно всё потом им кампилится в C. как сделать вызов сишной функции из кода на IEC языках. вообще не понятно. Очень просто: matiec генерирует С файл, в котором производится вызов, например, Вашей функции в которой происходит связь с железом. А эту функция реализована в другом сишном файле. Потом нужно взять все эти сишные файл скомпилить, например в GCC и слинковать. У меня все это делает Beremiz - сначала передает все необходимые данные matiec'y далее берет результат его работы компилирует в gcc и силнковывает с файлом, где реализована привязка с железом.
|
|
|
|
|
Jan 16 2016, 20:38
|
Участник

Группа: Участник
Сообщений: 24
Регистрация: 20-01-08
Пользователь №: 34 249

|
точно, всё оказалось просто )
посмотрел вдумчиво на py_ext плагин и всё стало более менее ясно. получилось добавить свою функцию в библиотеку. вытаскиваю её на рабочее поле, подключаю входы/выходы. тыкаю собрать проект и вижу что мои сишные файлы добавляются в компиляцию и вызовы корректно вставляются куда нужно. проект кампилится.
|
|
|
|
|
Feb 17 2016, 07:38
|
Группа: Новичок
Сообщений: 1
Регистрация: 17-02-16
Пользователь №: 90 487

|
Извините, конечно, не в тему, но вопрос очень волнует. Вам не приходилось сталкиваться с проблемами при написании в Beremiz функционального блока с передачей массива в качестве параметра? Я имею в виду ФБ, написанный на C, и подключаемый на target-платформе в виде shared object library. А его описание в виде .xml и .py файла добавленное в beremiz.
Объявить массив переменных в xml файле, описывающем функциональный блок не получается, или я не знаю как. Никакой документации по этому вопросу найти не смог. Если я правильно все понял, разработчики поддержки такой возможности не делали. На вопросы отвечают очень долго, месяцами.
Пробовал объявить в ФБ параметр, такого же типа как элемент моего массива и передавать первый член массива как аргумент. Предполагалось, что раз массив все равно указатель, а в ФБ передается тоже указатель, то в своем сишном коде я его спокойно разименую и буду использовать. Но схитрить не получается, при вызове функционального блока, передается не указатель на массив, а указатель на структуру data__, которая перед этим инициализируется значениями из local и global переменных. Таким образом первый член массива передается по значению, как добраться до остальных, непонятно.
Если сталкивались, то как решали? Если я сам что то по глупости упустил, укажите, пожалуйста)
|
|
|
|
|
Apr 19 2016, 11:17
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(yanvasiij @ Apr 7 2016, 14:54)  Нашел еще несколько очень неприятных ошибок в самом беремизе и matiec, касающиеся пользовательских типов данных. Без исправления всех вышеперечисленных ошибок использовать беремиз+matiec для компляции более или менее серьезных АСУшных проектов невозможно. Я перенес на беремиз один реальный АСУшный проект (написанный для шнайдеровского контроллера), который использовал большое количество переменных, функциональных блоков, функций, пользовательских типов и т.п. После адаптации обнаружились все эти неприятности. Напрашивается печальный вывод: либо ждать когда исправления появятся в официальном репозитарии, либо обзавестись терпением и самому начать курить исходники matiec, либо не использовать вообще. Предлагаю объединить усилия и допилить Beremiz/matiec до рабочего состояния. Я исправил некоторые ошибки, которые мне попались в работе в своем репозитории. Кстати, там сделана русская локализация пользовательского интерфейса. Есть части, которые не переведены еще. Но это части кода, которые вообще без поддержки локализации написаны. Это я поправлю, как буду на них натыкаться. По поводу matiec ничего не могу сказать. Только белгло просмотрел код. Там надо разбираться. Кстати проблемы, касающиеся matiec, мне кажется, что лучше описывать еще на баг-трекере.
|
|
|
|
|
Apr 21 2016, 04:36
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Цитата(griabig @ Apr 19 2016, 16:17)  Предлагаю объединить усилия и допилить Beremiz/matiec до рабочего состояния. Я исправил некоторые ошибки, которые мне попались в работе в своем репозитории. Кстати, там сделана русская локализация пользовательского интерфейса. Есть части, которые не переведены еще. Но это части кода, которые вообще без поддержки локализации написаны. Это я поправлю, как буду на них натыкаться. По поводу matiec ничего не могу сказать. Только белгло просмотрел код. Там надо разбираться. Кстати проблемы, касающиеся matiec, мне кажется, что лучше описывать еще на баг-трекере. Поддерживаю Ваше предложение! По поводу баги в matiec я писал Марио на личную почту, он мне ответил обещал исправить.
|
|
|
|
|
Apr 21 2016, 14:58
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(yanvasiij @ Apr 21 2016, 07:36)  Поддерживаю Ваше предложение! По поводу баги в matiec я писал Марио на личную почту, он мне ответил обещал исправить. Замечательно! Но если забудет, то тогда добавим в баг-трекер. Так надежней, уже точно не потеряется.
|
|
|
|
|
Jul 18 2016, 06:33
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(yanvasiij @ Apr 6 2016, 11:25)  Обнаружил багу в matiec. При использовании функциональных блоков внутри функций или других функциональных блоков генерируется код, который присваивает структурам целочисленные значения. При компиляции в gcc это приводит к ошибкам. Очень жаль ((( Здравствуйте, глянул IEC 61131-3: > 2.5.1 Functions >... >Functions shall contain no internal state information, i.e., invocation of a function with the same >arguments (input variables VAR_INPUT and in-out variables VAR_IN_OUT) shall always yield >the same values (output variables VAR_OUTPUT, in-out variables VAR_IN_OUT and function >result). > It shall be an error if external variables as defined in 2.4.3 cause the violation of this rule. >... > 2.5.2 Function blocks >... >All the values of the output variables and the necessary internal variables of this data structure >shall persist from one execution of the function block to the next; therefore, invocation of a >function block with the same arguments (input variables) need not always yield the same output >values >... Использовать ФБ внутри функций, похоже, нельзя, т.к. при этом невозможно гарантировать, что функция будет выдавать одни и те же результаты при одних и тех же входах. Относится ли это к использованию ФБ в качестве входного параметра, не поняно...
|
|
|
|
|
Jul 18 2016, 11:41
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Нельзя, я писал об это лично Марио. Он мне ответил, что это по его мнению даже логично и будет ли он это менять пока не знает. Но момент с функциональными блоками не такой неприятный, как ошибки вроде той, что проявляется при работе со вложенными CASE'ми. Вот тут я об этом писал. А это не Вы, тот самый Paul, что выложил ссылку в майлинг листе на свой git-репозитарий? (была неверная ссылка, отредактировал)
|
|
|
|
|
Jul 19 2016, 05:59
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(yanvasiij @ Jul 18 2016, 16:41)  А это не Вы, тот самый Paul, что выложил ссылку в майлинг листе на свой git-репозитарий? (была неверная ссылка, отредактировал) Да, это я. Цитата(yanvasiij @ Jul 18 2016, 16:41)  Но момент с функциональными блоками не такой неприятный, как ошибки вроде той, что проявляется при работе со вложенными CASE'ми. Вот тут я об этом писал. Ооо, вот это уже более серёзно. Код компилятора я смотрел, сам код написан довольно качественно, даже недоделки задокументированы, что не часто встретишь. Там есть одна беда: тестовая инфраструктура не проработана, совсем. Если сейчас начать править код, то нет гарантий, что я что-нибудь не поломаю, а проверить это возможности нет... А ещё я не спец по пром автоматизации, я системный программист, связку Beremiz/matiec использовал только потому, что это единственный живой FLOSS-проект. Соответственно если что-то делать нужны: а) тестовые файлы (для регрессионного тестирования) б) кто-то, кто сможет проконсультировать по МЭКовским языкам. в) время, которого мало, ибо мне надо писать прошивки для трёх приборов... г) специалист по питону, ибо в)
|
|
|
|
|
Jul 19 2016, 06:15
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Что касается matiec, там действительно все сложно. Это компилятор писался с помощью yacc и bison (инструменты для написания собственных компиляторов). Я сам в этом не шибко силен, насколько я это все понимаю вручную там пишутся только так называемые обработчики токенов, остальное автогенериться с помощью yacc и bison. Поэтому половина кода из репозитария matiec автогенерённая и разобраться там очень сложно. Консультации по МЭК-овским языкам это вообще отдельный разговор. Я сам работаю на АСУшною компанию, которая делает свой контроллер, поэтому общения с программистами АСУшниками мне хватает. И с их разговоров понял, что от контроллера к контроллеру различия в реализации МЭКовских языков настолько сильны, что люди много времени тратят на портирование проектов со шнайдера на сименс, с сименса на аланбредли и т.д. Базовые вещи конечно же совпадают, но в деталях много различий. Так что строго говоря IEC 61131-3 не такой уж и стандарт. Касательно питона, по самому Beremiz'y очень активное участие проявляет Андрей Скворцов (здесь он griabig). Если есть какие-то замечания, баги рекомендую писать в его баг-трекер, он достаточно оперативно реагирует. А вот ваши наработки по поводу пошаговой отладки STM32F из беремиза очень интересны. Я так понял отладку вы реализовали через последовательный порт?
|
|
|
|
|
Jul 19 2016, 06:52
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(yanvasiij @ Jul 19 2016, 11:15)  Касательно питона, по самому Beremiz'y очень активное участие проявляет Андрей Скворцов (здесь он griabig). Если есть какие-то замечания, баги рекомендую писать в его баг-трекер, он достаточно оперативно реагирует. А вот ваши наработки по поводу пошаговой отладки STM32F из беремиза очень интересны. Я так понял отладку вы реализовали через последовательный порт? Да, через последовательный порт. Только пошаговой отладки (в смысле прошагивание инструкций) там нет, есть просмотр переменных и лога, насколько я понял, в Beremiz всё этим и ограничивается, я не видел там свидетельств возможность "шагать", как в том же Си. Хотя я текстовые языки там не тыкал, могу ошибаться... Цитата(yanvasiij @ Jul 18 2016, 16:41)  Но момент с функциональными блоками не такой неприятный, как ошибки вроде той, что проявляется при работе со вложенными CASE'ми. Вот тут я об этом писал. Кстати, а тот код пробовали обрабаывать с помощью iec2iec? Что генерируется в этом случае?
|
|
|
|
|
Jul 19 2016, 07:02
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Цитата(paulbell @ Jul 19 2016, 11:52)  Кстати, а тот код пробовали обрабаывать с помощью iec2iec? Что генерируется в этом случае? Я если честно не совсем понимаю что делает iec2iec, поэтому и не пробовал. Если не затруднит растолкуйте для чего он? Я пробовал через консоль отправлять тот код в iec2c.exe, в генерированном им коде и была та злосчастная ошибка.
|
|
|
|
|
Jul 19 2016, 07:25
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(yanvasiij @ Jul 19 2016, 12:02)  Я если честно не совсем понимаю что делает iec2iec, поэтому и не пробовал. Если не затруднит растолкуйте для чего он? Я пробовал через консоль отправлять тот код в iec2c.exe, в генерированном им коде и была та злосчастная ошибка. По задумке автора, он нужен для контроля корректности работы парсера (как раз той самой части, которая на bison и yacc/flex ): берем исходник на ST/LD/SFC, преобразуем в ST, сравниваем с оригиналом, если парсер отработал корректно, - должен получиться оригинал, или что-то близкое к нему. То есть это нужно для проверки корректности генерации AST и символьных таблиц, из которых в последствии генерируется код на Си. Такой подход позволяет отделить баги прасера и баги кодогенератора.
Сообщение отредактировал paulbell - Jul 19 2016, 07:30
|
|
|
|
|
Jul 19 2016, 07:57
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Только что сделал следующее: Код ..\..\matiec\iec2iec.exe -I ..\..\matiec\lib generated_plc.st > output.txt В файле generated_plc.st было следующее CODE PROGRAM casetest VAR LocalVar0 : DINT; LocalVar1 : DINT; END_VAR
case LocalVar0 of 0..127: localvar0 := 1; case LocalVar1 of 600: localvar0 := 1; else localvar0 := 1; END_CASE; end_case; END_PROGRAM
CONFIGURATION config
RESOURCE resource1 ON PLC TASK tast1(INTERVAL := T#100ms,PRIORITY := 0); PROGRAM ubs1 WITH tast1 : casetest; END_RESOURCE END_CONFIGURATION В файле output.txt оказало дофига отладочной информации, но в самом конце было следующее: CODE {enable code generation}PROGRAM casetest VAR LocalVar0 : DINT; LocalVar1 : DINT; END_VAR
CASE LocalVar0 OF 0 .. 127: localvar0 := 1; CASE LocalVar1 OF 600: localvar0 := 1; ELSE localvar0 := 1; END_CASE; END_CASE; END_PROGRAM
CONFIGURATION config RESOURCE resource1 ON PLC TASK tast1 (INTERVAL := TIME#100ms, PRIORITY := 0); PROGRAM ubs1 WITH tast1 : casetest; END_RESOURCE END_CONFIGURATION Смею предположить, что парсер отработал все верно.
|
|
|
|
|
Jul 19 2016, 08:29
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(yanvasiij @ Jul 19 2016, 12:57)  Смею предположить, что парсер отработал все верно. Похоже на то, значит баг в кодогенераторе... Марио не говорил, какой IDE он пользуется для отладки? Судя по всему Eclipse, но я не наблюдаю некоторых файлов... Цитата(yanvasiij @ Jul 19 2016, 12:57)  Только что сделал следующее: Код ..\..\matiec\iec2iec.exe -I ..\..\matiec\lib generated_plc.st > output.txt ОПАЧКИ!
Судя по путям к iecstdlib, у Вас старая версия matiec, скорее всего из Beremiz 1.1, после этого Марио переписал часть кодогенератора, в частности переписывалась обработка кейсов: https://bitbucket.org/mjsousa/matiec/commit...e31e?at=default
Дома вечером попробую скомпилить это же код более новой версии iec2c.А нет, перепутал с сишной частью. А все таки какая у Вас версия matiec?
Сообщение отредактировал paulbell - Jul 19 2016, 08:36
|
|
|
|
|
Jul 19 2016, 09:08
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Код iec2iec.exe -v matiec version 0.1 changeset id: 7518955c875a Мы форкнулись от сюда. Уже успели внести некоторые поправки кастельно глобальных переменных. Но изменения из основного репозитария время от времени вытаскиваем. По-поводу IDE у Марио я не спрашивал, мы редактировали в NetBeans. Но Вы можете ему написать, он достаточно отзывчивый товарищ.
|
|
|
|
|
Jul 19 2016, 09:52
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(yanvasiij @ Jul 19 2016, 14:08)  Код iec2iec.exe -v matiec version 0.1 changeset id: 7518955c875a Мы форкнулись от сюда. Уже успели внести некоторые поправки кастельно глобальных переменных. Но изменения из основного репозитария время от времени вытаскиваем. По-поводу IDE у Марио я не спрашивал, мы редактировали в NetBeans. Но Вы можете ему написать, он достаточно отзывчивый товарищ. Это не с битведра, это с официального репозитория, изменения в кодогенераторе были на месяц позже, в комментарии к коммиту с кейсами говорится, что пофиксили два бага в обработке кейсов.
|
|
|
|
|
Jul 19 2016, 14:56
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(yanvasiij @ Jul 19 2016, 15:12)  Этот комит в моей сборке есть.
Ого! Вы правы! Сейчас выкачал последние комиты пересобрал матик и попробовал собрать это код - собралось, работает!
Ну вот и славненько! А то я сначала прочитал свежие исходники matiec, там все в порядке со скобочками, а потом оказалось, что прасер работает нормально, следовательно, либо у Вас устаревшая версия, либо в matiec жестокие косяки с архитектурой... А какие там ещё баги? Ну которые мешают переносу проектов?
|
|
|
|
|
Jul 22 2016, 07:39
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(yanvasiij @ Jul 20 2016, 09:23)  Был еще один баг, но мы его исправили самостоятельно: было невозможно вызывать глобальный функциональный блок из простого экземпляра функционального блока. Я вот сейчас смотрю и не уверен исправлял ли этот баг сам Марио. К сожалению мы поторопились и коментарий к комиту написали по-русски. Поэтому сделать запрос на пуш в оффициальный репозитарий думаю пока не получится, но если надо можем просто открыть свой. Я считаю, что лучше открыть issue и добавить патч с исправлением в комменты. С другой стороны в трекере есть закрытые "незакрытые" баги, так что лучше куда-то форкнуть репозиторий Марио, пропатчить его и проветсти регрессионное тестирование, по результатам создать все issue, где будут только актуальные баги. Кстати, я смотрю тут уже есть три организации, заинтересованные в развитии Beremiz/matiec, может объединить усилия?
|
|
|
|
|
Jul 22 2016, 10:16
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Я добавлю issue и патч на днях; и по-поводу "незакрытых" баг - согласен.
По-поводу объединения усилия мы только ЗА. Андрей уже предлагал выше объединиться и отчасти нам это удалось, по мере обнаружения багов в самом Beremiz'e я пишу ему в баг-трекер. Я сам сейчас веду одновременно несколько проектов и в свободное от них время пишу, что-то вроде рантайма для STM32f4xx под беремиз (так же как это делаете Вы, если верить вашему репозитарию) и плагины для этого рантайма в Beremiz'e. У нас была попытка залезть глубоко в потороха matiec для испралления найденных багов, что-то даже удалось, то программист занятый этим переключился сейчас на другой проект, поэтому тут работа стоит.
А, да у Beremiz'a есть IRC чат, Андрей там уже сидит, я все никак не могу поставить на рабочую машину IRC-клиент, поэтому бываю там редко, когда подключусь с телефона только.
|
|
|
|
|
Aug 19 2016, 05:33
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(yanvasiij @ Jul 22 2016, 15:16)  Я добавлю issue и патч на днях; и по-поводу "незакрытых" баг - согласен.
По-поводу объединения усилия мы только ЗА. Андрей уже предлагал выше объединиться и отчасти нам это удалось, по мере обнаружения багов в самом Beremiz'e я пишу ему в баг-трекер. Я сам сейчас веду одновременно несколько проектов и в свободное от них время пишу, что-то вроде рантайма для STM32f4xx под беремиз (так же как это делаете Вы, если верить вашему репозитарию) и плагины для этого рантайма в Beremiz'e. У нас была попытка залезть глубоко в потороха matiec для испралления найденных багов, что-то даже удалось, то программист занятый этим переключился сейчас на другой проект, поэтому тут работа стоит.
А, да у Beremiz'a есть IRC чат, Андрей там уже сидит, я все никак не могу поставить на рабочую машину IRC-клиент, поэтому бываю там редко, когда подключусь с телефона только. Ну IRС у меня нет, так что там я вряяд ли скоро появлюсь. Форкнул репозитрий Андрея, исправил один баг в Beremiz, сделал пул-реквест, реакции пока нет. Андрей часто появляется у себя в bitbucket?
Сообщение отредактировал paulbell - Aug 19 2016, 05:35
|
|
|
|
|
Aug 22 2016, 05:47
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(yanvasiij @ Aug 21 2016, 10:32)  Я если честно сам редко сижу в ирке, мне не очень удобно там - на работе у меня блокируют туда доступ, поэтому я там либо через телефон, либо из дома. Можно попробовать создать чат в другом мессенджере.
Андрей обычно реагирует очень быстро, практически сразу. Наверно сейчас обстоятельства какие... Уже связались, познакомились, спасибо. Хорошо бы втроем пообщаться в online-режиме, если интересно сотрудничество, конечно.
|
|
|
|
|
Aug 22 2016, 07:38
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Цитата(paulbell @ Aug 22 2016, 10:47)  Хорошо бы втроем пообщаться в online-режиме, если интересно сотрудничество, конечно. Ну вот, что я предлагаю: cвои контакты я отправил Вам в личку, контакты Андрея у Вас тоже есть, я так понимаю, создайте чат (раз уж Вы инициатор online-режима) в мессенджере, который посчитаете удобным, и пригласите в него нас. Я на приглашение точно откликнусь. Да и вообще, все кто хочет поучаствовать думаю смогут туда подключиться через Вас.
|
|
|
|
|
Aug 24 2016, 08:09
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(yanvasiij @ Aug 22 2016, 10:38)  Ну вот, что я предлагаю: cвои контакты я отправил Вам в личку, контакты Андрея у Вас тоже есть, я так понимаю, создайте чат (раз уж Вы инициатор online-режима) в мессенджере, который посчитаете удобным, и пригласите в него нас. Я на приглашение точно откликнусь. Да и вообще, все кто хочет поучаствовать думаю смогут туда подключиться через Вас. Если блокируют сам протокол IRC или нет возможности установить IRC-клиент, то всегда есть возможно войти в IRC чат через вэб. Например, вот здесь https://webchat.freenode.net/Я всегда там, даже если меня в данный момент нет в офисе, то я прочитаю сообщение потом и обязательно отвечу на него.
|
|
|
|
|
Feb 9 2017, 12:59
|

пуля
   
Группа: Свой
Сообщений: 674
Регистрация: 10-05-06
Из: Уфа
Пользователь №: 16 959

|
Функции __publish и __retrive - используются для режима debug. Но можно переписать и под себя конечно! Код /* * Retrieve input variables, run PLC and publish output variables **/ void __run(void) { __tick++; if (greatest_tick_count__) __tick %= greatest_tick_count__; /*__retrieve_debug();*/ config_run__(__tick); __publish_debug(); } Остаётся вопрос откуда взять список переменных, которые юзает код ПЛК, это раз! И у меня возникает вопрос, а как генерится код ПЛК: не получится ли что код зациклится на ожидании какого нибудь флага, а он соответственно обновится только в следующем цикле! Может быть такой вариант событий?1 А функция CTNGenerate_C() всего лишь запускает iec2c
|
|
|
|
|
Feb 12 2017, 17:39
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Цитата Функции __publish и __retrive - используются для режима debug. Нет. Я имел ввиду __publish_X и __retrive_X, которые реализует каждый модуль, при кодогерации. Признаться, после вашего сообщения, сам засомневался, что задал вопрос в ML. Тот же Canfestival реализован, как модуль к Beremiz'у, поэтому и реализует свои __publish_X и __retrive_X при генерации исходников.
|
|
|
|
|
Feb 17 2017, 05:31
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(bullit @ Feb 9 2017, 17:59)  И у меня возникает вопрос, а как генерится код ПЛК: не получится ли что код зациклится на ожидании какого нибудь флага, а он соответственно обновится только в следующем цикле! Может быть такой вариант событий?1 Если __publish и __retrive реализовать без циклов, то такого быть не должно. Iec2c генерирует конечные автоматы, которые работают кооперативно. T.к. количество автоматов ограничено, то получается гарантия ограниченного WCET для кода, генерируемого iec2c если он отработал без глюков.
|
|
|
|
|
Mar 6 2017, 13:14
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 12-03-08
Из: Краснодар
Пользователь №: 35 832

|
Приветствую всех! Сборка проекта matiec из репозитория прошла с незначительными варнингами. Сам beremiz запускается. Однако при попытке запуска его проекта из среды PyDev вываливается куча ошибок. В чем может быть моя ошибка?
|
|
|
|
|
Mar 9 2017, 08:25
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 12-03-08
Из: Краснодар
Пользователь №: 35 832

|
Цитата(yanvasiij @ Mar 8 2017, 21:07)  Из какого репозитария Вы взяли Beremiz и matiec? В какой операционной системе Вы работаете? И что за ошибки в pydev, выложите лог? И еще, повторюсь, настоятельно рекомендую спрашивать в mailing list, так гораздо эффективнее поверьте. Beremiz и matiec - из https://github.com/nucleron. Нам требуется собрать минимально рабочую систему на плате F4Discovery. Из какого репозитория нам будет быстрее это сделать? Работаем в Linux/Ubuntu. IDE - Eclipse+PyDev. Логи соберу, укорочу и выложу.
|
|
|
|
|
Mar 9 2017, 09:21
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Репозитарий правильный, если быть точным это один из форков официального репозитария (принадлежит paulbell). Если хотите просто развернуть среду Павла, то можно воспользоваться установщиком: https://github.com/nucleron/YAPLC/releases. Под win7 он запускается без проблем, под linux не знаю. Если хотите развернуть все, склонировав его репозитарии то тут список всех необходимых репозитариев: https://sourceforge.net/p/beremiz/mailman/message/35506039/. Один или несколько репозитариев (я уже не помню точно) нужно преварительно собрать разумеется. В качестве таргетов там есть платформы на базе stm32, какие именно лучше посмотреть в исходниках или спросить у автора, сам не помню.
|
|
|
|
|
Mar 9 2017, 10:12
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 12-03-08
Из: Краснодар
Пользователь №: 35 832

|
Цитата(bullit @ Mar 9 2017, 14:15)  Может я чего не знаю или не понимаю. Вы хотите на STMке питоновские скрипты использовать? Это было бы круто, но не сейчас. Сейчас STMка - всего лишь цель для беремиза. Цитата(yanvasiij @ Mar 8 2017, 21:07)  Из какого репозитария Вы взяли Beremiz и matiec? В какой операционной системе Вы работаете? И что за ошибки в pydev, выложите лог? И еще, повторюсь, настоятельно рекомендую спрашивать в mailing list, так гораздо эффективнее поверьте. Видимо, что-то не так с нашей питоновской средой 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/IDEFrame.py", line 9, in <module> from editors.EditorPanel import EditorPanel File "/home/igor/acs/beremiz/beremiz_test/beremiz/editors/EditorPanel.py", line 27, in <module> from controls import VariablePanel File "/home/igor/acs/beremiz/beremiz_test/beremiz/controls/__init__.py", line 31, in <module> from DebugVariablePanel import DebugVariablePanel File "/home/igor/acs/beremiz/beremiz_test/beremiz/controls/DebugVariablePanel/__init__.py", line 1, in <module> from DebugVariablePanel import DebugVariablePanel File "/home/igor/acs/beremiz/beremiz_test/beremiz/controls/DebugVariablePanel/DebugVariablePanel.py", line 40, in <module> from DebugVariableTextViewer import DebugVariableTextViewer File "/home/igor/acs/beremiz/beremiz_test/beremiz/controls/DebugVariablePanel/DebugVariableTextViewer.py", line 30, in <module> from DebugVariableViewer import DebugVariableViewer File "/home/igor/acs/beremiz/beremiz_test/beremiz/controls/DebugVariablePanel/DebugVariableViewer.py", line 33, in <module> from dialogs.ForceVariableDialog import ForceVariableDialog File "/home/igor/acs/beremiz/beremiz_test/beremiz/dialogs/__init__.py", line 30, in <module> from FBDVariableDialog import FBDVariableDialog 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/svgui/svgui.py", line 8, in <module> from py_ext import PythonFileCTNMixin File "/home/igor/acs/beremiz/beremiz_test/beremiz/py_ext/__init__.py", line 1, in <module> from py_ext import * File "/home/igor/acs/beremiz/beremiz_test/beremiz/py_ext/py_ext.py", line 3, in <module> from PythonFileCTNMixin import PythonFileCTNMixin File "/home/igor/acs/beremiz/beremiz_test/beremiz/py_ext/PythonFileCTNMixin.py", line 6, in <module> from CodeFileTreeNode import CodeFile File "/home/igor/acs/beremiz/beremiz_test/beremiz/CodeFileTreeNode.py", line 8, in <module> from ConfigTreeNode import XSDSchemaErrorMessage File "/home/igor/acs/beremiz/beremiz_test/beremiz/ConfigTreeNode.py", line 18, in <module> from editors.ConfTreeNodeEditor import ConfTreeNodeEditor File "/home/igor/acs/beremiz/beremiz_test/beremiz/editors/ConfTreeNodeEditor.py", line 7, in <module> from EditorPanel import EditorPanel File "/home/igor/acs/beremiz/beremiz_test/beremiz/editors/EditorPanel.py", line 27, in <module> from controls import VariablePanel File "/home/igor/acs/beremiz/beremiz_test/beremiz/controls/__init__.py", line 31, in <module> from DebugVariablePanel import DebugVariablePanel File "/home/igor/acs/beremiz/beremiz_test/beremiz/controls/DebugVariablePanel/__init__.py", line 1, in <module> from DebugVariablePanel import DebugVariablePanel File "/home/igor/acs/beremiz/beremiz_test/beremiz/controls/DebugVariablePanel/DebugVariablePanel.py", line 40, in <module> from DebugVariableTextViewer import DebugVariableTextViewer File "/home/igor/acs/beremiz/beremiz_test/beremiz/controls/DebugVariablePanel/DebugVariableTextViewer.py", line 30, in <module> from DebugVariableViewer import DebugVariableViewer File "/home/igor/acs/beremiz/beremiz_test/beremiz/controls/DebugVariablePanel/DebugVariableViewer.py", line 33, in <module> from dialogs.ForceVariableDialog import ForceVariableDialog File "/home/igor/acs/beremiz/beremiz_test/beremiz/dialogs/__init__.py", line 30, in <module> from FBDVariableDialog import FBDVariableDialog 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).
|
|
|
|
|
Mar 10 2017, 05:58
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 12-03-08
Из: Краснодар
Пользователь №: 35 832

|
Цитата(bullit @ Mar 9 2017, 15:34)  Наверное трабла в неподключенных либах. может поможет: Pre-requisites # Ubuntu/Debian : 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
Хотя не факт! Попробуйте PyCharm. Проверил sudo apt-get install build-essential bison flex autoconf python-wxgtk2.8 pyro mercurial python-numpy python-nevow python-matplotlib все установлено. Попробуем PyCharm.
|
|
|
|
|
Mar 10 2017, 09:18
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(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.
|
|
|
|
|
Mar 12 2017, 19:28
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 12-03-08
Из: Краснодар
Пользователь №: 35 832

|
Цитата(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 Что-то я еще не установил?
|
|
|
|
|
Mar 13 2017, 07:19
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(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. Напишите туда, помогут. ;-)
|
|
|
|
|
Mar 13 2017, 10:34
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 12-03-08
Из: Краснодар
Пользователь №: 35 832

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

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(bigmaxtor @ Mar 13 2017, 13:34)  Благодарю. Буду осваивать тамошний непростой интерфейс. Я так понимаю, что Вы списками рассылки не пользовались. Там всё просто. По сути Вашим интерфейсом является Ваш почтовый клиент. Регистрируете свой почтовый адрес здесь: https://lists.sourceforge.net/lists/listinfo/beremiz-develПосле этого Вам на почту будут приходить сообщения других людей, пишущих в рассылку (трафика не много) Отправляете письмо на адрес рассылки и его получают другие подписчики. Кто может помочь, тот отвечает.
|
|
|
|
|
Mar 16 2017, 07:51
|
Участник

Группа: Участник
Сообщений: 51
Регистрация: 12-03-08
Из: Краснодар
Пользователь №: 35 832

|
Цитата(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 запустил. Работа началась.
|
|
|
|
|
Mar 16 2017, 10:09
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(bigmaxtor @ Mar 16 2017, 10:51)  Благодарю, IDE запустил. Работа началась. Отлично!
|
|
|
|
|
Apr 6 2017, 05:37
|
Участник

Группа: Участник
Сообщений: 60
Регистрация: 23-07-09
Пользователь №: 51 492

|
Хотелось бы попробовать. Пока не понял как ставить под Linux, будем разбираться.
|
|
|
|
|
Apr 6 2017, 07:43
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(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-3cd ~/YAPLC/CanFestival-3 ./configure --can=virtual make Запуск Цитата cd ~/YAPLC/IDE python yaplcide.py Вроде ничего не забыл...
Сообщение отредактировал paulbell - Apr 7 2017, 07:30
|
|
|
|
|
Apr 6 2017, 14:46
|

Участник

Группа: Свой
Сообщений: 67
Регистрация: 11-07-07
Из: Екб
Пользователь №: 29 052

|
Цитата(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 отсутствует
Сообщение отредактировал x83 - Apr 6 2017, 14:46
|
|
|
|
|
Apr 6 2017, 14:50
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390

|
Цитата(paulbell @ Apr 6 2017, 10:43)  Вот примерная инструкция: забавно, что на https://github.com/nucleron/YAPLC только README.md
|
|
|
|
|
Apr 7 2017, 04:54
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(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 Этот репозиторий сделан для бинарников и обратной связи с пользователями.
Сообщение отредактировал paulbell - Apr 7 2017, 04:56
|
|
|
|
|
Apr 7 2017, 05:14
|

Участник

Группа: Свой
Сообщений: 67
Регистрация: 11-07-07
Из: Екб
Пользователь №: 29 052

|
Цитата(paulbell @ Apr 7 2017, 09:54)  Только что скачал у matiec из репозитория Андрея, собирается именно этими командами. Система Debian Wheezy. Система ubuntu 16.04. Загрузил виртуалку с читым archlinux. Установил зависимы пакеты, получил те-же самые ошибки. Upd: Еще раз перечитал маны. Надо делать так: Код autoreconf -i
Сообщение отредактировал x83 - Apr 7 2017, 05:24
|
|
|
|
|
Apr 7 2017, 05:30
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

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

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(x83 @ Apr 7 2017, 08:14)  Система ubuntu 16.04. Загрузил виртуалку с читым archlinux. Установил зависимы пакеты, получил те-же самые ошибки. Upd: Еще раз перечитал маны. Надо делать так: Код autoreconf -i Все верно. Необходим ключ -i. http://www.beremiz.org/doc раздел "How To"
|
|
|
|
|
Apr 7 2017, 07:30
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(griabig @ Apr 7 2017, 12:11)  Все верно. Необходим ключ -i. http://www.beremiz.org/doc раздел "How To" Поправил пост.
|
|
|
|
|
Apr 9 2017, 08:08
|
Группа: Новичок
Сообщений: 1
Регистрация: 9-02-11
Пользователь №: 62 820

|
Стал изучать беремиз, скачал с beremiz.org "1.2 - Russian Release" и, кажется, обнаружил баг. При создании циклической задачи, если время повторения цикла задавать до 4 секунд, то все корректно работает, но если время цикла выставить 4.3 секунды и больше - то период выполнения задачи не соответствует заданному, а гораздо больше. Целевая платформа - windows. Свой тестовый беремиз проект прикрепляю.
|
|
|
|
|
Apr 10 2017, 06:52
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

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

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(KelZen @ Apr 9 2017, 11:08)  Стал изучать беремиз, скачал с beremiz.org "1.2 - Russian Release" и, кажется, обнаружил баг. При создании циклической задачи, если время повторения цикла задавать до 4 секунд, то все корректно работает, но если время цикла выставить 4.3 секунды и больше - то период выполнения задачи не соответствует заданному, а гораздо больше. Целевая платформа - windows. Свой тестовый беремиз проект прикрепляю. Это была проблема не в Beremiz, а в трансляторе matiec. Исправление уже доступно. Спасибо.
|
|
|
|
|
May 30 2017, 07:08
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

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

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(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.
|
|
|
|
|
May 30 2017, 11:16
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

|
Уж простите новичка. Что-то не получается. Итак: 1. Патч скачал и наложил без проблем. 2. Modbus библиотеку клонировал и собрал, получил libmb.so3. Что дальше? Куда-то 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 вполне вменяем). Копать надо глубоко, а у меня задача - принять решение, рабочая такая задача, не хоббийная. Что посоветуете, камраде?
|
|
|
|
|
May 30 2017, 12:28
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

|
Цитата(Lost_byte @ May 30 2017, 15:16)  Уж простите новичка. Что-то не получается. Итак: 1. Патч скачал и наложил без проблем. 2. Modbus библиотеку клонировал и собрал, получил libmb.so3. Что дальше? Куда-то 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. Как-то не совсем то что ожидалось. Эх печаль.
|
|
|
|
|
May 30 2017, 14:23
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(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 вышло.
Сообщение отредактировал griabig - May 30 2017, 14:31
|
|
|
|
|
May 31 2017, 06:04
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

|
Цитата(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. Нужно решить вопрос с размещением ресурса. Наверное самое простое и бесплатное - прямо в битбакете. Вопрос, рядом с основным репозиторием или в отдельном? По опыту вики рядом с репозиторием разработки должны быть посвящены теме именно разработки а не практического использования.
|
|
|
|
|
May 31 2017, 06:51
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(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. Если понадобится, то часть вики всегда можно вынести в отдельное место.
Сообщение отредактировал griabig - May 31 2017, 07:04
|
|
|
|
|
Jun 1 2017, 06:57
|
Участник

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Добрый день. Цитата(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
|
|
|
|
|
Jun 1 2017, 11:43
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

|
Цитата У себя воспроизвести не могу, система Win 7 Pro 32bit. У меня Win7 64bit. А вот PLCOpen Editor использовал с приставкой v2, видимо был когда-то и v1... Попробую на днях затестить под виртуалкой в Debian. Вообще не первый раз встречаю "залипания" WxWidget-python проектов, навскидку примеры не приведу, но было точно. При всем при том что старый добрый Code::Blocks (тоже Wx но на чистом C) работает как часики и порой по удобству/скорости уделывает таких мастодонтов как Eclipse. P.S. для пруфов могу попробовать записать видосик с экрана и выложить куда-нибудь в облако. Нужно?
Сообщение отредактировал Lost_byte - Jun 1 2017, 11:46
|
|
|
|
|
Jun 1 2017, 11:52
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(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 , тоже не получилось.
|
|
|
|
|
Jun 1 2017, 11:59
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

|
Цитата(griabig @ Jun 1 2017, 14:52)  А где вы такой вообще взяли??? Текущая версия PLCOpen Editor совпадает с текущей версией Beremiz - 1.2-85fdcc04da25. Ваша правда, действительно v1.2. Видимо-где-то я ошибся при сортировке по папочкам и потерял "1."
|
|
|
|
|
Jun 1 2017, 13:17
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

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

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(Lost_byte @ Jun 1 2017, 18:17)  ну вот захватил небольшой видос. Жаль что не нашел фревую совтинку с отображением нажатий клавиатуры. Поэтому напишу здесь: глюки начинаются при попытках сделать Ctrl+C-Ctrl+V. Копипаста может сработать, сработать с окном ошибки (после этого Ctrl-V не работает можно вставить через правый клик), или не сработать вообще, или же привести к порче всего уже нарисованного. У вас в видео на 59 секунде сгенерировался отчет об ошибке, путь к файлу отчета читаем, сможете создать issue здесь : https://bitbucket.org/skvorl/beremiz/issues...amp;status=open и приложить отчет об ошибке? Насколько я помню, это можно сделать без регистрации...
|
|
|
|
|
Jun 2 2017, 07:42
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Цитата Насчет посмотреть YaPLC - это конечно резонно... Смотрю, пытаю, на моей Win7 наблюдаю катастрофические глюки GUI (это при том что чистый PLCOpen Editor вполне вменяем). Копать надо глубоко, а у меня задача - принять решение, рабочая такая задача, не хоббийная. Мы тут недавно осваивали среду для контроллеров B&R. По сравнению с ней, Beremiz очень даже неплох, при том, что B&R это очень крупная контора (в России конечно они плохо распространены по сравнению с теми же сименсами, бредлями и шнайдерами). Я имею ввиду не дизайн (с дизайном там то в отличии от беремиза все в порядке), а функционал и степень глючности. А по поводу принять решение - какие собственно варианты - codesys, да isagraph? Так там, простите, та еще борода...
|
|
|
|
|
Jun 2 2017, 08:03
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

|
Цитата(yanvasiij @ Jun 2 2017, 10:42)  А по поводу принять решение - какие собственно варианты - codesys, да isagraf? Так там, простите, та еще борода... Вопрос стоит несколько иначе. Иначе в плане выбора. Если кратко то: писать самим или присоединиться к сообществу open-source? Третьим элементом вроде как рассматривается "делать оборудование совместимым с...". Но я на своем уровне ответственности выступаю категорически "против" такого пункта выбора.
|
|
|
|
|
Jun 2 2017, 08:10
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(Lost_byte @ Jun 2 2017, 11:03)  Вопрос стоит несколько иначе. Иначе в плане выбора. Если кратко то: писать самим или присоединиться к сообществу open-source? Третьим элементом вроде как рассматривается "делать оборудование совместимым с...". Но я на своем уровне ответственности выступаю категорически "против" такого пункта выбора. Если вы собираетесь писать самим, скажите сколько программистов у вас в штате планирует работать над этим проектом и как долго? "Делать оборудование совместимым с..." с чем вы хотите сделать его совместимым? В этом случае если у вас не будет письменной договорённости (она будет скорее всего стоить денег), то к вам рано или поздно могут придти с претензиями.
|
|
|
|
|
Jun 2 2017, 08:28
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

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

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(Lost_byte @ Jun 2 2017, 11:24)  Все считается и решается. Лицензии CoDeSys или IsaGraph стоят вполне определенных денег, как и штат специалистов в пересчете на зарплаты/годы. Да, в этом-то и дело. Единственно, что писать с нуля своё я бы точно не стал.
|
|
|
|
|
Jun 2 2017, 08:40
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

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

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(Lost_byte @ Jun 2 2017, 11:40)  Да, "давайте перепишем все с нуля" - это порочная практика программирования.
Андрей, чем помочь? Проект действительно интересный. Я не силен в питоне, но вот на С, линукс что-то могу пособить. Ну в плане документирования уже вроде как договорились, тут мне самому бы поднатореть во владении проектом. С python скорее всего придётся познакомиться, но это не сильно большая проблема, если вы уже опытный программист и знакомы с объектно-ориентированным подходом. Документация - это была бы огромнейшая помощь. Багрепорты - это тоже хорошо. Присланный код вообще замечательно. Лучше подписаться на список рассылки и писать текущие вопросы по Beremiz туда.
|
|
|
|
|
Jun 2 2017, 09:03
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

|
Цитата(griabig @ Jun 2 2017, 11:56)  Лучше подписаться на список рассылки и писать текущие вопросы по Beremiz туда. Дык уже... Так что с wxGlade? Есть какая инфа? примеры?
|
|
|
|
|
Jun 2 2017, 09:20
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Цитата(Lost_byte @ Jun 2 2017, 14:03)  Так что с wxGlade? Есть какая инфа? примеры? Если Вы скачали Beremiz с оффициального сайта, то в директории \beremiz\tests, есть папка wxGlade, а в ней пример проекта. Цитата(Lost_byte @ Jun 2 2017, 13:03)  Третьим элементом вроде как рассматривается "делать оборудование совместимым с...". Но я на своем уровне ответственности выступаю категорически "против" такого пункта выбора. Этот вариант не MasterScada ли случаем?
|
|
|
|
|
Jun 2 2017, 09:26
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(Lost_byte @ Jun 2 2017, 12:03)  Дык уже...
Так что с wxGlade? Есть какая инфа? примеры? примеры, в том числе и по работе с wxGlade, есть в самом Beremiz в директории tests и устанавливаются на рабочий стол в папку BeremizExamples. Единственно, что я их не смотрел, не было необходимости. Возможно в этой части присутствуют баги. А вам нужен функционал wxGlade в ПЛК? Если так, то постараемся в ближайшее время поправить это.
|
|
|
|
|
Jun 2 2017, 10:15
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

|
Цитата(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'ом. Если хотите вот вам примеры отечественных компаний, идущих по такому пути: раз, два
|
|
|
|
|
Jun 2 2017, 11:00
|
Местный
  
Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041

|
Цитата(Lost_byte @ Jun 2 2017, 15:15)  Нет. Это самые что ни на есть CoDeSys с IsaGraf'ом. Если хотите вот вам примеры отечественных компаний, идущих по такому пути... Не примеры я хотел, просто Вы не сразу упомянули с кем собираетесь работать "совместно". Поэтому я подумал про MasterScada. У них появился отдел, который пилит свое ядро и среду разработки к нему соответственно. Эти ребята, якобы (не знаю насколько успешно), портировали весь этот набор на контроллер отечественного Прософта. После этого начали активно искать еще заказчиков, которые тоже хотят свой контроллер. Парят, что у них все готово, кроме фолловера (который тоже типа скоро будет), так же говорят, что помогут с портированием, забрав часть работы на себя.
|
|
|
|
|
Jun 2 2017, 11:20
|
Группа: Участник
Сообщений: 13
Регистрация: 7-04-05
Из: Владимир
Пользователь №: 3 952

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

Группа: Участник
Сообщений: 20
Регистрация: 18-07-16
Пользователь №: 92 595

|
Цитата(Lost_byte @ Jun 2 2017, 15:15)  - HMI - панель непосредственно привязанная к ПЛК, то что раньше являлось пультом оператора. Это снимает с платформы ПЛК требования по наличию WEB-сервера, а сама панель может быть например USB-монитором (есть такие, да без видеоинтерфейса вообще, за то с кнопками или тачскрином). А ПЛК по функционалу в таком случае опускается в категорию "программируемое реле", соответственно и ось режется по самое "это вот"... Такие решения очень нравятся заказчикам помешанным на безопасности, ибо бытует мнение что "Если есть Web - значит можно хакнуть". Увы, это мнение, даже при самом критическом рассмотрении, не так далеко от истины. Лучший способ защититься от атаки - не предоставлять лишнего сервиса. THIS!!1
Я считаю, что оптимальный вариант, - панель с 485/Ethernet, на котором, например, Modbus-Master и система HMI, для которой код генерируется в графическом конфигураторе. Кстати, в Beremiz была бы полезна фича "репозиториев с библиотеками/целевыми файлами", тогда по функционалу оно бы вплотную приблизилось к известным закрытым решениям.
Сообщение отредактировал paulbell - Jun 2 2017, 11:22
|
|
|
|
|
Jun 6 2017, 14:17
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 30-09-09
Пользователь №: 52 655

|
Цитата(Lost_byte @ Jun 2 2017, 12:03)  Дык уже...
Так что с wxGlade? Есть какая инфа? примеры? Обновил примеры в репозитории. Выложил скринкасты. Можешь смотреть.
Сообщение отредактировал griabig - Jun 6 2017, 15:53
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|