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 s7_300_haberleşme
{
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";
}
}
}
private void button1_Click(object sender, EventArgs e)
{
int daveReadBytes (daveConnection * dc, int alan, int DB, int start, int len, void * tampon);
//Parametreleri:
//dc: bir bağlantı temsil eden bir daveConnection yapısına bir işaretçi.
//alan : Bir PLC sabit bellek alanına bir belirtir.
//DB: Bir veri bloğu sayısıdır. Tek anlamlı alan daveDB eğer. 0 oterwise kullanın.
//start: blokta ilk byte adresi.
//len: bayt sayısı.
//tampon: Eğer sonuç çok kopyalanmasını istiyorsanız bazı bellek alanına bir gösterici.
}
}
}
program plc ile haberleşti. ama deger nasıl yazıp okuyacagım onu bilmiyorum.