Merhaba arkadaşlar, sahda bulunan bir mitsubishi plc’ niz var ve bunun içinde data bloklarına erişmek mi istiyorsunuz o zaman doğru yerdesiniz. Daha önce bahsettiğimiz easymodbus.dll kütüphanesi ile erişebileceğiniz gibi, Mitsubishi’ nin kendi oluşturuduğu kütüphanelerden de erişebilirsiniz. Hatta bu yöntem daha basit diyebilirim.
Öncelikle Mitsubishi’ de sistem şu şekilde çalışıyor. MX Component diye bir program üzerinden communication wizard yaparak, plc’ nizin ip adresini ve nasıl bir bağlantı kuracağınızı ayarlıyorsunuz. Daha sonra C# taki kütüphaneyi kullanırken sadece oluşturduğunuz configürasyon numarasını giriyorsunuz. Haberleşme bu şekilde sağlanıyor. Şimdi detaya geçelim.
MX Component Download bu adresten programı indirin ve kurun. Kurduktan sonra aşağıdaki gibi bir klasör yapısı oluşacak ve bu klasörler içinden ihiyacımız olan kütüphane dosyalarını seçeceğiz.
ActUtlTypeLib.dll
İlk önce Communication Setup Utility programını çalıştırıyoruz arkadaşlar. Sahadaki plc simizi buraya tanıtıyoruz.
Wizard butonuna basıyoruz. Burada herhangi bir numara verebilrisiniz. C# programında buraya verdiğiniz numarayı kullanacağız.
Kurmak istediğimiz bağlantı tipini buradan seçiyoruz. Biz bu uygulamada ip network üzerinden bağlantı kurmak istediğimiz için Ethernet board seçeneğini seçeceğiz.
Burada Mitsubishi PLC’ mizin network’ te aldığı ip adresi giriyoruz.
Bir sonraki atamada isatasyonunuz tipini ve plc’ nizin tipini seçiyoruz.
Bir sonraki adımda PLC’ mizin ismini tanımlayacağız.
Finish butonuna tıklayarak konfigurasyon atamasını bitirebiliriz. PLC tanımlamamızın doğru olduğu test etmek için Connection Test sayfasından bağlantınızın testini gerçekleştirebilirsiniz.
Bu aşamayı geçtiyseniz şimdi C# kısmında kodlamaya gelelim. Yukarıda bahsettiğim kütüphaneleri solution explorer kısmına ekleyin. Ekleme İşlemi için Projeye tıklayarak Add>Referans diyerek, arama kısmına Mitsubishi yazın ve MITSUBISHI ActUtlType Controls Ver1.0 tıklayarak seçin. Bunu seçtikten sonra referans ağacımızda kütüphanemizin geldiğini göreceksiniz.
Basit bir desgin tasarlayın. Aşağıdaki gibi Bağlantıyı açmak ve kapatmak için ve data adresi yazmak için textbox ve okumak için de.
Kod kısmını aşağıdaki gibi kopyalayıp yapıştırın. using ActUtlTypeLib; kodunu ekleyerek remote_con diye bir sınıf oluşturuyoruz. Tasarımda data adres textbox kısmına mitsubishi PLC içindeki databloklarını yazabilirsiniz. ÖRnek D150, D500 gibi.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using ActUtlTypeLib; namespace KatofarezMitsubishiRemote { public partial class Form1 : Form { Conn remote_con = new Conn(); // bağlantıyı oluştur public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void BtnConnect_Click(object sender, EventArgs e) { remote_con.Connect(); } private void BtnRead_Click(object sender, EventArgs e) { int data; remote_con.plc.ReadDeviceBlock(TxtDataAdress.Text, 1, out data); TxtData.Text = Convert.ToString(data); } } public class Conn { public ActUtlType plc = new ActUtlType(); public void Connect() { plc.ActLogicalStationNumber = 1; // utility programında belirlediğimiz logical station değeri plc.Open(); // bağlantıyı kur } public void Disconnect() { plc.Close(); // bağlantıyı kapa } } }
Kaynak olarak bu linkteki pdf incelemenizi tavsiye ederim. Diğer haberleşme modülleri nasıl oluyor vs detaylı bir şekilde anlatılmış.
MX Component Version 4 Programming Manual
İyi çalışmalar,
0 yorum