Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 6 von 6

Thema: Starthilfe bei JAVA mit Accon AGLink 4

  1. #1
    Registriert seit
    13.02.2013
    Beiträge
    2
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Für eine mögliche Bachelorarbeit, bei der es darum gehen soll ein Programm zu schreiben, das Daten mit einer SPS austauscht, informiere ich gerade über Möglichkeiten das zu bewerkstelligen. Da das Programm möglicherweise in JAVA geschrieben wird habe ich mir die Demo Version von ACCON AGLink geladen. Leider gibt es gerade für Java dort keine Beispielprogramme und auch eine schlechtere Doku.
    Unter NetBeans habe ich einen einfachen Versuch gestartet, ob es möglich ist, die Version mit JGetVersion() in einer Variablen abzuspeichern.
    Ich muss dazu sagen, dass ich in JAVA noch ein totaler Anfänger bin, ich habe bis jetzt nur in C/C++ programmiert.

    Im Moment habe ich noch keine SPS angeschlossen (oder ist das dafür auch nötig?). Im Ordner der JRE befinden sich auch alle benötigten Dateien (wie z.B. die AGLink40.dll usw.). Auch der Wrapper JAGLink-1.0.jar ist im Libraries-Ordner meines NetBeans-Projektes eingebunden.

    Mein Testprogramm main.java sieht im Moment so aus:

    Code:
    package test2;
    
    public class Main {
    
        public static void main(String[] args) {
          
        JReturnTypes.Version nr;
        nr = JAGLink.JAGL.JGetVersion();
                
        }
    Compilieren funktioniert auch, aber wenn ich das Programm starte, gibt NetBeans folgenden fehler aus:

    Code:
    Exception in thread "main" com.jniwrapper.LibraryNotFoundException: AGLink40 cause: Das angegebene Modul wurde nicht gefunden.
    
            at com.jniwrapper.Library.loadLibrary(Native Method)
            at com.jniwrapper.Library.a(SourceFile:139)
            at com.jniwrapper.Library.load(SourceFile:129)
            at com.jniwrapper.Library.getFunction(SourceFile:256)
            at com.jniwrapper.Library.getFunction(SourceFile:274)
            at JAGLink.JAGL.JGetVersion(JAGL.java:4364)
            at test2.Main.main(Main.java:22)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 1 second)
    Was mache ich falsch? Oder liegt es einfach nur daran, dass ich noch keine SPS angeschlossen habe?
    Zitieren Zitieren Starthilfe bei JAVA mit Accon AGLink 4  

  2. #2
    Registriert seit
    18.06.2008
    Beiträge
    8
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi ruka,
    Eine SPS ist erst notwendig, wenn du auch kommunizieren willst. Wenn du dür den Anfang nur die Version der dll willst brauchst du noch keine SPS dazu.
    Damit die AGLink40.DLL gefunden wird muss die JVM auch wissen wo sie sich befindet. Standardmäßig hat sich keine Ahnung wo du deine DLL hinpackst.
    In NetBeans kannst du das "Working Directy" innerhalb der Projekteigenschaften setzen, welches beim Debuggen mit in den Suchpfad aufgenommen wird.

    Der folgende Beitrag bei CodeProject beschreibt eigentlich ganz gut die Grundzüge der Verwendung von C++ Dlls in Java mittels JNI. Dort wird auch beschrieben was man wo in NetBeans einstellen muss um eine DLL zu verwenden und zu finden. Er sagt auch wo die DLL nach Fertigstellung der Anwendung liegen sollte damit sie von Java gefunden wird.

    http://www.codeproject.com/Articles/...tbeans-and-Vis

    Mfg,
    Voddy

  3. Folgender Benutzer sagt Danke zu Voddy für den nützlichen Beitrag:

    ruka (21.02.2013)

  4. #3
    ruka ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.02.2013
    Beiträge
    2
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hey, vielen Dank.
    Der Tip mit dem Working Directory und der Link haben mir sehr geholfen. Ich hab jetzt mal alle benötigten Dateien (also zum Beispiel die "AGLink40.DLL") in den src-Ordner meines NetBeans-Projektes geschoben und diesen als Working Directory angegeben, und jetzt kann ich mir Beispielsweise die Seriennummer mit JGetSerialNumber() ausgeben lassen.
    Ich habe mittlerweile auch eine SPS, mit der ich über die AGLink40_Config.exe auch schon eine Verbindung herstellen konnte. Werde das jetzt mal testen.

    Wo lege ich denn eigenlich die AGLink40.dll und die AGLink40_Config.exe standartmäßig hin? Die sind ja bei der Installation von AGLink automatisch in das /bin -Verzeichnis der JRE kopiert worden. Sollte man das am besten als Working-Directory angeben?

  5. #4
    Registriert seit
    18.06.2008
    Beiträge
    8
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi, super!

    Das Working Directory sollte grundsätzlich innerhalb deiner Projektstruktur festgelegt sein. Dort solltest du dann auch deine Projektfremden Dateien (wie die dlls) hinein kopieren. Allein aus dem Grund, dass du - besonders da du Student bist - das Projekt so einfacher zusammen packen kannst und alle notwendigen Dateien dann auch dabei hast, falls du mal den PC/Laptop wechseln musst. Das Debug/Release Verzeichnis ist da prädestiniert dafür.

    Das sich die Dateien im JRE Verzeichnis befinden hat den Hintergrund, dass dieser Pfad von der JVM mit durchsucht wird, wenn du die Anwendung mal ohne Debugger laufen lässt. Grundsätzlich empfehle ich persönlich aber die Dateien in dem Ordner zu lagern, in dem sich auch der Einstiegspunkt deiner Anwendung befindet. (Bitte korrigieren falls ich mich irren sollte)

  6. #5
    Registriert seit
    20.10.2003
    Ort
    Biberach
    Beiträge
    5.083
    Danke
    963
    Erhielt 1.471 Danke für 929 Beiträge

    Standard

    Hallo,

    der Aglink-Hersteller ist auch hier im Forum vertreten
    und bietet guten Support:

    http://www.sps-forum.de/member.php/2...ALOGIC-Support

    http://www.sps-forum.de/member.php/1...ner-H%C3%B6nle
    Beste Grüße Gerhard Bäurle
    _________________________________________________________________

    Die Signatur ist den allgemeinen Sparmaßnahmen zum Opfer gefallen.

  7. Folgender Benutzer sagt Danke zu Gerhard Bäurle für den nützlichen Beitrag:

    Sven Rothenpieler (21.02.2013)

  8. #6
    Registriert seit
    10.03.2009
    Ort
    Verl
    Beiträge
    604
    Danke
    269
    Erhielt 137 Danke für 116 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Voddy ist ein Mitarbeiter von uns, daher sind wir schon dran. Aber vielen Dank für die Blumen.
    Viele Grüße

    Sven Rothenpieler


    Es gibt 3 Arten von Menschen - die, die zählen können und die, die es nicht können!


  9. Folgender Benutzer sagt Danke zu Sven Rothenpieler für den nützlichen Beitrag:

    Gerhard Bäurle (22.02.2013)

Ähnliche Themen

  1. Jetzt mit API-Guide für deutlich mehr Komfort - die neue ACCON-AGLink Version 4.2!
    Von Rainer Hönle im Forum Werbung und Produktneuheiten
    Antworten: 3
    Letzter Beitrag: 08.04.2009, 11:40
  2. Java-Wrapper für ACCON-AGLink verfügbar
    Von Rainer Hönle im Forum Werbung und Produktneuheiten
    Antworten: 0
    Letzter Beitrag: 11.02.2009, 17:05
  3. Abkürzung AG bei ACCON-AGLink
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 02.05.2005, 10:19
  4. ACCON AGLink
    Von steinthomas im Forum PC- und Netzwerktechnik
    Antworten: 1
    Letzter Beitrag: 11.10.2004, 16:42
  5. DLL ACCON-AGLink jetzt auch mit Zugriff auf die S7-Symbolik
    Von Gerhard Bäurle im Forum Werbung und Produktneuheiten
    Antworten: 0
    Letzter Beitrag: 05.12.2003, 17:33

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •