Поддержка новых функций

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Поддержка новых функций

Re: Поддержка новых функций

admin » 03 июл 2011, 23:07

Протестировал данный скрипт. Действительно при плохом качестве не отрабатывается.

Если не используется SCADA система, то можете дополнительную логику отрабатывать в SQL процедурах.
Которые можно вызывать в скрипте SQL переменной.

Re: Поддержка новых функций

BThorn » 01 июл 2011, 03:34

BThorn писал(а):
admin писал(а):Пример привел для того случая когда изменяется значение другой переменной, а не составной в которой выполняется скрипт.
Сделал, по-вашему. Результат схожий.

Можно выслать рабочий пример?
Так пример выслан будет или нет?

Re: Поддержка новых функций

BThorn » 01 июл 2011, 03:32

admin писал(а):Поэтому в данный момент вашу задачу с качеством лучше решать на верхнем уровне в SCADA или увеличивая кол-во переменных.
Нет у нас SCADA-системы на верхнем уровне, стоит модуль OPC2SQL (шесть OPC-серверов различных производителей опрашивает и складывает в SQL), а плодить переменные в геометрической прогрессии – занятие то еще. =)

PS Будем ждать и надеяться, что про нашу проблему не забудут.

Re: Поддержка новых функций

admin » 30 июн 2011, 11:29

Если бы это было просто добавил бы тут же не раздумывая.
А все доработки требующие значительных трудозатрат выполняются в фоновом порядке приоритета или быстро но на платной основе.
Кроме того, существующий скриптовый интерпритатор не будет модернизироваться. А будет внедряться новый (он уже закуплен).
Повторяю это из ветки к ветке.

Поэтому в данный момент вашу задачу с качеством лучше решать на верхнем уровне в SCADA или увеличивая кол-во переменных.

Re: Поддержка новых функций

BThorn » 30 июн 2011, 06:25

admin писал(а):То что качество составной переменной берется из переменных скрипта, это поведения сделано для более распространенного случая когда значение составной переменной вычисляется на основе некой Modbus переменной. В этом случае, когда нет связи с устройствам или какая другая ошибка, то составная переменная получает то же качество. Раньше было так, что качество составной переменной было всегда хорошее, если нет ошибок в скрипте.
Но в этом случае жаловались что связи нет, а качество используемой составной переменной почему то хорошее.
Полностью согласен (сам пришел к такому выводу), что есть необходимость в таком поведении функции Item(), как в случае отсутствия связи с прибором, так и в расчетах вида (один из примеров):

Код: Выделить всё

Item(Item2) := Item(Item1) * K;
Или вот, скажем, следующий расчет (пример расчета расхода по датчикам скорости и уровня в канале):

Код: Выделить всё

Item(ItemQ) := Item(ItemV) * Item(ItemL) * K;
И как только возникает необходимость проанализировать переменные, в нашем случае при неисправности какого-либо датчика или занижение/завышение значений, согласно договорным отношениям с потребителем/поставщиком, мы обязана выставлять некую константу по несправному/занижающему/завышающему датчику в расчетах, в верхний пример необходимо ввести проверку на значение и качество переменных. И возникает необходимость в функциях для принятия решения, таких я не вижу. Такая же ситуация с расчетом суммарной мощности (убрать из расчета отключенный датчик).

Уже не знаю, как вас убедить (повторяюсь из ветки в ветки), рассмотрите возможность в следующих сборках добавить две дополнительных функции: установка/получения значения и установка/получения качества переменной не влияющих на результат (качество) составной переменной.

Re: Поддержка новых функций

BThorn » 30 июн 2011, 03:47

admin писал(а):Пример привел для того случая когда изменяется значение другой переменной, а не составной в которой выполняется скрипт.
Сделал, по-вашему. Результат схожий.

Можно выслать рабочий пример?

Re: Поддержка новых функций

admin » 29 июн 2011, 15:42

То что качество составной переменной берется из переменных скрипта, это поведения сделано для более распространенного случая когда значение составной переменной вычисляется на основе некой Modbus переменной. В этом случае, когда нет связи с устройствам или какая другая ошибка, то составная переменная получает то же качество. Раньше было так, что качество составной переменной было всегда хорошее, если нет ошибок в скрипте.
Но в этом случае жаловались что связи нет, а качество используемой составной переменной почему то хорошее.

Re: Поддержка новых функций

admin » 29 июн 2011, 15:38

Пример привел для того случая когда изменяется значение другой переменной, а не составной в которой выполняется скрипт.

Re: Поддержка новых функций

BThorn » 29 июн 2011, 08:27

Схожая проблема с Quality, как и с Item (описанная мною в ветке форума “Расчетные переменные/суммарная мощность”). В данном примере вторая строчка (ELSE) не отрабатывает при плохом качестве переменной Item1. И переменной, которой принадлежит данный скрипт (Item2), тоже выставляется плохое качество переменной Item1 и зависает на значении “1”.

Пример: Count – переменная симуляции (счетчик), переменной Item2 принадлежит данный скрипт:

Код: Выделить всё

x1 := Quality(Item1);
Item(Item2) := Item(Count);
При плохом качестве переменной Item1, переменная Item2 берет на себя значение качества переменной Item1 и значение Item2 зависает.

Пример выслал. Как здесь быть?

Re: Поддержка новых функций

admin » 28 июн 2011, 20:22

В скрипте можно можно использовать функции получения (не установки) качества и даты/времени.
Логика такая же как для значения.
Item(Item1) - значение переменной Item1
Quality(Item1) - качество переменной Item1
DateTime(Item1) - дата/время переменной Item1

Например:

Код: Выделить всё

  IF (Quality(Item1) = 192) THEN { Item(Item2) := 1; }
  ELSE { Item(Item2) := 2; }

Вернуться к началу