resident
Пользователь
Харизма: 0
Офлайн
Сообщений: 22
|
|
« Ответ #3 : 18.12.2010, 19:09:36 » |
|
Скажите пожалуйста, правильно ли я делаю читая архивную запись суточного архива таким образом?
mbcm.ReadTimeArch(2, 1, 1, 10, 12, 1, 0, 0, 0, GetStructureArchivalRecord)
Используя при этом структуру архивной записи такую же как и при чтении часового архива. но часы, минуты и секунды выставляя в 0?
'Функция котрая возвращает структуру архивной записи ТСРВ Friend Function GetStructureArchivalRecord() As Array Dim i As Integer 'Счетчик Dim StructArchRec(72) 'Структура архивной записи
StructArchRec(0) = VzljotSrv.MBDataType.dtUnsignedDoubleWord StructArchRec(1) = VzljotSrv.MBDataType.dtSingle StructArchRec(2) = VzljotSrv.MBDataType.dtSingle StructArchRec(3) = VzljotSrv.MBDataType.dtSingle For i = 4 To 11 StructArchRec(i) = VzljotSrv.MBDataType.dtUnsignedDoubleWord Next i For i = 12 To 14 StructArchRec(i) = VzljotSrv.MBDataType.dtSingle Next i For i = 15 To 22 StructArchRec(i) = VzljotSrv.MBDataType.dtUnsignedDoubleWord Next i For i = 23 To 25 StructArchRec(i) = VzljotSrv.MBDataType.dtSingle Next i For i = 26 To 33 StructArchRec(i) = VzljotSrv.MBDataType.dtUnsignedDoubleWord Next i StructArchRec(34) = VzljotSrv.MBDataType.dtSingle For i = 35 To 36 StructArchRec(i) = VzljotSrv.MBDataType.dtSignedWord Next i StructArchRec(37) = VzljotSrv.MBDataType.dtUnsignedDoubleWord StructArchRec(38) = VzljotSrv.MBDataType.dtUnsignedWord StructArchRec(39) = VzljotSrv.MBDataType.dtSingle StructArchRec(40) = VzljotSrv.MBDataType.dtSignedWord StructArchRec(41) = VzljotSrv.MBDataType.dtSignedWord StructArchRec(42) = VzljotSrv.MBDataType.dtUnsignedDoubleWord StructArchRec(43) = VzljotSrv.MBDataType.dtUnsignedWord StructArchRec(44) = VzljotSrv.MBDataType.dtSingle StructArchRec(45) = VzljotSrv.MBDataType.dtSignedWord StructArchRec(46) = VzljotSrv.MBDataType.dtSignedWord StructArchRec(47) = VzljotSrv.MBDataType.dtUnsignedDoubleWord StructArchRec(48) = VzljotSrv.MBDataType.dtUnsignedWord StructArchRec(49) = VzljotSrv.MBDataType.dtSingle StructArchRec(50) = VzljotSrv.MBDataType.dtSignedWord StructArchRec(51) = VzljotSrv.MBDataType.dtSignedWord StructArchRec(52) = VzljotSrv.MBDataType.dtUnsignedDoubleWord StructArchRec(53) = VzljotSrv.MBDataType.dtUnsignedWord StructArchRec(54) = VzljotSrv.MBDataType.dtSingle StructArchRec(55) = VzljotSrv.MBDataType.dtSignedWord StructArchRec(56) = VzljotSrv.MBDataType.dtSignedWord StructArchRec(57) = VzljotSrv.MBDataType.dtUnsignedDoubleWord StructArchRec(58) = VzljotSrv.MBDataType.dtUnsignedWord StructArchRec(59) = VzljotSrv.MBDataType.dtSingle StructArchRec(60) = VzljotSrv.MBDataType.dtSignedWord StructArchRec(61) = VzljotSrv.MBDataType.dtSignedWord StructArchRec(62) = VzljotSrv.MBDataType.dtUnsignedDoubleWord StructArchRec(63) = VzljotSrv.MBDataType.dtUnsignedWord StructArchRec(64) = VzljotSrv.MBDataType.dtSingle StructArchRec(65) = VzljotSrv.MBDataType.dtSignedWord StructArchRec(66) = VzljotSrv.MBDataType.dtSignedWord StructArchRec(67) = VzljotSrv.MBDataType.dtUnsignedDoubleWord StructArchRec(68) = VzljotSrv.MBDataType.dtUnsignedWord StructArchRec(69) = VzljotSrv.MBDataType.dtSingle StructArchRec(70) = VzljotSrv.MBDataType.dtUnsignedDoubleWord StructArchRec(71) = VzljotSrv.MBDataType.dtUnsignedDoubleWord StructArchRec(72) = VzljotSrv.MBDataType.dtUnsignedDoubleWord Return StructArchRec End Function
Дело в том что полученные данные полностью совпадают с часовой архивной записью на это время, и теряется смысл чтения суточных архивов. Пожалуйста подскажите что я делаю не так.
P.S
Года четыре назад господин BorisTheBlade мне выложил пример чтения архивов ТСРВ-20 на VB6. Но он подошел мне для чтения часовых архивов ТСРВ-22(23)
вот собственно этот пример: Private Sub BtnTimeArchGet_Click() 'запрос на чтение индексного массива Dim b As Byte Dim i As Integer Dim l As Long Dim s As Single
vari = Array(72) 'создание структуры данных архива (данная структура соответствует только прибору TSR - 020) ReDim vari(72) As Integer
vari(0) = dtUnsignedDoubleWord vari(1) = dtSingle vari(2) = dtSingle vari(3) = dtSingle For i = 4 To 11 vari(i) = dtUnsignedDoubleWord Next i For i = 12 To 14 vari(i) = dtSingle Next i For i = 15 To 22 vari(i) = dtUnsignedDoubleWord Next i For i = 23 To 25 vari(i) = dtSingle Next i For i = 26 To 33 vari(i) = dtUnsignedDoubleWord Next i vari(34) = dtSingle
For i = 35 To 36 vari(i) = dtSignedWord Next i
vari(37) = dtUnsignedDoubleWord vari(38) = dtUnsignedWord vari(39) = dtSingle vari(40) = dtSignedWord vari(41) = dtSignedWord vari(42) = dtUnsignedDoubleWord vari(43) = dtUnsignedWord vari(44) = dtSingle vari(45) = dtSignedWord vari(46) = dtSignedWord vari(47) = dtUnsignedDoubleWord vari(48) = dtUnsignedWord vari(49) = dtSingle vari(50) = dtSignedWord vari(51) = dtSignedWord vari(52) = dtUnsignedDoubleWord vari(53) = dtUnsignedWord vari(54) = dtSingle vari(55) = dtSignedWord vari(56) = dtSignedWord vari(57) = dtUnsignedDoubleWord vari(58) = dtUnsignedWord vari(59) = dtSingle vari(60) = dtSignedWord vari(61) = dtSignedWord vari(62) = dtUnsignedDoubleWord vari(63) = dtUnsignedWord vari(64) = dtSingle vari(65) = dtSignedWord vari(66) = dtSignedWord vari(67) = dtUnsignedDoubleWord vari(68) = dtUnsignedWord vari(69) = dtSingle vari(70) = dtUnsignedDoubleWord vari(71) = dtUnsignedDoubleWord vari(72) = dtUnsignedDoubleWord
If CbTypeArchTime.ListIndex = 0 Then ' чтение часового архива
mbcm.ReadTimeArch 10, 1, 1, DateArch.Year - 2000, DateArch.Month, DateArch.Day, Val(TxHour.Text), 0, 0, vari
End If
If CbTypeArchTime.ListIndex = 1 Then ' чтение суточного архива
mbcm.ReadTimeArch 10, 1, 1, DateArch.Year - 2000, DateArch.Month, DateArch.Day, 0, 0, 0, vari End If
If CbTypeArchTime.ListIndex = 2 Then ' чтение месячного архива
mbcm.ReadTimeArch 10, 2, 1, DateArch.Year - 2000, DateArch.Month, DateArch.Day, 0, 0, 0, vari
End If
End Sub
|