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

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

Автор Тема: Вопросы и предложения по Simple-Scada 2  (Прочитано 357729 раз)

Виктор К

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1440 : 03 Марта 2022, 14:54:38 »
Добрый день. В одной из последних версий скады видимо поменялась процедура ArchiveTimeOn.
Раньше она возвращала значение (при привязке к объекту Calendar) 30.12.1899 00:01:00 что равнялось одной минуте.
Сейчас возвращается значение 27.02.1900 22:49:26, что в переводе значения через inttostr равняется 60 (60 секунд = та же 1 минута).
Т.е. вернулись уже секунды в целой части типа tDateTime, а должны были в дробной. Чтоб получить нормальный tDateTime нужно делить значение на 86400.

С одной стороны возвращаемое значение в секундах более приемлемое. Но тогда нет смыла в процедуру ArchiveTimeOn просить в качестве выходного параметра тип tDateTime.

Собственно вопрос: исправлять проект под секунды или вернется стандартный tDateTime?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2998
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1441 : 03 Марта 2022, 16:21:49 »
Здравствуйте.

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

godygadu

  • Новичок
  • *
  • Сообщений: 42
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1442 : 05 Марта 2022, 14:44:39 »
Здравствуйте. Есть ли в планах интегрировать поддержку других БД?
В цвете текущих событий с зарубежным ПО это может дать преимущество вашей СКАДА.
Спасибо.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2998
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1443 : 06 Марта 2022, 09:34:15 »
Здравствуйте.

Да, в будущих обновлениях будет добавлена поддержка PostgreSQL.

godygadu

  • Новичок
  • *
  • Сообщений: 42
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1444 : 09 Марта 2022, 08:02:35 »
Спасибо. Желаю успехов в развитии!
P.S. надеюсь, что в будущем вы добавите встроенные OPC - UA серверы для различных протоколов.

Виктор К

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1445 : 09 Марта 2022, 14:23:48 »
При смене границ переменной через клиент, наблюдается рассогласованность с автоматическими сообщениями.
MessageViewer отображает только активные сообщения.

Скрины 01, 02: Переменная вышла за границы, сформировано аварийное сообщение.
Скрины 03, 04: Поменяли нижнею  аварийную границу у переменной. Переменная в "статусе" предупреждение, но аварийное сообщение так и осталось висеть, предупредительное сообщение не сформировалось.
Скрины 05, 06: Поменяли нижнею предупредительную границу. Переменная в "статусе" норма, аварийное сообщение исчезло.

Сейчас еще проверил на проекте, при изменении переменной, точно такое же поведение.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2998
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1446 : 10 Марта 2022, 16:54:08 »
Статус сообщения в списке активных не меняется, т.к. новое сообщение не выдаётся при переходе из аварийной зоны в предупредительную. Исправим отображение в ближайшем обновлении. 

Botsmall

  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1447 : 24 Марта 2022, 01:23:54 »
Добрый день.
Появилась задача, не знаю с какой стороны подойти. Направьте, пожалуйста, на путь истинный.

Имеются, допустим 10 plc. На каждом крутится своя программа, в которой есть некая уставка (2 переменные на запись/чтение). Эти уставки (10 шт.) отвечают за один алгоритм однотипных устройств (10 шт. - 1 на каждый PLC).
Задача вывести на Scade одно "общую" уставку на все 10 plc. Так же эту уставку "общую" можно поменять и вручную на каждом PLC.
При потере связи PLC со Scadой, уставка в PLC должна работать в "ручном" режиме и меняться, получается, только для соответствующего PLC.
При восстановлении связи PLC со Scadoй уставка должна принимать "общее" значение.
Если принять во внимание, что значение общей уставки будет крутиться на сервере Scadы, как быть?
« Изменён: 24 Марта 2022, 17:45:32 от Botsmall »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1176
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1448 : 25 Марта 2022, 18:28:37 »
Здравствуйте.

Цитировать
Задача вывести на Scade одно "общую" уставку на все 10 plc.
Для записи уставки в множество переменных можно создать внутреннюю переменную уставки и по ее изменению(используя скрипт "Изменились переменные") записывать уставку в требуемые 10 переменных ПЛК.

Цитировать
Так же эту уставку "общую" можно поменять и вручную на каждом PLC.
Это условие противоречит первому. Если на ПЛК уставка может измениться вручную, то это уже не общая уставка. И тогда не понятно, как она должна отображаться в скаде и как оператор узнает, что уставка изменилась на каком-то ПЛК. 

Для такой задачи проще будет вывести в скаду все уставки с 10 ПЛК и для их массового изменения использовать способ описанный выше. Тогда при их ручном изменении с ПЛК хотя бы будет видно где какие уставки используются на текущий момент. Каких-либо других способов предложить не можем. Возможные способы контроля связи с ПЛК описаны по ссылке. При восстановлении связи можно также массово записывать уставки в ПЛК.

Botsmall

  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1449 : 26 Марта 2022, 01:04:03 »
Цитировать
Это условие противоречит первому. Если на ПЛК уставка может измениться вручную, то это уже не общая уставка.
Имеется ввиду, что при изменении "общей" уставки на одном из PLC, уставки на других PLC так же приняли это значение и отобразились на SS.
А при отсутствии связи PLC c SS, уставка на PLC будет иметь локальный характер.

Цитировать
Для такой задачи проще будет вывести в скаду все уставки с 10 ПЛК
Как раз хотел избавиться от 10 значений ввода, чтобы пользователю не вводить в 10 полей одно и тоже значение. (в действительности их больше).

Как я вижу решение этого вопроса:
1. каждые, предположим 10 сек, сервер SS будет записывать постоянно всем 10 plc значение "общей" уставки.
2. при изменении на каком либо PLC "общей" уставки, SS по скрипту "изменились переменные" отправляет в следующей итерации (10 сек.) обновленное значение "общей" уставки всем 10 plc.
3. при восстановлении связи одного из PLC, SS игнорирует, предположим в течение 30 сек, измененное от этого PLC значение "общей" уставки, тем самым позволяя записать эту уставку  по пункту 2.

Если я где-то ошибся, поправьте пожалуйста.
« Изменён: 26 Марта 2022, 19:55:32 от Botsmall »

Eugene_

  • Пользователь
  • **
  • Сообщений: 75
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1450 : 28 Марта 2022, 10:24:29 »
Вы пытаетесь переложить на HMI задачу для ПЛК. Более верно как показывает практика реализовывать такие алгоритмы между ПЛК (конечно при условии, если у вас есть возможность править код на указанных ПЛК)

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2998
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1451 : 28 Марта 2022, 10:51:23 »
Цитировать
Как я вижу решение этого вопроса:
1. каждые, предположим 10 сек, сервер SS будет записывать постоянно всем 10 plc значение "общей" уставки.
2. при изменении на каком либо PLC "общей" уставки, SS по скрипту "изменились переменные" отправляет в следующей итерации (10 сек.) обновленное значение "общей" уставки всем 10 plc.
3. при восстановлении связи одного из PLC, SS игнорирует, предположим в течение 30 сек, измененное от этого PLC значение "общей" уставки, тем самым позволяя записать эту уставку  по пункту 2.
Если я где-то ошибся, поправьте пожалуйста.
Вы можете использовать такое решение. Но учитывайте, что со стороны скады не существует действительно надёжного решения описанной задачи. Предложенный Вами вариант и любые другие варианты будут всегда работать с ошибками допуская перезапись на неправильное значение и различные значения на ПЛК и в скаде. Для решения данной задачи нужно, чтобы все ПЛК и скада работали в одном потоке (синхронно) и выполняли такты одновременно, что невозможно в описанных Вами условиях.

Цитировать
Как раз хотел избавиться от 10 значений ввода, чтобы пользователю не вводить в 10 полей одно и тоже значение. (в действительности их больше).
Для решения этой задачи см. наше пред. сообщение:
Для записи уставки в множество переменных можно создать внутреннюю переменную уставки и по ее изменению(используя скрипт "Изменились переменные") записывать уставку в требуемые 10 переменных ПЛК.

ART63

  • Постоялец
  • ***
  • Сообщений: 149
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1452 : 28 Марта 2022, 15:26:05 »
Цитировать
2. при изменении на каком либо PLC "общей" уставки, SS по скрипту "изменились переменные" отправляет в следующей итерации (10 сек.) обновленное значение "общей" уставки всем 10 plc.
Чисто гипотетически может возникнуть ситуация, когда уставки будут изменены на двух PLC. Причем на разные значения. Подумайте, как SS должна обработать данную ситуацию.
« Изменён: 28 Марта 2022, 16:45:20 от Simple_Scada »

Botsmall

  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1453 : 28 Марта 2022, 19:51:59 »
Спасибо за советы, буду экспериментировать.

Цитировать
Для решения данной задачи нужно, чтобы все ПЛК и скада работали в одном потоке (синхронно)
Могли бы вы пояснить, на каком-нибудь примере, необязательно касающегося моего вопроса. Просто чтобы привести мысли в порядок.
« Изменён: 28 Марта 2022, 21:25:11 от Simple-Scada »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1176
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #1454 : 28 Марта 2022, 21:05:33 »
Как мы уже написали выше, синхронизировать между собой значения уставки на 10 ПЛК и скада системе невозможно, из-за того что это разные программы, операции в которых выполняются не синхронно. Поэтому периодически будут возникать моменты, например когда уставку изменили вручную и это совпало с моментом "предположим 10 сек, сервер SS будет записывать постоянно всем 10 plc значение "общей" уставки". В этом случае уставка установленная на ПЛК будет перезаписана на уставку из скады. То же самое может происходить и в обратную сторону. Синхронизировать программу ПЛК и скаду невозможно - это разное ПО, которое выполняется независимо друг от друга. Поэтому надежного решения описанной задачи средствами скады нет и не может быть.
« Изменён: 28 Марта 2022, 21:24:19 от Simple-Scada »