Private Sub Timer2_Timer()
If mbcm.Connected Then
If Stop_tekuch_Kotel Then
Label17(1).Caption = "Текучка остановлена"
Else
Label17(1).Caption = "Текучка запущена"
End If
'------=====Повторное считывание архивов===========--------------
If (arhiv_HD_Kotel <> 0) And (arhiv_HD_Kotel < 4) And (Minute(Time) = Read_arhiv_min + 7) And povt_kotel Then
povt_kotel = False
[I]ReadArhiv(300, 3, 0, Val(TxHour.Text))[/I] 'Запрос на считывание часового архива ТС1
arhiv_HD_Kotel = 1
FileLog = FreeFile
Open (App.Path & "\Log.txt") For Append As #FileLog
Print #FileLog, "Повторный запрос котельной. Дата: " + Str(DTPicker1.Value)
Close #FileLog
End If
If (Minute(Time) <> Read_arhiv_min + 7) Then
'прошли начало нового часа взводим блокировку
povt_kotel = True
End If
'------=====Считывание архивов===========--------------
If (Minute(Time) = Read_arhiv_min + 2) And Arh_Bool_Kotel Then
next_HD_Kotel = 0
Stop_tekuch_Kotel = True
mbcm3.FreeAllTasks 'Отменяем все запросы ранее
' если внутри интервала то запускаем запрос ЧАСОВОГО архива TC1
Arh_Bool_Kotel = False ' блокируем повторный запрос
LstArchData2.Clear
DTPicker1.Value = DateAdd("h", -1, CDate(Date + Time))
TxHour.Text = DTPicker1.Hour
[COLOR="Red"] ReadArhiv 300, 3, 0, Val(TxHour.Text) [/COLOR]'Запрос на считывание часового архива ТС1
arhiv_HD_Kotel1 = 1
End If
If next_HD_Kotel = 1 Then
[COLOR="red"]ReadArhiv(301, 3, 1, 0)[/COLOR] 'Запрос на считывание суточного архива ТС1
arhiv_HD_Kotel1 = arhiv_HD_Kotel1 + 1
End If
If next_HD_Kotel = 2 Then
[COLOR="red"]ReadArhiv_narast(3011, 3, 18, Val(TxHour.Text))[/COLOR] 'Запрос на считывание часового архива ТС2
arhiv_HD_Kotel1 = arhiv_HD_Kotel1 + 1
End If
If next_HD_Kotel = 3 Then
[COLOR="red"]ReadArhiv_narast(3012, 3, 19, 0)[/COLOR] 'Запрос на считывание суточного архива ТС2
arhiv_HD_Kotel1 = arhiv_HD_Kotel1 + 1
End If
If (Minute(Time) <> Read_arhiv_min + 2) Then
'прошли начало нового часа взводим блокировку
Arh_Bool_Kotel = True
End If
'------=====Считывание текучки===========--------------
If Stop_tekuch_Kotel = False Then
If (Minute(Time) <> Read_arhiv_min) Then
If Cikl_opros_Kotel = 0 Then
' Текущее время для установки 432769
vari_Kotel = dtUnsignedDoubleWord
[COLOR="red"] mbcm3.ReadHoldRegs (311, 0, 32768, vari_Kotel, 1)[/COLOR]
End If
If Cikl_opros_Kotel = 1 Then
' давление
vari_Kotel = dtSingle
[COLOR="red"] mbcm3.ReadInputRegs (312, 0, 49212, vari_Kotel, 1)[/COLOR] ' регистры типа Input 349213
End If
If Cikl_opros_Kotel = 2 Then
' объемный расход
vari_Kotel = dtSingle
[COLOR="red"] mbcm3.ReadInputRegs (313, 0, 49242, vari_Kotel, 1) [/COLOR] ' регистры типа Input 349243
End If
If Cikl_opros_Kotel = 3 Then
' Температура
vari_Kotel = dtSingle
[COLOR="red"] mbcm3.ReadInputRegs (314, 0, 49224, vari_Kotel, 1) [/COLOR] ' регистры типа Input 349225
End If
If Cikl_opros_Kotel = 4 Then
' Общее тепло, потребленное абонентом - в рабочем режиме, Гкал ТЕПЛОСИСТЕМА ТС1(0)
' Тепло, отобранное с водоразбором - в рабочем режиме, Гкал ТЕПЛОСИСТЕМА ТС1(0)
' Отобранная масса - в рабочем режиме, т ТЕПЛОСИСТЕМА ТС1(0)
vari_Kotel = Array(1)
ReDim vari_Kotel(1) As Integer
vari_Kotel(0) = dtUnsignedDoubleWord
vari_Kotel(1) = dtSingle
[COLOR="red"] mbcm3.ReadInputRegs(315, 0, 49342, vari_Kotel, 1) [/COLOR] ' регистры типа Input 349343
End If
If Cikl_opros_Kotel = 5 Then
' Общее тепло, потребленное абонентом - в рабочем режиме, Гкал ТЕПЛОСИСТЕМА ТС3(2)
' Тепло, отобранное с водоразбором - в рабочем режиме, Гкал ТЕПЛОСИСТЕМА ТС3(2)
' Отобранная масса - в рабочем режиме, т ТЕПЛОСИСТЕМА ТС3(2)
vari_Kotel = Array(3)
ReDim vari_Kotel(1) As Integer
vari_Kotel(0) = dtUnsignedDoubleWord
vari_Kotel(1) = dtSingle
vari_Kotel(3) = dtSingle
vari_Kotel(2) = dtUnsignedDoubleWord
[COLOR="red"]mbcm3.ReadInputRegs(318, 0, 49326, vari_Kotel, 1) [/COLOR] ' регистры типа Input 349391
End If
End If
End If
If Cikl_opros_Kotel = 5 Then Cikl_opros_Kotel = 0 Else: Cikl_opros_Kotel = Cikl_opros_Kotel + 1
End If
End Sub