Örneği Görmek İçin Tıklayınız
//Aşağıda PLC den Değer Alma - Gönderme , PLCTag kullanımı ve DataBase_Class Kullanımı ile ilgili örnekler erilmiştir.
private void hmI_Button_Click(object sender, EventArgs e)
{
//-----------------------PLC den Değer Alma
//Öncelikle İlgili PLC Adresini HMI_Connect nesnesinin TagListine e ekleyiniz
//PLC de değer alma , Tag List -> Tag ID ile
object _tagDegeri_1 = hmI_Connect1.TagList_GetValue(5); //ID si 5 olan tagın değerini PLC den Alır
if(_tagDegeri_1 != null)
{
hmI_NumericBox1.Text= _tagDegeri_1.ToString(); // Değeri NumericBox da gösterdik , Windows Form Elemanlarında da gösterebilirsiniz. Örn TextBox
}
//PLC de değer alma , Tag List -> Tag Adresi ile
object _tagDegeri_2 = hmI_Connect1.TagList_GetValue("DB1.D4@Dint"); // 1 Nolu DB de D4 veri alanının değerini PLC den Alır
if (_tagDegeri_2 != null)
{
hmI_NumericBox1.Text = _tagDegeri_2.ToString(); // Değeri NumericBox da gösterdik , Windows Form Elemanlarında da gösterebilirsiniz. Örn TextBox
}
//-----------------------PLC e Değer Yollama
//Öncelikle İlgili PLC Adresini HMI_Connect nesnesinin TagListine e ekleyiniz
//PLC e değer yollama , Tag List -> Tag ID ile
hmI_Connect1.TagList_SetValue(5, 10800); // ID si 5 olan Tag a 10800 değeri yollanmıştır (Bu şekilde PLC e veri yollayabilirsiniz)
hmI_Connect1.Wait(150); //PLC 'e veri yollandığında satır beklemesi yapınız
//PLC e değer yollama , Tag List -> Tag Adresi ile
hmI_Connect1.TagList_SetValue("DB1.D4@Dint", 10800); // 1 Nolu DB de D4 veri alanına 10800 değeri yollanmıştır (Bu şekilde PLC e veri yollayabilirsiniz)
hmI_Connect1.Wait(150); //PLC 'e veri yollandığında satır beklemesi yapınız
//PLC e değer yollama , Tag List -> Tag Adresi ile , Bool Değer Yollama (Tag ID ilede Yollanabilir)
hmI_Connect1.TagList_SetValue("DB1.DBX0.1@Bool", true); // 1 Nolu DB de O.1 veri alanı true yapılıyor (Tag ID ilede Yollanabilir)
hmI_Connect1.Wait(150); //PLC 'e veri yollandığında satır beklemesi yapınız
//-----------------------Tag List den PLCTag alma
//PLC e değer yollama
PLCTag _tag_1 = NikCom_HMI.Tools.PLCTagList_tagID_To_PLCTag(hmI_Connect1, 5); //hmI_Connect1 in TagList inden ID si 5 Olan Tag alındı
_tag_1.Change_Tag_Value(10800); // ID si 5 olan Tag a 10800 değeri yollanmıştır (Bu şekilde PLC e veri yollayabilirsiniz)
hmI_Connect1.Wait(150);
//PLC e değer yollama
PLCTag _tag_2 = NikCom_HMI.Tools.PLCTagList_Adres_To_PLCTag(hmI_Connect1, "DB1.DBX0.1@Bool");
_tag_2.Change_Tag_Value(true); // 1 Nolu DB de O.1 veri alanı true yapılıyor
hmI_Connect1.Wait(150);
PLCTag _tag_3 = NikCom_HMI.Tools.PLCTagList_tagID_To_PLCTag(hmI_Connect1, 5); //hmI_Connect1 in TagList inden ID si 5 Olan Tag alındı
if(_tag_3 != null)
{
hmI_NumericBox1.Text = _tag_3.Tag_Value_in_PLC.ToString(); // Değeri NumericBox da gösterdik , Windows Form Elemanlarında da gösterebilirsiniz. Örn TextBox
}
//-----------------------PLC Tag ile Event (Olay Tanımlama) Tanımlama
PLCTag _tag_4 = NikCom_HMI.Tools.PLCTagList_tagID_To_PLCTag(hmI_Connect1, 5); //hmI_Connect1 in TagList inden ID si 5 Olan Tag alındı
if( _tag_4 != null)
_tag_4.Tag_Changed += _tag_4_Tag_Changed;
//----------------------DataBasae_Class Kullanımı
//Eğitim Bölümünden DataBasae_Class Kullanımı için Video İzleyebilirsiniz
//3 Satırda tablo verilerini alma
NikCom_HMI.DataBase_Class _db = new DataBase_Class("ConnectionString i buraya Giriniz");
DataTable dataTable = _db.GetTable("Select * from tbl_Report Where ID=25"); //Select Sorgusu
dataGridView1.DataSource = dataTable;
//MSSQL e Sorgu Yollama
_db.SendQuery("insert , Update , Delete Sorgunuzu buraya yazabilirsiniz");
//----------------------User (Kullanıcı İşlemleri)
//Login Ekranını Getirir ve Kullanıcının Giriş yapmasını Sağlar
hmI_Connect1.Login();
//LogOut Yapar
hmI_Connect1.LogOut();
//Login Yapmış Kullanıcı ID sini verir , isterseniz bu veriyi PLC e yollayabilirsiniz
int user_ID = hmI_Connect1.Login_Active_User_ID;
//User sınıfı ile kullanıcı bilgilerini öğrenebilirsiniz , Önemli : User sınıfında Kod ile yapacağınız değişiklikler kalıcı olmaz
User kullanici = hmI_Connect1.User_ID_To_User(user_ID);
}
private void _tag_4_Tag_Changed(object sender, Tag_Value_Changed_EventArgs e)
{
//Tag Değeri Değiştiğinde Bu Olay Çalışır
if(e.new_Tag_Value != null)
hmI_NumericBox1.Text=e.new_Tag_Value.ToString();
}