106tuner
Üye
- Katılım
- 28 Ağu 2007
- Mesajlar
- 52
- Puanları
- 1
- Yaş
- 40
Merhaba Arkadaslar;
Elimde iki adet PLC bulunmakta biri Siemens S7 1214C digeri ise VIPA 313SC libnodaveyi indirdim referanslara dll dosyasini ekledim. Fakat hata aliyorum yaptigim isleri adim adim yazicam sorunumu belki farkedersiniz.
![libnodave3.jpg libnodave3.jpg](https://www.kontrolkalemi.com/forum/data/attachments/63/63242-e193d9aa0cca79169fb428f1cda41ead.jpg)
![libnodave1.jpg libnodave1.jpg](https://www.kontrolkalemi.com/forum/data/attachments/63/63240-c6727f683a3ea99d4b2c398abdff0756.jpg)
![libnodave2.jpg libnodave2.jpg](https://www.kontrolkalemi.com/forum/data/attachments/63/63241-0c9f29cb066edd06f2fd2571af192cdf.jpg)
C# Kodum
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;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public static libnodave.daveOSserialType fds;
public static libnodave.daveInterface di;
public static libnodave.daveConnection dc;
public static int rack = 0;
public static int slot = 1;
string ipadres = "192.168.0.1";
byte[] boy = new byte[256];
// int[] tag = new int[64];
double[] tag = new double[64];
int[] res = new int[16];
private void Form1_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 { label1.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())
{
label1.Text = ipadres + " Ye Bağlı Durumdasınız";
//timer1.Enabled = true;
}
else
{
label1.Text = "Bağlantı Başarısız";
}
}
else
{
label1.Text = "Bağlantı Başarısız";
}
}
catch { label1.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 { }
label1.Text = " Plc Bağlantınızı sonlandırdınız";
}
}
}
}
}
Aldigim Hata;
An unhandled exception of type 'System.DllNotFoundException' occurred in libnodave.net.dll
Additional information: Unable to load DLL 'libnodave.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Merhaba Arkadaslar sorunumu buldum 1200 ile baglanti sagladim.
Sorunum libnodave.dll dosyasini referansa ekleseniz bile dll dosyasinin projenizin klasöründe bulunmaliymis.
Kodlarimi birazdaha düzenleyip baglantiyi sagladiktan sonra input ve outputlari projemde okumayi basardim.
Fakat dbden bir türlü veri cekemedim. Libnodave ile s7 1200 destekleyip desteklemedigini sorgulamaya basladim bu konuda bilgisi olan varmi acaba?
Cevaplariniz icin simdiden tesekkürler kolay gelsin.
Tiada olusturdugum db ve dbx tanimlamam
![dbhata.jpg dbhata.jpg](https://www.kontrolkalemi.com/forum/data/attachments/63/63248-c7c581488a3af8fb2d28960203303eff.jpg)
DB10DBX2 = Program.dc.readBits(libnodave.daveDB, 2, 2, 2, null);
label35.Text = Program.dc.getS8().ToString();
Yani ben db2nin dbx 2den baslayip dbx2de biten bool degiskenini almak istiyorum.
gelen hatada budur.
An unhandled exception of type 'System.AccessViolationException' occurred in libnodave.net.dll
Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Elimde iki adet PLC bulunmakta biri Siemens S7 1214C digeri ise VIPA 313SC libnodaveyi indirdim referanslara dll dosyasini ekledim. Fakat hata aliyorum yaptigim isleri adim adim yazicam sorunumu belki farkedersiniz.
![libnodave3.jpg libnodave3.jpg](https://www.kontrolkalemi.com/forum/data/attachments/63/63242-e193d9aa0cca79169fb428f1cda41ead.jpg)
![libnodave1.jpg libnodave1.jpg](https://www.kontrolkalemi.com/forum/data/attachments/63/63240-c6727f683a3ea99d4b2c398abdff0756.jpg)
![libnodave2.jpg libnodave2.jpg](https://www.kontrolkalemi.com/forum/data/attachments/63/63241-0c9f29cb066edd06f2fd2571af192cdf.jpg)
C# Kodum
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;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public static libnodave.daveOSserialType fds;
public static libnodave.daveInterface di;
public static libnodave.daveConnection dc;
public static int rack = 0;
public static int slot = 1;
string ipadres = "192.168.0.1";
byte[] boy = new byte[256];
// int[] tag = new int[64];
double[] tag = new double[64];
int[] res = new int[16];
private void Form1_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 { label1.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())
{
label1.Text = ipadres + " Ye Bağlı Durumdasınız";
//timer1.Enabled = true;
}
else
{
label1.Text = "Bağlantı Başarısız";
}
}
else
{
label1.Text = "Bağlantı Başarısız";
}
}
catch { label1.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 { }
label1.Text = " Plc Bağlantınızı sonlandırdınız";
}
}
}
}
}
Aldigim Hata;
An unhandled exception of type 'System.DllNotFoundException' occurred in libnodave.net.dll
Additional information: Unable to load DLL 'libnodave.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Merhaba Arkadaslar sorunumu buldum 1200 ile baglanti sagladim.
Sorunum libnodave.dll dosyasini referansa ekleseniz bile dll dosyasinin projenizin klasöründe bulunmaliymis.
Kodlarimi birazdaha düzenleyip baglantiyi sagladiktan sonra input ve outputlari projemde okumayi basardim.
Fakat dbden bir türlü veri cekemedim. Libnodave ile s7 1200 destekleyip desteklemedigini sorgulamaya basladim bu konuda bilgisi olan varmi acaba?
Cevaplariniz icin simdiden tesekkürler kolay gelsin.
Tiada olusturdugum db ve dbx tanimlamam
![dbhata.jpg dbhata.jpg](https://www.kontrolkalemi.com/forum/data/attachments/63/63248-c7c581488a3af8fb2d28960203303eff.jpg)
DB10DBX2 = Program.dc.readBits(libnodave.daveDB, 2, 2, 2, null);
label35.Text = Program.dc.getS8().ToString();
Yani ben db2nin dbx 2den baslayip dbx2de biten bool degiskenini almak istiyorum.
gelen hatada budur.
An unhandled exception of type 'System.AccessViolationException' occurred in libnodave.net.dll
Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Moderatör tarafında düzenlendi: