|
Язык функциональных блоков FBD, Кто встречал? |
|
|
|
 |
Ответов
(1 - 11)
|
May 2 2007, 19:28
|
Местный
  
Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165

|
Цитата(Denisvak @ May 2 2007, 09:39)  Извиняюсь если не в ту тему "влепил"
Может кто подскажет где можно почитать про язык функциональных блоков FBD? В наши устройства закладывается определёная логика работы. Есть тройка групп входов и выходов, между ними "логика" в виде элементов "И", "ИЛИ". Сейчас всё делается на исходниках, и логика заложена в них. Вот в поисках упрощения работы наткнулся на такие фраз "язык функциональных блоков FBD" мож его как-нить можно прикротить под себя?
СпасибА! Если я правельно понимаю перевод "Functional Block Language", это является языком моделированя систем, где можно выражать структуру обекта (классы, обекты, составные части, и оболочку), поведение обекта (state machine, activity), и соиденения (коммуникации, связи, timing). В той организации где я работую используют UML (unified modeling language) для таких целей. Вся логика "высокого уровня" проекта выражается в UML.
--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
|
|
|
|
|
May 3 2007, 07:47
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(CodeWarrior1241 @ May 3 2007, 01:58)  Если я правельно понимаю перевод "Functional Block Language", это является языком моделированя систем Как говорится, "и даже не однофамилец". Начиная с того, что FBD - это "Function Block Diagram". Дальше Гугль рулит, начните с Википедии Цитата(Denisvak @ May 2 2007, 23:09)  В наши устройства закладывается определёная логика работы. Есть тройка групп входов и выходов, между ними "логика" в виде элементов "И", "ИЛИ". Сейчас всё делается на исходниках, и логика заложена в них. Вот в поисках упрощения работы наткнулся на такие фраз "язык функциональных блоков FBD" мож его как-нить можно прикротить под себя? Почитайте статьи на Софткрафте, может, найдете что-то подxодящее. Например, Реализация алгоритмов логического управления программами на языке функциональных блоков
|
|
|
|
|
May 3 2007, 08:24
|
Участник

Группа: Свой
Сообщений: 63
Регистрация: 3-05-05
Пользователь №: 4 696

|
Я так понимаю, что вас интересует получение рабочего кода из формального описания логики работы. Если вы только выбираете инструмент посмотрите вот это
Ladder_Logic_for_PIC_and_AVR.rar ( 65.94 килобайт )
Кол-во скачиваний: 574Автор предлагает преобразование из описания на языке лестничных диаграмм (релейно-контактные схемы) в байт интерпретируемый код или исходник на C.
|
|
|
|
|
May 3 2007, 08:52
|
Участник

Группа: Новичок
Сообщений: 44
Регистрация: 28-11-06
Пользователь №: 22 841

|
Цитата(Denisvak @ May 2 2007, 17:39)  Извиняюсь если не в ту тему "влепил"
Может кто подскажет где можно почитать про язык функциональных блоков FBD? В наши устройства закладывается определёная логика работы. Есть тройка групп входов и выходов, между ними "логика" в виде элементов "И", "ИЛИ". Сейчас всё делается на исходниках, и логика заложена в них. Вот в поисках упрощения работы наткнулся на такие фраз "язык функциональных блоков FBD" мож его как-нить можно прикротить под себя?
СпасибА! FBD - это один из языков программирования стандарта МЭК 61131. Реализован в системе программирования Codesys. Сам Codesys бесплатен , но на целевом контроллере должна быть реализована система исполнения. Из книг про FBD описано в Петров И.В. Программируемые контроллеры
|
|
|
|
|
May 3 2007, 11:37
|
Участник

Группа: Новичок
Сообщений: 44
Регистрация: 28-11-06
Пользователь №: 22 841

|
Цитата(Denisvak @ May 3 2007, 12:22)  Спасибо большое. то конечно все хорошо. Но как бы больше интересует алгоритмы как это сделать нам на своем контроллере, а не описание уже готовых программ тем более сложных и дорогих.
Простые элементы "И", "ИЛИ". Если Вы решили использовать FBD как язык программирования то вариант один портировать систему исполнения на свой контроллер, что конечно дорого. Другой вариант купить чип с портированной системой исполнения поищите в гугле или обратитесь к дистрибьютору Codesys Прологу они помню что то рекламировали. Если все вышеуказанное не подходит делайте программу без FBD на любом алгоритмическом языке какой вам нравиться - ничего сложного в Вашем алгоритме нет такого что бы его нельзя было реализовать на любом алгоритмическом языке.
|
|
|
|
|
May 3 2007, 12:23
|
Частый гость
 
Группа: Участник
Сообщений: 141
Регистрация: 7-03-06
Из: Санкт-Петербург
Пользователь №: 15 038

|
Цитата(Carmack @ May 3 2007, 12:37)  Если Вы решили использовать FBD как язык программирования то вариант один портировать систему исполнения на свой контроллер, что конечно дорого.
Другой вариант купить чип с портированной системой исполнения поищите в гугле или обратитесь к дистрибьютору Codesys Прологу они помню что то рекламировали.
Если все вышеуказанное не подходит делайте программу без FBD на любом алгоритмическом языке какой вам нравиться - ничего сложного в Вашем алгоритме нет такого что бы его нельзя было реализовать на любом алгоритмическом языке. Как бы конкретно на этом не зацыклился. Просто примерно это и необходимо. Вариант с покупкой чипа тоже не катит. Система как бы уже закончена, работает стабильно. Вот про подсказку о алгоритмических языках спасибо  . Буду "рыть" в данном направлении.
|
|
|
|
|
May 4 2007, 12:11
|
Участник

Группа: Свой
Сообщений: 63
Регистрация: 3-05-05
Пользователь №: 4 696

|
Цитата Спасибо большое. то конечно все хорошо. Но как бы больше интересует алгоритмы как это сделать нам на своем контроллере, а не описание уже готовых программ тем более сложных и дорогих.
Простые элементы "И", "ИЛИ". Попробую предложить следующее. Описываем логику работы программы в виде лестничной диаграммы (она же принципиальная схема). Для этой цели подойдет практически любой редактор.
Затем переводим картинку в совокупность логических уравнений. Код // Network 177 E11d0 = Станок_ON & (E2d1 | E2d2 | E3d1 | E3d2 | F3d5) // Network 178 E11d0 = Станок_ON & (E11b1 | (!Zd2_22 & E11d0) | Zd4) // Network 179 E11d2 = Станок_ON & (B11b2 | (!Zd1_11 & E11d0) | Zd4) Приводим эти уравнения к виду понятному вашему компилятору . Оформляем все это в виде функции и циклически исполняем ее N раз в секунду. Как результат имеем "программируемый" логический контроллер практически на халяву!
|
|
|
|
|
May 4 2007, 11:07
|
Частый гость
 
Группа: Участник
Сообщений: 141
Регистрация: 7-03-06
Из: Санкт-Петербург
Пользователь №: 15 038

|
Цитата(aforestman @ May 4 2007, 16:11)  Приводим эти уравнения к виду понятному вашему компилятору . Оформляем все это в виде функции и циклически исполняем ее N раз в секунду.
Как результат имеем "программируемый" логический контроллер практически на халяву! Спасибо  . Как я понял из исходников примерно так сейчас все и сделано. Думаю так и останется. Просто все сделано. Терь надо САПР для этого писать, но эта тема уже не для этого топика. Всем большое спасибо!!!
|
|
|
|
|
Oct 29 2008, 09:21
|
Группа: Новичок
Сообщений: 1
Регистрация: 29-10-08
Пользователь №: 41 271

|
Добрый день, всем! Думаю, все проще - ишите программное обеспечение для программируемых модулей (контроллеров) типа LOGO!, KINCO и т.п. Там есть LogoSoft Comfort или LRX SW. Выбираете язык FBD и можете писать программы как Вы привыкли И, ИЛИ, И-НЕ, ..., счетчики, таймеры и прочее. Можно транслировать из FBD в LAD и наоборот. ПЛК Vipa100 идет с бесплатным программным обеспечением. Можно транслировать в Step7 и наоборот. Дерзайте!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|