sinanco
Üye
- Katılım
- 7 Eyl 2009
- Mesajlar
- 37
- Puanları
- 1
S7 1200 PLC ler ile pc arasında TCP IP haberleşmesi yapabilmek için visual basic ile yazılmış küçük bir program kullanıyoruz;
program kodları şöyle:
Public Class Form1
'FORM A 2 TEXTBOX, 2 BUTON, 1 WINSOCK NESNESİ EKLEYİN...
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Winsock1.RemoteHost = "140.80.120.3" 'PLC Adresini Belirtiyoruz
Winsock1.RemotePort = "2000" 'PLC nin Açılmış Port Numarasını Yazıyoruz
Label1.Text = Winsock1.LocalIP
Text2.Text = "HELLO"
End Sub
Private Sub winsock1_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsock1.DataArrival
Dim gelenveri As String
gelenveri = ""
Winsock1.GetData(gelenveri) 'winsock ile PLC den gelen veriyi alıyoruz ve gelenveri değişkenine atıyoruz
Text1.Text = Text1.Text & vbLf & gelenveri
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
Winsock1.Close()
Winsock1.Connect() ' bağlan emrini veriyoruz . . .
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim gidenveri As String
gidenveri = Text2.Text
Winsock1.SendData(gidenveri)
End Sub
Private Sub Winsock1_ConnectEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Winsock1.ConnectEvent
End Sub
End Class
******************
programda kullanılan winsock nesnesi visual basic ile birlikte gelmiyor; bu nedenle internetden mswinsck.ocx dosyasını indirerek windows/system32 altına kopyalamalı ve başlat/çalıştırdan: regsvr32 mswinsck.ocx komutunu yönetici olarak çalıştırarak mswinsock nesnesini kurmalıyız.
ardından VB çalıştırılarak tools/chose Toolbox Items/com components den microsoft Winsock Control u seçerek işaretlemeliyiz.
bu durumda winsock nesnesi (2 aded PC görünümünde) toolboxda oluşacaktır.
bu tool u formumuza getirerek yukarıdki kodları çalıştırırsak PC tarafı TCP/IP haberleşmesine hazır olacaktır.
PLC tarafını da bilahere yazarız.
saygılarımla
program kodları şöyle:
Public Class Form1
'FORM A 2 TEXTBOX, 2 BUTON, 1 WINSOCK NESNESİ EKLEYİN...
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Winsock1.RemoteHost = "140.80.120.3" 'PLC Adresini Belirtiyoruz
Winsock1.RemotePort = "2000" 'PLC nin Açılmış Port Numarasını Yazıyoruz
Label1.Text = Winsock1.LocalIP
Text2.Text = "HELLO"
End Sub
Private Sub winsock1_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsock1.DataArrival
Dim gelenveri As String
gelenveri = ""
Winsock1.GetData(gelenveri) 'winsock ile PLC den gelen veriyi alıyoruz ve gelenveri değişkenine atıyoruz
Text1.Text = Text1.Text & vbLf & gelenveri
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
Winsock1.Close()
Winsock1.Connect() ' bağlan emrini veriyoruz . . .
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim gidenveri As String
gidenveri = Text2.Text
Winsock1.SendData(gidenveri)
End Sub
Private Sub Winsock1_ConnectEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Winsock1.ConnectEvent
End Sub
End Class
******************
programda kullanılan winsock nesnesi visual basic ile birlikte gelmiyor; bu nedenle internetden mswinsck.ocx dosyasını indirerek windows/system32 altına kopyalamalı ve başlat/çalıştırdan: regsvr32 mswinsck.ocx komutunu yönetici olarak çalıştırarak mswinsock nesnesini kurmalıyız.
ardından VB çalıştırılarak tools/chose Toolbox Items/com components den microsoft Winsock Control u seçerek işaretlemeliyiz.
bu durumda winsock nesnesi (2 aded PC görünümünde) toolboxda oluşacaktır.
bu tool u formumuza getirerek yukarıdki kodları çalıştırırsak PC tarafı TCP/IP haberleşmesine hazır olacaktır.
PLC tarafını da bilahere yazarız.
saygılarımla