WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Problem bei Einbindung externer Java-Klassen (jamod)

 

jonsen
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 20.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.01.2012, 15:40     Titel: Problem bei Einbindung externer Java-Klassen (jamod)
  Antworten mit Zitat      
Hallo allerseits,

dies ist mein erster Post in dieser Community und ich hoffe Ihr könnt mir helfen.

Ich möchte mit Matlab unter Linux über Modbus mit einer SPS von Wago kommunizieren. Soweit ich das sehe kommen hierfür mehrere Wege in Frage:
    1. Verwendung eines OPC-Servers, Kommunikation mit diesem unter Zuhilfenahme der OPC Toolbox
    2. Kompilierung einer DLL einer freien Modbus-Implementierung
    3. Verwendung externer Bibliotheken, z.B. der Java Bibliothek jamod

1. fällt raus da ich für meine SPS leider keinen kostenlosen OPC-Server für Linux gefunden habe (und ich möglichst keinen externen Server verwenden möchte). 2. auch, da die freien Implementierungen die ich gefunden habe für Windows sind. Bleibt also noch 3.

Um die jamod-Klassen einzubinden habe ich die JAR (jamod-1.2-SNAPSHOT.jar) in ein Unterverzeichnis von Matlab kopiert und in die statischen Pfade (classpath.txt) eingetragen.

Nun importiere ich die Klassen (siehe Anleitung "TCP Master" von jamod) nach Matlab mit
Code:
import java.net.*;
import java.io.*;
import net.wimpi.modbus.*;
import net.wimpi.modbus.msg.*;
import net.wimpi.modbus.io.*;
import net.wimpi.modbus.net.*;
import net.wimpi.modbus.util.*;

Nun will ich eine Verbindung zur IP 192.168.1.1 auf Port 502 aufbauen...
Code:
connection = TCPMasterConnection('192.168.1.1','502');

...und erhalte die Rückmeldung
Code:
??? No constructor 'net.wimpi.modbus.net.TCPMasterConnection' with matching signature found.


Offensichtlich hat Matlab die Klassen eingebunden (sie werden ja gefunden), kann jedoch keine Verbindung / kein Verbindungsobjekt erstellen?! Leider kenne ich mich zu wenig mit Java aus, meine Idee war dass es vielleicht mit der Java-Version zu tun hätte ("matching signature" ??), die Version des kompilierten Jar-Files ist jedoch älter als die die ich verwende..
(Ich verwende Matlab R2010b (32-Bit) und jre1.6.0_29)

Über jegliche Hilfe und Hinweise würde ich mich sehr freuen!

Grüße,
jonsen
Private Nachricht senden Benutzer-Profile anzeigen


Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 11.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.01.2012, 09:36     Titel:
  Antworten mit Zitat      
Hallo jonsen,

mit Signatur sind die Anzahl und Typen der Parameter des Methodenaufrufs gemeint.
In Java können verschiedene Methoden den selben Namen aber unterschiedliche
Parameter haben.
In Deinem Fall wird der Constructor von TCPMasterConnection mit zwei Parametern
vom Typ String gesucht und nicht gefunden.
Wahrscheinlich muß der Port ein int sein:
Code:
connection = TCPMasterConnection('192.168.1.1',502);


Gruß
Sirius
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.