demura09
Üye
- Katılım
- 8 Eki 2011
- Mesajlar
- 4
- Puanları
- 1
- Yaş
- 34
Merhabalar. Kurmuş olduğum bir sistemde sahadan gelen 7 adet sicaklik değerini okuyorum. Bu sıcaklik değerlerini start sinyali geldiğinde excele kayıt etmek istiyorum. Bunun için Siemens PC Station oluşturdum ve WinCC Advanced kullandım ve bir script hazırladım. Aslında belli bir noktaya kadarda çalışıyor ama her saniye kayıt kısmını yapamadım. Yazmış olduğum scriptte o günün tarih ve saatinde bir adet klasör oluşturuyorum ve bu klasör içinde de Sıcaklik_Kayit adında bir excel oluşturuyorum. Bu excel içine de kayıt işlemi gerçekleştirebiliyorum. Ama bu kayıt işlemi için ana ekrana bir tane buton koymam ve kayıt için sürekli ona basmam gerekiyor. Yani script PLC'den gelen bir tetik ile çalışmıyor. Yazmış olduğum kod aşağıdadır. Bilen arkadaşlar destek olabilirlerse sevinirim.
Kod:
Sub Write_Data()
Dim objFSO, objFSOText, objFolder, objFile, objShell
Dim File, FileName, FileExist, Apendix, Row
Dim strDirectory, strFile, strDate
Dim d, m, y, h, mi
'Start sinyali yoksa kayıt oluşturma
If Not SmartTags("Start") Then
Exit Sub
End If
d=Day(Now)
m=Month(Now)
y=Year(Now)
h=Hour(Now)
mi=Minute(Now)
strDate = y & "." & m & "." & d & "-" & h & "." & mi
strDirectory = "C:\Sicaklik Kayit\" & " " & strDate
' Create the File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Check if folder exists
If objFSO.FolderExists(strDirectory) Then
Set objFolder = objFSO.GetFolder(strDirectory)
Else
Set objFolder = objFSO.CreateFolder(strDirectory)
End If
' Check if file exists
FileName = "Sicaklik_Kayit.csv"
Set File = CreateObject("Scripting.FileSystemObject")
FileExist = File.FileExists(objFolder & "\" & FileName)
If FileExist = False Then
File.CreateTextFile(objFolder &"\" & FileName)
Set Apendix = File.OpenTextFile(objFolder & "\" & FileName,8)
Apendix.WriteLine("Cihaz_Act_Sicaklik ; Cihaz_Set_Sicaklik; Kalıp_Giriş_Sicaklik ; Kalıp_Çıkış_Sicaklik ; Kalıp1 ; Kalıp2 ; Kalıp3 ; Kalıp4")
Apendix.Close
Set File = Nothing
End If
Set File = CreateObject("Scripting.FileSystemObject")
Set Row = File.OpenTextFile(objFolder &"\"& FileName,8)
Row.WriteLine(SmartTags("DB_ACT_SICAKLIK") & ";" & SmartTags("SET_OKUNAN") & ";" & SmartTags("ARDUINO_DB_SICAKLIK1") & ";" & SmartTags("ARDUINO_DB_SICAKLIK2") & ";" & SmartTags("ARDUINO_DB_SICAKLIK3") & ";" & SmartTags("ARDUINO_DB_SICAKLIK4") & ";" & SmartTags("ARDUINO_DB_SICAKLIK5") & ";" & SmartTags("ARDUINO_DB_SICAKLIK6"))
Row.Close
Set objFolder = Nothing
Set objFile = Nothing
SmartTags("KAYIT_OK")=True
End Sub
Moderatör tarafında düzenlendi: