Siemens Wincc Runtime Ve SQL Haberleşme
-
Arkadaşlar merhaba,
WinCC Scada ile uğraşmış olan arkadaşlar var ise bir konuda yardımlarınızı bekleniyorum. Makineden istenilen verileri veritabanına sıkıntısız bir şekilde kaydedebiliyorum. Ancak veritabanı içerisinde bulunan verileri scadadan okuma işlemini siemensin sitesinden indirdiğim örneği incelediğim halde beceremedim. Yazdığım script aşağıda. Acaba nerde hata yapıyorum ?
DB1 = DINT olarak belirttim. Veritabanı içerisinde 11 adet sütunum var. İlk sütunum bigint yaptım ve sadece 1. sütunu okumak istiyorum.
Dim conn,rst,Kayitlar On Error Resume Next Set conn = CreateObject("ADODB.Connection") Set rst = CreateObject("ADODB.Recordset") conn.Open "Provider=MSDASQL;DSN=Deneme" If Err.Number <> 0 Then ShowSystemAlarm "Error #" & Err.Number & " " & Err.Description Err.Clear Set conn = Nothing Exit Sub End If Kayitlar = "SELECT * FROM" & "Kayitlar" Set rst = conn.Execute(Kayitlar) Kayitlar = "SELECT * FROM " & "Kayitlar" & " ORDER By " Set rst = conn.Execute(Kayitlar) If Err.Number <> 0 Then ShowSystemAlarm "Error #" & Err.Number & " " & Err.Description Err.Clear conn.close Set conn = Nothing Set rst = Nothing Exit Sub End If If SmartTags("Next") = True Then rst.MoveNext Else End If If Not (rst.EOF And rst.BOF) Then rst.MoveFirst SmartTags("DB1") = rst.Fields(0).value rst.Close Else End If conn.close Set rst = Nothing Set conn = Nothing
-
Yazdığın vbscript. Lakin merak ettiğim şey
Kayitlar =
"SELECT * FROM"
&
"Kayitlar" bu kod bloğu çalışıyor mu?
Kayitlar =
"SELECT * FROM "
&
" Kayitlar" şöyle olsa çalışır sanki.
-
ontedi bunu yazdı
Yazdığın vbscript. Lakin merak ettiğim şey
Kayitlar =
"SELECT * FROM"
&
"Kayitlar" bu kod bloğu çalışıyor mu?
Kayitlar =
"SELECT * FROM "
&
" Kayitlar" şöyle olsa çalışır sanki.
Aynen hocam siemens scada da vbscript kullanıyor :)
Hocam konuyu açtıktan sonra biraz daha deneme yapma fırsatım oldu. Ondan sonra başka bir fabrikaya gitmem gerekti kontrol edemedim.
Sorunumu çözdüm galiba. Aslında kod çalışıyormuş. Sadece scada tarafına yazdığım taglerin türleri yanlışmış. Tablodaki string alanı dint olarak belirlediğim alana yazmaya çalışıyormuşum.
Rahatça alabiliyorum. Sağolasın ilginden dolayı (: