/
Radiator
/
VesDriverRadiatorTagn
Обзор
Документация
Войти
/
Radiator
/
VesDriverRadiatorTagn
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Program.vb
112 строк
3 KB
Radiator
create: kernel_dec.vb, metrabus.vb, Modbus_proc.vb, nais_proc.vb, PhysTech.vb, Program.vb, ReadCFG.vb, Tenso_proc.vb, Tenso643_proc.vb, Cas_proc.vb, comport_api.vb, Error_Proc.vb
18 май 2026, 15:04
Верифицирован
18 май 2026, 15:04
3aaccb8
Код
Авторство
О чём код?
Module Program Private Stor As String Private Drv_LogStor As Object Sub Main() System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance) Sw = IO.File.AppendText("ves_drv_main.log") Sw.AutoFlush = True Dim MyCFG As myCFG = ReadCfg("ves_drv.cfg") If MyCFG.ReadError Then Return End If Log("������ ������ ��������") Try ReceiveSerialData(MyCFG) Catch ex As Exception Log("����������� ���������� ������ ��������") Log(ex.Message) Sw.Close() End Try End Sub Sub ReceiveSerialData(ByRef MyCfg As myCFG) ' Receive strings from a serial port. Select Case MyCfg.TermType Case "cas" Cas(MyCfg) Case "smart" Cas(MyCfg) Case "staco" Cas(MyCfg) Case "titan" Cas(MyCfg) Case "nais" Nais(MyCfg) Case "tenso" Tenso(MyCfg) Case "tenso643" Tenso_643(MyCfg) Case "modbus" Modbus(MyCfg) Case "metrabus" Metrabus_read(MyCfg) Case "phystech" PhysTechRead(MyCfg) End Select End Sub Sub My_Ves_Fix(ByRef MyCFG As myCFG, ByRef Weight As Single) Dim Ts As TimeSpan Dim BTime As DateTime = DateTime.Now Dim HaveDone As Boolean = False Dim ErrCount As Integer = 0 Dim LastErrMsg As String = "" Do Try IO.File.WriteAllText(MyCFG.Ves_File, Replace("" & Weight, ",", ".")) HaveDone = True Exit Do Catch ex As Exception LastErrMsg = ex.Message ErrCount = ErrCount + 1 End Try Ts = DateTime.Now - BTime Loop While Ts.Seconds < 1 If HaveDone Then If ErrCount > 0 Then Log("��������� " & ErrCount & " ������ ������ � ���� ����������� ���� " + MyCFG.Ves_File) Log(LastErrMsg) End If Else Log("������ ������ � ���� ����������� ���� " + MyCFG.Ves_File) Log(LastErrMsg) End If Try Dim SlashPos As Integer = InStrRev(MyCFG.Sc_Log, "\") Dim Path As String = Left(MyCFG.Sc_Log, SlashPos) Dim Name As String = Right(MyCFG.Sc_Log, Len(MyCFG.Sc_Log) - SlashPos) Dim sc_data As Object = IO.File.AppendText(Path & Now.ToString("dd.MM.yyyy") & "_" + Name) Log(sc_data, "" & Weight) sc_data.Close() Catch ex As Exception Log("������ ������ � ���� ���� ����� " + MyCFG.Sc_Log) Log(ex.Message) End Try End Sub Sub My_Pause_Mil_Sec(Seconds As Integer, Milliseconds As Integer) Sleep(Seconds * 1000 + Milliseconds) End Sub End Module