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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Positive Flanke in einer Funktion?

  1. #1
    Registriert seit
    31.01.2013
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    vorab möchte ich erstmal "Hallo" sagen, da ich gerade neu hier bin . Mein Name ist unschwer zu erkennen ich heiße Sebastian und bin 27 Jahre alt, habe vor 3 Jahren mit dem Programmieren angefangen und habe mir zum größten Teil
    alles selber beigebracht. Doch gerade eben stehe ich vor einem Problem.

    Ich habe eine Funktion geschrieben, in der ich einen Zähler ansteuere ( alles in AWL programmiert). Die funktion funktioniert auch auf dem ersten Blick so wie ich es mir vorstelle, aber jetzt kommt das große "ABER".
    Wenn ich meinen FC in einem anderen FC aufrufe der in FUP prgrammiert ist, ich meine Eingangsparameter anschließe und teste funktioniert alles einwandfrei. Übersetze ich den FC jedoch in AWL und rufe dann meinen FC auf und parametriere alles funktioniert es nicht. Meine flanke wird nicht angesteuert und somit mein Zählwert nicht um 1 erhöht und ich habe keine idee was ich falsch gemacht habe.

    Hier einen kurzen Auszug aus meinem Baustein:

    O #Störung
    O #Reset
    JCN m003
    AN #Eingang
    AN #Störung
    A #takt
    FP #Zähler_plus
    = #Zähler_plus1
    A #Zähler_plus1
    JNB m001
    L #Zählwert
    L 1
    +I
    T #Zählwert
    m001: NOP 0
    m003: NOP 0
    Zitieren Zitieren Positive Flanke in einer Funktion?  

  2. #2
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Najo, Zweifel....
    Was sind die Symboloperanden für ein Typ? In/Out/Temp/InOut
    Vor allem der #Zähler_plus?

  3. #3
    SebastianR1085 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    31.01.2013
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Störung ist out
    Reset ist in
    Eingang ist in
    takt ist in
    Zähler plus ist temp
    Zähler plus 1 ist temp
    Zählwert ist temp

    mfg

  4. #4
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    naja klar....
    mit tempvariablen geht das nicht... die haben ja irgendeinen Zustand....

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.192
    Danke
    925
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Diese Variablen müssen IN_OUT sein, damit sie ein Gedächtnis haben:
    ! Störung ist out --> IN_OUT
    ! Zähler_plus ist temp --> IN_OUT
    ! Zählwert ist temp --> IN_OUT

    Oder schreibe die Funktion als Funktionsbaustein FB mit den Variablen in STAT.

    Dein Problem hat nichts mit FUP oder AWL zu tun. Es ist Zufall, daß es in FUP funktioniert.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #6
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Oder du nimmst einen FB und packst die 3 Variablen in den STAT Bereich...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  7. #7
    SebastianR1085 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    31.01.2013
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Sorry ich hatte mich vertan, Zählwert ist schon In_Out, der Rest ist wie gesagt temp. Das Problem ist, wenn ich einen FB nehme, muss ich ihm einen DB zuweisen und da
    mein Programm schon sehr groß ist und die Softwareentwickler keine vernünftige Struktur eingebracht haben, wird es durch programmieren eines FB's nur noch unübersichtlicher.
    Ich werde es gleich mal versuchen, die von euch oben genannten tempvariablen als In_Out zu programmieren und zu testen.

    Vielen Danke schonmal für eure Hilfe.


    P.S: Ob das Problem unabhängig von der Programmierart ist weiß ich nicht 100% sicher, ich werde später noch ein Netzwerk posten, was dasselbe Problem hat, wenn man es nach AWL übersetzt.

  8. #8
    Registriert seit
    09.10.2011
    Beiträge
    14
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi,

    ich gehe davon aus, dass Du Dir hier einen stink normalen Zähler kreieren willst.

    kleiner Tip:

    den #Takt (ich gehe davon aus hier ist der CPU- Takt-Merker aus der HW-Konfig gemeint) kannst Du Dir auch global, z.B. am Anfang oder Ende OB1, in eine FP wandeln und auf einen einen Merker legen, der stets gültig ist:
    U Takt
    FP M1.0
    = M1.1

    den M1.1 kannst Du überall aufrufen. Erliefert Dir entsprechend dem Takt stets eien FP in gleichen Zeitabständen.
    Du würdest Dir an Deinem FC- Afruf damit die Anschaltung eines Flanken- und/oder eines Flankenhilfsmerkers sparen.

    Die anderen Var sollten nicht als Temp deklariert werden, s. hier die AW von PN/DB.

    414

  9. #9
    Registriert seit
    09.10.2011
    Beiträge
    14
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    PS: eine FB- Bearbeitung halte ich für übertrieben, wenn es nur um eine einfache Zählerei geht

  10. #10
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.336
    Danke
    27
    Erhielt 130 Danke für 117 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Gib das ganze mal richtig in FUP ein, wenn es in AWL geht geht es auch in FUP.
    Mist wohl eher ein Problem der richtigen Eingabe.

Ähnliche Themen

  1. Positive Flanke in SCL
    Von onikos im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 14.07.2010, 21:39
  2. positive Flanke künstlich erzeugen
    Von sascha-nrw im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 04.05.2010, 11:07
  3. Eine Positive Flanke im OB35 erzeugen
    Von Waelder im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 14.08.2007, 19:06
  4. positive Flanke
    Von waldi im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 21.06.2007, 08:39
  5. Positive / Negative Flanke vom Eingangsbyte
    Von Köbes11 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 27.06.2006, 12:10

Lesezeichen

Berechtigungen

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