А если просто удерживать сигнал с входа на время больше периода опроса, а затем его сбрасывать если он взводился, в итоге облако должно его опросить если сигнал был.
Вид для печати
Как правило, нужен макрос SelChgI
Вложение 52853
Смотреть пункт 3 здесь, Обмен битовыми (BOOL) переменными с ПР Slave
Так я написал об этом.
Период опроса 5 секунд. Я переменную по сигналу взвожу и держу 10 секунд. Если связь без сбоев - облако считывает его и на графике видно моменты, когда событие наступало и сколько держалось. Красиво, удобно, понятно.
Но если потеря пакетов будет, или роутер перезагрузится или еще что-то, если перерыв связи дольше 10 секунд - облако увидит что было 0 и сейчас 0, событие пропущено будет.
О факте события хочется знать и желательно, во сколько оно было. Но события чаще всего штатные и могут быть несколько раз в сутки, квитировать каждое событие (выставлением флага в ПР и ручным сбросом, записывая переменную) утомительно и не хочется. Достаточно возможности посмотреть журнал, если понадобится. Но хочется, если понадобиться, точно знать - было или нет событие в выбранный промежуток времени.
Я пока пришел к следующему решению, но мне кажется оно сложным и некрасивым каким-то, может можно проще. Потому пришел посоветоваться, может я переусложняю.
1) Переменная удерживается минимум 10 секунд, при периоде опроса 5 секунд она должна считаться, потом можно посмотреть график, во сколько было, сколько длилось. При штатной работе всё красиво, захотел - посмотрел график одной переменной, другой, видно когда наступали события, сколько длились.
2) Пропадание связи с устройством - событие редкое и, вроде как, нештатное. Поэтому по нему облако генерирует уведомление. То есть о том, что облако могло пропустить событие я вроде как знаю.
3) На такой случай локально нужно вести журнал, во сколько наступало и какое событие. При пропадании связи - я топаю ножками к устройству и смотрю локально. Ведь при пропадании связи всё равно, скорее всего, придется топать ножками и разбираться, что случилось, так что такой подход устраивает.
4) Но если связь пропадала и появилась (проблемы у провайдера/перезагрузка роутера/другое), то хочется знать, надо ли все же топать ножками к устройству и смотреть локально, или ничего в это время не было, сейчас всё работает и топать не нужно. Вот тут бы пригодилось какой-то признак, что событие было считано облаком. Но такого признака нет, как я понимаю.
5) Пока писал, появилась мысль. Можно параллельно вести счетчик событий. Наступление события - увеличение значения на 1. Если связь пропадала и появилась, то можно сравнить значения в облаке на момент пропадания и момент появления связи. Будет видно, были ли события между опросами и даже сколько их было. И понять, надо ли топать к журналу локальному и смотреть что было и во сколько.
p.s. Весной смотрел ваши выпуски с лайфхаками, но уже подзабыл. На выходных сейчас как раз будет время, еще раз просмотрю. Спасибо, что делаете их.
Как часто у вас события могут происходить? Как то делал архив на ПР200 на 31 событие с меткой времени, короче, когда связь наладится тогда и считаете события, разумеется размер архива должен умещать максимально возможное количество событий за время планируемого вами пропадания связи, всё!
Несколько раз в сутки, наверное. 31 событие перекрывает точно.
Я видел в темах журналы событий, ваш, скорее всего, тоже. Но пока не делал еще у себя, только задумался об этом.
А я что-то не понимаю, можно через облако считывать не текущее значение переменной, а архив событий? Это как происходит?
Если в теме какой-то описано, как это работает, поделитесь ссылкой пожалуйста. :confused:
Мне кажется можно и архив считать, но не знаю как там чего в клауде, никогда не имел с ним дела, а для ПР я как то так делал:
Вложение 52854
Интересно. Спасибо.
Автоматом облако ничего не сможет скачать за пропущенный период, после появления связи. Только количество событий в журнале просмотреть, поменялось или нет. Но вручную записывая переменную по сети, можно просмотреть удаленно журнал. Ножками в любом случае теперь топать не придется. На выходных сяду покопаться.
я тоже делал такой журнал с меткой времени. В Scada не слежу и не удерживаю сигнал 10 сек. Просто читаю эту переменную с кодом ошибок и еще две с меткой времени. Даже если пропадет связь, изменится время и код ошибки (события) как хотите назовите. Можно наверное добавить еще переменную с номером ячейки, если это следующая ячейка, топать не надо, если через одну и далее, то топать к ПР200 и смотреть руками.Цитата:
3) На такой случай локально нужно вести журнал, во сколько наступало и какое событие. При пропадании связи - я топаю ножками к устройству и смотрю локально. Ведь при пропадании связи всё равно, скорее всего, придется топать ножками и разбираться, что случилось, так что такой подход устраивает.
Пожалейте память ПР. Потому что по Modbus штатными средствами можно читать только регистры и вам придется каждую ячейку архива писать в отдельный регистр. Практически ни у кого не видел реализации пользовательских команд Modbus (да, да, есть и такие) а уж узреть это у Овен наверное не придется никогда.Цитата:
А я что-то не понимаю, можно через облако считывать не текущее значение переменной, а архив событий? Это как происходит?
Если в теме какой-то описано, как это работает, поделитесь ссылкой пожалуйста.
А кстати да, подавая команды в определенный регистр можно считывать значение из памяти... Но в реализации это будет наверное не совсем просто...
Доброго времени, подскажите пожалуйста, могу ли я использовать для подключения реле к rs-485 использовать преобразователь интерфейсов АС4-М и будет ли через него устанавливаться связь с owen logic и ops сервер?
Ещё скажите пожалуйста,через Овен конфигуратор можно подключиться к прибору пр-102?
Я в соседней параллельной теме совсем недавно картинку выкладывал, она как раз о архиве который считывается через клауд, там даже несколько архивов суточный и месячный, короче, задаёшь число месяца(1-31) на выходе суточный архив за это число, задаёшь номер месяца(1-12), на выходе месячный архив за этот месяц, всё! Никаких трудностей, что Вы предрекали, не возникло! Вот эта картинка:
Вложение 52857
Мне так кажется не сложно сделать и чтобы автоматически считывались недостающие архивы после восстановления связи, ну если немного мозгами пошевелить(на уровне пчелы)!
Сергей0308 не все так просто. Как вы Scada системе скажете, что
1. нужно считать архив за определенный день
2. у Scada к тому же должны быть базы именно для архивов и возможность ручного управления с выставлением даты для чтения архива
сохранить в приборе (ПР) это одно, еще и вторая сторона должна уметь. А Modbus немного не тот протокол для этого. Точнее у протокола есть такие возможности, но увы часто они не реализованы.
Для архива если не шиковать 2 регистра для передачи месячного объема, 2 регистра дневного и умение со стороны Scada это все раскладывать куда нужно.
Либо 31 регистр на каждый день и 12 регистров или 24 регистра на 12 месяцев, а это жирно для ПР...
В той же Мастерскаде столько возможностей, мама не горюй, там вообще никаких проблем не возникнет, она очень умная, практически всё умеет! Наоборот проблем с Овен клаудом будет больше, придётся всё "мыслительные" способности переложить на ПР, а клауд только данные будет пересылать туда-сюда!
Сергей0308 возможностей скриптовых. Эти возможности есть у многих Scada.
Тут больше вопрос в другом, как возможности скрестить с протоколом Modbus ? в плане настроек чтения одного регистра в разные ячейки БД. А это уже далеко не просто. Учитывая, что сама MasterScada напрямую не может работать с Modbus, а только через OPC. Да даже если бы умела, как правило мало кто реализует пользовательские данные протокола Modbus (есть в его расширении) да и опять же, в приборах это встречается редко.
з.ы. сам жду не дождусь, когда разработчик выпустит следующую версию RapidScada, обещает, что появятся БД для архивов. Ну и кроме архивов есть в приборах параметры, которые не нужно читать постоянно, а только для конфигурации и в обычной БД им как бы не место...
имхо, мне на возможности MasterScada плевать, меня не возможности рюшечек интересуют, а возможности и гибкость системы, которыми MasterScada не обладает. Да еще и тормознутая донельзя...
Добрый день. Подскажите, можно ли в отладчике настроить отображение вещественного числа в виде 0.625, а не 6.25Е-1?
Попробуйте округлить до тысячных: Вложение 53508
Только начал осваивать программирование в ОвенЛоджик. Посмотрите программку, кому не сложно, может что посоветуете. Особенно интересует способ сохранения значений переменных на предидущих циклах регулирования в ПИДе.
Коллеги подскажите почему не во всех переменных ( булевых ) присутствуют расширенные настройки Вложение 53534 Вложение 53535
Не разу на это не обращал внимание .
Доброго дня. Подскажите как грамотно реализовать отключение таймера TP, я применил функцию SEL для подмены времени сработки, но есть необходимость корректировать время через дисплей для отладки процесса. Будет ли корректно работать изменение времени через дисплей (реле ПР200), или подскажите другой более правильный способ. Выход таймера отключать не совсем подходит для задачи, тк время сработки таймера все равно идет.
Вложение 53536
Евгений8686 на выходе TP нужен еще AND чтобы исключить импульс. В пошаговой эмуляции посмотрите что будет.
А если было время 5 сек а вы с экрана ставите 3 сек и они уже прошли, то он отключится на следующем цикле вроде.
Алексеев проверьте энергонезависимость этих переменных.
Вот это меня и смутило переменная "предупреждение" и ещё многие не имеют энергонезависимость , а "расширенные настройки" отсутствуют . А те которые имеют ставишь энергозависимость пропадает опция "расширенные настройки".
убираешь энергозависимость появляется . Это какая то фича или есть ещё какие нибудь нюансы ?????
Подскажите, а с дисплея я смогу изменять значение времени в функции SEL, т.е. эти 5000мс на 3000 и тд?
Евгений8686 если сделаете ее переменной а не константой, то сможете. Даже можете вводить секунды, умножать потом на мс и подавать на SEL
Добрый день, подскажите как реализовать программно мастер выключатель на пр102? Задача мастер выключателя отключать свет во всем доме!
Не пойму в чем разница, почему в первом случае все нормально, а во втором связь стала цикличной.Вложение 53538
если в blink записать время удержания высокого уровня, в момент, когда он генерирует высокий уровень, то генерации продолжится с учетом нового значения времени, или только в следующем переходе к высокому уровню он примет изменения?
Для автора 8913******* Ну вопрос не корректный. По каким условиям выключаем свет(время, событие, условие). Выключение в доме. Выключение всего электричества в доме. Нужно ли выключать из одной точки управления. Нужно ли выключать дистанционно (облачный сервис овен). Как возобновить работу освещения? Сколько группы выключаем. Что управляет этим группами?(пускатель /реле). Цепи управления в вашем доме(24/220)? Потом напишите на бумаге как вы хотите выключать Ваш свет. Типа Выключаем свет в доме ЕСЛИ время РАВНО 23: 30. А вот когда получите все ответы на свои вопросы вот тогда и будете создавать свою схему или макрос. Сейчас я бы подходил к щиту и отключал автомат цепей освещения.
Примеры для раздельного вкл/выкл и мастера есть тут https://www.youtube.com/watch?v=kE0sobkGYLA
Добрый день! подскажите, В логической схеме некоторые линии связи программа выделила желтым цветом, при этом в симуляции всё работает, что бы это значило?
И второе, как можно настроить, чтобы пересечения линий связи образовывали визуальный мостик, по видео обучения они появляются автоматически.
Керн почитай в справке о ЛИНИИ ЗАДЕРЖКИ. Это значить Лоджик видит циклическую связь. На работу не влияет. Мостики были в старых версиях. Отказались. Если большая схема то не очень удобно читать.( дело привычки)
да, конечно было бы супер, если в логические элементы можно было бы добавлять входы как в codesys