C# & S7300 ile C# Ethernet Haberleşmesi

Merhabalar arkadaşlar,
Sayın Bilgeyazılım sizin eski yaptığınız s7-200 Ethernet haberleşmesi gibi bir haberleşme yapmamız gerekiyor,
6 adet s7-200 PLC miz var herbirinin yanında CP243-1 ethernet modülü ve W744-1 antenli scalance wireless modülü var,bu 6 PLC ler ile sistemde bulunan data concentrator olarak kullanılan bir S7-200 PLC ile sinyal alışverişi yapmamız gerekiyor
Sistemde wireless haberleşme için W-786 wireless access point var
Her iki PLC bir adet antenli scalance W-786 wireless access point e bağlı ve burdanda fiberoptik kablolar ile ethernet switch aracılığı ile 6 s7-200 PLC mizin toplandığı data concentrator s7-200 PLC ye gidiyor,
Fakat biz burda 6 adet s7-200 PLC ile ana s7-200 PLC arasında henüz sinyal alışverişini yapamadık,
bu konuda tecrübesi,bilgisi olan arkadaşlar yorum yaparsa sevinirim..
 
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
arkadaşlar merhaba, ben daha yeni c# öğrenmeye başladım. sizden istediğim eğer mümkün ise, visual studio da yapılmış örneği yollamanız. macix arkadaşın verdiği c# komutlarını forum içine kopyaladım. ama bir sürü hata verdi... yardımlarınız için şimdiden teşekkür ederim
 
Kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class MainForm1 : Form
    {
        public static libnodave.daveOSserialType fds;
        public static libnodave.daveInterface di;
        public static libnodave.daveConnection dc;
        public static int rack = 0;
        public static int slot = 2;
        string ipadres = "10.0.0.209";

        byte[] boy = new byte[256];
        // int[] tag = new int[64];
        double[] tag = new double[64];
        int[] res = new int[16];
        public MainForm1()
        {
            InitializeComponent();
        }

        private void MainForm1_Load(object sender, EventArgs e)
        {
            baglan();
        }
        private void baglan()
        {


            try // ip adresine 102. portan bağlantı kurulablir ise
            {
                fds.rfd = libnodave.openSocket(102, ipadres);
            }
            catch { Slbl1.Text = ipadres + " 'e ulaşılamadı"; }
            fds.wfd = fds.rfd;
            di = new libnodave.daveInterface(fds, "FD1", 0, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k);
            di.setTimeout(5000); //50 saniye
            dc = new libnodave.daveConnection(di, 0, rack, slot);
            try
            {
                if (fds.rfd > 0) //Eğer Bağlantı Başarılı ise
                {
                    if (0 == dc.connectPLC())
                    {
                        Slbl1.Text = ipadres + " Ye Bağlı Durumdasınız";
                        //timer1.Enabled = true;
                    }
                    else
                    {
                        Slbl1.Text = "Bağlantı Başarısız";
                    }
                }
                else
                {
                    Slbl1.Text = "Bağlantı Başarısız";
                }
            }
            catch { Slbl1.Text = "Çok Acayip bir Hata Oluştu"; }
        }
        private void kopar()
        {
            if (fds.rfd > 0) //Eğer Bağlantı Başarılı ise
            {
                if (0 == dc.connectPLC())
                {
                    try
                    {
                        libnodave.closePort(fds.wfd);
                        di.disconnectAdapter();
                        dc.disconnectPLC();
                    }
                    catch { }
                    Slbl1.Text = " Plc Bağlantınızı sonlandırdınız";
                }
            }
        }
    }
}
hata veriyor.... dll bulunamadı hatası
 
Moderatör tarafında düzenlendi:
yukarıda yazan programda haberleşme tamam. yalnız nasıl deger okuyup yazacağız. onu bilmiyorum.
 
Merhabalar uğur demir bende yeni çalışmaya başladığım için yardımcı olamaıyacağım,

ben libnodave deki dosyalra örneklere bakıyorum yannlz anlayamadığım bir durum var, bilgisi olan paylaşırsa sevinirim mpi ile pc -> s7 300 bağlantısı yapıyor usb li pc çıkışlı mpi kablo kullanıyorum hızı 19,2kbps a mpi adreslerinde pc için 0 plc için 2 ye setledim fakat testmpi, ve testmpiload dosyalarını çalıtırdığımda bağlantı kurulamadı hatası ile karşılaşıyorum usb mpi dönüştürücü ille bağlanmam mükünmü ?


birde ilk defa pc m çökü compile ederken elektrikler kesildi ve windows çöktü ilk dfa 2,5 yıl sonra formak attım pc ye dikkatli olun :9
 
Arkadaşlar zamanında çok uğraşmıştım 2, 3 gün gibi bir süre sonra ancak olayı çözebilmiştim fakat olay çok imiş bir özveri daha edin ve libnodave indirdiğiniz dosyadaki doc klasöründeki dökümanları lütfen iyice anlamaya çalışın.
 
hocam söylediğiniz gibi uğraşmak gerekiyor test programı ile usb mpi ile s7318 e bağlanabildim sorunsuz ,

ama c# bilgim beni biraz tıkıyor, libnodave.dll dosyasını ve(libnodave.lib) visual studio ile c# programına ekliyemiyorum libnodave.net.dll de sorun yok ekleniyor ama tek başına yeterli olmuyor bir tavsiye verebilirmisin ?
 
Bence kendi de bilmiyor. Birisi şöyle böyle oluyor diye buraya yazınca kendi de öğrenmiş olacak.
 
Bence kendi de bilmiyor. Birisi şöyle böyle oluyor diye buraya yazınca kendi de öğrenmiş olacak.

İstersen bir data alma haber türünü adresini ve okumak yazmak istediğin dataları söyle sana ufak bir bir program çalışması yapıp derlemesini sana atayım .
 
bana mpi ile yapılmış ufak bir örnek atabilrsen çok makbüle geçer, yüksek lisans çalışmasının bir parçası olarak kullanmak istiyorum,
 

Forum istatistikleri

Konular
128,133
Mesajlar
915,304
Kullanıcılar
449,849
Son üye
cagan20

Yeni konular

Geri
Üst