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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21

Thema: Werkzeugmagazin 1-48 auslesen

  1. #11
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.262
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Martin L. Beitrag anzeigen
    Zu Ralle:
    Sorry ist leider keine Hausaufgabe sondern eine echte SHW UWZ42 Fräse ausgerüstet von mir mit neuer Siemens Sinumerik 840DI und OP012 mit
    5 Achsen über Simodrive 611U etc.

    Manchmal fallen einem die Lösungen schneller ein wenn man darüber konstruktiv diskutiert O.K. Ralle
    Ich weiß das das keine Hausaufgabe ist, deswegen hatte ich ja auch den Code reingestellt . Hast du den überhaupt gelesen? Der FC war komplett fertig, ich faß es nicht! Außerdem adressierst du an den Falschen in punkto Hausaufgaben. Wenn ich gewußt hätte, daß du diskutieren möchtest, hätte ich dir die Variante natürlich verbal beschrieben, anstatt dir den Code zu schreiben, tut mit wirklich leid. Das mach ich für dich dann das nächste mal.

    @Kai
    Ohne Worte, .
    Geändert von Ralle (17.08.2007 um 15:30 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  2. #12
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Ich würde das ja in SCL lösen:

    Code:
    FUNCTION FC12 : INT
    
    VAR_INPUT
      MB_Nr      : INT;
      WerkzeugNr : INT;
    END_VAR
    
    VAR_TEMP
      myByteNr : INT;
      myBitNr  : INT;
    
    END_VAR
     
    
    MD[MB_Nr    ] := 0;
    MD[MB_Nr + 4] := 0;
    
    IF WerkzeugNr >= 1 AND WerkzeugNr <= 48 THEN
        
      myByteNr := WerkzeugNr DIV 8;
      myBitNr  := WerkzeugNr MOD 8;
      M[myByteNr + MB_Nr ,myBitNr] := TRUE;
      
      FC12 := 0;
      
    ELSE
      FC12 := -1;
    END_IF;
    
    END_FUNCTION
    PS: @Kai: Zitieren hat echt mehr Stil als simples Abschreiben ;o)
    Geändert von zotos (17.08.2007 um 16:40 Uhr)
    If you open your Mind too much, your Brain will fall out.

  3. #13
    Registriert seit
    29.01.2004
    Beiträge
    322
    Danke
    10
    Erhielt 22 Danke für 22 Beiträge

    Standard

    @Ralle
    Kann man die Zeilen

    L P##Werkzeugbits_1_32
    LAR1
    L #Werkzeugnummer
    +AR1

    nicht durch

    L #Werkzeugnummer
    LAR1

    ersetzen, da Werkzeugbits_1_32 eh mit 0 belegt wird?

    Gruß

    Andreas
    Woher soll ich wissen was ich denke, bevor ich nicht lese was ich schreibe!

  4. #14
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.262
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    Zitat Zitat von Znarf Beitrag anzeigen
    @Ralle
    Kann man die Zeilen

    L P##Werkzeugbits_1_32
    LAR1
    L #Werkzeugnummer
    +AR1

    nicht durch

    L #Werkzeugnummer
    LAR1

    ersetzen, da Werkzeugbits_1_32 eh mit 0 belegt wird?

    Gruß

    Andreas
    Ich habs mal im Simulator gestestet, bei Werkzugnummer 0 gehts (der Code wird ja umsprungen), bei 1 geht die CPU in Stop:

    Bereichslängenfehler beim Schreiben, bei

    S [AR1,P#0.0]

    Gehl also nicht.

    L P##Werkzeugbits_1_32 lädt nicht 0, sondern die Adresse, des außen am FC angelegten MD (z.Bsp. 100.0). In dem Zusammenhang zeigt sich (hab ich auch erst jetzt gemerkt), daß egal, was man an Werkzeugbits_33_64 ranschreibt, immer das nachfolgende MD von Werkzeugbits_1_32 beschrieben wird. Hier hätte man also ab der 33 die 2. Adresse laden müssen. Na ja, war halt rel. schnell zusammengeschrieben.


    Also Werkzeugbits_1_32 := MD100 dann immer
    Werkzeugbits_1_32 := MD104, so wie der Code ist.

    Kann man übrigens schön sehen, wenn man im Simulator Online rechts die Ansicht um Adressregister 1 erweitert.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    Znarf (18.08.2007)

  6. #15
    Registriert seit
    13.12.2006
    Beiträge
    628
    Danke
    109
    Erhielt 42 Danke für 39 Beiträge

    Standard

    Blöhhde Frage:

    warum denn ein DW?

    nen Byte kann doch bis 255 codieren ?!?

    Greetz, Tom

  7. #16
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von TommyG Beitrag anzeigen
    Blöhhde Frage:

    warum denn ein DW?

    nen Byte kann doch bis 255 codieren ?!?

    Greetz, Tom
    Weil man 48 einzelne Bits eben nicht in einem Byte ( unter bringt nicht mal in einem Doppel Word (32).

    Martin will ja einzelne Bits haben.
    If you open your Mind too much, your Brain will fall out.

  8. Folgender Benutzer sagt Danke zu zotos für den nützlichen Beitrag:

    TommyG (18.08.2007)

  9. #17
    Registriert seit
    10.05.2005
    Beiträge
    2.005
    Danke
    220
    Erhielt 234 Danke für 205 Beiträge

    Standard

    Hi Martin


    Wie kann ich den DB152.DBW6 Umrechnen um obiges Ergebnis zu bekommen. Danke für eure Hilfe. Da ich noch die 48 Positionen erfassen muß (FM350) möchte ich pro Werkzeug nur einen
    Merker haben. Weiss also sofort Merker 152.7 ist Werkzeug 7 und nicht M153.0+M153.1+M153.2= Werkzeug 7. O.K.
    Hast du bereits ein Konzept ?


    NORMALERWEISE:

    Messung des Istwertes mit einem Drehgeber
    ( Bei dir Drehgeber und FM350)
    (FM350 ? Hast du keinen Messeingang mehr frei, z.b. bei einer Achse OHNE Lineal)

    Ablesen des Istwertes Drehgeber. (Anzeige in Modula 360°)

    D.h. Pro Werkzeug hast du 7,5°

    Werkzeug 1 --> o°
    Werkzeug 2 --> 7,5°
    Werkzeug 3 --> 15°
    . . .

    Da du eine FM350 verwendest, musst du noch einen Referenzfahrt machen.


    O.K. Soweit gut.


    Da der Revolver mechanisch verriegelt, und du NICHT genau 7,5° bei Werkzeug 2 hast, must du ein Positionsfenster berücksichtigen.


    ERGEBNIS --> Normalerweise eine

    INT-Zahl --> Werkzeug IST
    INT-Zahl --> Werkzeug SOLL (Ohne Werkzeugverwaltungsoption)


    Warum, SORRY ist dein Code und soll KEINE Kritik sein willst du "bits" haben.

    Habe bereits einige Maschinen umgebaut,diverse Sondermaschinen, Scharmann , Wotan, Chiron, Index UND unter anderem auch 2 Heckert CS400 mit 40er Kette.

    Möglicherweise mache ich das zu Umständlich, verrate mir deine Gedankengänge/Konzepte.
    Karl

  10. #18
    Registriert seit
    27.04.2006
    Ort
    Sauerland
    Beiträge
    626
    Danke
    183
    Erhielt 88 Danke für 81 Beiträge

    Standard

    so ginge es denn auch
    Code:
    L 0.0  // löschen von mw
    t md 0
    t md 2
     
    L #offset  // hier 0
    SLD 3
    L #BITNR // Bitnummer
    +D
    T #ADRESSE
     
    U LOG1
    = M[ADRESSE]
    Die Kunst in der Personalführung ist es
    die Mitarbeiter so über den Tisch zu ziehen,
    dass sie die Reibungshitze als Nestwärme empfinden.

  11. #19
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von repök Beitrag anzeigen
    so ginge es denn auch
    Code:
    L 0.0  // löschen von mw
    t md 0
    t md 2
     
    L #offset  // hier 0
    SLD 3
    L #BITNR // Bitnummer
    +D
    T #ADRESSE
     
    U LOG1
    = M[ADRESSE]

    Ist MD0 und MD2 nicht im selben Merkerbereich?
    If you open your Mind too much, your Brain will fall out.

  12. #20
    Registriert seit
    27.04.2006
    Ort
    Sauerland
    Beiträge
    626
    Danke
    183
    Erhielt 88 Danke für 81 Beiträge

    Reden


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Und ist das schlimm? es müssen 6 byte genullt werden!
    ab und an muss man ein wenig glück haben !
    Richtig ist dann:
    L 0.0
    T MD0
    L 0
    T MW4
    Geändert von repök (18.08.2007 um 18:11 Uhr) Grund: zotos hat sich beschwert
    Die Kunst in der Personalführung ist es
    die Mitarbeiter so über den Tisch zu ziehen,
    dass sie die Reibungshitze als Nestwärme empfinden.
    Zitieren Zitieren Schlimm?  

Ähnliche Themen

  1. S7-200 CPU 226 CN auslesen
    Von RGELEKTRO im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 03.10.2016, 16:39
  2. S7 MMC auslesen
    Von Wowa05 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 30.01.2010, 11:20
  3. SZL auslesen
    Von der Micha im Forum Hochsprachen - OPC
    Antworten: 19
    Letzter Beitrag: 09.08.2008, 19:02
  4. OP 37 auslesen!
    Von RobRoy94 im Forum HMI
    Antworten: 4
    Letzter Beitrag: 16.03.2006, 18:28
  5. SPS mit c auslesen
    Von Speedy3311 im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 24.08.2005, 15:30

Lesezeichen

Berechtigungen

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