Merhabalar,
PC üzerinden PLC'ye data yazma ve okuma yapmak için rs232 portu üzerinden bağlantımı gerçekleştirip
https://delta-ia-tips.com/2012/03/27/pc ... out-scada/
yukarıdaki link ile ulaştığım dökümaları takip ederek uygulamamı gerçekleştirdim aynı dökümanlar türkçe olarakda mevcut.
Fiziksel bağlantı testlerimi yaptım. Protokol ASCII.
Yaşadığım problem ise resimdeki gibi;
PLC den hatalı haberleşme olduğunu belirten cevap dönmektedir.
Nasıl bir yol izlemeliyim dökümanlar verisyon-1.0 için ancak kullandığımız PLC versiyonları ise v1.0 üzeri versiyonlardır.
PC PLC Direkt haberleşme ve kontrol
- adem
- Mesajlar: 19
- Kayıt: 20 Mar 2018, 15:19
- İletişim:
- Durum: Çevrimdışı
PC PLC Direkt haberleşme ve kontrol
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
- Turhan
- Mesajlar: 7836
- Kayıt: 07 Mar 2018, 16:06
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: PC PLC Direkt haberleşme ve kontrol
Merhaba,
Kullandığınız PLC modeli nedir. Delta PLC'lerin varsayılan haberleşme protokolleri 7,E,1,9600 ASCII ve istasyon numarası:1 dir. :0106100A123499 CR+LF şeklinde gönderdiğiniz kod diziliminde herhangi bir hata gözükmemektedir. V1.0 sonrasında da bu kodlar ile iletişime geçebilirsiniz. Modbus sorgularını DTCOM programı ile de gönderip cihazın durumunu test edebilirsiniz.
Kullandığınız PLC modeli nedir. Delta PLC'lerin varsayılan haberleşme protokolleri 7,E,1,9600 ASCII ve istasyon numarası:1 dir. :0106100A123499 CR+LF şeklinde gönderdiğiniz kod diziliminde herhangi bir hata gözükmemektedir. V1.0 sonrasında da bu kodlar ile iletişime geçebilirsiniz. Modbus sorgularını DTCOM programı ile de gönderip cihazın durumunu test edebilirsiniz.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
DELTA Electronics Turkey
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.
Forum mesajlarınız, kullandığınız ürünlere ait tam model kodları ve detaylı teknik açıklamalar içermelidir.
- adem
- Mesajlar: 19
- Kayıt: 20 Mar 2018, 15:19
- İletişim:
- Durum: Çevrimdışı
Re: PC PLC Direkt haberleşme ve kontrol
28SV PLC ile çalışıyoruz, haberleşme ayarları fabrika ayarlarıdır ASCII 7 E 1 9600 istasyon :1
DTCOM ile yapabiliyorum ancak masaüstü uygulaması yapmamız gerekiyor bundan dolayı seri haberleşme kaynak kodu yazabilmek için data dizilimi ve haberleşme özelliklerini ayrıntılı olarak bilmek gerekiyor, DTCOM delta programı olduğundan dolayı sadece bizim ulaşabildiğimiz ASCII 9600 7 E 1 haberleşme bilgisi olmaktadır. Flow control durumunu bilmiyoruz ve DTCOM data oluşturduğunda CR+LF datasını göremiyoruz, request datasını genişletiyor mu yoksa daraltıyor mu bilmiyoruz. Kaynak kodu yazabilmek adına döküman veya haberleşme akışını ayrıntılarıyla öğrenebileceğimiz bir kaynak var mı?
DTCOM ile yapabiliyorum ancak masaüstü uygulaması yapmamız gerekiyor bundan dolayı seri haberleşme kaynak kodu yazabilmek için data dizilimi ve haberleşme özelliklerini ayrıntılı olarak bilmek gerekiyor, DTCOM delta programı olduğundan dolayı sadece bizim ulaşabildiğimiz ASCII 9600 7 E 1 haberleşme bilgisi olmaktadır. Flow control durumunu bilmiyoruz ve DTCOM data oluşturduğunda CR+LF datasını göremiyoruz, request datasını genişletiyor mu yoksa daraltıyor mu bilmiyoruz. Kaynak kodu yazabilmek adına döküman veya haberleşme akışını ayrıntılarıyla öğrenebileceğimiz bir kaynak var mı?
- Uğur
- Mesaj Panosu Yöneticisi
- Mesajlar: 8896
- Kayıt: 06 Mar 2018, 10:37
- Konum: İstanbul
- İletişim:
- Durum: Çevrimdışı
Re: PC PLC Direkt haberleşme ve kontrol
RTS CTS gibi veri akış kontrol tiplerini kapalı tutun. Port açarken varsayılan gelenler olsun.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Uğur Birdal - Technical Support Team Manager - DELTA Electronics Turkiye
Bildirimler İçin Whatsapp Kanalımıza Katılın
Whatsapp Kanal
https://www.linkedin.com/in/ugurbirdal
Bildirimler İçin Whatsapp Kanalımıza Katılın
Whatsapp Kanal
https://www.linkedin.com/in/ugurbirdal
- sinanco
- Mesajlar: 21
- Kayıt: 30 Eyl 2018, 18:39
- İletişim:
- Durum: Çevrimdışı
Re: PC PLC Direkt haberleşme ve kontrol
PC PLC haberleşme: M0 bitini on yapan VB program örneği:
-----------------------------------------------
Public Class Form1
Dim GidenData, GelenData As String
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
SerialPort1.PortName = "COM1"
SerialPort1.BaudRate = 9600
SerialPort1.Parity = IO.Ports.Parity.Even
SerialPort1.DataBits = 7
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.Open()
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
If SerialPort1.IsOpen = True Then
GidenData = ":01050800FF00F3" & vbCrLf 'M0 BİTİNİ 1 YAPAR
SerialPort1.Write(gidendata)
TextBox1.Text = GidenData & vbCrLf
GelenData = SerialPort1.ReadLine
TextBox2.Text = GelenData & vbCrLf
SerialPort1.Close()
End If
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
SerialPort1.Close()
End
End Sub
End Class
---------------------------------------------------------
Forma 2 aded textbox, 2 aded buton ve bir adedde seriport tool eklemelisiniz.
-----------------------------------------------
Public Class Form1
Dim GidenData, GelenData As String
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
SerialPort1.PortName = "COM1"
SerialPort1.BaudRate = 9600
SerialPort1.Parity = IO.Ports.Parity.Even
SerialPort1.DataBits = 7
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.Open()
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
If SerialPort1.IsOpen = True Then
GidenData = ":01050800FF00F3" & vbCrLf 'M0 BİTİNİ 1 YAPAR
SerialPort1.Write(gidendata)
TextBox1.Text = GidenData & vbCrLf
GelenData = SerialPort1.ReadLine
TextBox2.Text = GelenData & vbCrLf
SerialPort1.Close()
End If
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
SerialPort1.Close()
End
End Sub
End Class
---------------------------------------------------------
Forma 2 aded textbox, 2 aded buton ve bir adedde seriport tool eklemelisiniz.
- sinanco
- Mesajlar: 21
- Kayıt: 30 Eyl 2018, 18:39
- İletişim:
- Durum: Çevrimdışı
Re: PC PLC Direkt haberleşme ve kontrol
Aşağıdaki program LRC hesaplar;
Public Class Form1
Dim katar As String
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
katar = TextBox1.Text
TextBox2.Text = CalculateLRC(katar)
End Sub
Private Shared Function CalculateLRC(ByVal ToCalculate As String) As String
ToCalculate = ToCalculate.Replace(" ", Nothing)
ToCalculate = ToCalculate.TrimStart(":")
Dim retval As String = Nothing
Dim tmp As Integer = 0
For i As Integer = 0 To (ToCalculate.Length - 1) Step 2
tmp += Val("&H" + ToCalculate.Substring(i, 2))
Next
retval = Hex(Val("&H100") - tmp).ToString
Return retval.Substring(retval.Length - 2)
End Function
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
End
End Sub
End Class
Public Class Form1
Dim katar As String
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
katar = TextBox1.Text
TextBox2.Text = CalculateLRC(katar)
End Sub
Private Shared Function CalculateLRC(ByVal ToCalculate As String) As String
ToCalculate = ToCalculate.Replace(" ", Nothing)
ToCalculate = ToCalculate.TrimStart(":")
Dim retval As String = Nothing
Dim tmp As Integer = 0
For i As Integer = 0 To (ToCalculate.Length - 1) Step 2
tmp += Val("&H" + ToCalculate.Substring(i, 2))
Next
retval = Hex(Val("&H100") - tmp).ToString
Return retval.Substring(retval.Length - 2)
End Function
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
End
End Sub
End Class