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

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 41

Thema: Datenbaustein Kommunikation

  1. #11
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    also ganz genau so:

    1.
    ...der Integer wird in eine XML geschrieben...
    - wird eine bestehende verändert oder wird eine neue XML-Datei angelegt?
    - ist Parameter in der XML immer gleich?
    - ist der Name der XML-Datei immer gleich?

    2.
    ...Beim Start von dem externen Programm auf dem PC wird die xxx.xml Datei geladen...

    - wird die Exe direkt gestartet oder mit dem laufenden Programm kommuniziert?
    - wie bekommt das externe Programm den XML-Namen mit?

    An dieser Schnittstelle arbeite ich mit dem Programm-Anbieter.
    Wie arbeitest du mit dem Programmanbieter an einer Schnittstelle wenn du keine Hochsprachen kannst und somit
    nicht abschätzen kannst welcher Aufwand hinter Angebotener Lösung x,y oder z steckt?

    Ist eine AGLink-Lizenz fuer ~400-500EUR schon ein Hardcore Bugetsprenger? Ansonsten könnte ich auch aushelfen (PN an mich)
    implementation und z.B. auch was die Schnittstellendefinition zu dem externen Programm angeht
    Zitieren Zitieren hab ich das jetzt richtig Verstanden...  

  2. #12
    frielex ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.07.2012
    Beiträge
    21
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also im Moment handelt es sich hier um einen Test-Aufbaue der über keine Kopfsteuerung verfügt. Das externe Programm wird im Moment über eine Verknüpfung gestartet. Falls in der XML-Datei die richtige Jobnummer steht. Diese XML-Datei hat immer den selben Namen und wird beim Start der externen Software aufgerufen. Dann muss ich im GUI des externen Programms auf Connect klicken und dann ist das Programm bereit Daten von einem Kamera-System zu empfangen. Das Programm läuft die ganze Zeit und liefert Daten, die wiederum von einem anderen externen Programm bearbeitet werden (das ist aber hier nicht das entscheidende). Wenn ich jetzt ein Job ändere, muss ich zunächst das externe Programm stoppen. Dann die XML-Datei öffnen und die Zahl ändern. Danach wird im GUI auf "Reinitialisierung" geklickt und das Programm hat nun Bezug auf die veränderte XML-Datei. Dann wird wieder in der GUI auf "Connect" geklickt. Das ganze soll nun mit einer Kopfsteuerung automatisch ablaufen

  3. #13
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    Wie arbeitest du mit dem Programmanbieter an einer Schnittstelle wenn du keine Hochsprachen kannst und somit
    nicht abschätzen kannst welcher Aufwand hinter Angebotener Lösung x,y oder z steckt?

    Ist eine AGLink-Lizenz fuer ~400-500EUR schon ein Hardcore Bugetsprenger? Ansonsten könnte ich auch aushelfen (PN an mich)
    implementation und z.B. auch was die Schnittstellendefinition zu dem externen Programm angeht
    darauf hast du nicht geantwortet
    Zitieren Zitieren und der Rest...  

  4. #14
    frielex ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.07.2012
    Beiträge
    21
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Bin ein Werkstudent und habe die Aufgabe bekommen
    Als das ganze anfing, war ja keine Kopfsteuerung vorgesehen.
    Das hat sich im Laufe nur so entwickelt.
    Hauptsächlich programmiere ich Roboter.

    Wir arbeiten eng mit Siemens zusammen, deswegen war ein cp343 vorgesehen.

  5. #15
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    1. Definitiv ist klar das dir ein OPC- oder Datenbank-Server absolut 0% hilft - die beiden machen das ganze eher noch schwieriger

    2. Wenn du auf die SPS willst brauchst du eine Zugangssoftware z.B. Open-Source Libnodave oder kommerziell AGLink, das sind Direktanbinder d.h. kleine Schnitttstelle wenig Schnick-Schnack, den OPC-Server koenntest du auch dafür
    verwenden - aber dann brauchst du einen Client - der auch wieder was kostet (selber schreiben wird da noch schwieriger als Libnodave oder AGLink verwenden)

    Einfach mal AGLink-Demo runterladen und den sog. API-Guide aufrufen, dann kannst du einfach mal mit deiner SPS spielen und Werte lesen/schreiben...so als kleiner Einstieg

    3. Für den Rest (XML-Datei schreiben,externes Programm starten/stope usw.) würde ich dir zu C# oder VB.Net raten - sonst brauchst du viel zu langen für die Einarbeitung

    ansonsten viel Erfolg

    Was für ein Studiengang belegst du denn?
    Zitieren Zitieren na dann mal los :)  

  6. #16
    frielex ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.07.2012
    Beiträge
    21
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Bin im Elektrotechnik studium
    Habe auch C-Programmierung mitgenommen, aber halt nichts vertieftes
    Mein Schwerpunkt liegt bei Robotik und Automatisierungstechnik

  7. #17
    Registriert seit
    10.03.2009
    Ort
    Verl
    Beiträge
    596
    Danke
    268
    Erhielt 133 Danke für 112 Beiträge

    Standard

    Guten Morgen,

    also hier mal die Demoversion von ACCON-AGLink...

    Der API-Guide "führt" dich quasi durch die Befehlswelt von AGLink und man kann diese sogar direkt interaktiv testen. Der Quellcode zu den einzelnen Funktionen wird auch direkt in sämtlichen Programmiersprachen aufgeführt, sodass du im besten Falle den hier schon öfters genannten 10-Zeiler einfach in deine Applikation kopieren könntest.
    Viele Grüße

    Sven Rothenpieler


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


  8. #18
    frielex ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.07.2012
    Beiträge
    21
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Habe heute mal ein Programm in C geschrieben, welches mir die Jobnumber in der XML ändert
    Nur habe ich ein Problem, wie ich die Variablen mit den aus dem Datenbaustein der SPS verbinden soll.

    # include <stdio.h>
    # include <stdlib.h>
    # include <windows.h>

    main () {

    FILE *stream2;
    int trigger, Jobnumber;
    trigger = 1; //später muss sie mit dem DB aus der SPS verknüpft werden
    Jobnumber = 30; //später muss sie mit dem DB aus der SPS verknüpft werden

    //Schreiben in eine Datei

    if(trigger == 0) {
    printf("\nNun werden die Daten in Kackwurscht eingetragen!\n");
    stream2 = fopen("Kackwurscht.xml","w");
    fprintf(stream2,"<MODULE name='BpApplication' valuetype='BpApplication'>\n");
    fprintf(stream2,"<MODULE name='BpManager' valuetype='BpManager'>\n");
    fprintf(stream2,"</MODULE>\n");
    fprintf(stream2,"<MODULE name='ScanningRulerSnapshotCamera' valuetype='ScanningRulerSnapshotCamera'>\n");
    fprintf(stream2,"<PARAMETER valuetype='string' name='IPADDRESS' runtime='false' info='Camera IP' >192.168.168.15</PARAMETER>\n");
    fprintf(stream2,"<PARAMETER valuetype='string' name='PARAMETER_FILE' runtime='false' info='Relative or full path to camera parameter file' >parameters\parameters_RulerS-2114_2M.prm</PARAMETER>\n");
    fprintf(stream2,"<PARAMETER valuetype='string' name='HANDEYECALIBRATION_FILE' runtime='false' info='Relative or full path to handEye calibration param file' >parameters\Calibration_20120628B.txt</PARAMETER>\n");
    fprintf(stream2,"</MODULE>\n");
    fprintf(stream2,"<MODULE name='FileSnapshotCamera' valuetype='FileSnapshotCamera'>\n");
    fprintf(stream2,"<PARAMETER valuetype='string' name='DATA_PATH' runtime='false' >C:\Dokumente und Einstellungen\Rasche\Eigene Dateien\SICK\PLB\Recordings\Recording_2012-04-04T16.58.19.125000\00000000</PARAMETER>\n");
    fprintf(stream2,"</MODULE>\n");
    fprintf(stream2,"<MODULE name='TCPIPRobotInterface' valuetype='TCPIPRobotInterface'>\n");
    fprintf(stream2,"<PARAMETER valuetype='int' name='PORT' min='1024' max='65535' runtime='false' info='Server port for robot communication' >6008</PARAMETER>\n");
    fprintf(stream2,"<PARAMETER valuetype='string' name='ROBOT_INTERFACE_TEMPLATE' runtime='false' info='File which points to a CFG template file for robot communication' >parameters\RobotInterfaceTemplateIRPA.cfg</PARAMETER>\n");
    fprintf(stream2,"<PARAMETER valuetype='bool' name='ENABLE_SWEEP_DONE' runtime='false' info='Set to true if system shall send SweepDone signal over TCP/IP when scan is completed' >true</PARAMETER>\n");
    fprintf(stream2,"</MODULE>\n");
    fprintf(stream2,"<MODULE name='CandidateSelectionBinPicking3D' valuetype='CandidateSelectionBinPicking3D'>\n");
    fprintf(stream2,"<PARAMETER valuetype='int' name='MODEL_ID' min='0' max='100' runtime='false' info='CAD Model ID to be used' >%i</PARAMETER>\n", Jobnumber);
    fprintf(stream2,"<PARAMETER valuetype='int' name='OUTPUT_FORMAT' min='0' max='1' runtime='false' info='Enter rotation description type (valid values: 0=XYZ, 1=ZYX)' >1</PARAMETER>\n");
    fprintf(stream2,"</MODULE>\n");
    fprintf(stream2,"<PARAMETER valuetype='int' name='SNAPSHOT_CAMERA_TYPE' min='0' max='2' runtime='false' info='ScanningRuler = 0, File = 2' >0</PARAMETER>\n");
    fprintf(stream2,"<PARAMETER valuetype='string' name='LICENSE_ACTIVATION_KEY' runtime='false' info='If a key is inserted, it will activate the license, when a camera is next connected. When license is activated, this value can be removed.' >fCcF4-07l8B-XzG6C-4W9Eq-MNl1Q-5G1wV-6Y0LG-bu4Kh-Z0350</PARAMETER>\n");
    fprintf(stream2,"</MODULE>\n");
    fprintf(stream2,"\n");
    fprintf(stream2,"<!-- fCcF4-07l8B-XzG6C-4W9Eq-MNl1Q-5G1wV-6Y0LG-bu4Kh-Z0350 -->\n");
    fclose(stream2);
    }
    else{
    sleep();
    }
    // system("pause");
    }

  9. #19
    frielex ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.07.2012
    Beiträge
    21
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    das Programm mach auch was es soll. Es überschreibt die XML Datei mit der neuen Jobnumber an der richtigen Stelle
    Nun muss es die Ganze Zeit im Hintergrund laufen und auf die Variablen trigger und Jobnumber warten.
    Brauche da nun hilfe

  10. #20
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.224
    Danke
    630
    Erhielt 955 Danke für 769 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Bei Dir wird nicht eine XML-Datei geändert sonern einfach eine neue angelegt. Wenn dies für Dich ok ist, dann passt das.
    Zum Lesen der Daten aus der SPS siehe Link von Sven zu ACCON-AGLink, suche nach libnodave oder verwende Jochen Kühners Bibliothek.
    Wenn Du Dich entschieden hast, kannst Du zur Bibliothek Deiner Wahl weitere Fragen stellen.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

Ähnliche Themen

  1. Datenbaustein
    Von blurry333 im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 01.03.2011, 03:00
  2. Datenbaustein
    Von cpu315 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 21.02.2008, 20:56
  3. Datenbaustein
    Von BastiMG im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 06.10.2006, 12:15
  4. Antworten: 4
    Letzter Beitrag: 23.08.2006, 15:02
  5. Datenbaustein
    Von Anonymous im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 22.10.2004, 16:35

Lesezeichen

Berechtigungen

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