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

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 27 von 27

Thema: Daten über TSend_C an OPC-Server senden

  1. #21
    Registriert seit
    27.10.2009
    Beiträge
    317
    Danke
    0
    Erhielt 64 Danke für 54 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    zwischen einer s7-1211C mit dem opc server
    Die Idee ist ja, wenn eine Verbindung zu einer S7-300 möglich ist, dass wir der 1211 einfach vorgaukeln der OPCServer wäre eine S7-300, die 1211 merkt das garnicht. Nur passen mus die Projektierung auf beiden Seiten, also die des OPC Servers (in NetPro) und die der 1211 (am INIT-Baustein eingestellt).

    Die Hoffung ist ja das "auf Protokoll-Ebene" die beiden Kommunikationspartner sich prinzipiell verstehen, nur eingestellt kriegen müssen wir das noch.

    Also in NetPro hast du eine TCP Connection zu einen "unspezifizierten" Partner angelegt. In den Verbindungseigenschaften hast du dann "aktiven Verbindungsaufbau" und "Verbindunng permanent aufrecht erhalten" dann die IP-Adresse der 1211 und den Port "2000" dann bei den Optionen "Send/Receive" (denn Fetch/Write wäre pollend) dann noch die Puffergröße und die NetPro Projektierung wäre fertig.

    In der Bausteinprojektierung für die 1211 musst du dann die entsprechende Gegenseite einstellen also "passiver" Verbindungsaufbau, IP des OPC Servers etc. Wenn der Baustein aufgerufen wird, muss dann noch exakt die richtige Länge (default 256 Bytes) gesendet werden. Die Status- und Fehlerinformationen am Baustein, geben eventuell Hinweise wenn etwas schief gegangen ist.

    Der OPC Server versucht die Verbindung aktiv aufzubauen sobald er gestartet wurde und jemand sich für das "Receive" Item interessiert. Also erst den OPC Client starten, mit dem OPCServer verbinden, dann reinbrowsen in die TCP Verbindung (Verbindungsaufbau fängt an), die Receive-Variable in eine aktive OPCGruppe hinzufügen (Receive Puffer wird bereit gestellt). So und nun ist es an der 1211: INIT der Verbindung durchlaufen und dann den send, mit passender Länge aufrufen.

    Wie gesagt, der OPCServer kann Send/Receive, wenn die 1211 das auch kann, sollte das auch funktionieren, zumal keiner wirklich weiss dass auf der anderen Seite keine "echte" S7-300 sitzt wie in den Beispielen. Falls die 1211 irgend eine "spezial Variante" von Send/Receive spricht, kann es natürlich sein das es nicht klappt, nur das kann ich mir nicht vorstellen, denn zu einer 300ter geht es ja auch. Die Konfiguration ist jedenfalls schwierig, da mit verschiedenen Tools auf beiden Seiten genau die richtigen Einstellungen gemacht werden müssen.

  2. #22
    Registriert seit
    13.07.2010
    Beiträge
    71
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    die idee is gut
    zu deinem init-baustein: den gibts soweit ich weis aber nur bei den älteren s7 (300 & 400). bei der 1200 reihe is der nirgends in bausteinbibliothek zu finden. die ganzen verbindungsparamter werden hier über den Tsend_C, bzw Treceive_C baustein eingstellt, oder ggf über den TCON.

    Die Netpro Projektierung steht genau so wie du sie schon beschrieben hast. die einstellungen des bausteins auf s7-seite sind auch soweit schon fertig.
    Ises unbedingt notwendig die länge der daten anzugeben? Der input LEN des bausteins lässt sich auch ausblenden, wenn man auf einen kleinen pfeil auf der bausteinunterseite klickt. Leider ändert sich die länge der daten auch bei manchen vorgängen, deswegen kann da pauschal keine aussage getroffen werden.

    Wie genau kann man sich das "reinbrowsen in die tcp-verbindung" vorstellen? den restlichen ablauf hab ich soweit auch schon durchgespielt...

    Könnts vlt noch sein das unter SIMATIC NET noch "PG/PC-Schnittstelle einstellen" noch gewissen einstellungen getroffen werden müssen?
    Die aktuelle Schnittstelle sieht folgendermaßen aus:
    Zugangspunkt der Applikation: S7ONLINE (Step7)
    Benutzte Schnittstellenparametrierung: <Keine>

  3. #23
    Registriert seit
    27.10.2009
    Beiträge
    317
    Danke
    0
    Erhielt 64 Danke für 54 Beiträge

    Standard

    Ises unbedingt notwendig die länge der daten anzugeben?
    Erstmal sollte nicht mehr ankommen als der Partner erwartet (default sind 256 Byte, das kann man aber hochdrehen). Weiterhin gibt es zwei "Ausprägungen" des Send/Receive Protokolls, einmal wird die Länge im Telegramm mit übertragen und dann hat der Partner eine Chance das auszuwerten (Miniport), beim anderen ist die Länge nicht enthalten und muss daher stimmen. Leider weiss ich nicht genau was die 1211 benutzt, hier könnte also das Problem liegen. Hast du mal das Statuswort des Sendebausteins angeschaut, dies könnte einen Hinweis geben was genau nicht stimmt.

    Wie genau kann man sich das "reinbrowsen in die tcp-verbindung" vorstellen?
    Wenn du einen standard OPC Client nimmst (z.B. OPC Scout) dann machst du erst einen "connect" dann ein "addgroup" und dann geht der "OPCNavigator" auf, ein Fenster mit dem man in den OPCServer browsen kann, man navigiert durch den Adressraum des OPC Server. Also wenn du SR: und die "Unterordner" mit dem "Verbindungsnamen" siehst dann bist du schon am "Browsen". Der Verbindungsaufbau zum Partner findet ers dann statt wenn du in den dazugehörigen Knoten "reingebrowst" bist (bzw. wenn du die receive-Variable in die gruppe einfügst)

    Könnts vlt noch sein das unter SIMATIC NET noch "PG/PC-Schnittstelle einstellen" noch gewissen einstellungen getroffen werden müssen?
    meiner Ansicht nach NEIN. Der Zugangspunkt "S7ONLINE" wird nur von STEP7 verwendet (dahin sendet STEP7 die Daten beim download der Projektierung) daher muss man das machmal "umstellen" (z.B. auf MPI wenn man einen SPS laden möchte und dann auf "PCinternal" wenn man den OPCServer laden möchte und dieser auf dem selben Rechner ist wie das STEP7).
    Der OPC Server hat einen eigenen Zugangspunkt, der für den Anwender nicht sichtbar ist (zumindest in den neueren Versionen von SimaticNET). Das stellt sich alles automatisch ein, beim Laden der Konfiguration aus STEP7 bzw. beim XDB-Import.

  4. #24
    Registriert seit
    13.07.2010
    Beiträge
    71
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Dr. OPC Beitrag anzeigen
    Leider weiss ich nicht genau was die 1211 benutzt, hier könnte also das Problem liegen. Hast du mal das Statuswort des Sendebausteins angeschaut, dies könnte einen Hinweis geben was genau nicht stimmt.
    Die Idee mit dem Steuerwort auslesen hatte ich auch schon verfolgt. das ergebniss dabei war, das die verbindung anscheinend nich hergestellt werden kann. die meldungen beliefen sich auf "temporärer kommunikationsfehler", "Verbindungsaufbau, auf Partner warten", Verbindung aufgebaut, "keine Bearbeitung aktiv"

    Zitat Zitat von Dr. OPC Beitrag anzeigen
    Der Verbindungsaufbau zum Partner findet ers dann statt wenn du in den dazugehörigen Knoten "reingebrowst" bist
    Achso. Schon zigmal gemacht, nur nie die richtige Bezeichnung dafür gehabt

    Zitat Zitat von Dr. OPC Beitrag anzeigen
    Das stellt sich alles automatisch ein, beim Laden der Konfiguration aus STEP7 bzw. beim XDB-Import.
    Ok, dachte nur, weil sich dort ja auch die Schnittstelle über TCP/IP einrichten lässt und das vlt der Fehler wäre.

    Muss zzt leider nochn bissel warten bis zum nächsten Testdurchlauf, da die Simaticsoftware momentan alle viere von sich streckt un rumzickt. hoffentlich läuft die sache bald wieder rund...

  5. #25
    Registriert seit
    13.07.2010
    Beiträge
    71
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hey,

    bin endlich wieder dazu gekommen weiter zu projektieren. Hab einfach alles nochmal von vorne durchgespielt und diesmal eine aktive Verbindung von OPC seite aus eingestellt.
    Und die verbindung besteht
    Das problem besteht jetzt leider darin, dass ich im OPC scout eine integer variable angelegt hab mit der adresse null. diese adresse gibt die länge des zu senden puffers an. auf der sps wird der gesendete wert in einen string geschrieben. je nachdem welcher wert im scout steht, ändert der string seine länge.
    Bsp.: im scout bestitzt int=2 -> im string steht: $00$00
    also er erkennt schonmal die länge des puffers.
    Leider war der versuch weitere variablen anzulegen(char oder weitere integer) und zu senden nicht erfolgreich. da wird anschließend überhaupt nichts angezeigt.

    Hat jemand eine idee worans das liegen könnte?

  6. #26
    Registriert seit
    13.07.2010
    Beiträge
    71
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    kurzes update:
    nach einem neustart vom pc, konnten doch variablen übertragen werden. keine ahnung warums vorher nich funktioniert hatte.
    komischerweise können aber nur integer übertragen werden. eine angelegte char-variable im scout überträgt keinerlei daten an die sps

    Desweiteren ist mir noch aufgefallen das sowohl send, als auch receive funktionieren (mit der beschränkung das nur zahlen übertragen werden), aber nur wenn der opc server die verbindung aufbaut. von sps seite aus gibts bei aktivem aufbauversuch immer die fehlermeldung 80C4 (temporärer kommunikationsfehler)

    weis jemand vlt. weiter?

  7. #27
    Registriert seit
    13.07.2010
    Beiträge
    71
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    konnte die entgültige lösung glücklicherweise noch selber finden.
    also:
    die send verbindung von opc->sps lief vorher über tcp erfolgreich. nur in umgekehrter reihenfolge nicht.
    nachdem die verbindung in iso-on-tcp geändert wurde, kam auch die umgekehrte kommunikatio zustand

    Das Problem mit den Buchstaben war auch einfacher als gedacht. jedes zeichen war ascii kodiert und konnte deshalb eben nicht über den buchstaben direkt versendet werden, sondern musste zuerst in den passenden ascii-code umgewandelt werden.

    damit is alles paletti

Ähnliche Themen

  1. daten über PN senden und empfangen
    Von Servernexus im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 04.08.2011, 16:43
  2. ZPL-Daten via RS232 über SPS senden
    Von tigger im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.02.2010, 16:51
  3. Daten über DB senden
    Von bigannang im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 08.11.2007, 22:50
  4. CP340 - Daten über RS232 senden und Empfangen
    Von smartie im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 24.08.2007, 10:15
  5. Über DP/RS232 Link(Siemens) Daten senden
    Von -Andreas- im Forum Feldbusse
    Antworten: 2
    Letzter Beitrag: 23.07.2007, 10:50

Lesezeichen

Berechtigungen

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