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..
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
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.
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
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