WINCC и SQL добавляют новый элемент в таблицу

Я создал проект в WINCC, где я создаю таблицу (примеры внизу), а затем помещаю в нее значения датчика температуры с циклами в одну секунду. Моя проблема в том, что через некоторое время новые данные не идут внизу таблицы, они случайным образом попадают в какое-то место и начинают писать туда. Он не перезаписывает его, просто начинает вставлять случайным образом, а через некоторое время он идет вниз и случайным образом, затем снова и т. Д.

Вот мой код для создания таблицы:

Sub Create_new_table ()
Dim conn, rst, SQL_Table, name

On Error Resume Next

Set conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
name =Year(Date) & "_" & Month(Date) & "_" & Day(Date)
'Open data source - Datenquelle öffnen
conn.Open "Provider=MSDASQL;DSN=Database" 'DSN= Name of the ODBC database - DSN= Name der ODBC-Datenbank

'Error routine - Fehlerroutine
If Err.Number <> 0 Then
    ShowSystemAlarm "Error #" & Err.Number & " " & Err.Description
    Err.Clear
    Set conn = Nothing
    Exit Sub
End If


' FORMING TABLE
SQL_Table = "CREATE TABLE Paster_TT43_" & name & "(" &_
        "Signal NVARCHAR(30) ," &_
        "Date NVARCHAR(30) ," &_
        "Time NVARCHAR(30) ," &_
        "Value NVARCHAR(30)  )"
Set rst = conn.Execute(SQL_Table)

' There are more tables to create there is one for example
'Error routine - Fehlerroutine 
If Err.Number <> 0 Then
    ShowSystemAlarm "Error #" & Err.Number & " " & Err.Description
    Err.Clear
    'Close data source - Datenquelle schließen
    conn.close
    Set conn = Nothing
    Set rst = Nothing
    Exit Sub
End If

'Close data source - Datenquelle schließen
conn.close

Set rst = Nothing
Set conn = Nothing

End Sub

Это был пример создания одной таблицы. Теперь пример добавления в нее новых элементов. Это происходит каждую секунду.

Sub Add_New_Element()
Dim conn, conn2, rst, SQL_Table,SQL_Table2, name, rssql, rs, insertsql, Date, Time

name =Year(Date) & "_" & Month(Date) & "_" & Day(Date)
Date = Day(Date) & "_" & Month(Date) & "_" & Year(Date) 
Time = Hour(Time) & ":" & Minute(Time) & ":" & Second(Time)

On Error Resume Next

Set conn = CreateObject("ADODB.Connection")
conn.Open "Provider=MSDASQL;Initial Catalog=BazaPodataka;DSN=Database"
If Err.Number <> 0 Then
    ShowSystemAlarm "Error #" & Err.Number & " " & Err.Description
    Err.Clear
    Set conn = Nothing
    Exit Sub
End If

SQL_Table = "INSERT INTO Paster_TT43_" & name & "(Signal, Date, Time, Value) VALUES ('" & SmartTags("15_Analog_input_TT43.Name") & "' , '" & datum & "' , ' " & vreme & "' , ' " & SmartTags("15_Analog_input_TT43.Scaled_Signal") &  " ')"
Set rst = conn.Execute(SQL_Table)

'more signals after this etc..
conn.close
Set rst = Nothing
Set conn = Nothing

End Sub

Благодарю вас

0 ответов

Другие вопросы по тегам