s7-1200 ile Excele Veri Aktarımı

umtckr

Üye
Katılım
16 Mar 2015
Mesajlar
2
Puanları
1
Yaş
34
merhaba arkadaşlar..

s71200 ile analog bir değer okuyup bu değeri belirli aralıklarla otomatik olarak tarih ve saatleriyle beraber bir excel dosyasına kaydetmek istiyorum..değeri okuması tamam..ktp Ekran üzerinde trend sayfası da oluşturabiliyorum ancak excel dosyasına nasıl aktarabilirim bilmiyorum..yardımcı olursanız çok sevinirim...teşekkürler..
 
Son düzenleme:
Sayın umtckr
1-Wincc de Script yazarak data aktarımı yapılabiliyor. alttaki linkte bir örnek mecvut ancak, KTP basic panellerde Script yazılamıyor. daha üst model HMI kullanmak gerekiyor.
bu linkteki script'i test etmedim.

https://support.industry.siemens.com/tf/ww/en/posts/read-write-to-from-excel/103074/? page=0&pageSize=10

2- Yine Basic panellerin daha üst modellerinde olmak şartıyla, "HISTORICAL DATA" kullanarak. hazırlayabilirsem Ekran görütüsünü paylaşırım.

tüm bunlarla beraber TIA portaldaki WINCC programının "professional" versiyonu gerekiyor. kolay gelsin...

cevaptaki link eksik tanımlandı. doğrusu bu.

https://support.industry.siemens.co...rite-to-from-excel/103074/?page=0&pageSize=10
 
Moderatör tarafında düzenlendi:
Aşağıdaki visual basic kodLARI ile bir textboxa (direkt excele de atabilirsiniz) plc den tcp/ip ile gönderilen verileri alabilir daha sonra bunu kaydedeceğiniz bir txt dosyasını excelden delimited olarak açabilirsiniz.
ancak formu dizayn etmeniz ve mswinsck.ocx dosyasını windows system altına atıp cmd den register kaydını yapmayı unutmayınız.
isterseniz farklı ip numarası kullanabilirsiniz.

Public Class Form1
Public gelenveri As String
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
TextBox1.Text = " PORT:2000 data" & vbCrLf
TextBox1.ScrollBars = ScrollBars.Vertical
Label1.Text = Today
TextBox2.Text = "140.80.120.3"
End Sub
Private Sub Winsock1_ConnectEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Winsock1.ConnectEvent
'"connection ok"
Label2.Text = Winsock1.LocalIP & " PC bağlandı."
End Sub
Private Sub winsock1_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsock1.DataArrival
'' My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Exclamation)
gelenveri = ""
Winsock1.GetData(gelenveri) 'winsock ile PLC den gelen veriyi alıyoruz ve gelenveri değişkenine atıyoruz
gelenveri = Mid(gelenveri, 3, 24)
TextBox1.Text = TextBox1.Text & vbCrLf & gelenveri & vbCrLf
End Sub
Private Sub TextBox1_Change() Handles TextBox1.TextChanged
With Me.TextBox1
.SelectionStart = Len(.Text)
.ScrollToCaret()
End With
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Winsock1.Close()
End
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Winsock1.RemoteHost = "140.80.120.3" 'PLC Adresini Belirtiyoruz

Winsock1.RemoteHost = TextBox2.Text
Winsock1.RemotePort = "2000" 'PLC nin Açılmış Port Numarasını Yazıyoruz
Winsock1.Connect()
End Sub
End Class
 
Historcal data secenegı var oradan yapabilirsin.
 
plc ye bir adet 4mb ylık kart al ethernet balantın varsa plc ile wep sayfasından girip direk excel dosyası olarak tanımladığın değerleri okuyabilir yada yazabilirsin
 

Yeni mesajlar

Forum istatistikleri

Konular
129,864
Mesajlar
930,851
Kullanıcılar
452,726
Son üye
ugur Göktürk

Yeni konular

Geri
Üst