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

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

Thema: Gab es in s5 schon Pointer oder eine tricky ähnliche Programmierung ?

  1. #1
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Hardware- Voraussetzung:
    - eine s5- CPU [vermutlich 115-xxx]
    ( da ich heute und morgen frei habe, kann ich ehestens freitag nacht
    etwas genaueres zu der CPU schreiben)
    - LAUER- Display ( PCS 100)

    Das Problem:
    Ich möchte die Vorschub- Länge um 3 cm verkürzen.
    Im Display habe ich keine Einstell- Möglichkeit gefunden, also habe ich mal im Progi nachgesehen, woher die Länge für den "Einschub bei Prod.Start" kommt.
    Ich fand einen FB7 (Symbolname: MessIst).

    ungefähre Struktur:
    (IN- FB)

    EN = enable
    Extr1= Bit1 für Sonderfunktion
    Extr2= Bit2 für Sonderfunktion
    MW210= (ich vermute...) der Istwert
    TRANSP= (ich vermute...) irgendein Anpassungs-Wert

    (Out- FB)
    W_BCD= Wert in BCD ( vermutlich für's Display ??? )
    W_INT= Wert, mit dem im Prog. weiter gearbeitet wird
    _______________

    FB7_IN:
    EN = bool ( muß dieser FB überhaupt bearbeitet werden ?)
    Extr1 = Bool //
    Extr2 = Bool // Diese beiden Bits übergeben Sonderfunktionen, z.B.:
    00= normaler Meterzähler
    01= "Probe nehmen" = Vorschub => 600 mm, (wird für Labor benötigt )
    10= "Einfädeln neue Prod." = Vorschub => 350 mm, <= diese will ich
    ändern
    11= "2x Probe" => 1200mm, 2x Schnitt ( für Labor und Zertifizierung )

    MW210.... da fängt mein Problem an

    Dieses MW210 wird von FB1 ausgegeben...
    In diesem FB1 steht nur:
    L DW 40
    T MW xxx
    L DW 41 // ????
    T MW xxx
    und irgendwann...
    L DW45
    T MW210 // !!!

    Ein weiteres Problem für mich ist, daß meine gesuchte Funktion (die Meßrad- Umdrehung in PW66 - 68 eingelesen wird... aber nirgends [außer in der Symboltab.] auftaucht.

    >>> Ich möchte nach einem mech. Umbau den Soll- Zustand so anpassen, daß das Material (Draht- Ziehmaschine) nicht beim Einfädeln in die neue Spule zu weit fährt und umknickt.


    Meine Fragen:
    Ist in s5 eine WORD- Adresse anders ?
    - Ich lese DW40 = DatenWORD 40 => Dementsprechend verstehe ich schon mal dieses DW41 nicht.
    - desweiteren sehe ich in dem ganzen FB1 kein AUF [DB].
    Wie finde ich heraus, auf welchen DB (es gibt ca. 30 DB's) tatsächlich zugegriffen wird...


    oder habe ich mich komplett verrannt ??

    Mfg
    Zitieren Zitieren Gab es in s5 schon Pointer oder eine tricky ähnliche Programmierung ?  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    In der S5 waren die DW in DB tatsächlich so adressiert, wie du es siehst, also 16-Bit-weise.

    DW0 = 16 Bit
    DW1 = 16 Bit
    ...

    Ein einmal geöffneter DB ist gültig, bis ein anderer geöffnet wird. D.h., du mußt nachsehen, was vor dem FB steht.
    Was ich leider im Moment nicht weiß, ob der alte DB beim Aufruf eines "Unter-FB" gespeichert und bei der Rückkehr aus diesem wieder restauriert wurde. Das weiß sicherlich noch jemand anders im Forum. Auf jeden Fall schau dir erstmal die Aufrufe vor deinem FB1 an!
    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

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

    mega_ohm (22.05.2009)

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

    Beitrag

    Hallo,

    Zitat Zitat von Ralle
    Was ich leider im Moment nicht weiß, ob der alte DB beim Aufruf eines "Unter-FB" gespeichert und bei der Rückkehr aus diesem wieder restauriert wurde
    Deine Vermutung ist richtig, die S5 merkt sich beim Einsprung in einen anderen Baustein die ursprüngliche DB-Vorgabe und stellt diese beim Rücksprung wieder her.

    Gruß

    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren A DB xxx (STEP5)  

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

    mega_ohm (22.05.2009)

  6. #4
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Ich liege doch aber nicht so ganz verkehrt, wenn ich meine, das ein DW45 irgendwie einem Datenbaustein zuzuordnen sein muß ?

    Ich sehe aber nirgends, obwohl es ganz viele DB's gibt, daß die irgendwo mal geöffnet werden... bei s7 ist das super übersichtlich...
    - DB1.DBW0... ( z.B.)

    Bei s5 steht doch irgendwo immer z.B. AUF DB1 oder nicht ?

    Über die XReferenz gibt es nur 2 Einträge...
    - einmal im FB1 ( wo aber eigentlich die ganzen Daten für das LAUER- Display gefunden werden )... deswegen habe ich ja die ganzen Menü's und die LAUER- Datei ( als *.txt geöffnet) bestimmt 200x abgeklopft... in der Hoffnung dort irgendwas zu finden..
    - 2.: im Eingangsparameter FB7 (MW210)

    ______________________________________________________________
    Wir haben nur noch ("Gott sei Ding") 2 Anlagen mit s5.

    Bei einer Anlage habe ich die zusätzlichen "Sonderwünsche" nach ganz viel Suchen, Analysieren... und Finden von freien Merkern im >200 Bereich mit vielen, teilweise unbezahlten Überstunden ( Schmiermerker- Bereich verramscht ) kennen lernen dürfen... danach habe ich mir generell immer einen eigenen DB definiert, die entsprechenden MW in den DB gesichert, danach die MW manipuliert... und nach FERTIG die MW wieder mit dem Inhalt aus dem DB zurückgeschrieben...

    Dieses Mal sehe ich aber gar nicht, woher die Soll- Längen kommen....
    (Dann könnte ich ja daran drehen...)
    Die Soll- Längen müssen doch irgendwo hinterlegt sein ??


    Und wieso taucht ein PW66 ( in s7 wäre es PEW66 ) nur in der Symboltabelle, aber nirgends im Programm auf ??
    ( Im E- Plan ist es ein Schiele-Entrelec Counter- Modul... PW66/67 )


    _____________________________________________________________
    Falls ich bisher vergessen hatte, zu schreiben, daß s5 sehr gewöhnungsbedürftig ist... dann möchte ich es jetzt nachholen...

    >>> s5 ist sehr gewöhnungsbedürftig !!

    Viele Grüße
    Geändert von mega_ohm (22.05.2009 um 02:27 Uhr)

  7. #5
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    In der S5 waren die DW in DB tatsächlich so adressiert, wie du es siehst, also 16-Bit-weise.

    DW0 = 16 Bit
    DW1 = 16 Bit
    ...

    Ein einmal geöffneter DB ist gültig, bis ein anderer geöffnet wird. D.h., du mußt nachsehen, was vor dem FB steht.
    Was ich leider im Moment nicht weiß, ob der alte DB beim Aufruf eines "Unter-FB" gespeichert und bei der Rückkehr aus diesem wieder restauriert wurde. Das weiß sicherlich noch jemand anders im Forum. Auf jeden Fall schau dir erstmal die Aufrufe vor deinem FB1 an!
    Bei mehreren existenten DB's muß man doch aber
    Code:
    AUF DB XY //  schreiben ?
    Genau das habe ich aber noch nicht gefunden...
    Ich weiß, das auf DW45 zugegriffen wird...
    - vermute, das dieser Wert für den Vorschub irgendwo steht...
    ... und kann ihn bei mehr als 10 DB's nicht finden.

    Die ersten 3 DB's habe ich mir mal angeschaut...
    ... DW251... oder so ähnlich war der letzte Eintrag.
    DW45 war in diesen 3 DB's KF = 0000

    Auf diesem Weg (in den DB's nach einem Wert zu suchen) werde ich sicher alt und grau... aber nicht fündig.

  8. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Hallo Mega,
    zur Vervollständigung deiner Verunsicherung :
    Auch bei der S5 war es schon möglich "indirekt" auf Speicherbereiche zuzugreifen. Das ging hier mit dem "B"-Befehl (bearbeite). Auf diese Weise liessen sich auch DB's aufschlagen :
    Code:
    L MW100
    B DB0    // es wird der DB bearbeitet, dessen Nummer durch den Inhalt des MW100 festgelegt ist
     
    L MW20
    B DW0    // es wird das DW geladen, dessen Nummer durch den Inhalt des MW20 festgelegt ist
    Die Zählerkarte (wenn es eine solche ist) wird sehr wahrscheinlich über einen FB ausgelesen und dann in die DW's übertragen.

    Gruß
    LL

  9. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    mega_ohm (24.05.2009)

  10. #7
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Bei S5 hier der Befehl

    A DBxy

    Ansonsten suche auch nach der von Larry bereits erwähnten indir.Adressierung.

    L MWxy
    B DB0 //ist hir immer 0, wegen der indir. Adressierung mit der Nummer aus MWxy
    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

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

    mega_ohm (24.05.2009)

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

    Standard

    [QUOTE=Larry Laffer;199451]
    Code:
    L MW100
    B DB0    // es wird der DB bearbeitet, dessen Nummer durch den Inhalt des MW100 festgelegt ist
     
    L MW20
    B DW0    // es wird das DW geladen, dessen Nummer durch den Inhalt des MW20 festgelegt ist
    Sorry, falls ich mich irre, vielleicht habe ich es nur lange nicht mehr gemacht, aber war es nicht eher so:
    Code:
    B MW20
    L DW0    // es wird das DW geladen, dessen Nummer durch den Inhalt des MW20 festgelegt ist
    Und dann sollte das Aufschlagen eines Bausteins so aussehen:
    Code:
    B MW100
    A DB0    // es wird der DB bearbeitet, dessen Nummer durch den Inhalt des MW100 festgelegt ist

  13. Folgender Benutzer sagt Danke zu Zottel für den nützlichen Beitrag:

    mega_ohm (24.05.2009)

  14. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    @Zottel:
    Ich habe das auch schon (sehr) lange nicht mehr gemacht. Es kann also sehr gut sein, dass du da Recht hast. Leider kann ich das im Moment nicht überprüfen.

    Gruß
    LL

  15. #10
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja stimmt wohl, Zottel hat wohl die Syntax noch richtig im Kopf denke ich!
    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

Ähnliche Themen

  1. Tricky oder zu doof
    Von paulo78 im Forum Programmierstrategien
    Antworten: 16
    Letzter Beitrag: 01.03.2010, 16:31
  2. Antworten: 2
    Letzter Beitrag: 09.10.2009, 21:05
  3. Wie lange gibt es schon eine SPS ?
    Von Mohammed im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 22.02.2006, 16:47
  4. Wie lange gibt es schon eine SPS ?
    Von Unregistriert im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 20.02.2006, 13:10
  5. Wie lange gibt es schon eine SPS ?
    Von Peter Pan im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 17.02.2006, 10:51

Lesezeichen

Berechtigungen

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