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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Auswertung einer TCP-Message

  1. #11
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.197
    Danke
    926
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Im Gegenteil hat er über die TCP-Verbindung und Auswertung der Telegramme in der SPS die volle Kontrolle darüber welche Werte wo in den Speicher geschrieben werden können. Bei einer S7-Verbindung kann dir jeder wie er will im Speicher "rumschmieren".
    Klar, ich glaube auch fest daran, daß der TE den zugreifbaren Bereich kontrollieren und begrenzen wird ... das macht doch sooo viel Arbeit extra und erfordert, daß er sich Gedanken machen muß, worauf er zugreifen will und darf. Seine Idee interpretiere ich aber so, daß er später überallhin zugreifen will, ohne jetzt schon zu wissen wohin und warum. (vielleicht eine Not-Rettungsmöglichkeit, um buggy Programme von außen wieder zum Leben zu bringen?) Er drückt sich darum, eine vernünftige Datenaustausch-Schnittstelle festzulegen.

    Dann schon lieber die S7-Verbindung. So eine S7-Verbindung kriegt nicht jeder Skript-Kiddy hin. Und Fachleute brauchen so eine Unterstützung im SPS-Programm nicht.

    Ich sehe keinen vernünftigen Grund für eine normale Anwendung, absolut adressiert von außen in den Speicher der SPS schreiben zu müssen.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  2. #12
    kami ist offline Benutzer
    Themenstarter
    Registriert seit
    26.03.2014
    Beiträge
    77
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi,

    dann bringe ich da doch einfach Licht ins Dunkel. Auf dem PC läuft ein Perlskript ist ein Linuxrechner. Dieser Rechner soll die Lichter in meinem Haus an und ausschalten können. Dazu sendet der Rechner M12345ON und dadurch wird die Lampe, die dem Merker zugeordnet ist angeschaltet.
    Mir geht es darum, das ich für alle 65 Ausgänge nicht komplett jede Zahl einzeln auswerten muss, sondern nur die nutze und nicht nur vergleiche? Ist das verständlich beschrieben?

    Gruß kami

  3. #13
    Registriert seit
    29.03.2004
    Beiträge
    5.741
    Danke
    143
    Erhielt 1.687 Danke für 1.226 Beiträge

    Standard

    Dann ist das mit den Datenbaustein als eindeutige Schnittstelle doch sogar logischer.
    Du nennst den Datenbaustein z.B. "PC_BEFEHLE" mit einer Variable "BEFEHL_LAMPE_NR" Array[1..100] of Bool.
    Wenn du die Nummer aus dem Befehl extrahiert hast, kannst du den Befehl per "PC_BEFEHLE".BEFEHL_LAMPE_NR[#Nummer] an die entsprechende Stelle durchgeben.

  4. #14
    Registriert seit
    29.03.2004
    Beiträge
    5.741
    Danke
    143
    Erhielt 1.687 Danke für 1.226 Beiträge

    Standard

    Dann würde ich die Befehlssyntax aber nach der Funktion benennen. Also anstelle von M nimmst du L (für Lampe), dann kannst du es relativ leicht erweitern falls du mal Steckdosen schalten willst. Und wenn du die deutschen Bezeichnungen "EIN" und "AUS" für den Wert nimmst, hast du auch immer 3 Zeichen und muss kein "ONN" verwenden.

  5. #15
    kami ist offline Benutzer
    Themenstarter
    Registriert seit
    26.03.2014
    Beiträge
    77
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi,

    damit hast du es genau auf dem Punkt getroffen. Das will ich machen. Aber wie baue ich das in FUP :"PC_BEFEHLE".BEFEHL_LAMPE_NR[#Nummer]

    Gruß kami

  6. #16
    Registriert seit
    29.03.2004
    Beiträge
    5.741
    Danke
    143
    Erhielt 1.687 Danke für 1.226 Beiträge

    Standard

    Die Variable #Nummer muss vom Datentyp Integer sein. Du musst erst aus dem String mit der Nummer eine Integerzahl machen. Da gibt es fertige Funktionen, musst nur prüfen ob die fertigen auch mit führenden Nullen klarkommen.
    Dann prüfst du die #Nummer auf gültigen Bereich, und kannst dann in FUP über die Zuweisungsbox ("=") das direkt mit "PC_BEFEHLE".BEFEHL_LAMPE_NR[#Nummer] hinschreiben.

  7. #17
    kami ist offline Benutzer
    Themenstarter
    Registriert seit
    26.03.2014
    Beiträge
    77
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    super Geschichte das hat toll geklappt und ich kann nun per TCP-Message alles ein und aus schalten.

    Vielen Dank.

    Gruß kami

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 07.08.2014, 08:19
  2. Step 7 Auswertung einer Bytefolge aus einem Array
    Von alik im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 04.08.2013, 15:34
  3. Auswertung einer positiven Flanke
    Von xstef im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 04.04.2012, 10:50
  4. Antworten: 3
    Letzter Beitrag: 21.09.2010, 11:54
  5. Auswertung einer Anzahl von Aggregaten
    Von ellawo im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 29.04.2009, 09:26

Lesezeichen

Berechtigungen

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