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

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

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

Миханик

  • Постоялец
  • ***
  • Сообщений: 182
    • Просмотр профиля
    • www.vpa-dv.ru
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #915 : 02 Сентября 2019, 10:33:58 »
Переменная успешно восстанавливает своё значение, но сразу стирается скриптом "Button_ClearPhoneNumber_OnDataChange", ведь при запуске проекта переменные инициализируются и происходит выполнение OnDataChange скриптов. Используйте событие OnClick вместо OnDataChange чтобы скрипт выполнялся только по клику на объект.
Изначально я так и сделал (по событию OnClick), но мне нужно было, чтобы при этом работало подтверждение на действие. А при событии OnClick, подтверждение не обрабатывается.

Редак.
Сделал сейчас очистку по событию OnClick, а OnDataChange удалил - ничего не поменялось, номер в поле при загрузке пустой.
« Изменён: 02 Сентября 2019, 11:28:39 от Миханик »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3197
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #916 : 02 Сентября 2019, 12:24:32 »
Цитировать
Изначально я так и сделал (по событию OnClick), но мне нужно было, чтобы при этом работало подтверждение на действие. А при событии OnClick, подтверждение не обрабатывается.
Для этого у Вас должна быть кнопка "с фиксацией", на событие OnClick нужно назначить стирание номера телефона, событие OnDataChange нужно удалить. Да и привязку кнопки к переменной можно убрать.

Цитировать
Сделал сейчас очистку по событию OnClick, а OnDataChange удалил - ничего не поменялось, номер в поле при загрузке пустой.
У нас после изменений в Вашем проекте всё работает как нужно, включая автовосстановление и кнопку с подтверждением. Вы перезапустили проект после внесения изменений? Если да, то пришлите текущую версию проекта, вероятно Вы что-о упустили.

Dmitry_Impuls

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #917 : 02 Сентября 2019, 20:05:51 »
По Вашему сообщению можно предположить:

Большое спасибо за ответ. Но он несколько запоздал.
Объекты одинаковые. Отличаются тегом. По тегу понимаем какие переменные брать.
И, да, привязка динамическая... лень тыкать мышкой было...

Смотрите первое сообщение на этой странице. Ошибка была в  том, что переменные не привязывались.
Просто выводились их значения в свойство Text.

Попутно вопрос возник.

А как отображаются объекты (текстовое поле, ячейка и т.д.) у которых привязан тег сервера/переменная и есть свойство Text?
Сейчас при вводе видно число секунд (ввод пользователя), потом их преобразование в формат времени.

Миханик

  • Постоялец
  • ***
  • Сообщений: 182
    • Просмотр профиля
    • www.vpa-dv.ru
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #918 : 03 Сентября 2019, 03:18:52 »
Для этого у Вас должна быть кнопка "с фиксацией", на событие OnClick нужно назначить стирание номера телефона, событие OnDataChange нужно удалить. Да и привязку кнопки к переменной можно убрать.
Спасибо. Изменил кнопку на "С фиксацией" и всё заработало как надо.

pan2000

  • Постоялец
  • ***
  • Сообщений: 216
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #919 : 03 Сентября 2019, 17:54:44 »
. . .
  Columns[2].Cells[1].Text:=SecondsToStr(GetVariableByName('StepRunTimeSet_T'+aNum+'_W').AsInt64);
надо привязку всё-таки сделать...
  Columns[2].Cells[1].Variable:=(GetVariableByName('StepRunTimeSet_T'+aNum+'_W');
Привязка переменной к Полю или Ячейке выводит на экран её значение в формате переменной, свойство ячейки Text не используется при редактировании ячейки.


А как отображаются объекты (текстовое поле, ячейка и т.д.) у которых привязан тег сервера/переменная и есть свойство Text?
1. Объект ТЕКСТ не редактируется (пока?), переменные связаны только с событиями.

2. Объект ПОЛЕ имеет собственную текстовую переменную с начальным значением устанавливаемым в редакторе и первоначально выводимой на экран.
В дальнейшем на экране отображается последнее изменение: или собственная переменная (запись свойства Text) или форматированная переменная (при привязке или изменении).
Чтение свойства Text при отсутствии привязки - из собственной переменной, при наличии - форматированное из переменной.
Редактирование с сохранением результата только в переменную, редактирование без привязанной переменной выполняется в числовом формате и не сохраняется.

3. Ячейка ТАБЛИЦЫ - комбинация из редактируемого ТЕКСТа и ПОЛЯ. Поведение аналогично объекту ПОЛЕ (приоритет по убыванию: переменная, Text переменной, Text ячейки).

Взаимную связь составляющих объектов ПОЛЕ и ячейка ТАБЛИЦЫ можно посмотреть в примере из вложения.

Цитировать
Сейчас при вводе видно число секунд (ввод пользователя), потом их преобразование в формат времени.

В примере можно смоделировать Ваш ввод.

Миханик

  • Постоялец
  • ***
  • Сообщений: 182
    • Просмотр профиля
    • www.vpa-dv.ru
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #920 : 09 Сентября 2019, 11:37:20 »
Бьюсь с отправкой смс - если отправляю сообщение кирилицей, то всё нормально. Если отправляю на латинице, то приходит абракадабра (вложение).
Сделали исправление при отправке на латинице,  обновление будет в ближайшее время.
Обновление 2.3.6.0
Теперь СМС на латинице вообще не отправляются (даже абракадабра не приходит).
Если меняю параметр ACyrillic на True без изменения текста сообщения, то приходит 2 СМС на латинице (но меня так не устраивает).
Хотя если отправлять тестовое из Options.exe, то сообщение приходит.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3197
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #921 : 09 Сентября 2019, 12:29:06 »
Только что ещё раз проверили отправку:
 1. короткой SMS с кириллицей. SendSMS('79281112233', 'Авария 10', TRUE);
 2. длинной SMS с кириллицей. SendSMS('79281112233', 'Авария 10 Авария 10 Авария 10 Авария 10 Авария 10 Авария 10', FALSE);
 3. короткой SMS с латиницей. SendSMS('79281112233', 'Alarm number 10', FALSE); ;
 4. длинной SMS с латиницей. SendSMS('79281112233', 'Alarm number 10 Alarm number 10 Alarm number 10 Alarm number 10', FALSE);

Все SMS приходят корректно и с выключенными опциями "Менять режимы" и "Ждать ответа" и с включенными. USB-модем МТС 829F.
Также мы запустили Ваш проект, скрипт "Button_SendTestSMS_OnClick", в строке отправки SMS выключили кириллицу:
Код: (delphi)
SendSMS('79281112233', DateTimeToStr(Now) +
          ', s.Vozzhaevka, MK 492. Uroven mazuta: ' +
          Level1 + ', ' + Level2, FALSE);
Затем запустили проект и нажали кнопку "Button_SendTestSMS". Пришла одна SMS с текстом: "09.09.2019 12:22:07, s.Vozzhaevka, MK 492. Uroven mazuta: L1=0mm,, L2=0mm".

Если снова включить кириллицу, то приходит две смс:
1. "09.09.2019 12:22:07, s.Vozzhaevka, MK 492. Uroven mazut";
2. "a: L1=0mm,, L2=0mm";

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

Upd: есть предположение, что это из-за текстового режима отправки. Мы отправили Вам на почту тестовое обновление сервера скады которое всегда работает в цифровом режиме. Решает ли это обновление проблему?
« Изменён: 09 Сентября 2019, 15:50:06 от Simple-Scada »

Миханик

  • Постоялец
  • ***
  • Сообщений: 182
    • Просмотр профиля
    • www.vpa-dv.ru
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #922 : 11 Сентября 2019, 09:57:50 »
Upd: есть предположение, что это из-за текстового режима отправки. Мы отправили Вам на почту тестовое обновление сервера скады которое всегда работает в цифровом режиме. Решает ли это обновление проблему?
С этим сервером работает!

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3197
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #923 : 11 Сентября 2019, 10:09:33 »
Спасибо за информацию. Мы включили это изменение в официальную версию 2.3.6.0. Теперь отправка всегда в цифровом режиме. Также обратите внимание на опции "Менять режимы" и "Ждать ответа". Если у Вас отправка корректно работает без этих опций, то лучше их не включать. Тогда отправка будет быстрее. Данные опции нужно использовать только если без них отправка не работает.

azrael454

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #924 : 13 Сентября 2019, 09:57:02 »
Вопрос: как в скриптах описать сравнение текущего времени с некоторым заданным? Например, мне нужно сбрасывать некоторые переменные по достижению определенного времени. Значит мне нужно сравнить текущее время с временем условия сброса в формате ЧЧ:ММ:СС. Какую функцию мне использовать для обозначения времени для сравнения? Сравнивать буду через SameTime.

Neskad

  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #925 : 13 Сентября 2019, 11:03:52 »
EncodeTime(ЧЧ, ММ, СС); В справке описаны в разделе "Время и дата/Формирование значения"

azrael454

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #926 : 13 Сентября 2019, 12:26:34 »
EncodeTime(ЧЧ, ММ, СС); В справке описаны в разделе "Время и дата/Формирование значения"
Спасибо за ответ

bacchus1

  • Новичок
  • *
  • Сообщений: 38
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #927 : 23 Сентября 2019, 17:06:28 »
Добрый день!
Как возможно поменять картинки из скрипта? Мне нужно, чтобы по разным значениям тега появлялись разные изображения. Понятно, что можно наложить друг на друга несколько изображений и менять их видимость, но это неудобно.

Как я понял, свойство TextureName доступно только для чтения, поэтому через него не получится. Хотел сделать через анимацию. Т.е. менять свойство Frame, но опять же не получилось, при этом частота кадров была 0.
Возможно ли сделать статическую смену кадров (когда скорость анимации 0) из скриптов? Это была бы очень полезная функция, т.к. во многих скадах она реализована и активно используется.

Victor_P.

  • Пользователь
  • **
  • Сообщений: 69
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #928 : 23 Сентября 2019, 18:58:19 »
Через номер фрейма в анимашке работало нормально.

bacchus1

  • Новичок
  • *
  • Сообщений: 38
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #929 : 24 Сентября 2019, 10:13:08 »
Теперь заработало.
Видимо я изначально вставил картинку как обычную, потом сделал из нее анимацию. Удалил и вставил заново, все заработало.