Показано с 1 по 5 из 5

Тема: Идеальный на мой взгляд, язык блоков диаграмм.

  1. #1
    Пользователь Аватар для anthrwpos
    Регистрация
    13.02.2017
    Адрес
    Ленобл
    Сообщений
    188

    Lightbulb Идеальный на мой взгляд, язык блоков диаграмм.

    Лучшая реализация языка диаграмм функциональных блоков, что я видел - это "графы событий" из Unreal Engine.
    Unreal Engine - это бесплатный физикографический движок с открытым исходным кодом, предназначенный для создания компьютерных игр.
    Не вдаваясь в подробности самого движка, так как тема не о нем, перечислю основные свойства тамошнего ЯДФБ, которые мне особенно понравились.
    Во-первых - это явное управление потоком вычислений. Каждый блок кроме блока получения значения переменной или чистой функции имеет особый вход и выход "исполнение". Соединяя блоки через них мы таким образом указываем, в каком именно порядке происходит вычисление. Начинается любое вычисление из блока события, который имеет только выход исполнения.
    Это особенно радует, потому что во-первых, все ЯДФБ предназначенные для программирования контроллеров исполняются в порядке одному Богу известному, а во-вторых, каждый раз когда где-то изменяется переменная (введена в поле ввода, изменена каким-то алгоритмом, поступила из СКАДЫ), то программист часто оказывается бессилен как бы то ни было согласовать поступившие из разных мест значения между собой (хотя бы проигнорировать ввод по какой либо причине). В "графах событий" никакое событие не изменяет никаких переменных, а лишь при наступлении вызывает исполнение и может быть, возвращает некие значения, а уже пользователь использует или не использует это событие для изменения переменных.
    Существует событие "тик", вызывающее исполнение каждый вычислительный такт, и возвращающее время прошедшее с предыдущего такта.
    Поддерживаются циклы (внутри одного вычислительного такта), массивы. Пользователь может создавать свои функции и макросы.
    Все используемые переменные обязательно имеют инициализирующее значение. Все случаи глюков в моих проектах в Лоджике связаны с тем, что блоки отрабатывают операции на переменных инициализированных нулем, причем блоки работающие с выходами и переменными связанными с этими-же выходами отрабатывают в разное время, поэтому в работе проекта в Лоджике постоянно возникают неведомые ужасы, вызванные неинициализированными переменными плюс непонятной последовательностью исполнения.
    Ну и наконец, о чем мечтают некоторые юзеры - вместо использования языка блоков, пользователь может писать те-же самые скрипты на c++ текстом, так как в данном виде взаимно-однозначное соответствие диаграммы и текстового кода полностью очевидно.
    Очень хотелось бы, чтобы программисты, разрабатывающие Лоджик, посмотрели, как это выглядит, а то и в исходники, и вдохновились концепцией, потому что в таком виде на мой взгляд, Лоджик стал бы самым удобным и простым для разработки ЯДФБ.

    Внешний вид графа событий
    Event Graph.png

    PS заранее извиняюсь за то, что эта тема имеет слишком косвенное отношение к Лоджику.
    Последний раз редактировалось anthrwpos; 25.06.2018 в 08:16.
    - ά ν θ ρ ω π ο ς -
    Мои универсальные макросы https://github.com/anthrwpos1/macros

  2. #2

    По умолчанию

    Самое лучшая ИМХО реализация языков МЭК в программе от Schneider Electric - Unity Pro XL
    Позволяет делать на одном экране крайне много элементов, причем хорошая онлайн поддержка.
    Изменения кода налету, хорошая визуализация всех значений. Ничего не пропадает и не жалуется на "мало памяти".
    При наладке больших объектов очень удобно
    Вложение 37783
    +79104444236
    С уважением,
    Лапшин Вячеслав

  3. #3
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    не сравнивайте несравнимое. Процессорные мощности у разных железок разные...

  4. #4
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,113

    По умолчанию

    Это как язык Эсперанто ,искусственно ,мертворожденный Языки МЭК появились не с бухты барахты ,а после серьезного анализа дел на рынке,всего предыдущего опыта ,предпочтений пользователей ...Все эти симбиозы ,мутанты не приживуться ,хотя ни кто не отменял развитие ,но нужно соблюдать чистоту линий .Графические языки они заточены под одни задачи и пользователей ,а текстовые для других.Не видел я человека ,который одинаково хорошо пишет кники и рисует картины(хотя художники говорят ,что они пишут картины,а мореходы ходят ,но дело не в глаголе ,а сущности отображения и восприятии мира).
    электронщик до мозга костей и не только

  5. #5
    Пользователь Аватар для anthrwpos
    Регистрация
    13.02.2017
    Адрес
    Ленобл
    Сообщений
    188

    По умолчанию

    Цитата Сообщение от krollcbas Посмотреть сообщение
    Самое лучшая ИМХО реализация языков МЭК в программе от Schneider Electric - Unity Pro XL
    Позволяет делать на одном экране крайне много элементов
    Изменения кода налету, хорошая визуализация всех значений.
    Вложение 37783
    А что там с последовательностью выполнения, инициализацией переменных и откликом на события ввода?
    Меня лично именно эти три темы волнуют больше всего, так как именно с ними связана вся жесть разработки на языках диаграмм блоков.
    - ά ν θ ρ ω π ο ς -
    Мои универсальные макросы https://github.com/anthrwpos1/macros

Похожие темы

  1. Библиотека блоков для ПЛК.
    от VA87 в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 23.06.2022, 13:16
  2. Замена блоков
    от Владимир Ситников в разделе Среда программирования OWEN Logic
    Ответов: 9
    Последнее сообщение: 05.02.2016, 22:39
  3. Опрос блоков
    от Певел в разделе Помощь Разработчикам
    Ответов: 5
    Последнее сообщение: 03.04.2013, 18:49
  4. Выходы блоков с EN
    от Михаил Иванович в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 17.03.2012, 16:25
  5. Нужен свежий взгляд
    от gleb1976 в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 29.06.2011, 00:59

Ваши права

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