vb.net10 ile seri iletişim

mulli

Üye
Katılım
17 Şub 2009
Mesajlar
20
Puanları
1
Arkadaşlar Vb.net10 ile seri iletişim nasıl yapabilirim. Yapmak istediğim basit bir şey. Veri göndermek ve veri almak. İnternette araştırdım ve Mscomm diye bir komut var . Ancak vb.net 10 da böyle bir komut yok. Onun yerine serialport1 diye bir şey var. Bunu seçip ayar yapyorum ama yollama ve almayla ilgili bir kaynak bulamadım. YArdımcı olursanız sevinirim. Seri port ile PLC haberleşmesi yapmak istiyorum. PLC'nin haberleşme adresleri elimde var.
 

valla kardeş bende illa mscomm.ocx ile yapacam demiştim bunun için vb6 kullanan birinden rica ettim boş formun içine mscomm yerleştir diye sonra onu .net ile açtım o zaman vb6 dan .nete çevirim işlemi yaptı ve vb.net içine mscomm u yerleştirdi tabi system klasörüne mscomm.ocx dosyasını da koyman gerekiyor onu da internetten bulabilirsin.
 
Arkadaşlar kulağınızı tersten tutmaya çalışıyorsunuz. VS 2010 da seri haberleşme kütüphanesi (assembly diye geçer .net' te) olduğuna göre eski COM, OCX vb. nesneleri ile de haberleşirsiniz tabii ama sebep?
PLC ile bahsettiğiniz manada seri haberleşme yapacaksanız haberleşmek istediğiniz noktaları bilmenin doğrudan bir faydası yoktur. Yani PC tarafında bana şu adresteki veriyi getir diyemezsiniz. İstediğiniz buysa haberleşmek istediğiniz PLC için özel olarak yazılmış OPC, dll vb. bir yazılım bileşenine google' dan bakmanız gerekir, bu ürünlerin %99' unun ücretli olduğunu söylemek isterim.
Düşündüğünüz manada haberleşme için ise PLC' nin transparan mode haberleşme özelliğinin olması gerekir. PLC' ye gönderdiğiniz verileri de PLC tarafında ayrıca bir program yazarak yakalamanız ve değerlendirmeniz gerekir. Söyleyecek çok şey var ama kabaca böyle.
 
ceyhanII Bu konuda doğru söylüyor;

dotNet teknolojisi varken VB.Net 9 ya da 10'da MSCom gibi eklentiler kullanmak çok gereksiz ve komiktir. Aşağıda Bir Seri port veri okuma örneği var;


Dim Data As String

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
if SerialPort1.IsOpen = False Then
SerialPort1.BaudRate = 9600
SerialPort1.PortName = "COM1"
SerialPort1.Open()
Else
MsgBox "Port Zaten Açık"
End If
End Sub

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

data = SerialPort1.ReadLine()
TextBox1.text = data

End Sub
 
Fluke Hocamın yazdığı örnekteki gibi Toolbox tan SerialPort companentini Formuna eklemen yeterli MsComm32 gibi AktiveX ler ile uğraşmana gerek yok.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…