Расширение скады

Доступ к свойствам объектов

Обсуждение работы Скады встроенной в программу
Ответить
urqa
Рядовой
Сообщения: 38
Зарегистрирован: 30.07.2017{, 09:47}
Репутация: 1
Откуда: Абакан
Имя: Юрий

Расширение скады

#1

Сообщение urqa » 09.11.2019{, 06:48}

Доброго дня, уважаемый автор!
сложно реализовать доступ из скады к свойствам виджетов, экранов, объектов управления?
ведь тогда возможно будет делать многие интересные вещи например мигания, изменения цвета и положения объектов и т.д

Аватара пользователя
bsn
Лейтенант
Сообщения: 347
Зарегистрирован: 22.07.2018{, 07:24}
Репутация: 90
Откуда: Ростовская обл.
Имя: Сергей

Расширение скады

#2

Сообщение bsn » 28.12.2019{, 03:59}

urqa писал(а):
09.11.2019{, 06:48}
сложно реализовать доступ из скады к свойствам виджетов, экранов, объектов управления?
Да вроде всё это уже заложено в имеющуюся FLProg-Scada.
После появления новых видеоуроков в ютуб:
viewtopic.php?p=82421#p82421
и подсказок форумчан засел за творчество – рисую и экспериментирую.
Удалось получить динамические эффекты и управлять некоторыми из них с экрана скады:
-Движение «капель» в долив и расход бака с водой
-Имитация изменения уровня воды в баке
-«Пламя» в котле
-«Движение» холодного воздуха в сплит системе
СкадаДинамика+.png
На выложенном мной примере, на рисунке красным курсивом выделены возможности управления с экрана скада системы:
-Включить/выключить автомат электропитания
-Включить/выключить сплитсистему
-Нажатием на колокольчик имитируется дверной звонок и красным цифрами фиксируется время нажатия кнопки звонка
-Нажатием на цифры времени звонка, они сбрасываются.
СхемаДинам.png
Пока плаваю, кое-что сыровато в этом примере. И естественно, пока ещё не все возможности реализованы Автором FLProg в скаде – пока ещё она бета.
Не смог осуществить запись и фиксацию времени звонка. Нет массивов для запоминания значений.
В системных переменных «Дата/время» отсутствует перечень дней недели («субботу» нарисовал от руки).
Нет пока возможности вставлять свои фото и рисунки.
При имитации кнопкой проверки проекта (зелёная птичка вверху) всё работает устойчиво. После компиляции – на плеере, динамические движения работают более-менее устойчиво. А вот нажатия на кнопки экрана, на плеере исполняются с очень большой задержкой, хотя в режиме предпросмотра (кнопкой проверки проекта) – задержек не замечено. Мне показалось, что если в управлении кнопок прописывать их клик – иногда сбоит система. А вот когда прописал именно нажатие кнопок - в режиме предпросмотра всё стабилизировалось.
Тем не менее, кайф от рисования и творческих переборов разных вариантов – величайший.
Рисованные иконки у меня получилось брать в шрифтах FLProg-4.2.4. Затем копировал их, и вставлял в FLProg-5.1
Пока наиболее стабильно рисует скаду версия FLProg-5.1.
Для себя сделал вывод – как экран контроля за процессами FLProg-Scada-5.1 можно использовать уже сейчас.
Управлять с экрана – пока ещё затруднительно.
Din_191228.flp
(604.28 КБ) 186 скачиваний
Последний раз редактировалось bsn 05.03.2020{, 19:40}, всего редактировалось 2 раза.

Аватара пользователя
bsn
Лейтенант
Сообщения: 347
Зарегистрирован: 22.07.2018{, 07:24}
Репутация: 90
Откуда: Ростовская обл.
Имя: Сергей

Расширение скады

#3

Сообщение bsn » 30.12.2019{, 19:41}

Возможно кто-то захочет также поэкспериментировать с костылями из шрифтов-иконок.
По примеру автора ролика из ютуб, для себя сделал табличку подсказку:
СпойлерПоказать
ЗначкиШрифты.png
В первом столбце - строки стандартной компьютерной клавиатуры.
Во втором столбце - соответствующие значки, которые можно получить при изменении шрифта Arial на 3-й шрифт снизу, в FLProg-4.2.4
В третьем столбце - значки, которые можно получить при изменении 2-го снизу шрифта в FLProg-4.2.4
Нужно сначала в старом FLProg-4.2.4 выбрать любую букву в шрифте по умолчанию (Arial). Затем, в том же FLProg-4.2.4 прокрутить все предлагаемые шрифты до самого низа – и заменить шрифт на любой из 2-предпоследних которые уже идут в виде рисованных иконок. Буква примет вид некого рисунка.
Полностью делать проект SCADE в FLProg-4.2.4 очень напряжно – версия 4.2.4 сильно тормозит при создании скады. Лучше это делать в FLProg-5.1. Однако там не обнаруживаются эти шрифты с иконоками.
Поэтому страницу или экранчик с буквами-иконками копируем из FLProg-4.2.4 и переносим в FLProg-5.1. Всё вполне себе переносится с сохранившимися шрифтами рисунками:
Буквы.flp
(91.74 КБ) 122 скачивания

Аватара пользователя
bsn
Лейтенант
Сообщения: 347
Зарегистрирован: 22.07.2018{, 07:24}
Репутация: 90
Откуда: Ростовская обл.
Имя: Сергей

Расширение скады

#4

Сообщение bsn » 16.01.2020{, 17:16}

В демонстрационном примере чуть оптимизировал вызов надписи «Автоматы включены/отключены». Ранее это были две надписи на одном поле, наложенные одна на другую и вызываемые на плеер по надобности. Зрительно составлять было неудобно. Теперь надписи вызываются из заранее сделанных настроек:
СпойлерПоказать
Скада01.16.20.png
Добавил два режима пламени котла - пилотная горелка / основное пламя. Добавил циркуляционный насос для отопительной системы:
СпойлерПоказать
СхемаЛогики01.16.20.png
По жизни котёл напольный, без электроники. Достаточно надёжный. Система исправно работает даже при отключенном электричестве. Можно, в штатном режиме, менять общую температуру в доме, не трогая сам котёл – регулировкой скорости циркуляционного насоса. Переключением скоростей насоса вручную это работает. Пока готовлю этот процесс к автоматизации.
Din_200116.flp
(781.19 КБ) 127 скачиваний

Аватара пользователя
bsn
Лейтенант
Сообщения: 347
Зарегистрирован: 22.07.2018{, 07:24}
Репутация: 90
Откуда: Ростовская обл.
Имя: Сергей

Расширение скады

#5

Сообщение bsn » 05.03.2020{, 01:20}

Кто сталкивался с подобной проблемой – просьба поделиться опытом разрешения ситуации с выводом десятичных значений в SCADA.
Задача: вывести на экран числовые значение температур с одним десятичным знаком после запятой. Предполагается, что будут приняты значения Integer c увеличенным в 10 раз значением температур. Полученные значения будут разделены на 10 и выведены на экран SCADA. SCADA выводит их в нужном формате только через переменную Float:
ЛогикаFloat.png
ЛогикаFloat.png (1.46 КБ) 2636 просмотров
Но, для правильной визуализации, нужно после числового значения дописать: °С. Это дело должно хорошо решаться переменными String совместно с блоком сложения строк:
ЛогикаString.png
ЛогикаString.png (2.46 КБ) 2636 просмотров
Однако сходу, корректно реализовать это не получилось. При Float выводятся нужные числовые значения. Приписать в конце °С нет возможности – блок сложения с Float не работает. В формате String блок сложения приписывает нужную °С, но почему-то числовую надпись из десятичной дроби переформатирует в вид неудобно-читаемой дроби.
Можно вывести числовое значение через Float, а °С пририсовать на экране. Но при различном количестве цифр, а также при добавлении, когда нужно, знака минус – место пририсовки °С будет или сливаться с цифрами, или при малом количестве знаков (около нуля) будут большие пропуски.
Здесь визуальные результаты различных вариантов вывода цифр:
Образец.png
Образец.png (8.11 КБ) 2636 просмотров
Чёрным цветом – простые надписи на экране (не интерактивные). Синим – разные варианты с Float.
Зелёным – результаты при String.
Видимо проблема решилась бы, если бы блок сложения строк, в SCADA, показывал не значения с дробью, а выводил всё через десятичные дроби с запятой.
Кто в курсе, как решить проблему, подскажите пожалуйста.
Scada_200304.flp
(820.76 КБ) 99 скачиваний

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Расширение скады

#6

Сообщение edyapd » 05.03.2020{, 05:52}

bsn, со SCADA никогда не пробовал работать. И поэтому не совсем пойму, как у вас вместо числа получается дробь.
А если попытаться таким образом?
СпойлерПоказать
111.jpg

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

Расширение скады

#7

Сообщение Phazz » 05.03.2020{, 06:47}

bsn, попробуйте через промежуточную переменную

Аватара пользователя
bsn
Лейтенант
Сообщения: 347
Зарегистрирован: 22.07.2018{, 07:24}
Репутация: 90
Откуда: Ростовская обл.
Имя: Сергей

Расширение скады

#8

Сообщение bsn » 05.03.2020{, 07:36}

edyapd, да всё получилось.
Теперь можно даже, в десятичных, вместо разделительной точки, вставить разделительную запятую.
Спасибо большое.
edyapd писал(а):
05.03.2020{, 05:52}
не совсем пойму, как у вас вместо числа получается дробь
Вот так и получается :
СпойлерПоказать
ЛогикаString.png
ЛогикаString.png (2.46 КБ) 2542 просмотра
P.S.
Увы, при малых значениях, около нуля, вылазит ошибка. Причём разная, при малых ниже нуля. И при малых выше нуля:
СпойлерПоказать
ЭкранОшибка.png
ЭкранОшибка.png (6.26 КБ) 2576 просмотров
ЭкранОшибка-.png
ЭкранОшибка-.png (1.22 КБ) 2576 просмотров
ЭкранОшибка+.png
ЭкранОшибка+.png (1.29 КБ) 2576 просмотров
Последний раз редактировалось bsn 05.03.2020{, 10:28}, всего редактировалось 1 раз.

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Расширение скады

#9

Сообщение edyapd » 05.03.2020{, 09:27}

bsn писал(а):
05.03.2020{, 07:36}
Увы, при малых значениях, около нуля, вылазит ошибка.
Ну да, чего-то я не подумал про то, что может быть одна цифра после знака.
Найти решение можно и для этого, только что блоков будет поболее.
Надо подумать.

Отправлено спустя 1 час 9 минут 8 секунд:
Получилась вот такая конструкция. Но её ещё надо проверять
СпойлерПоказать
111.jpg
Но лучше будет разбить её на платы
СпойлерПоказать
Scada_200304_1.flp
(957.29 КБ) 64 скачивания
Может кто сможет предложить более изящный способ.

Аватара пользователя
bsn
Лейтенант
Сообщения: 347
Зарегистрирован: 22.07.2018{, 07:24}
Репутация: 90
Откуда: Ростовская обл.
Имя: Сергей

Расширение скады

#10

Сообщение bsn » 05.03.2020{, 10:57}

Спасибо большое. Вечером проверю.
Но видимо нужно обращаться к Автору. Потому как скада и так подтормаживает. А с таким количеством костылей на каждое показание (а их планируется много) видимо точно и не ускорится.
Но лучше уж так, чем никак. Рано или поздно всё устаканится. Пока поиграем и с костылями.

edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 65
Имя: Эдуард

Расширение скады

#11

Сообщение edyapd » 05.03.2020{, 11:49}

bsn, как выше предложили, можно попытаться использовать промежуточную переменную, между делением и преобразованием в строку. Если получится, то и все эти костыли не понадобятся.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Расширение скады

#12

Сообщение rw6cm » 05.03.2020{, 12:21}

bsn, edyapd,
можно так попробовать
2020_03_05_12_15_35_FLProg_6.3.1.png
2020_03_05_12_15_35_FLProg_6.3.1.png (7.95 КБ) 2515 просмотров
Win10-64, FLProg (portable)

Аватара пользователя
bsn
Лейтенант
Сообщения: 347
Зарегистрирован: 22.07.2018{, 07:24}
Репутация: 90
Откуда: Ростовская обл.
Имя: Сергей

Расширение скады

#13

Сообщение bsn » 05.03.2020{, 22:45}

edyapd писал(а):
05.03.2020{, 11:49}
можно попытаться использовать промежуточную переменную, между делением и преобразованием в строку
Сделал:
Вставка.png
Вставка.png (3.03 КБ) 2428 просмотров
Увы не получилось. Результат тот же как и было при прямом соединении, без промежуточной внутренной переменой.
rw6cm писал(а):
05.03.2020{, 12:21}
можно так попробовать
Плюсовая.png
Плюсовая.png (5.65 КБ) 2428 просмотров
Да, от нуля и выше работает прекрасно. Но при минусах - засада:
Минус.png
Минус.png (1.28 КБ) 2428 просмотров
В связи с тем что более 90 % отображающих цифр будут плюсовые (температуры во внутренних контрольных точках жилого дома) - пока буду использовать это, как самую короткую рабочую логику.
edyapd писал(а):
05.03.2020{, 10:36}
Получилась вот такая конструкция. Но её ещё надо проверять
Проверил. Увы при клике на кнопку "Проверить проект" рушится вся скада:
Err.png
Err.png (13.44 КБ) 2428 просмотров
Спасибо всем кто откликнулся. Пока ещё поэкспериментирую. Когда после 15 марта станет доступен Автор - может он сможет разрулить окончательно, убрав дробь из показаний String.

dsfbuy
Сержант
Сообщения: 171
Зарегистрирован: 03.11.2018{, 12:40}
Репутация: 21
Откуда: Братск
Имя: Виктор

Расширение скады

#14

Сообщение dsfbuy » 06.03.2020{, 01:24}

bsn,
Изображение
После блока умножения на 10 поставь блок ABS.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Расширение скады

#15

Сообщение rw6cm » 06.03.2020{, 09:02}

dsfbuy,
тогда до и после чтобы ноль с минусом не был.
или после абс через переменную интежер на конвертер,
иначе не корректно преобразование
Win10-64, FLProg (portable)

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Расширение скады

#16

Сообщение Sancho » 06.03.2020{, 10:23}

bsn писал(а):
05.03.2020{, 22:45}
Увы не получилось. Результат тот же как и было при прямом соединении, без промежуточной внутренной переменой.
Предположение - код оптимизируется. Попробуйте промеж. перем. использовать ещё где либо, или разнесите на разные платы.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
bsn
Лейтенант
Сообщения: 347
Зарегистрирован: 22.07.2018{, 07:24}
Репутация: 90
Откуда: Ростовская обл.
Имя: Сергей

Расширение скады

#17

Сообщение bsn » 06.03.2020{, 15:06}

Sancho писал(а):
06.03.2020{, 10:23}
Попробуйте промеж. перем. использовать ещё где либо, или разнесите на разные платы
Разнёс. Пока всё по прежнему:
2-х платный.png
2-х платный.png (8.24 КБ) 2295 просмотров

Ответить

Вернуться в «FLProg-Scada»