DRAKON.SU https://forum.drakon.su/ |
|
Отображение потока данных на Дракон схемах https://forum.drakon.su/viewtopic.php?f=211&t=6305 |
Страница 3 из 4 |
Автор: | А_МУР [ Воскресенье, 28 Октябрь, 2018 19:02 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
код сгенерированный для окна программы: L:=1; WHILE TRUE DO CASE L OF 1: L:=3; (*1.1.1-Заголовок | |FUNCTION_BLOCK EMUL_BOILER | *) 3: (*1.1.3-Ветка | |подпрограммы | *) (*1.1.4-Комментарий | |Чисто техническая ветка.... Смысл ее заключается в следующем: под экземпляр в контролере выделяется память все пременнные в экземпляре сохраняются Если не обращатся к подпрограме то состояние переменых в подпрограмме много....Много циклов контролера ОСТАЮТСЯ БЕЗ ИЗМЕНЕНИЯ Это приводит к "зависанию" пременных ЭТО вопрос к Владимиру Даниловичу- КАК ГРАФИЧЕСКИ ВСЕ ЭТО ПРЕДСТАВЛЯТЬ??? | *) TP_1 ( IN:=NOT(TP_1.Q), PT:=t#1s, Q=>, ET=> ); (*1.1.5-Полка |Функциональный блок |Т_П_1 |Вход Пуск:=НЕ (ВЫХ), Вр_ИМП:=1 сек, Выходы ВЫХ=>, Вр_ОТЧ=>, *) TON_1 ( IN:=, PT:=t#10s, Q=>, ET=> ); (*1.1.7-Полка |Функциональный блок |Т_ВКЛ_1 |Вход Пуск:=, Вр_ВКЛ:=10 сек, Выходы ВЫХ=>, Вр_ОТЧ=>, *) TON_2 ( IN:=, PT:=t#1s, Q=>, ET=> ); (*1.1.9-Полка |Функциональный блок |Т_ВКЛ_2 |Вход Пуск:=, Вр_ВКЛ:=1 сек, Выходы ВЫХ=>, Вр_ОТЧ=>, *) TOF_1 ( IN:=, PT:=t#1s, Q=>, ET=> ); (*1.1.11-Полка |Функциональный блок |Т_ВЫКЛ_1 |Вход Пуск:=, Вр_ВЫКЛ:=1 сек, Выходы ВЫХ=>, Вр_ОТЧ=>, *) L:=14; (*1.1.13-Адрес | |Эмитация обратной связи | *) 14: (*1.1.14-Ветка | |Эмитация обратной связи | *) IF START THEN L:=23; ELSE L:=18; END_IF; (*1.1.15-Вопрос | |ПУСК? | *) 18: TON_1 (IN:=FALSE); (*1.1.18-Действие | |Т_ВКЛ_1 ПУСК:=ЛОЖЬ | *) FIRE:=FALSE; L:=29; (*1.1.20-Действие | |ПЛАМЯ:=ЛОЖЬ | *) 23: TON_1 (IN:=TRUE); (*1.1.23-Действие | |Т_ВКЛ_1 ПУСК:=ИСТИНА | *) IF TON_1.Q THEN L:=27; ELSE L:=29; END_IF; (*1.1.25-Вопрос | |Т_ВКЛ_1.ВЫХ? | *) 27: FIRE:=TRUE; L:=29; (*1.1.27-Действие | |ПЛАМЯ:=ИСТИНА | *) 29: (*1.1.29-Ветка | |Эмуляция температуры | *) IF FIRE THEN L:=57; ELSE L:=32; END_IF; (*1.1.30-Вопрос | |ПЛАМЯ? | *) 32: (*1.1.32-Комментарий | |нет пламени температура должна начать падать с задержкой | *) TON_2 (IN:=FALSE); (*1.1.33-Действие | |Т_ВКЛ_2 ПУСК:=ЛОЖЬ | *) TOF_1 (IN:=FALSE); (*1.1.34-Действие | |Т_ВЫКЛ_1 ПУСК:=ЛОЖЬ | *) IF TOF_1.Q THEN L:=38; ELSE L:=48; END_IF; (*1.1.36-Вопрос | |Т_ВЫКЛ_1.ВЫХ? | *) 38: FLAG_TRIG_3:=FALSE; L:=40; (*1.1.38-Действие | |Флаг_ТРИГ_3:=ЛОЖЬ | *) 40: FLAG_TRIG_2:=FALSE; L:=42; (*1.1.40-Действие | |Флаг_ТРИГ_2:=ЛОЖЬ | *) 42: IF TP_1.Q THEN L:=44; ELSE L:=46; END_IF; (*1.1.42-Вопрос | |Т_П_1.ВЫХ? | *) 44: L:=103; (*1.1.44-Комментарий | |Эта ветка импульса | *) 46: (*1.1.46-Комментарий | |Эта ветка между импульсом Время исполнения ветки один цикл контроллера | *) T_OUT:=T_OUT+U_TEMP*K_TEMP; L:=103; (*1.1.47-Действие | |Т_Вых:=Т_Вых+СКОР_ТЕМП х К_ТЕМП | *) 48: K_TEMP:=-1; (*1.1.48-Действие | |К_ТЕМП:=-1 | *) IF FLAG_TRIG_4 THEN L:=38; ELSE L:=52; END_IF; (*1.1.50-Вопрос | |Флаг_ТРИГ_4 | *) 52: U_TEMP:=RDM(0); (*1.1.52-Полка |Функция |СКОР_ТЕМП:=СЛ_ЧИСЛО |Вход: Нач_Знач:=0 *) FLAG_TRIG_4:=TRUE; L:=38; (*1.1.55-Действие | |Флаг_ТРИГ_4:=ИСТИНА | *) 57: TOF_1 (IN:=TRUE); (*1.1.57-Действие | |Т_ВЫКЛ_1 ПУСК:=ИСТИНА | *) TON_2 (IN:=TRUE); (*1.1.59-Действие | |Т_ВКЛ_2 ПУСК:=ИСТИНА | *) IF TON_2.Q THEN L:=68; ELSE L:=63; END_IF; (*1.1.61-Вопрос | |Т_ВКЛ_2.ВЫХ? | *) 63: FLAG_TRIG_3:=FALSE; L:=64; (*1.1.63-Действие | |Флаг_ТРИГ_3:=ЛОЖЬ | *) 64: FLAG_TRIG_1:=FALSE; (*1.1.64-Действие | |Флаг_ТРИГ_1:=ЛОЖЬ | *) FLAG_TRIG_4:=FALSE; L:=40; (*1.1.66-Действие | |Флаг_ТРИГ_4:=ЛОЖЬ | *) 68: IF POWER THEN L:=69; ELSE L:=79; END_IF; (*1.1.68-Вопрос | |МОЩНОСТЬ | *) 69: (*1.1.69-Комментарий | |полная мощность | *) K_TEMP:=1; (*1.1.70-Действие | |К_ТЕМП:=1 | *) IF FLAG_TRIG_3 THEN L:=64; ELSE L:=74; END_IF; (*1.1.72-Вопрос | |Флаг_ТРИГ_3 | *) 74: U_TEMP:=RDM(0); (*1.1.74-Полка |Функция |СКОР_ТЕМП:=СЛ_ЧИСЛО |Вход: Нач_Знач:=0 *) FLAG_TRIG_3:=TRUE; L:=64; (*1.1.77-Действие | |Флаг_ТРИГ_3:=ИСТИНА | *) 79: (*1.1.79-Комментарий | |Малая мощность Случайный выбор роста или падения температуры | *) IF FLAG_TRIG_1 THEN L:=82; ELSE L:=92; END_IF; (*1.1.80-Вопрос | |Флаг_ТРИГ_1 | *) 82: IF FLAG_TRIG_2 THEN L:=83; ELSE L:=87; END_IF; (*1.1.82-Вопрос | |Флаг_ТРИГ_2 | *) 83: FLAG_TRIG_3:=FALSE; (*1.1.83-Действие | |Флаг_ТРИГ_3:=ЛОЖЬ | *) FLAG_TRIG_4:=FALSE; L:=42; (*1.1.85-Действие | |Флаг_ТРИГ_4:=ЛОЖЬ | *) 87: U_TEMP:=RDM(0); (*1.1.87-Полка |Функция |СКОР_ТЕМП:=СЛ_ЧИСЛО |Вход: Нач_Знач:=0 *) FLAG_TRIG_2:=TRUE; L:=42; (*1.1.90-Действие | |Флаг_ТРИГ_2:=ИСТИНА | *) 92: VAR_1:=RDM(0); (*1.1.92-Полка |Функция |ЧИСЛО_1:=СЛ_ЧИСЛО |Вход: Нач_Знач:=0 *) IF VAR_1>0.5 THEN L:=97; ELSE L:=101; END_IF; (*1.1.95-Вопрос | |ЧИСЛО_1>0.5? | *) 97: K_TEMP:=-1; L:=99; (*1.1.97-Действие | |К_ТЕМП:=-1 | *) 99: FLAG_TRIG_1:=TRUE; L:=42; (*1.1.99-Действие | |Флаг_ТРИГ_1:=ИСТИНА | *) 101: K_TEMP:=1; L:=99; (*1.1.101-Действие | |К_ТЕМП:=1 | *) 103: (*1.1.103-Ветка | |Завершение | *) EXIT; (*1.1.104-Конец | |Конец | *) END_CASE; END_WHILE; |
Автор: | А_МУР [ Воскресенье, 28 Октябрь, 2018 19:05 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
Для использования функционального блока в КДС 2 и 3 необходимо использовать библиотеку OSCAT |
Автор: | А_МУР [ Воскресенье, 28 Октябрь, 2018 19:08 ] | ||
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах | ||
Сегодня делаю просто проверку в режиме эмуляции:
|
Автор: | А_МУР [ Воскресенье, 28 Октябрь, 2018 19:13 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
Блок ведет себя как мы и задали в алгоритме! Немного необходимо добавить инерции после отключения пламени |
Автор: | Владимир Паронджанов [ Воскресенье, 28 Октябрь, 2018 21:29 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
А_МУР писал(а): код сгенерированный Драконом для окна переменных: ............................................ лично я предпочитаю работать с милисекундами 1х10-3 степени сек) будем использовать готовые Функциональные блоки из библиотеки STANDART Таким образом мы получим универсальный ФБ который будет работать в КдС 2.3 и КДС 3.5 На самом деле очень точные вычисления с интегралами по миллисекундам делаются на библиотеках SISTIME.lib но тогда блок нужно будет редактировать под каждый КДС так как различна работа с системным временем Мало того нам не интересна высокая точность вычисления интеграла. Алексей, меня заинтересовали фразы: Цитата: будем использовать готовые Функциональные блоки из библиотеки STANDART Таким образом мы получим универсальный ФБ который будет работать в КдС 2.3 и КДС 3.5 1. Кто является разработчиком готовых Функциональных блоков из библиотеки STANDART ? 2. Кто является разработчиком универсального Функционального блока ? 3. Чем отличается универсальный функциональный блок от готового функционального блока ? |
Автор: | А_МУР [ Воскресенье, 28 Октябрь, 2018 22:26 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
Для начала разберемся что такое функции, функциональные блоки Функция это некая подпрограмма под хранения перменных в контроллере память не выделяется Как правило это математические выражения типа корен квадратный, битовае перестановки и т.д Функциональный блок (в нашем случае функциональная схема) это подпрограмма под которую в контроллере выделяются ячейки памяти для хранения переменных. Кроме того функциональные блоки могут иметь экземпляры с уникальными номерами Программа это тоже что и функциональный блок только использоваться в програме может только один экземпляр программы Самая главная программа в контроллере PLC_PRG . без этой программы контроллер работать не будет Все остальные программы функциональные блоки и функции находятся внутри главной программы контроллера. Библиотека Стандарт в строена в КДС В состав библиотеки входят функциональные блоки Таймеры - таймер задержки включения - таймер задержки выключения - таймер импульса - таймер реального времени Счетчики: - счетчик инкрементный -счетчик декрементный -счетчик универсальный Детекторы импульсов - детектор переднего фронта - детектор заднего фронта Переключатели и строковые функции |
Автор: | А_МУР [ Воскресенье, 28 Октябрь, 2018 22:39 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
Так как наличие библиотеки типа Стандарт в любой среде разработки и языке для контроллеров - это уже исторически сложившийся стандарт. В драконе тоже должна быть идеология использования готовых языковых часто используемых комбинаций. Например предложил бы продумать идеологию маркеров исполнения маршрутов - системные переменные Кроме того необходимо продумать эмулятор алгоритма - утилита языка дракон которая сможет выполнить алгоритм в режиме исполнения Ну и режим отладки, на первое время возможность тестирования программы с контроллера хотя бы через OPC-сервер- такая конфигурация может оживить дракон и перевести его из разряда текстово графического редактора, действительно в среду разработки ПО для ПЛК |
Автор: | А_МУР [ Понедельник, 29 Октябрь, 2018 22:00 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
Думаю не стоит тратить время на дальнейшее развитие темы. Заинтересованных лиц в процессе я не увидел! |
Автор: | Владимир Ситников [ Вторник, 30 Октябрь, 2018 14:27 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
А_МУР писал(а): Думаю не стоит тратить время на дальнейшее развитие темы. Заинтересованных лиц в процессе я не увидел! Сама тема-то нормальная. Но с ИС Дракон нужно завязывать. Нужна реальная среда разработки (с возможностью симуляции и отладки), а не инструмент для рисования картинок. |
Автор: | LKom [ Вторник, 30 Октябрь, 2018 15:07 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
Такой странный В. Ситников. Владимир Ситников писал(а): Но с ИС Дракон нужно завязывать. Предлагает уже завязывать с ИС Драконом, но при этом не имеет альтернативы. |
Автор: | Владимир Ситников [ Вторник, 30 Октябрь, 2018 19:39 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
LKom писал(а): Предлагает уже завязывать с ИС Драконом ИС Дракон годится разве что для рисования картинок с гуманитарным уклоном. Обсуждать "потоки данных", "отладку алгоритмов", "симуляцию работы алгоритмов" в ИС Дракон дело бесполезное. Видно сколько система развивалась, видно в каком виде она сейчас. Понятное дело, что ещё десяток лет эта самая ИС Дракон просуществует (1-ая версия выпущена в 2008-ом? как раз 10 лет назад), и в ней мало что изменится. Нужна ли рынку интегрированная среда разработки (IDE) с поддержкой Дракон языка -- вопрос открытый. Но, если и делать эту самую IDE, то уж точно, не на базе ИС Дракон, а на базе JetBrains platform или Visual Studio Code. LKom писал(а): но при этом не имеет альтернативы. Я давно озвучивал вариант -- создание языка Дракон в среде https://hardella.com/ Так что ИС Дракон не является единственно возможным вариантом развития событий. Наоборот, ИС Дракон может служить разве что отправной точкой. |
Автор: | А_МУР [ Вторник, 30 Октябрь, 2018 20:19 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
Ну вот докатились до опасной Ситуации: Верха - не могут, Низы - не хотят Владимир с " броневика" объявил революцию на форуме( кстати еще и октябрьскую) Теперь осталось найти "Иосифа Висарионовича"- что бы мобилизовал всех форумчан и в кратчайшие сроки индустриализировал Дракон. Всех несогласных "расстрелять" прямо здесь на форуме |
Автор: | А_МУР [ Среда, 31 Октябрь, 2018 06:13 ] | ||
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах | ||
смог сжать что бы выложить
|
Автор: | А_МУР [ Среда, 31 Октябрь, 2018 06:37 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
Это те котлы которые нужно было эмулировать. Эмулятор нужен для проверки программы управления и регулирования котла. Изначально был сделан летний режим. Небольшой блок регулятора включал в себя специальный ПИ с подключаемой интегральной частью на Драконе. Летний режим сократил расход газа в 2.3 раза против штатной автоматики, точности поддержания заданой уставки 1 гр против дельты 8 грдусов на штатной автоматике. Заказчик обратился за Зимним режимом. Через месяц будет ясно какая экономия. В зимнем режиме работают два котла по погодозависимой уставке Более качественное видео размещу на сайте ОКБ |
Автор: | Владимир Паронджанов [ Среда, 31 Октябрь, 2018 08:43 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
А_МУР писал(а): Это те котлы которые нужно было эмулировать. Более качественное видео размещу на сайте ОКБ Алексей, вы делаете важные вещи. Новые вещи. О которых почти никто не знает. Чтобы люди узнали о ваших разработках, ваши видео надо обязательно размещать на YouTube. А здесь на форуме, надо давать ссылки, как это делает Степан Митькин, Сергей Ефанов, Альгирдас Каралюс и др. Видео. Использование языка ДРАКОН для программирования микроконтроллеров. Часть 1. Разработка программы управления автоматическим дверным замком. https://www.youtube.com/watch?v=Ua9dUUO ... e=youtu.be https://www.youtube.com/watch?v=Q0YBdX9xazw |
Автор: | А_МУР [ Среда, 31 Октябрь, 2018 09:37 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
Дракон несомненно имеет много талантов. Без наличия простейшего эмулятора его таланты останутся скрытыми навсегда. Например: При эксплуатации Дракона выявилось некое качество для ПЛК, основанное на специфике языка. Оказалось что при определенной языковой конструкции и цикличной особенности ПЛК начинает выполнять цикл за 50-10 наносекунд против 3-8 миллисекунд. У меня быстрый процесс, но контроллер никак не хотел выполнять программу быстрее 500 миллисекунд. По совету инженера ОВЕН, я вручную методом несложных перестроений, перестроил текст сформированный Дракон-редактором Геннадия Николаевича для КДС. И получил средний цикл 50-90 наносекунд. Много-много интересных вещей позволяет делать Дракон. Для дальнейшего развития (этап 1) языка необходимо пересмотреть теорию. А именно: Владимир Данилович! Почему в ваших трудах нет понятия переменных. Я например не смогу объяснить контроллеру "зажечь красный свет" Он у меня спросит: а чего такое "зажечь" , чего такое "красный " и чего еще за "свет"? Где они сидят и чего им от контроллера нужно? Был в Сколково — видел полностью автоматизированный хирургический стол. Это творение Сколковчан делает пока не сложные операции без человека Не поверите — зарождается новая профессия хирург-программист! Он не пишет устройству возьми скальпель и сделай надрез 10 см. Он работает с массивами, а именно скальпель ланцет #6 - это переменная из массива "инструмент" со значением 39. А где же теория и инструменты по работе с массивами в драконе? Проблема и обсуждения работы со временем Если бы Владимир Данилович продумал теорию синхронизаторов с точки зрения переменных, то синхронизатор становится почти универсальным таймером! Но теоретической части быть не может, потому что для языка необходима переменная! Извините за правописание: написано с мобильного. |
Автор: | А_МУР [ Среда, 31 Октябрь, 2018 10:08 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
Владимир Ситников ! 10 раз просматриваю харделлу и пока ни как не могу сообразить с чего начинать А именно где графический интерфейс дракон схем делать надо? Вы видимо работали с нею? |
Автор: | Владимир Паронджанов [ Среда, 31 Октябрь, 2018 10:36 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
А_МУР писал(а): Владимир Данилович! Почему в ваших трудах нет понятия переменных. Алексей, тут какое-то недоразумение.Я например не смогу объяснить контроллеру "зажечь красный свет" Он у меня спросит: а чего такое "зажечь" , чего такое "красный " и чего еще за "свет"? Где они сидят и чего им от контроллера нужно? Я сейчас послал вам книгу "Учись..." наберите в поиске Цитата: переменн Вы убедитесь, что слово переменн в книге встречается десятки раз. Поэтому желательно поточнее указать, чего, на ваш взгляд, не хватает. |
Автор: | А_МУР [ Среда, 31 Октябрь, 2018 11:18 ] |
Заголовок сообщения: | Re: Отображение потока данных на Дракон схемах |
А_МУР писал(а): Владимир Ситников ! 10 раз просматриваю харделлу и пока ни как не могу сообразить с чего начинать А именно где графический интерфейс дракон схем делать надо? Вы видимо работали с нею? Хорошо Ситуация следующая собрались все заинтересованые люди все в месте и решили написать программы для компьютера. В теории есть только графопостроение. А теперь давайте попробуем любой из ваших примеров натянуть на машину? |
Страница 3 из 4 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |