[?] Вызов SQL процедуры по установке бита в PLC Siemens

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
Post Reply
komatic
Posts: 79
Joined: Thu Mar 15, 2007 12:59 pm
Location: Ukraine
Contact:

[?] Вызов SQL процедуры по установке бита в PLC Siemens

Post by komatic » Mon Dec 13, 2010 11:42 am

Добрый день,
подскажите как такое можно сделать?
есть Microsoft SQL, PLC S7-300, между ними ethernet.
Есть еще MP377 ая панель.

Спасибо.

sania
Site Admin
Posts: 1371
Joined: Sat Aug 13, 2005 6:15 am
Contact:

Re: [?] Вызов SQL процедуры по установке бита в PLC Siemens

Post by sania » Mon Dec 13, 2010 10:41 pm

попробуй это
viewtopic.php?f=6&t=10903&p=28050#p28050
там ссылка на пример с сименса
для соединения без одбс нужет траст коннекшн,тогда:

Code: Select all

Dim conn, rst, SQL_Table
If Machine_Tags_Readed = True Then	             //внутр.таг:чтение с плк без ошибок
    Alarm_Time_Diff= DateDiff("n" , Start_date, End_Date)
    Machine_Tags_Readed =False
  
'////////////////////////////////////////////////////////////////
'                    SQL Routine
'////////////////////////////////////////////////////////////////
    On Error Resume Next
    Err.Clear
    Set conn = CreateObject("ADODB.Connection")
    Set rst = CreateObject("ADODB.Recordset")

'Open data source
    conn.open "Provider=sqloledb;Data Source=SQLSERV;Initial Catalog=SАР; Trusted_connection=yes;"    // SQLSERV & SАР поменяй на имя своего сервера и базы
'Error routine
         If Err.Number <> 0 Then
	            ShowSystemAlarm "Error #" & Err.Number & " " & Err.Description
	            Err.Clear 
	            Decrease=False
	            Conn_SQL_Error=1                                      //для перезапуска скрипта
         Else Conn_SQL_Error=0
         End If

    SQL_Table = "INSERT INTO " & Table_Alarm & " VALUES ('"& DT_WinCC_to_SQL(End_Date) & _
         "' , '" & Machine_Name    & "' , '" & P_Runn(P_Running) & "' , '" & Status_Machine &_
         "' , '" & Data_rate_mach & "' , '" & Event_error  & "' , '" & SmartTags("Alarm") &_
         "' , '" & DT_WinCC_to_SQL(Start_date)     & "' , '" & Alarm_Time_Diff & "',NULL)"
   ShowSystemAlarm    SQL_Table               //осталось от пусков,да так и прижилось
'Insert the data record of the table
    Set rst = conn.Execute(SQL_Table)
'Close data source
    conn.close
    Set rst = Nothing
    Set conn = Nothing
    SetBit(Decrease)                                      //бит о прочтении и разрешение создание новой строки
End If
вызов скрипта:
Image

komatic
Posts: 79
Joined: Thu Mar 15, 2007 12:59 pm
Location: Ukraine
Contact:

Re: [?] Вызов SQL процедуры по установке бита в PLC Siemens

Post by komatic » Sat Dec 18, 2010 7:47 am

спасибо
информация пригодилась

Post Reply