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

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

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Simple_Scada

Страницы: 1 ... 84 85 [86] 87 88 ... 91
1276
Здравствуйте!

К сожалению, в Simple-Scada 1.3.3 можно проверять только равенство тега определенному значению. Поэтому Вам нужно добавить еще несколько значений, которые может принять тег после восстановления обрыва и по ним менять слой. Если такой вариант не подходит, то придется сделать это условие на контроллере. 

1277
Как уже писали ранее: мы пока не заботимся о совместимости версий. А это значит, что в обновлениях структура файлов может изменяться, и в этом случае Вы не сможете обновиться до новой версии. В некоторых случаях, чтобы обновиться Вам придется отправить нам проект, чтобы мы пересохранили его вручную. Проверили почту - от Вас последнее письмо 10.02.2016 с запросом Simple-Scada 1.3.3. Перешлите письмо с проектом еще раз пожалуйста.

1278
Насчет переноса проекта были разные вопросы, на которые мы отвечали ранее. Уточните пожалуйста о какой именно проблеме Вы говорите. Если Вы говорите о проблеме с переносом содержимого папки Pictures в новую версию, то эта проблема решена.

1279
Рассмотрим работу с файлами для ситуации, когда нам нужно сохранить различные данные в файл, а потом загрузить их в различные объекты.
Создадим две кнопки – для сохранения в файл и для загрузки из файла. В событии OnClick первой кнопки напишем скрипт для сохранения в файл, например:
Код: (delphi)
begin
  if FileOpen('Hello.sbm') then  // открыть если существует или создать файл Hello.sbm (расширение вы можете использовать любое)
  begin
    FileWriteString(Field1.ValueAsStr);      // записать в файл строку из поля
    FileWriteInteger(Field2.ValueAsInt);     // записать в файл целое число из поля
    FileWriteSingle (Field3.ValueAsFloat);   // записать в файл вещественное число из поля
    FileWriteString (Text1.Text);            // записать в файл содержимое текста
    FileWriteDateTime(Now);                  // записать в файл текущую дату и время
    // закрывать файл не обязательно, Simple-Scada сделает это автоматически. 
  end;
end.

В событии OnClick второй кнопки напишем скрипт для чтения данных из файла, например:
Код: (delphi)
begin
// нужно считывать все данные в той последовательности, в которой мы их записывали
  if FileOpen('Hello.sbm') then    // открыть файл если существует
  begin
    Field1.Value := FileReadString;     // считать в переменную поля строку
    Field2.Value := FileReadInteger;    // считать в переменную поля целое число
    Field3.Value := FileReadSingle;     // считать в переменную поля вещественное число
    Text2.Text   := FileReadString;     // считать в текст строку
    Text3.Text   := DateTimeToStr(FileReadDateTime);// считать в текст время и дату
  end;
end.

Теперь по нажатию первой кнопки данные будут сохраняться в файл, а по нажатию второй загружаться из файла.



Работа с файлами будет доступна после сегодняшнего обновления.

1280
Еще один небольшой пример.

Рассмотрим случай, когда нам нужно сделать мигание объекта при определенном значении связанной с ним переменной. Для этого:
1. В свойстве "Переменная" объекта выбираем нужную нам переменную.
2. В инспекторе объектов переходим на вкладку События и дважды кликаем по событию OnDataChange (изменение значения переменной связанной с объектом).
3. Пишем скрипт, например для изображения:

Код: (delphi)
begin
  { отключаем мигание установив цвет мигания «без цвета» - таким образом не нужно будет
    отдельно отключать мигание отдельно для каждого условия ни-же. }
  Image1.FlashColor := clNone;
  case Image1.ValueAsInt of             // если значение переменной равно:
    1: Image1.Color := clRed;           // 1 - изменить цвет на красный.
    2:
    begin
      Image1.Color := clNone;           // 2 – изменить цвет на «без цвета» - для того, чтобы мигание было только зеленым цветом, а не с красного на зеленый.   
      Image1.FlashColor := clGreen;     // и включаем мигание зеленым цветом.
    end;
    3: Image1.Color := clGreen;         // 3 - меняем цвет на зеленый.
  end;
end.
Все объекты в проекте, для которых применяется мигание будут мигать синхронно - по умолчанию с частотой 1 секунда. Управление частотой мигания будет доступно в следующих обновлениях.

1281
В скриптах цвет можно указывать в виде констант цветов (например clRed), в виде HTML кода (например $FFFF00), через RGB (например RGB(0,0,255)). Указывать цвет в виде HTML кода нужно обязательно через символ $. Подобрать необходимый цвет можно по ссылке.

1282
Да, в бета-версии количество тегов ограничено - 100. Большее количество тегов будет доступно в платных версиях после завершения тестирования. С несколькими OPC-серверами работать можно.

TeNQ, нужно обдумать этот вопрос. Есть проблема в неочевидности при работе с этими свойствами. Т.е. меняя их пользователь будет думать, что меняет свойства объекта, по аналогии с другими свойствами, а на самом деле будет редактировать переменные.

1283
На самом деле так было и в первой версии - слои сами менялись в соответствии с расположением объектов, а цифра слоя оставалась неизменной. А сейчас наоборот мы видим реальное положение вещей. Все дело в том, что объекты не могут занимать один и тот же слой в один и тот же момент времени. Это связано с особенностями отрисовки графики.

Цитировать
И еще, я  понимаю это бред, но... Я попытался создать кучу объектов с целью
Используйте комбинацию клавиш Ctrl + A, чтобы выделить все объекты страницы (даже за пределами зоны редактирования)

Цитировать
с целью выяснить сколько слоев я смогу использовать создавая объекты через ctrl+V
Это количество не может превышать число 2147483647.

1284
Сортировки в редакторе переменных пока не будет. Чтобы отредактировать любые однотипные свойства у нескольких переменных выделите их кликая ЛКМ с зажатой клавишей Shift или CTRL, затем нажмите кнопку «Редактировать»(кнопка с иконкой карандаша) и поменяйте необходимые свойства. Так можно менять любые свойства группы переменных, в том числе и шкалу. 

1285
Полностью согласны! Постараемся сделать в завтрашнем обновлении.

1286
Цитировать
И еще хотелось бы предложить разработчикам чтобы элемент "поле" можно было блокировать от ввода когда это не надо

Для этого есть свойство "Доступен". Если его изменить на 0 (False), то ввод заблокируется. Это свойство также доступно для изменения из скриптов и называется Enabled.

1287
Теперь понятно. Да, действительно не работает - исправим!

1288
Добавили несколько видеоуроков по работе  со скриптами в эту тему.

1289
Добавили несколько видеоуроков по созданию скриптов.  Задавайте вопросы если что-то непонятно.

Рассмотрено создание простых скриптов:


Рассмотрено создание универсального скрипта:

1290
Думали о такой возможности, но пока ее не будет. В дальнейшем возможно сделаем.

Страницы: 1 ... 84 85 [86] 87 88 ... 91