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

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

Thema: Positionsdaten setzen

  1. #1
    Registriert seit
    06.01.2015
    Beiträge
    98
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    Ich habe ein kleines Problem. Ich habe eine ET200S mit einem Drehgeber der Firma TR Angeschlossen.
    Jetzt möchte ich die Positionsdaten dieses Gebers gern auf einen von mir Vorgegebenen Wert über die Preset Funktion seten.
    Laut Herstelle soll ich dafür den SFB53 verwenden. Dieses habe ich auch getan. und hoffentlich auch soweit richtig.
    Nur wie gebe ich ihm meinen gewünschten Wert vor? Aus der Hilfe von Siemens wrde ich nicht ganz schlau.
    Vielleicht könnt ihr mir ja weiterhelfen.
    Verwendet wird ein: "Rotativ Encoder C__58_-EPN mit Geschw" der Firme TR Electronic mit Profinet Anschluss.

    Bilder sind im Anhang. Die position möchte ich gern auf den wert "100" Setzen und wenn es möglich ist auch noch die Info bekommen das der Schreibauftrag erfolgreich war.


    Vielen Dank schon mal im Vorraus.

    Hagen
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Positionsdaten setzen  

  2. #2
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    .
    Die Anleitung von TR zeigt dazu die PreSet-Funktion mit Beispiel auf.

    Die erfolgreich gesetzten Daten des Schreibauftrags kannst du dann durch
    anschliessendes Auslesen mit SFB52 überprüfen.
    Auch der DONE und der ERROR geben dir dazu zusätzliche Hinweise.


    Ist das gewollt, dass du an der ID (= logische Adresse) die Geberdaten parametriert
    und den RECORD leer gelassen hast ?

    .
    Geändert von SoftMachine (14.03.2015 um 00:56 Uhr) Grund: Grammatik
    kind regards
    SoftMachine

  3. #3
    Registriert seit
    06.01.2015
    Beiträge
    98
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe keine Ahnung ob das alles so richtig ist. Nutze den SFB53 und den Profinet Geber zum ersten mal. RECORD muss natürlich was eingetragen werden. Aber ich habe keine Ahnung wie. Dort muss ja der Gewünschte Wert eingetragen werden.

    Im Anhang habe ich auch noch die Anleitung des Herstellers hinterlegt.

    Besten Dank schon mal für die Antwort.
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: png TR1.PNG (48,4 KB, 35x aufgerufen)
    • Dateityp: png TR2.PNG (100,2 KB, 40x aufgerufen)

  4. #4
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.337
    Danke
    385
    Erhielt 218 Danke für 173 Beiträge

    Standard

    Hallo Hagen,

    Record is von es Datentyp ANY , ich hab 2 Beispiele wie du die beschalten kannst.

    Anhang 27823

    Beim erste schreib ich die 100 fest in ein Doppelwort und schieb die mit ein blockmove in ein ANY Variable die ich im FC angelegt habe. mit dem ANY kannst du dann der Record beschalten

    Beim 2e hab ich am Record ein Pointerzugriff gemacht auf DB2, P#DB2.DBX0.0 BYTE 4.

    Versuche es mal.

    Bram
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  5. #5
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.725
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    Warum so aufwendig?
    geber ist hier eine lokal im Temp-Bereich definierte DINT-Variable, in welche du vor Aufruf des Records natürlich mittels Move deinen gewünschten Preset-Wert schieben musst.
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  6. #6
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.337
    Danke
    385
    Erhielt 218 Danke für 173 Beiträge

    Standard

    Ja klar kann man die auch im Temp Bereich machen.

    So wie ich es sehe muss er den Preset Wert dezimal eingeben.
    Wäre dann nicht ein Doppelwort der Wahl statt DINT ?

    Bram
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

  7. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Achtung, wenn die Variable an RECORD in TEMP liegt, dann muß der Preset-Wert in jedem Zyklus mit REQ=1 erneut in die TEMP-Variable geschrieben werden, bis RDREC BUSY=0 meldet.

    Ob die Variable für den Preset-Wert ein DWORD oder ein DINT ist, spielt eigentlich keine Rolle. Ob der Preset-Wert dezimal oder hexadezimal geMOVEt wird ist doch nur Ansichtssache. Ich würde DINT nehmen, ein Dezimalwert L#12345678 passt besser zu DINT.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. #8
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.334
    Danke
    27
    Erhielt 129 Danke für 116 Beiträge

    Standard

    Zitat Zitat von MSB Beitrag anzeigen
    Warum so aufwendig?
    Hier geht es auch erst einmal um das Prinzip ...

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

  9. #9
    Registriert seit
    06.01.2015
    Beiträge
    98
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi Leute,

    Vielen Dank für die Zahlreichen Antworten.
    Ich habe nur leider Das Problem, das ich wirklich Anfänger bin und zum ersten mal mit dieser Funktion arbeite. Habe auch generell noch nicht so viel erfahrung mit Programmieren. Daher möchte ich halt gern versten Warum ich Was tue.
    Kann mir jemand sagen was ich auf einfachem, programmiertechnischem, wege machen muss um den Geberwert auf 100 zu setzen?
    Ist das was ich bisher gemacht habe Überhaupt richtig?
    Bitte Bitte erklärt mir auch warum ich dieses so machen muss. Hab leider nicht so die erfahrung wie Ihr, aber ich möchte es lernen.

    Tut mir leid das ich so schwer von begriff bin.

    Vielen Dank, das Ihr eure zeit opfert mir zu Antworten.

    Beste Grüße
    Hagen

  10. #10
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.337
    Danke
    385
    Erhielt 218 Danke für 173 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Hagen,

    Da sind viele wegen um an das Ziel zu kommen.

    Anhang 27824

    Auch dies ist ein Beispiel davon.
    So auf der erste blich hat die ID falsch gestanden.
    Da soll die (Glaube ich) die Fettgedrückte Diagnoseadresse hin.

    wenn du den Baustein anklickst kommst du mit die Taste "F1" an die Hilfe texte von S7.
    Da ist die Funktion und Beschaltung gut beschrieben.

    Bram
    Wenn es nicht auf STRAVA ist, ist es nicht passiert !!

Ähnliche Themen

  1. Timer setzen
    Von hellrazz im Forum Programmierstrategien
    Antworten: 4
    Letzter Beitrag: 17.01.2012, 09:25
  2. Antworten: 13
    Letzter Beitrag: 27.02.2008, 16:47
  3. Bits setzen
    Von broesel im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 23.05.2007, 17:27
  4. Encodernullpunkt setzen
    Von pfverdi im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 02.11.2006, 07:54
  5. Uhrzeit setzen in S7
    Von 1schilcher im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 31.03.2006, 18:32

Lesezeichen

Berechtigungen

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