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

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

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

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


Сообщения - Nomad

Страницы: [1] 2
1
word[13] - массив из 13 элементов word. Можете сразу 13 адресов считать, можете по одному.

2
А если в регистрах переменные не True, False, а меняющиеся значения (скорости, частоты, тока..)
Смущает индекс RW (read write). Может эти индексы используются для управления? Или для чтения аналоговых входов?
Должна ещё быть группа 10 DriveData и в группе 4 чтение температур и давлений (параметры 0406 и далее).

3
Integer читает ДВА регистра.

4
В регистре 0547 задаёте параметр, в 0548 - читаете его.
Колонка 4 скорее всего имеет заглавие что-то типа - кол-во байт.

5
Обе панели не предназначены для установки на них SCADA систем. У них собственное ПО разработки.

6
Используйте INPUT_REGISTERS для чтения

7
TON принимает значение в миллисекундах, если не ошибаюсь, тогда вызывайте скрипт по изменению данных календаря
Код: (delphi)
procedure Calendar1_OnDataChange(Sender_TM_Control);
begin
  "Ваша_переменная_в_OPC_Int32".Value := 1000*SecondOf(Calendar1.AsDateTime)+60000*MinuteOf(Calendar1.AsDateTime);
end.

8
Если есть типы событий "Прошла секунда" и "Прошёл час", как-то само собой напрашивается ещё и "Прошла минута" )

9
4. Если требуется выполнять скрипт в какое-то заданное время(например в 12-30), то можно использовать скрипт с типом события "Прошла секунда", в котором сравнивать текущее время с заданным:
Код: (delphi)
begin
  // если сейчас 12:30
  if (HourOf(Now) = 12) and (MinuteOf(Now) = 30) and (SecondOf(Now) = 0) then
  // , то выполнить какое-то действие
end.
Я правильно понимаю, что этот скрипт вызовется 60 раз в течение минуты с 12.30 до 12.31?

10
Вообще глобально стоит задача подсчитывать количество и длительность простоя механизма, длительностью от 3 до 5 минут.
У вас уже есть битовая переменная? Может её архивировать по изменению и потом ArchiveTimeOff?

11
я правда так и не понял, почему мой способ не работал
Integer(Dat_net) возвращает скорее всего номер указателя в памяти на переменную Dat_Net (грубо говоря адрес, где располагается значение переменно), поэтому он меняется от каждого запуска клиента или сервера.
Dat_Net.AsInt возвращает непосредственно значение переменной, т.е. содержимое по ячейке памяти с адресом Integer(Dat_net).
Поэтому Integer(Dat_net.AsInt) тоже корректно работает.

12
myInt := Data_net.AsInt;
может так?

И inttobin у меня заработала только со значением 15, а не 16. Если ставлю 16, то в выходной строке 17 символов получается.
Версия 2.6.5.0

13
Ваши вопросы / Re: Шкала для типа Single
« : 16 Февраля 2023, 10:32:47 »
Задаю отображение в научном формате, отображается корректно, но на клавиатуре нет возможности ввести знак "E". Где-то это можно включить в настройках?

14
Ваши вопросы / Re: Шкала для типа Single
« : 15 Февраля 2023, 15:23:36 »
Тогда данная переменная Single на тренде будет отображаться только до значений от -4294967296 до 4294967295?

15
Ваши вопросы / Шкала для типа Single
« : 14 Февраля 2023, 13:38:01 »
Добрый день.
С прибора по Modbus считываю показания профиля полной мощности. Как поставить максимальное значение для переменной в SCADA системе? Диапазон значений - вторая колонка во вложении.
А ещё попутно вопрос по single: Как ввести с экранной клавиатуры, например 1.23456E+12?

Спасибо.

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