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

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

Автор Тема: Вопросы по скриптам в Simple-Scada 2  (Прочитано 314278 раз)

GEW

  • Новичок
  • *
  • Сообщений: 47
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #525 : 23 Ноября 2017, 08:25:28 »
Добрый день! В проекте необходимо работать с базой данных и выводить значения в таблицу в формате столбца. При этом каждый раз количество строк от запроса к запросу в столбце разное. Возникает проблема когда скролл улетает вниз (вручную пролистывается), а на следующем запросе выдаётся, например 3 строки и их из-за скрола внизу не видно. Существует ли возможность скриптом вернуть скролл на первую строку (MiveFirst)?
2. При работе с таблицей приходится использовать переменные. Существует  ли возможность работы с ячейками из скриптов без подвязки переменой?
« Изменён: 23 Ноября 2017, 08:36:45 от GEW »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2996
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #526 : 23 Ноября 2017, 21:24:54 »
Здравствуйте.

Цитировать
Возникает проблема когда скролл улетает вниз (вручную пролистывается), а на следующем запросе выдаётся, например 3 строки и их из-за скрола внизу не видно. Существует ли возможность скриптом вернуть скролл на первую строку (MiveFirst)?
Т.е. обновляются данные в таблице через метод Table.RunSQL(...), верно? Скролл должен автоматически перемещаться в самую верхнюю позицию после выполнения метода Table.RunSQL. У Вас этого не происходит?

Цитировать
При работе с таблицей приходится использовать переменные. Существует  ли возможность работы с ячейками из скриптов без подвязки переменой?
Сейчас менять значение в ячейках можно только через переменные. Считывать текст из ячейки можно следующим образом:

Код: (delphi)
var
  aText: UTF8String;
begin
  aText := Table1.GetCell(0, 0).Text;  // получить текст из первой ячейки первого столбца
end.
« Изменён: 26 Мая 2018, 10:17:25 от Simple-Scada »

Golowa70

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #527 : 25 Ноября 2017, 23:21:00 »
Подскажите пожалуйста. Как свернуть окно клиента в полноэкранном режиме. Кнопка Esc закрывает программу, а вот как свернуть не найду.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2996
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #528 : 26 Ноября 2017, 09:46:01 »
Здравствуйте.

Используйте комбинацию клавиш "Ctrl + M". Или создайте в проекте кнопку с таким скриптом:
Код: (delphi)
begin
  MinimizeApplicationClient(GetClientName);
end.
Имя клиента и комбинацию для завершения работы клиента можно изменить через приложение Options.
« Изменён: 26 Мая 2018, 10:17:40 от Simple-Scada »

PonomarevPI

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #529 : 27 Ноября 2017, 22:10:12 »
Добрый день!
 Прошу Вас помочь в написании простого скрипта. Имеется связка ПЛК(сервер)-GPRS модем- на объекте ,GPRS модем-Lectus-SimpleScada2 в диспетчерской. Задача - отследить разрыв связи на стороне ПЛК. То есть, необходимо чтобы СКАДА записывала в ПЛК периодически меняющуюся переменную типа boolean. На стороне ПЛК организовать проверку не составляет проблем, а вот со скриптами пока не разберусь... Спасибо!!

levchenkoa

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #530 : 27 Ноября 2017, 23:27:37 »
Добрый день!
 Прошу Вас помочь в написании простого скрипта. Имеется связка ПЛК(сервер)-GPRS модем- на объекте ,GPRS модем-Lectus-SimpleScada2 в диспетчерской. Задача - отследить разрыв связи на стороне ПЛК. То есть, необходимо чтобы СКАДА записывала в ПЛК периодически меняющуюся переменную типа boolean. На стороне ПЛК организовать проверку не составляет проблем, а вот со скриптами пока не разберусь... Спасибо!!
Cкрипт с условием "Прошла секунда":
Код: (delphi)
begin
  Tag.Value := InverseBit(Tag.Value, 0);
end.
« Изменён: 26 Мая 2018, 10:17:52 от Simple-Scada »

deldemo

  • Старожил
  • ****
  • Сообщений: 308
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #531 : 28 Ноября 2017, 08:25:44 »
Здравствуйте!
Прошу помощи. Ребята подскажите как указать в универсальном скрипте координаты  открытия окна. Хочется что бы окно появлялось рядом с кликобельным объектом.
Я так понял что координаты окна только для чтения?.

Возможно ли открыть этот параметр для записи
« Изменён: 28 Ноября 2017, 09:46:45 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2996
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #532 : 28 Ноября 2017, 09:55:22 »
Здравствуйте. В будущих версиях добавим возможность изменения координат окна.

JonyBest

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #533 : 01 Декабря 2017, 12:08:46 »
 Доброго дня! Тема для меня новая, но очень интересно...
Пытаюсь получить значения с термостата. В справочнике написано
Код
Room measure temperature(high byte), data range :0-199 / Room set temperature (low byte), data range :0-199
. В ОРС сервере значение получаю как int16
 Как с помощью скриптов получить значения температур?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2996
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #534 : 01 Декабря 2017, 12:18:26 »
Здравствуйте.

Импортируйте переменную с OPC-сервера в проект и затем используйте. Например разместите в проекте Поле и свяжите его с переменной. После запуска проекта Вы увидите в поле значение переменной. Также Вы сможете обращаться к переменной через скрипты, например:
Код
begin
  MyVariable.Value := 10; // записываем значение 10 в переменную MyVariable
end.

JonyBest

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #535 : 01 Декабря 2017, 13:01:20 »
Здравствуйте.

Импортируйте переменную с OPC-сервера в проект и затем используйте. Например разместите в проекте Поле и свяжите его с переменной. После запуска проекта Вы увидите в поле значение переменной. Также Вы сможете обращаться к переменной через скрипты, например:
Код
begin
  MyVariable.Value := 10; // записываем значение 10 в переменную MyVariable
end.
Это Вы мне написали? Если да то спасибо, но моя проблема лежит в другой плоскости. Основы я знаю, есть рабочие проекты. Я не пойму как с помощью скриптов получить high byte и low byte из переменной с OPC-сервера...
Мне бы один примерчик, дальше я сам...

TeNQ

  • Постоялец
  • ***
  • Сообщений: 199
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #536 : 01 Декабря 2017, 13:48:11 »
Код
Room_measure_temperature.Value := Temperature.AsInt shr 8;
  Room_set_temperature.Value     := Temperature.AsInt and $FF;

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2996
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #537 : 01 Декабря 2017, 13:52:50 »
JonyBest, неправильно поняли Вас. TeNQ описал верное решение. Также подобный вопрос подробно обсуждался на форуме в этой теме.
« Изменён: 01 Декабря 2017, 13:54:29 от Simple-Scada »

JonyBest

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #538 : 01 Декабря 2017, 15:40:43 »
Спасибо!
температура на термометре = 22,5
строкой
Код
aText.Text := FloatToStr((aText.AsInt shr 8), 1); 
получаю значение =45.0
где ошибка?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2996
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #539 : 01 Декабря 2017, 18:43:11 »
А какое значение имеет переменная в скаде без преобразований?
« Изменён: 01 Декабря 2017, 18:50:57 от Simple-Scada »