-> Hier kostenlos registrieren
LibNoDave und IP-S7 Link - s7 1500 PLCSIM TIA Portal
Hallo zusammen,
ich hänge gerade an einem kleinen Problem und hoffe Ihr könnt mir weiterhelfen.
Habe im Internet diese Möglichkeit gefunden mit einer Siemens SPS zu kommunizieren:
https://www.traeger.de/softwaretreiber-simatic-s7/pc-und-s7-mit-tcp-ip-verbinden-ip-s7-link.html
Die Codes sind ziemlich einfach um eine einfache Kommunikation zu testen.
Leider funktioniert das bei mir nicht wenn ich die Kommunikation an einer Simulierten SPS via PLC SIM im TIA Portal V 13 durchführe.
Bekomme bei folgendem Code die Fehlermeldung "The specified CPU could not be found.":
SiemensDevice device = new SiemensDevice(new IPDeviceEndPoint("192.168.183.200"), SiemensDeviceType.S71500);
PlcDeviceConnection connection = device.CreateConnection();
connection.Open();
string message = connection.ReadInt16("DB1.DBW2").ToString();
label1.Text = message;
Leider weiß ich nicht was ich da verkehrt mache, es sollte eigentlich funktionieren.
Was muss ich bei den Einstellungen beachten?
Ich habe mich an die Anleitung bezüglich der Einstellungen auf der Seite gehalten, leider ohne Erfolg.
Desweiteren habe ich den Zugang mittels LibNoDave ausprobiert siehe Code:
class SiemensSPS
{
public static libnodave.daveOSserialType fds;
public static libnodave.daveInterface di;
public static libnodave.daveConnection dc;
public static int res;
public static byte plcValue;
public static int memoryRes;
public static byte[] memoryBuffer = new byte[10];
public static void connectTo()
{
fds.rfd = libnodave.openSocket(102, "192.168.183.200");
fds.wfd = fds.rfd;
di = new libnodave.daveInterface(fds, "IF1", 0, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k);
res = di.initAdapter();
dc = new libnodave.daveConnection(di, 0, 0, 2);
res = dc.connectPLC();
memoryRes = dc.readBytes(libnodave.daveFlags, 1, 0, 1, memoryBuffer);
plcValue = memoryBuffer[0];
dc.disconnectPLC();
di.disconnectAdapter();
libnodave.closePort(fds.rfd);
}
}
und
private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
SiemensSPS.connectTo();
label1.Text = SiemensSPS.plcValue.ToString();
}
Dabei bekomme ich folgenden Fehler:
Die DLL "libnodave.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.
Ich weiß nicht weiter wo meine Fehler liegen besonders bei LibNoDave da sollte es doch gehen.
Ist bei den 1500 S7 Steuerungen überhaubt ein Zugang möglich wenn ja bitte um eure Hilfe.
Viele Grüße
Hallo zusammen,
ich hänge gerade an einem kleinen Problem und hoffe Ihr könnt mir weiterhelfen.
Habe im Internet diese Möglichkeit gefunden mit einer Siemens SPS zu kommunizieren:
https://www.traeger.de/softwaretreiber-simatic-s7/pc-und-s7-mit-tcp-ip-verbinden-ip-s7-link.html
Die Codes sind ziemlich einfach um eine einfache Kommunikation zu testen.
Leider funktioniert das bei mir nicht wenn ich die Kommunikation an einer Simulierten SPS via PLC SIM im TIA Portal V 13 durchführe.
Bekomme bei folgendem Code die Fehlermeldung "The specified CPU could not be found.":
SiemensDevice device = new SiemensDevice(new IPDeviceEndPoint("192.168.183.200"), SiemensDeviceType.S71500);
PlcDeviceConnection connection = device.CreateConnection();
connection.Open();
string message = connection.ReadInt16("DB1.DBW2").ToString();
label1.Text = message;
Leider weiß ich nicht was ich da verkehrt mache, es sollte eigentlich funktionieren.
Was muss ich bei den Einstellungen beachten?
Ich habe mich an die Anleitung bezüglich der Einstellungen auf der Seite gehalten, leider ohne Erfolg.
Desweiteren habe ich den Zugang mittels LibNoDave ausprobiert siehe Code:
class SiemensSPS
{
public static libnodave.daveOSserialType fds;
public static libnodave.daveInterface di;
public static libnodave.daveConnection dc;
public static int res;
public static byte plcValue;
public static int memoryRes;
public static byte[] memoryBuffer = new byte[10];
public static void connectTo()
{
fds.rfd = libnodave.openSocket(102, "192.168.183.200");
fds.wfd = fds.rfd;
di = new libnodave.daveInterface(fds, "IF1", 0, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k);
res = di.initAdapter();
dc = new libnodave.daveConnection(di, 0, 0, 2);
res = dc.connectPLC();
memoryRes = dc.readBytes(libnodave.daveFlags, 1, 0, 1, memoryBuffer);
plcValue = memoryBuffer[0];
dc.disconnectPLC();
di.disconnectAdapter();
libnodave.closePort(fds.rfd);
}
}
und
private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
SiemensSPS.connectTo();
label1.Text = SiemensSPS.plcValue.ToString();
}
Dabei bekomme ich folgenden Fehler:
Die DLL "libnodave.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.
Ich weiß nicht weiter wo meine Fehler liegen besonders bei LibNoDave da sollte es doch gehen.
Ist bei den 1500 S7 Steuerungen überhaubt ein Zugang möglich wenn ja bitte um eure Hilfe.
Viele Grüße
Zuletzt bearbeitet: