Помощь в написании скрипта

Avatar
  • обновлен
Здравствуйте!
Задача:
вывод значения показания счетчика электроэнергии (кВт) за определенный промежуток времени (за сутки, например)

Теоретически я представляю это так , в определенное время (к примеру,в 00:00:01) запомнить значение тега "Показания счетчика" по истечении суток вычесть ранее запомненное значение из значения реального и результат записать

не могу разобраться со скриптом , работа со временем, делаю в Pascal

Буду очень рад помощи или наставлении на путь, спасибо1
Avatar
arser62
Извините если влез в чужую тему но тоже нужна помощь в написании скрипта.Суть вопроса -стоят 4 счётчика СИ8 подключенные через ОРС сервер .2 счётчика считают продукцию ( по одному на каждой линии ) и 2 считают скорость ( запрограммированы в режим расходомера ) вычисляют среднюю скорость в час.Если прочитать инструкцию на СИ8 там всё понятно как работает и как запрограммировать СИ8 в режим расходомера.Вот и мне нужна помощь в написании скрипта чтобы использовать 2 счётчика вместо 4 а функцию расходомера написать в скрипте.Привожу график как регистрируется скорость через СИ8 .

hab587ca.png
Avatar
arser62
Давно собрал имитатор линии .Подключил к счётчику вместо датчика мигающий светодиод ( 120 миганий в минуту ) только поставил СИ30 вместо работающих у нас СИ8 -для эксперимента без разницы. 120 в минуту умножаем на 60 минут -должна получиться скорость 7200 в час.На наших графиках видно что счётчик сосчитал кол-во в минуту умножил на 60 минут и затих с этими показаниями на минуту а скада пишет.скорость около 3000.(у нас примерно продукция 50

в минуту )Вот как это реализовать в скрипте? Писал на очень умный сайт программистов -так и не помогли .Если уж не получиться здесь -предлагают за отдельную плату …блин и здесь одни коммерсанты…
3000.png
Avatar
demitsury
Здравствуйте!
Задача:
вывод значения показания счетчика электроэнергии (кВт) за определенный промежуток времени (за сутки, например)

Теоретически я представляю это так , в определенное время (к примеру,в 00:00:01) запомнить значение тега "Показания счетчика" по истечении суток вычесть ранее запомненное значение из значения реального и результат записать

не могу разобраться со скриптом , работа со временем, делаю в Pascal

Буду очень рад помощи или наставлении на путь, спасибо1

решение отправлено Вам на почту
Avatar
demitsury
Давно собрал имитатор линии .Подключил к счётчику вместо датчика мигающий светодиод ( 120 миганий в минуту ) только поставил СИ30 вместо работающих у нас СИ8 -для эксперимента без разницы. 120 в минуту умножаем на 60 минут -должна получиться скорость 7200 в час.На наших графиках видно что счётчик сосчитал кол-во в минуту умножил на 60 минут и затих с этими показаниями на минуту а скада пишет.скорость около 3000.(у нас примерно продукция 50

в минуту )Вот как это реализовать в скрипте? Писал на очень умный сайт программистов -так и не помогли .Если уж не получиться здесь -предлагают за отдельную плату …блин и здесь одни коммерсанты…

с Вами мы долго пытались решить задачу, высылали несколько вариантов, но они Вас не устроили, возможно мы не понимаем ВАшу задачу, возможно Вы не можете донести до нас что нужно.

ВАриантов развития не много:
1. Вы еще раз по полочкам раскладываете что нужно, чем конкретней тем лучше.
2. Размещаете этот вопрос у нас на форуме отдельной темой и на форуме ОВЕН (http://www.owen.ru/forum/showthread.php?t=421&page=18)

Мы как освободимся от выпуска версии, еще раз посомтрим как можно помочь, и возможно на овеновском форуме раньше дадут ответ.
Avatar
arser62


Начинаю раскладывать по полочкам :
1-На фото тот который справа считает продукцию ( даже кнопочку сброс сбоку приделали )
2-Слева настроен на режим расходомера ( показывает среднюю скорость в час ) и обновляет показания раз в минуту.
3-Реально ли это воплотить - т.е.расходомер в скрипте ?
4-Тот счётчик про который я писал СИ30 - чисто для проверки работы скрипта ( если скрипт работает правильно я должен был увидеть определенную скорость согласно выдаваемым импульсам с обновлением в 1 минуту). Не на рабочей же линии мерять и экспериментировать где скорость не всегда 2940 -бывает больше -бывает меньше.
777.jpg
Avatar
Ростислав
Доброго дня!

Если тема ещё актуальна, давайте её решим.
Отправьте схему функциональную. Нужно точно понимать объект. Отправьте полное наименование счётчиков. На схеме функциональной укажите как вы планируете произвести модернизацию. Какое количество полевых устройств опрашивает ОРС? Какая скорость шины и какой протокол?

Напишите с какой частотой вам нужно отображать и архивировать данные в SCADA системе.

Лично моё мнение. Оборудование лучше применять по назначению. Если у вас уже есть счётчики, то зачем производить расчёт через скрипт? Достаточно опрашивать счётчики через ОРС. Даже в случае отказа оборудования верхнего уровня у вас всегда будет возможность снять данные непосредственно с счётчиков. Резерв должен быть всегда.
Avatar
arser62
Рад что откликнулись в теме.Вообще думаю нужна отдельная тема с примерами скриптов– кто за !!( многим облегчит жизнь )
Скрипт уже написали давно и работает -только скорость т.е график который пишется с СИ8 и через скрипт немного разный-на фото видно.







11.jpg
22.jpg
33.jpg
Avatar
arser62
{
Double In1=ReadValue("pam");
Double In2=ReadValue("упаковка количество 1 линия");
Double Out1=In2-In1;
Double Out2= 60*Out1;
WriteValue("pam",In2);

WriteValue("упаковка скорость 1 линия",Out2);
}
Avatar
Ростислав
Форма исторических графиков логически связанных параметров будут отличаться если нет синхронности. Один график к примеру формируется по опросу в 1 секунду (непосредственно от первоисточника), а второй через перерасчёт (скрипт) в 60 секунд. Получается, что в 60 раз теряется достоверность канала.

Всё конечно зависит от технологии процесса.