Да - вы же сами сказали что контроллер передаем вам текущие показания счетчика.
В отчете тоже можно. Для этого в редакторе отчетов есть специальный способ обработки "Интеграл". Посмотрите вот эту документацию, в ней рассмотрен пример вычисления расхода по действующему значению:
http://www.insat.ru/services/support...tep/Otchet.ZIP
Спасибо.
Судя по всему, мы друг друга не поняли.
Текущие значения со счетчика не мгновенные, а сумма импульсов - т.е. общие показания счетчика - как бы суммарная наработка.подсчет ведет ПЛК100 считая импульсы на дискретном входе
Это мне понятно.В отчете тоже можно. Для этого в редакторе отчетов есть специальный
способ обработки "Интеграл".
Спасибо. Если здесь найду информацию, это хорошо. Но все же был бы благодарен на подсказку в какую сторону рыть, в свете моих обстоятельств, что я имею данные по типу:Посмотрите вот эту документацию, в ней рассмотрен пример вычисления расхода по действующему значению:
http://www.insat.ru/services/support...tep/Otchet.ZIP
08:00 - 20805 м3
08:05 - 20815 м3
08:10 - 20835 м3
08:15 - 20850 м3
и т.д. Данные идут по времени (5 минут взял для примера). Т.е. надо элементарно взять (Текущее значение) вычесть (Значение по метке времени на час назад) . А вот как это сделать (правильно сделать!) - вот вопрос.
Если нужно это отобразить на мнемосхеме, то нужно воспользоваться функцией "Мгновенное значение по архиву" AbsArchMomentValue( ) (описание также есть в справке). То есть берете разницу между значением в один момент времени и текущим значением.
Если через редактор отчетов, то нужно вычитать в каждой строке данных значение предыдущей. В документации это также разбиралось - это делается через события бэнда.
Спасибо.
Вы про отчеты?
Посмотрите документацию на которую мы дали вам ссылку. Там 4 пример - вычисление расхода газа, и там же работа с событиями.
Там правда идет работа со временем - сохраняется предыдущее значение времени, но переделать под вашу задачу несложно.
Создаете переменную "Предыдущее", у бэнда в событии "После печати" присваиваете ей значение счетчика. В текстовое поле выводите разницу между значением на момент вывода бэнда и значением переменной "Предыдущее"
Спасибо.
Здравствуйте!
Не могу понять, как сделать однократную выдачу команды.
Верно ли я понимаю, что режим опроса устройств и подустройств строго определен при создании ОРС-сервера? А уже потом, в составе Мастер СКАДА проекта, обмен с реальным прибором происходит по тем правилам (например, с той частотой пороса), которые были прописаны в ОРС?
Создаю ОРС-сервер, в нем на каждое подустройство имеется конфигурирование. Я завел подустройство с несколькими регистрами на запись - таким образом подаю разные команды своему прибору.
Но при настройке подустройства вижу, что там есть период опроса, а нет режима - разовый. И, если у меня требуется по кнопочке на экране (при работе уже Мастер СКАДЫ) послать в прибор строго 1 раз команду - я не могу этого сделать.
Что делать? Или придется без ОРС-сервера работать? Кстати, насколько это было бы плохо (у меня обмен довольно простой, может можно как-то напрямую по Модбасу работать из Мастер СКАДЫ?)
Да, именно так. ОРС опрашивает устройства, а скада опрашивает изменения в ОРС сервере и подтягивает данные.
Регистры на запись (WriteOnly) посылают запрос в устройство только когда от клиента приходит запрос на запись. По умолчанию в MasterSCADA режим записи стоит по изменению, то есть если вы на кнопку не жмете, то и в контроллер ничего писаться не будет.
Спасибо.
Спасибо, наш неутомимый помощник!
А это Вы говорите только о работе в Мастер СКАДА? Я не знаю, как там (пока там у меня запутанно и не понятно, поэтому разбираюсь сейчас с ОРС-сервером), но вот запускаю ОРС-сервер, вижу, что записанная, скажем, в регистр управления "1" там и осталась, а по регистру результата совершенно четко вижу, что она (единичка) продолжает свою работу! Мой прибор разработан ранее и в нем сделано так: приходит код управления (та же единичка), отрабатывается и сбрасывается в приборе. Это специально, чтобы не выполнялась одна и та же команда 2 раза. А тут я вижу, что прибор вновь и вновь выполняет команду... Значит, она продолжает подкидываться от программы ОСР-сервера.
Как только я принудительно задам туда нолик - прибор перестает отрабатывать команду.
Значит, делаю я вывод, по крайней мере из ОРС-сервера команда шлется постоянно с выбранным периодом
При выполнении Modbus запроса записи, если от прибора пришел ответ что запись проведена корректно, запись более не производится.
Проверить это можно очень просто - по логу обмена.
Отключите временно все лишние подустройства и теги (настройка "Включен в работу") - оставьте только теги на записи. Включите режим исполнения, и перейдите на закладку "Запросы". Запишите какое то значение в тэг, и посмотрите что ушло к прибору, и что вернулось.
Должно появится две строчки: синяя - запрос к устройству, и зеленая - ответ от него. После этого запросов быть не должно.
Спасибо.