Здравствуйте, столкнулся с задачей вывода суточного отчета в проекте PCS7.
С определенного времени (допустим, с 04:00) должен создаваться файл (*.csv или excel) в него записываются:
-текущая метка времени
-значение определенного тэга .
Далее каждые 2 часа в течение суток запись повторяется в созданный файл. Через 24 часа, создается новый файл и все повторяется.
На данный момент написал скрипт VB, который пишет значения тэга с меткой времени при вызове в файл Report_*Data*.csv. В скрипте имеется 2 переменных-счетчика, связанных с тэгами. counterCalls (связана с тэгом counter_call) - считает 12 повторений (12*2ч=24) и после создает файл отчета с новым именем, после обнуляется. counterDays (связана с тэгом counter_day) - считает прошедшие дни.
Скрипт закинул в глобальные скрипты. Но не могу выбрать подходящий триггер для него, т.к. повторения через 2 часа в стандартных циклах нет. Также глобальный скрипт начинает работать сразу после запуска рантайма, а требуется запуск ровно в 4:00.
Как добиться того, чтобы скрипт запускался ровно в 4:00 и далее каждые 2 часа
P.S. Возможно ли решить данную задачу без скриптов с использованием встроенного в WinCC ReportDesigner? Исторического сервера в проекте нет.
Код VB под спойлером
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
2х часовые суточные отчеты
-
- осмотрелся
- Сообщения: 194
- Зарегистрирован: 19 сен 2019, 10:09
- Имя: Макс
- Страна: Россия
- город/регион: Славянск-на-Кубани
- Благодарил (а): 5 раз
- Поблагодарили: 34 раза
2х часовые суточные отчеты
Ставьте триггер на ежечасно в 0 минут 0 секунд или когда вам надо.
В теле скрипта получите час от текущего времени Hour(Now()), делите его на 2, если остаток 0 здесь ваш отчет, End if
В теле скрипта получите час от текущего времени Hour(Now()), делите его на 2, если остаток 0 здесь ваш отчет, End if
WinCC 7.4 SP1 Upd15, Step5.6
-
- здесь недавно
- Сообщения: 10
- Зарегистрирован: 09 фев 2024, 08:43
- Имя: Евгений
- Страна: Россия
- Благодарил (а): 4 раза
2х часовые суточные отчеты
Спасибо! Вопрос с отсевом нечетных часов решился. Осталось понять каким образом реализовать запуск скрипта именно с определенного времени? Если добавить условие, что Hour должен быть больше 2х часов (2:00), то отсекается запись данных в 00:00. Можно ли глобальный скрипт запустить не вместе с рантаймом а именно в назначенное для него время?
Код: Выделить всё
If ((Hour(Now())>=2) Or (counterCalls=11)) Then 'Условие запуска скрипта с 2:00 <- никакое
If (Hour(Now()) Mod 2 =0) Then 'условие отсева показаний нечетных часов
***
End If
End If
-
- осмотрелся
- Сообщения: 194
- Зарегистрирован: 19 сен 2019, 10:09
- Имя: Макс
- Страна: Россия
- город/регион: Славянск-на-Кубани
- Благодарил (а): 5 раз
- Поблагодарили: 34 раза
2х часовые суточные отчеты
Отдельно нельзя, рантайм запускает скрипт. Просто в условии скрипта прописывайте нужные условия.
If Hour(Now())>=2) Or Hour(Now())>)=0
If Hour(Now())>=2) Or Hour(Now())>)=0
WinCC 7.4 SP1 Upd15, Step5.6