Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Вопросы и предложения по Simple-Scada 2  (Прочитано 1387784 раз)

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1005 : 20 Декабря 2018, 10:52:32 »
Здравствуйте.

Цитировать
Попробовал с фигурой - не получается заставить светиться фоновым цветом, отображается черная дыра - желтый!
Не понятно, что именно не получается и что в Вашем понимании означает "отображается черная дыра - желтый"? Пример проекта с изменением цвета и миганием для объекта "Фигура" во вложении. Запустите его, посмотрите, затем откройте через редактор и посмотрите скрипты. Примеры других скриптов для изменения цвета или мигания можно найти по ссылке.

Цитировать
Еще... смотрел ваши проекты и мне понравились рисунки на мнемосхемах. В какой программе Вы их создаете?
Это проекты, которые пользователи присылают и выкладывают самостоятельно, поэтому нам не известно какие графические редакторы использовались при создании проекта. Для создания изображений и анимации подойдет любой графический редактор поддерживающий работу с ".png" изображениями, например PaintNET, Gimp, Photoshop и т.д.

kolya_asu

  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1006 : 20 Декабря 2018, 13:28:50 »
Получилось. Оказывается, что надо обязательно "заливать" фигуру каким-нибудь цветом, иначе будет черная заливка и убрать ее через стандартные свойства объекта не получится, только через скрипт закрашивать надо. Вот так работает у меня:
Код: (delphi)
begin
  if Sender is TM_Shape then   // проверяем, что Sender это изображение
    with Sender as TM_Shape do // приводим Sender к типу "TM_Image"
 { если значение переменной (в виде целого числа),
   которая связана с изображением равно 1, то }
     begin
     FlashColor := clNone;
     case VariableEx.AsInt of              // если значение переменной равно:
     1:
        begin
          Color := clSilver;
          FlashColor := clYellow; // включить мигание зеленым цветом
        end;
    end;
  end;
end.
« Изменён: 20 Декабря 2018, 15:10:19 от Simple-Scada »

kolya_asu

  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1007 : 20 Декабря 2018, 13:32:22 »
Подскажите пожалуйста, как установить высший приоритет для доп. переменной. Чтобы когда переменная ЕХ в "1", то не происходило переключение кадров при изменении основной переменной. Хочу сделать, чтобы скрипт не выполнялся дальше при ЕХ="1". Подправте пожалуйста.
Код: (delphi)
begin
  if Sender is TM_Image then   //
    with Sender as TM_Image do //
    if VariableEx.AsInt = 1 then
    EXIT
      if AsInt = 1 then
        Frame := 2        //
      else                //
        Frame := 1;       //
end.         
« Изменён: 20 Декабря 2018, 15:10:24 от Simple-Scada »

Timothy Clement

  • Постоялец
  • ***
  • Сообщений: 166
  • ОАО Борисовский завод "Металлист"
    • Просмотр профиля
    • Полымя
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1008 : 20 Декабря 2018, 13:39:16 »
Ну проще всего наверное так
Код: (delphi)
begin
  if Sender is TM_Image then   //
    with Sender as TM_Image do //
    if VariableEx.AsInt <> 1 then
      if AsInt = 1 then
        Frame := 2        //
      else                //
        Frame := 1;       //
end.
Если доп переменная не = 1, тогда менять по основной

kolya_asu

  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1009 : 20 Декабря 2018, 19:19:03 »
Спасибо! Теперь когда доп. переменная ЕХ в "1", а основная меняет свое состояние, кадр картинки не меняется. Но когда  переменная ЕХ переходит обратно в "0" то она всегда переводит картинку в кадр№1, хотя в данный момент основная переменная уже находилась в "1" и должен отображаться кадр №2. Я так понимаю, что теперь надо что-то подправить в скрипте который вызывается по OnDataChangeEx.
Код: (delphi)
begin
  if Sender is TM_Image then   // проверяем, что Sender это изображение
    with Sender as TM_Image do // приводим Sender к типу "TM_Image"
      if VariableEx.AsInt = 1 then
       Frame := 3        // показать 3-й кадр изображения
      else
       Frame := 1     // показать 1-й кадр изображения
end.
Что надо вписать в строку
Код: (delphi)
Frame := 1     // показать 1-й кадр изображения
, чтобы туда подставлялось значение основной переменной (1-й или 2-й кадр)?
« Изменён: 21 Декабря 2018, 10:44:31 от Simple-Scada »

Timothy Clement

  • Постоялец
  • ***
  • Сообщений: 166
  • ОАО Борисовский завод "Металлист"
    • Просмотр профиля
    • Полымя
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1010 : 21 Декабря 2018, 09:04:00 »
Уберите из скрипта вообще условие else
Код: (delphi)
begin
  if Sender is TM_Image then   // проверяем, что Sender это изображение
    with Sender as TM_Image do // приводим Sender к типу "TM_Image"
      if VariableEx.AsInt = 1 then Frame := 3;        // показать 3-й кадр изображения
end.

3й кадр будет показываться только по доп переменной, 1 и 2 когда доп = 0 и изменяется основная
« Изменён: 21 Декабря 2018, 09:05:46 от Timofei »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1011 : 21 Декабря 2018, 10:16:29 »
kolya_asu, у Вас проблема в том, что Вы написали два скрипта для изменения кадра одного и того же изображения и поставили их на разные события: OnDataChange и OnDataChangeEx. Эти события выполняются только при изменении переменной события.

Цитировать
Но когда  переменная ЕХ переходит обратно в "0" то она всегда переводит картинку в кадр№1,
Правильно, т.к. выполняется скрипт OnDataChangeEx по изменению доп. переменной.

Цитировать
хотя в данный момент основная переменная уже находилась в "1" и должен отображаться кадр №2.
Скрипт OnDataChange по основной переменной выполнится только при ее изменении, а так как она не изменилась, скрипт не выполнился и кадр не сменился на второй.

Вам нужно сделать один скрипт со всеми условиями и поставить его на события OnDataChange и OnDataChangeEx изображения:
Код: (delphi)
begin
  if Sender is TM_Image then
    with Sender as TM_Image do
      if VariableEx.AsInt <> 1 then
        if AsInt = 1 then
          Frame := 1
        else
          Frame := 2
      else
        Frame := 3;
end.

Пример проекта во вложении. В примере использовано Ваше изображение с тремя кадрами из сообщения #985.

emoxristov

  • Пользователь
  • **
  • Сообщений: 53
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1012 : 23 Декабря 2018, 19:40:02 »
Что это значит : max 72 ?

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1013 : 24 Декабря 2018, 13:12:26 »
Здравствуйте.

Цитировать
Что это значит : max 72 ?
Это максимальное количество изменений тегов в секунду.

Цитировать
Пожалуйста, пришлите мне пример на emoxristov@abv.bg
Пример отправили.

emoxristov

  • Пользователь
  • **
  • Сообщений: 53
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1014 : 24 Декабря 2018, 18:32:36 »
Спасибо все работает отлично.
« Изменён: 24 Декабря 2018, 23:42:31 от Simple-Scada »

Миханик

  • Постоялец
  • ***
  • Сообщений: 198
    • Просмотр профиля
    • www.vpa-dv.ru
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1015 : 31 Января 2019, 12:19:27 »
Есть 3G-роутер IRZ RU21. Могу ли я отправлять СМС из скады через него?
На сайте в дополнительных функциях указана поддержка отправки SMS через Telnet, если это поможет.

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1016 : 31 Января 2019, 18:04:07 »
Здравствуйте.

Необходимо, чтобы GSM-модем поддерживал работу через COM. После установки драйверов модем должен определяться в диспетчере устройств как COM-порт (возможно эмулировать COM-порт). Если модем может принимать и выполнять AT-команды через COM-порт, то отправка SMS выполнится успешно.

ARokhmanko

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1017 : 04 Февраля 2019, 12:31:42 »
Добрый день!

Недавно скачал для пробы Simple-Scada и собираемся купить в ближайшее время одну лицензию для тестирования в проекте.
Вроде всё симпатично, но вот оооочень не хватает массивов, структур, и массивов структур переменных.

Ведь зачастую в проектах SCADA довольно много однотипного оборудования, например, 10 вентустановок, 5 ДГУ, 20 счётчиков электроэнергии и т.п...
Все тэги для однотипных устройств одинаковые, все процедуры, алгоритмы.. одинаковые..
И очень удобно создать один раз структуру "Измеритель-х" в которую прописать нужные переменные-параметры.. Создать массив измерителей, и в коде просто обращаться по имени, индексу и полю...

Также при привязке тегов.. просто скопировал, поменял индекс и всё..
Спасибо!

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1018 : 04 Февраля 2019, 19:56:44 »
Здравствуйте.

Мы планируем добавить поддержку шаблонных объектов, функции импорта и экспорта объектов между проектами. Какой-то определенный срок появления таких возможностей сейчас назвать сложно. Возможно, данные функции будут добавлять поэтапно.

midnight1979

  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Вопрос по REST API
« Ответ #1019 : 09 Февраля 2019, 15:45:41 »
Поднимал небольшой вопрос в соседней ветке https://simple-scada.com/forum/index.php?topic=145.msg6750#msg6750
Собственно разработчики молодцы что реализовали web-клиент, но было бы наверное очень здорово чтобы на базе появившегося web-сервера появился бы и какой нибудь API.
Чтобы можно было взаимодействовать со скадой из вне. Это расширило бы интеграционные возможности продукта в разы!