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

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

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

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


Темы - B.B

Страницы: [1]
1
Ваши вопросы / Ключ защиты.
« : 21 Февраля 2025, 10:36:35 »
Добрый день.

У компьютера с сервером Simple-Scada есть порт на материнской плате и датчик открытия корпуса.
Очень хотелось бы перенести "флешку" внутрь корпуса, но при установке ключа защиты в этот порт ключ не виден.

В портах которые выведены на корпус всё отлично определяется и работает.
Любые носители (дисковые накопители, флешки и т.д.) при установке в порт на плате определяются и нормально работают.

Можете подсказать в чём может быть причина?


2
Ошибки / Шкалы трендов
« : 20 Июля 2022, 22:13:31 »
Версия 2.5.13 (да, старая, но это на рабочем объекте и обновлять в ближайшие пару месяцев не будут)

При отображении переменных с одинаковым диапазоном (температуры) на шкале два деления с отметкой 50. (см. рис.)
Если уменьшить масштаб (цена деления от 2 градусов и более), то отображается корректно.

Возможно ошибка есть и в более новых.

3
Добрый день.

Подскажите, пожалуйста, есть ли доступ к системным библиотекам из скриптов SimpleScada?
Например, для обращение к СОМ-портам.

4
Добрый день

arOPC 1.86.184.1845
Simple-Scada ver. 2.5.13.0 от 23.11.21
Установлено на панельном ПК IEI под ОС Win10

Очередь на сервере 2 (131)

При запуске проекта изменённые данные от SCADA появляются в тегах ОРС сервера с задержкой от 10 до 50 секунд. Спустя пять-десять минут после запуска проекта обмен идёт в нормальном режиме.
Задержка именно при передачи в тег.

Частоту опроса пробовали менять 1с, 300 мс, 100 мс.

Поведение не меняется.

Подскажите, в чём может быть причина такого поведения?

5
Ваши вопросы / Сообщение для else
« : 29 Декабря 2021, 23:52:23 »
Система сообщений позволяет выводить типовой текст или описание переменной в соответствии со значением переменной.

Это просто и удобно, но возникла потребность в формировании "общего сообщения".
Пояснить проще на примере.

Есть АЦП для датчика давления, который отдаёт своё состояние и ошибки в одном общем теге.
Сделан скрипт по изменению переменной
Код: (delphi)
case Variable.AsInt of
0:begin end; // нет ошибок
4:AddMessage(Now, mkAlarm, 'Превышение верхнего диапазона измерений!', True, False);
20:AddMessage(Now, mkWarning, 'Давление меньше нижнего диапазона измерений.', True, False);
52:AddMessage(Now, mkMessage, 'Значения вернулись в диапазон измерений.', True, False);
164:AddMessage(Now, mkAlarm, 'Нет ответа от преобразователя!', True, False);
else
  AddMessage(Now, mkAlarm, 'Ошибка модуля датчика давления! Старший байт: '+
               IntToHex(HiByte(Variable.AsInt),2) +' младший байт:  ' +
               IntToHex(LoByte(Variable.AsInt),2), True, false);
end;

По-хорошему для значений 4,20,52 и 164 можно было бы создать стандартное сообщение.
Но иногда возникают ошибки преобразователя АЦП и в переменную попадает значение, которое надо показать оператору.

Возможно ли не прибегая к скрипту создать сообщение аналогичное сообщению в "else"?

6
Ваши вопросы / Ошибка типа
« : 08 Декабря 2021, 14:03:34 »
Возникла странная ошибка.

Есть внешняя переменная в OPC сервере тип DWord (4 байта)
В Simple-Scada тип LongWord.

Внутренней переменной типа Boolean присваивается младший бит
Код: (delphi)
// Состояние РКН
  PKH.Value:=Out2.Value and 1;

При очередном запуске проекта сервер начал ругаться в run-time

Ошибка в скрипте "MainCycle" в строке 15. Overflow while converting variant of type (Double) into type (Integer)

При этом "съедалось" содержимое тега (на OPC сервере смотрел)

Добавил явное приведение типа
Код: (delphi)
// Состояние РКН
  PKH.Value:=Out2.Value and LongWord(1);

Стало ругаться на строку 97 (до этого ошибку не показывало)
Ошибка в скрипте "MainCycle" в строке 97. Overflow while converting variant of type (Double) into type (Integer)

Поменял
Код: (delphi)
  // Включить вентиляторы
  if (Out2.Value and $3A000000) = 0 then Out2.Value:=Out2.Value or $3A000000;

на

Код: (delphi)
  // Включить вентиляторы
  if (Out2.asInt and $3A000000) = 0 then Out2.Value:=Out2.asInt or $3A000000;
Ошибка пропала.

Для проверки вернул Value вместо asInt - всё рабоатет...


ОС Win7 x64, Simple-Scada 2.5.13

7
Ошибки / Ошибка 64 битной переменной
« : 01 Ноября 2021, 15:14:44 »
При работе с 64 битной переменной некорректно устанавливаются биты (не устанавливается значение младшего байта).
Проверялось на 2.5.11 и 2.5.12

Например,

Код: (delphi)
Out1.Value:=0;
Out1.Value:=SetBit(Out1.Value,60,True);
Out1.Value:=SetBit(Out1.Value,57,True);
Out1.Value:=SetBit(Out1.Value,53,True);
Out1.Value:=SetBit(Out1.Value,52,True);
Out1.Value:=SetBit(Out1.Value,50,True);
Out1.Value:=SetBit(Out1.Value,46,True);
Out1.Value:=SetBit(Out1.Value,44,True);
Out1.Value:=SetBit(Out1.Value,42,True);
Out1.Value:=SetBit(Out1.Value,41,True);
Out1.Value:=SetBit(Out1.Value,38,True);
Out1.Value:=SetBit(Out1.Value,37,True);
Out1.Value:=SetBit(Out1.Value,36,True);
Out1.Value:=SetBit(Out1.Value,35,True);
Out1.Value:=SetBit(Out1.Value,31,True);
Out1.Value:=SetBit(Out1.Value,28,True);
Out1.Value:=SetBit(Out1.Value,27,True);
Out1.Value:=SetBit(Out1.Value,25,True);
Out1.Value:=SetBit(Out1.Value,23,True);
Out1.Value:=SetBit(Out1.Value,21,True);
Out1.Value:=SetBit(Out1.Value,20,True);
Out1.Value:=SetBit(Out1.Value,19,True);
Out1.Value:=SetBit(Out1.Value,18,True);
Out1.Value:=SetBit(Out1.Value,15,True);
Out1.Value:=SetBit(Out1.Value,14,True);
Out1.Value:=SetBit(Out1.Value,12,True);
Out1.Value:=SetBit(Out1.Value,11,True);
Out1.Value:=SetBit(Out1.Value,10,True);
Out1.Value:=SetBit(Out1.Value,9,True);
Out1.Value:=SetBit(Out1.Value,7,True);
Out1.Value:=SetBit(Out1.Value,6,True);
Out1.Value:=SetBit(Out1.Value,5,True);
Out1.Value:=SetBit(Out1.Value,4,True);
Out1.Value:=SetBit(Out1.Value,0,True);

Должно быть  $123456789FDCDEF1, реально $123456789FDCDE

Если добавить вывод сообщения, то видно, что число, действительно 1311768467463790080 вместо 1311768467463790321.

При записи в переменную целого числа вместо установки битов ситуация не меняется. Младший байт "съеден".

8
Ошибки / Шкала переменной Int64
« : 25 Октября 2021, 08:55:46 »
Версия Simple-Scada 2.5.11.0

Если попробовать для INT64 создать шкалу, то минимум и максисмум задать не получается.
Поле ввода ограничено 15 символами, а при задании в экспотенциальном виде нормируется значением 4294967295.

Страницы: [1]