Просмотр полной версии : Счетчик событий
Dzherenov
31.07.2022, 18:45
Подскажите, как лучше реализовать подсчет событий за месяц. Например количество остановок оборудования за текущий месяц. Так чтоб они не пропадали после перезагрузки клиента.
Задам, тут еще один вопрос. У меня не получается добавить в библиотеку созданный объект, перетаскиваю в библиотеку он теряет все связи и визуализации, а потом источник тоже переписывается на неверный из библиотеки. Так же если я создаю объект в библиотеке и переношу его в проект начинаются глюки типа потеря связи и прочие зависания.
kondor3000
31.07.2022, 21:46
Подскажите, как лучше реализовать подсчет событий за месяц. Например количество остановок оборудования за текущий месяц. Так чтоб они не пропадали после перезагрузки клиента.
Задам, тут еще один вопрос. У меня не получается добавить в библиотеку созданный объект, перетаскиваю в библиотеку он теряет все связи и визуализации, а потом источник тоже переписывается на неверный из библиотеки. Так же если я создаю объект в библиотеке и переношу его в проект начинаются глюки типа потеря связи и прочие зависания.
У вас же ПЛК есть, зачем вам события в скаде считать, когда их можно в ПЛК обработать.
Все переменные в слейве ПЛК и так энергонезависимые, а те которые не слейве можно в ретайн добавить.
Dzherenov
31.07.2022, 22:50
Разве значения счетчиков при выключении питание не обнуляются в ПЛК? Так то я в основном для изучения возможностей, остановился вот на симпл скаде и масрет скаде 4.
kondor3000
01.08.2022, 09:08
Разве значения счетчиков при выключении питание не обнуляются в ПЛК? Так то я в основном для изучения возможностей, остановился вот на симпл скаде и масрет скаде 4.
Считать можно не только счётчиком. Например есть событие X1 (Bool) и переменная Count (WORD) в слейве, которая и будет сохранена. Через R_TRIG
Х1 включает Х2 на один цикл
R_TRIG1(CLK:=X1 , Q=>X2 );
IF X2 THEN
Count:=Count+1;
END_IF
Таким же образом считают например и часы наработки.
Подскажите, как лучше реализовать подсчет событий за месяц. Например количество остановок оборудования за текущий месяц. Так чтоб они не пропадали после перезагрузки клиента.
Если событие пишется в журнал событий, то можно воспользоваться ФБ EventsCounter, на его входе задать правильный фильтр, с нужными ограничениями ( тип события, период дат и т.п.)
После уже получать необходимой количество событий за любой период времени
Dzherenov
01.08.2022, 11:59
Спасибо за ответы, а что насчет глюков с библиотеками? Никто не сталкивался?
Спасибо за ответы, а что насчет глюков с библиотеками? Никто не сталкивался?
Возможно стоит создавать окна визуализации в библиотеке hmi,
затем уже экземпляры вставлять в библиотечный объект
Да и без примера, как куда что добавлено и связано не понятно о чем речь.
Проблемы могут быть как с некорректной компоновкой вашего объекта, так и с какими то недокументированными особенностями :)
Dzherenov
01.08.2022, 22:44
Да я сам не знаю, делаю тоже самое все не в библиотеке все работает четко, приношу в библиотеку в объекте создается куча новых пустых папок, если в проекте просто по объекту щелкну добавить еще один создается его копия которая работает как надо. может криво скада встала, может с другими конфликтует. Если б это было основной работой было бы критично, а так на заводе проект сделать можно и с текущими глюками) может и бесплатной версии на 32 тега хватит на первое время. Симпл скада в этом плане мне больше понравилась, работает быстро и четко, если что-то не работает то это 100% мой косяк, но эти скрипты, без справочника ничего не сделать)) Если заниматься профессионально этим то конечно симпл скада неплоха, но ради 1-2 проектов слишком много новой информации.
Dzherenov
08.08.2022, 15:27
Возник еще вопрос по теме, я создал блок CTU и назначил на него переменную Counter с пометкой RETAIN, и вроде значения счетчика сохраняются (во всяком случае пока не изменю и не перезапишу программу). Теперь я хочу его сбрасывать например 1 числа каждого месяца, в ПЛК 110 есть встроенные часы или только блок RTU? И если только RTU то как то можно сделать что б после перепрошивки контроллера в него автоматически заливалось текущая дата и время. И как выцепить из полной даты только месяц?
Александр Пинэко-Скворцов
09.08.2022, 14:23
Возник еще вопрос по теме, я создал блок CTU и назначил на него переменную Counter с пометкой RETAIN, и вроде значения счетчика сохраняются (во всяком случае пока не изменю и не перезапишу программу). Теперь я хочу его сбрасывать например 1 числа каждого месяца, в ПЛК 110 есть встроенные часы или только блок RTU? И если только RTU то как то можно сделать что б после перепрошивки контроллера в него автоматически заливалось текущая дата и время. И как выцепить из полной даты только месяц?
Добрый день!
Встроенные часы в ПЛК есть. Получить текущее системное время можно при помощи блока GET_UTC_TIME. Чтобы разобрать его на составляющие, используйте блок SPLIT_DT.
Оба блока присутствуют в стандартной библиотеке в группе Функции работы с датой и временем.
6207162071
Dzherenov
10.08.2022, 15:08
Добрый день!
Встроенные часы в ПЛК есть. Получить текущее системное время можно при помощи блока GET_UTC_TIME. Чтобы разобрать его на составляющие, используйте блок SPLIT_DT.
Оба блока присутствуют в стандартной библиотеке в группе Функции работы с датой и временем.
6207162071
о спасибо большое всю справку перерыл не нашел))
Если событие пишется в журнал событий, то можно воспользоваться ФБ EventsCounter, на его входе задать правильный фильтр, с нужными ограничениями ( тип события, период дат и т.п.)
После уже получать необходимой количество событий за любой период времени
Не могу понять, как задавать этот фильтр! В help вообще неправильно написано! Мне нужно активные с приоритетом = 1. Как задать?
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot