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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 29

Thema: Siemens API??? wie geht das?

  1. #1
    Registriert seit
    07.09.2005
    Ort
    MOS
    Beiträge
    156
    Danke
    22
    Erhielt 26 Danke für 17 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,
    ich habe mal so ein kleines Anliegen.
    was ist Siemens API? ich weiß dass es eine Schnittstelle zum Siemens (PCS7 in meinem Falle) System ist, aber wie kann ich mit damit Programmieren?

    Visual Studio? direkt im WinCC oder BatchCC?
    oder bittet Siemens da seine eigenen Entwicklungsumgebungen?

    sind das einfache dll´s die ich in meinem z.B. C# Programm einbinden kann?

    was kann ich mir darunter genau vorstellen? wie funktioniert das ganze?

    Bin über jede Antwort dankbar.

    Grüße
    David
    Zitieren Zitieren Siemens API??? wie geht das?  

  2. #2
    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

    Ist hier die Siemens SAPI gemeint? Da gibts bei Siemens die Handbücher glaub ich sogar zum runterladen. Ist eine Schnittstelle um "einfach" auf S7-Steuerungen bzw. die Variablen zugreifen zu können. Sinnvoll mit C/C++ unter Win32 einsetzbar. Ist ein Variante um Softnet zu verwenden.
    Was ist die eigentliche Aufgabenstellung? Vielleicht gibt es einfachere Alternativen.
    Rainer Hönle
    DELTA LOGIC GmbH

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

  3. #3
    Anonymous Gast

    Standard

    danke erstmal.
    will es in C# machen.

    ich muss die archivierung automatisieren und die ganzen chargendaten in einer Oracle Datenbank ablegen.

    habe schon komplexere sachen gemacht, doch noch nie mit Siemens PCS7 Batch. & API.

    laut Siemens kann man über API darauf zugreifen können.
    ich muss nur wissen wie ich anfangen soll....

  4. #4
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Standard

    Hallo,
    Zitat Zitat von david.ka
    ich habe mal so ein kleines Anliegen.
    Ich habe Dein Anliegen durchgelesen, aber klein oder trivial ist es auf keinen Fall.
    Zitat Zitat von david.ka
    chargendaten in einer Oracle Datenbank ablegen
    Wenn es darum geht, eine schnelle und effizitiente Anbindung einer SPS an eine Oracle Database vorzunehmen, ist Delphi die erste Wahl. Das Siemens API ist nicht mehr die erste Wahl einer Datenanbindung einer Applikation an eine SPS.
    Für die Realisierung solcher Verbindungen setze ich folgende Komponenten ein :
    Delphi 7 oder Delphi 2006 Version Professional
    Simatic OPC Server
    OPC Client von Kassl Gmbh
    Oracle Data Acess Component
    Für die Verbindung von Delphi zur Simatic S7 brauche ich je SPS-Variable ca. 1 Minute, die Anbindung von Delphi an Oracle dauert Dank ODAC ca.5 Minuten und ich bin schon zur Designtime auf der Datenbank. Solche Tools machen das Leben wirklich einfach.
    Aber zurück zum Thema C# : Die SAPI.DLL stellt eine Schnittstelle zur S7 dar, die man von C, C++ oder Delphi aufrufen kann. Ich glaube nicht, dass man über C# darauf zugreifen kann (wer es besser weiss, darf mich gerne berichtigen). Das Interface ist von Siemens mehr schlecht als recht dokumentiert. Das liegt daran, dass es verschiedene Versionen der DLL gibt, aber nur eine offizielle Dokumentation und Schnittstellenbeschreibung. Und die passen manchmal halt nicht zusammen. Ausserdem ist natürlich dazu immer eine Lizenz von Simatic Softnet erforderlich (Meine persönliche Meinung, vielleicht kann das jemand mal beim grünen Riesen verbindlich nachfragen).
    Anbindungen von S7 an Oracle habe ich auf dem o.a. Weg mehrfach realisiert, ich bin teilweise selbst überrascht, dass diese problemlos seit ca. 2 Jahren im Dauerbetrieb laufen(und das unter Windoof XP).
    Also kurz zusammengefasst, ich bezweifle, dass die Sapi.dll von Siemens noch weiter unterstützt wird, der von mir angegebene Weg zur Oracle-Anbindung scheint mir z.Zt. die optimale, zukunftsgerichtete Lösung zu sein.

    Gruß
    Question_mark

    PS : Wenn Du noch Fragen zu dem Thema hast, bitte per PN.
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren S7 API oder was ???  

  5. #5
    Registriert seit
    19.09.2005
    Ort
    Freudenstadt
    Beiträge
    811
    Danke
    64
    Erhielt 101 Danke für 64 Beiträge

    Standard

    Zitat Zitat von Question_mark
    Für die Realisierung solcher Verbindungen setze ich folgende Komponenten ein :
    Delphi 7 oder Delphi 2006 Version Professional
    Simatic OPC Server
    OPC Client von Kassl Gmbh
    Eine kostenfreie Alternative dazu ist libnodave von Zottel (Open Source ).
    SimaticNET oder ein OPC Client wird dabei nicht benötigt, und eine Delphi-Komponente ist auch dabei.
    Außerdem liefert Zottel Beispiele für diverse andere Programmiersprachen mit, unter anderem auch für C#.

    Gruß Axel
    Man muß sparn wo mn knn!
    Zitieren Zitieren Re: S7 API oder was ???  

  6. #6
    Registriert seit
    25.07.2005
    Ort
    Vogelsbergkreis
    Beiträge
    1.717
    Danke
    48
    Erhielt 68 Danke für 60 Beiträge

    Standard

    Man kann jede C-DLL in C# verwenden. Man benötigt lediglich eine Wrapper-Klasse, welche die Funktionen kapselt.

  7. #7
    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

    Zitat Zitat von seeba
    Man kann jede C-DLL in C# verwenden. Man benötigt lediglich eine Wrapper-Klasse, welche die Funktionen kapselt.
    Und das kann ganz schön aufwändig werden, speziell wenn asynchrone Funktionen im Spiel sind. Da funkt einem die Gültigkeit der Variablen und der GC ganz schön dazwischen. Und Softnet unterstützt bzw. verwendet asynchrone Funktionsaufrufe.
    Rainer Hönle
    DELTA LOGIC GmbH

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

  8. #8
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Standard

    Hallo,
    Zitat Zitat von afk
    SimaticNET oder ein OPC Client wird dabei nicht benötigt
    Trotzdem bevorzuge ich die OPC Variante gegenüber LibnoDave oder SAPI-DLL. OPC hat gegenüber allen anderen Varianten durch den OnChange-Event für mich den Vorteil, dass meine Applikation nur bei Änderung von Daten in der SPS oder bei Benutzeraktionen etwas tun muss. Das umherschaufeln der Daten wird im Hintergrund von den OPC-Komponenten erledigt (ja, ich bin manchmal etwas faul).
    Leider gibt es die Oracle ODAC Komponenten von CoreLab nicht für C#, die sind wirklich allererste Sahne. Auf dem Client-PC wird nicht einmal ein Oracle-Client benötigt, ODAC kann die Verbindung zum Oracle-Server direkt über das Netzwerk aufbauen. In den Query-Komponenten kann man direkt die SQL-Anweisungen schreiben. Die Beschreibung findest Du hier :
    http://www.crlab.com/
    Vielleicht findest Du etwas ähnliches für C#.

    Gruß
    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren Oracle und SPS  

  9. #9
    Registriert seit
    19.09.2005
    Ort
    Freudenstadt
    Beiträge
    811
    Danke
    64
    Erhielt 101 Danke für 64 Beiträge

    Standard

    Zitat Zitat von Question_mark
    Zitat Zitat von afk
    SimaticNET oder ein OPC Client wird dabei nicht benötigt
    Trotzdem bevorzuge ich die OPC Variante gegenüber LibnoDave oder SAPI-DLL. OPC hat gegenüber allen anderen Varianten durch den OnChange-Event für mich den Vorteil, dass meine Applikation nur bei Änderung von Daten in der SPS oder bei Benutzeraktionen etwas tun muss. Das umherschaufeln der Daten wird im Hintergrund von den OPC-Komponenten erledigt (ja, ich bin manchmal etwas faul).
    Jeder gute Softwareentwickler sollte (in Grenzen) faul sein, das steigert die Kreativität erheblich !

    Ich bevorzuge in meinen Programmen auch OPC, darum habe ich mir in Delphi eine OPC-Client-Komponente und auf Basis von libnodave einen eigenen OPC-Server geschrieben.

    Wenn ich aber vor der Wahl stehen würde, für diesen Anwendungsfall (Programm, das Daten aus der SPS in eine Datenbank schaufelt) entweder das SimaticNET-Paket zu installieren (und eine Lizenz dafür zu kaufen), oder in meinem Progrämmchen die Daten halt zyklisch zu pollen, dann würde ich mich in dem Fall wohl für letzteres entscheiden.
    Erstens ist das bei so einer Anwendung meistens auch nicht viel aufwendiger, da oft ein einziges Signal der Trigger für das Lesen der anderen Daten ist, und daher nur dieses Signal zyklisch gepollt werden muß. Und wenn das Programm öfter eingesetzt wird, dann lohnt es sich schon allein wegen der für den OPC-Server anfallenden Lizenzkosten.

    Gruß Axel
    Man muß sparn wo mn knn!
    Zitieren Zitieren Re: Oracle und SPS  

  10. #10
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Soweit ich weiß pollen auch alle OPC-Server die Daten der SPS.

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 19.02.2008, 20:04
  2. Antworten: 31
    Letzter Beitrag: 04.11.2007, 02:05
  3. 1 mal x-put und 2 mal x-get - geht das ?
    Von elektro_mensch im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 08.08.2007, 10:49
  4. FB alleine geht, FB 2x geht nicht?
    Von MSP im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 18.08.2005, 15:00

Lesezeichen

Berechtigungen

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