9172.png
Привет вот мой вариант рабочего фильтра сообщений ....
'Автор: Инженер АСУ ТП, Солдатенко Павел Владимирович 2020/12/20
'Обьявлем вспомогательные тэги
Dim txt, FINISH, day_1,day_2,month_1,month_2,year_1,year_2,hour_1,min_1,sec_1,hour_2,min_2,sec_2, text, tag
'Записываем в тэг txt имена с ячейки AlarmLogging TEXT2(Area) и получаем сообщ. только по этим ячейкам
txt = txt + " AND TEXT2 IN('Маслонасос 1','Маслонасос 2','LT-01','АВР маслонасосов','СБРОС аварий')"
'Присваиваем значение фильтра тэгу
HMIRuntime.Tags("Btn_MSG").Write txt
'Фильтр по дате и времени (индикаторы ввода год/мес/число/час/мин/сек);
FINISH = ""
If HMIRuntime.Tags("ACTIVATE_FILTR").Read = 1 Then
day_1 = ScreenItems("IO_day_start").OutputValue ' Начальный фильтр - число;
month_1 = ScreenItems("IO_month_start").OutputValue ' Начальный фильтр - месяц;
year_1 = ScreenItems("IO_year_start").OutputValue ' Начальный фильтр - год;
hour_1 = ScreenItems("IO_hour_start").OutputValue ' Начальный фильтр - час;
min_1 = ScreenItems("IO_min_start").OutputValue ' Начальный фильтр - мин;
sec_1 = ScreenItems("IO_sec_start").OutputValue ' Начальный фильтр - сек;
day_2 = ScreenItems("IO_day_end").OutputValue ' Конечный фильтр - число;
month_2 = ScreenItems("IO_month_end").OutputValue ' Конечный фильтр - месяц;
year_2 = ScreenItems("IO_year_end").OutputValue ' Конечный фильтр - год;
hour_2 = ScreenItems("IO_hour_end").OutputValue ' Конечный фильтр - час;
min_2 = ScreenItems("IO_min_end").OutputValue ' Конечный фильтр - мин;
sec_2 = ScreenItems("IO_sec_end").OutputValue ' Конечный фильтр - сек;
tag = HMIRuntime.Tags("Btn_MSG").Read 'Чтение тэга в который пишутся данные фильтра с выбранной кнопки;
'склейка даты/времени начала фильтра И даты/времени конечного фильтра
FINISH = "DATETIME >= '"+CStr(year_1)+"-"+CStr(month_1)+"-"+CStr(day_1)+" "+CStr(hour_1)+":"+CStr(min_1)+":"+CStr(sec_1)+".000'" 'Дата/время начала фильтра
FINISH = FINISH + " AND DATETIME <= '"+CStr(year_2)+"-"+CStr(month_2)+"-"+CStr(day_2)+" "+CStr(hour_2)+":"+CStr(min_2)+":"+CStr(sec_2)+".999'" 'Дата/время конечного фильтра
End If
'склейка даты/время начало и конца и добовление данных фильтра
If HMIRuntime.Tags("ACTIVATE_FILTR").Read = 1 Then
FINISH = FINISH + tag
End If
'Присваиваем значение фильтра тегу
HMIRuntime.Tags("Filter_FilterString").Write FINISH
'Присваиваем значение фильтру окна Alarm Control
Set text=ScreenItems.Item("ALARM_LIST_HIS")
text.MsgFilterSQL = FINISH
End Sub
У вас нет необходимых прав для просмотра вложений в этом сообщении.