# programmier beispiele



## Leitmayr (30 August 2011)

hallo zusammen,
ich arbeite zurzeit ein paar programmierbeispiele(FUP) durch.
dammit ich weiß ob ich sie richtiggemacht werde ich sie immer mal wieder hochladen (wäre sehr feundlich wenn ihr mir sagen könntet ob sie richtig sind)(poste die frage auch mit)
vielen dank schon im voraus.
mfg.
sebastian


----------



## fuss (30 August 2011)

na dann her damit!!!


----------



## Leitmayr (30 August 2011)

*Beispiel 1*

Aufgabe: FUP Buch Anhang B Beispiel 1
Meine Lösung: Anhang (leider nur word AWL (umgewandelt))


----------



## fuss (30 August 2011)

du hast 2 kleine Fehler in deinem Programm:

1. nicht = "Motor Ein" sondern S "Motor Ein" (der Motor würde sonst nur laufen wenn einer der beiden Eingänge dauerhaft TRUE ist)
2. S5 ist als Öffner ausgeführt also müsstest du diesen in deinem Programm negieren (ON S5)


----------



## Leitmayr (30 August 2011)

*negation*

hallo,
wie negiere ich den eing. S5?
des mit dem motor hab ich hinbekomen 
Code:

      O     "S1"
      O     "S3"
      S     "Motor_Ein"


----------



## fuss (30 August 2011)

Im FUP:
in der Programmieroberfläche das Beinchen vom Eingang anklicken und dann F9 oder oben in der Schnellzugriffsleiste das 4. Symbol von rechts (wenn du mit dem Mauszeiger rüber fährst müsste dort stehen "bin. Eingang negieren F9")

In AWL:
statt "O S5" "ON S5" schreiben


----------



## Leitmayr (30 August 2011)

*danke*

danke hat geklappt (eig. ganz eifach wenn mans weiß)
weitere beispiele folgen
mfg.
sebastian


----------



## Leitmayr (30 August 2011)

*v 1.1*

hier nochmald die überarbeitete version(siehe anhang)
mfg.
Sebastian


----------



## fuss (30 August 2011)

Super, so wird n Schuh draus!
wenn man noch total pinkelig sein möchte, dann ist dein Netzwerkkommentar bei Netzwerk 1 nicht ganz richtig. Sollte glaube ich Startschalter S1/S3 heißen und nicht S1/S2, aber der Motor dreht und das ist das Wichtigste!!!

wenn du noch weitere Probleme hast einfach posten oder per PN an mich

Gruss der Fuss!!!


----------



## Leitmayr (30 August 2011)

*danke*

es werden weitere folgen
(des s2 war n kl. leichtsinnsfehler)
mfg.
sebastian


----------



## Leitmayr (30 August 2011)

*Beispiel 2*

hallo,
 Beispiel 2 
meine lösung:siehe anhang
leider wieder nur in AWL (org. FUP)


----------



## fuss (30 August 2011)

Das sieht soweit korrekt aus, aber kann es sein, dass du für beide positiven Flanken den selben Merker verwendet hast? Wenn ja benutze für jede Flanke einen eigenen Merker z.B. 1. Flanke = M0.0 und 2. Flanke = M0.1 denn wenn an der ersten Flanke ein True anliegt wird der gleiche Merker ebenfalls im zweiten Netzwerk TRUE obwohl dort kein Signalwechsel statt gefunden hat und das kann dann zu unerwünschten Zuständen führen!!!


----------



## Leitmayr (30 August 2011)

*yep*

da hatd du recht gehabt geändert jetzt hb ichs geändert (es waren 2 taktmerker erstellt)
mfg.
sebastian


----------



## Leitmayr (30 August 2011)

*beispiel 3*

beispiel 3 geht nich #heul#jammer#heul#
siehe anhang
mfg.
sebastian


----------



## vierlagig (30 August 2011)

Leitmayr schrieb:


> beispiel 3 geht nich #heul#jammer#heul#
> siehe anhang
> mfg.
> sebastian



es muß natürlich eine sprungmarke definiert sein ... wenn nach dem sprung nichts passieren soll, so schreibe er


```
*
M001:    NOP 0
```


----------



## fuss (30 August 2011)

du hast das Ziel für die Sprungmarke in Netzwerk 3 (U M0.2 SPB M001) vergessen. Dieses muss in Netzwerk 5 eingefügt werden:     
M001:  L     MW   100
          T     AW    12
          NOP   0

oder im FUP:
auf der linken Seite unter Sprünge LABEL in Netzwerk 5 einfügen und mit M001 beschriften

dann weiß das Programm auch wohin es springen muss!

Gruss der Fuss


----------



## Leitmayr (30 August 2011)

*fup*

1.jetz is zwar richtig (nicht beschrieben) aber ich kann netzwerk 3 nicht mehr in fup umwandeln wie siet der befehl in fup aus ??wenn ich des prog. in gang setze auf online gehe auf beobachten(kleine brille) fängt des ding irgendwie einach zu rechnen an K.a


----------



## Leitmayr (30 August 2011)

fuss schrieb:


> du hast das Ziel für die Sprungmarke in Netzwerk 3 (U M0.2 SPB M001) vergessen. Dieses muss in Netzwerk 5 eingefügt werden:
> M001: L MW 100
> T AW 12
> NOP 0
> ...


 wie soll des gehen (bitte noch mal für dumme)
mfg.
sebastian


----------



## fuss (30 August 2011)

guck mal auf der linken seite in dem screenshot


----------



## Leitmayr (30 August 2011)

ach soooooooooo des is bei mir rechts
(screenshot)
aber wie geht di move box mit den zwei strichen (waagrecht oben und unten)in netzw. 5 habs gefunden
mfg.
sebastian
so prog geht8rechnet irgendwie) nun meine frage WAS macht dieses prog.


----------



## fuss (30 August 2011)

das steht in den FUP Handbuch auf der Seite B-7 und den folgenden Seiten!


----------



## Leitmayr (30 August 2011)

*yep*

ja hab ich gesehen verstehs aber nich ganz


----------



## fuss (30 August 2011)

hier mal ein kleiner Denkanstoss, vielleicht kommst du dann alleine drauf!

1. alle 250ms (Einstellung T1) wird der Sprung M001 nicht ausgeführt
2. nur wenn der Sprung nicht ausgeführt wurde, wird der Wert in MW100 mit 1 addiert

nach  250ms 0 (Startwert  MW100) +1 = 1
nach  500ms 1 (Aktualwert MW100) +1 = 2
nach  750ms 2 (Aktualwert MW100) +1 = 3
nach 1000ms 3 (Aktualwert MW100) +1 = 4
nach 1500ms 4 (Aktualwert MW100) +1 = 5
nach 1750ms 5 (Aktualwert MW100) +1 = 6
nach 2000ms 6 (Aktualwert MW100) +1 = 7
nach 2250ms 7 (Aktualwert MW100) +1 = 8
und so weiter...

Jetzt muss du dir die Ergebnisse die ich dir aufgeschrieben habe im Binärcode vorstellen
1 = 00000001 nach 250ms
2 = 00000010 nach 500ms
3 = 00000011 nach 750ms
4 = 00000100 nach 1000ms
5 = 00000101 nach 1250ms
6 = 00000110 nach 1500ms
7 = 00000111 nach 1750ms
8 = 00001000 nach 2000ms
9 = 00001001 nach 2250ms
und so weiter...


----------



## vierlagig (30 August 2011)

@fuss deine ergebnisliste stimmt nicht ganz, nach 250ms hat man schon eine 1 (und damit hat man am ende ein word, dass 16 unterschiedliche taktmerker repräsentiert ... aber meine lehrlinge wollten das auch nicht immer gleich verstehen )


----------



## fuss (31 August 2011)

@vierlagig danke für den hinweis, hab ich gleich mal korregiert (bin da woll verrutscht)! du darfst eins nicht vergessen, Leitmayr (13) ist glaube ich immer noch ein wenig jünger als deine Lehrlinge damals.


----------



## vierlagig (31 August 2011)

fuss schrieb:


> @vierlagig danke für den hinweis, hab ich gleich mal korregiert (bin da woll verrutscht)! du darfst eins nicht vergessen, Leitmayr (13) ist glaube ich immer noch ein wenig jünger als deine Lehrlinge damals.



die altersinformation hab ich nicht (gehabt) ...


----------



## Leitmayr (31 August 2011)

*impuls*

so jetzt hab ichs einigermasenverstanden nun die frage wie kann ich den impuls anzeigen lassen ??
mfg.
sebastian


----------



## fuss (31 August 2011)

du suchst dir das Bit mit dem gewünschten Impuls (z.B. M101.1 Freqeunz= 1Hz) aus und verknüpfst es mit einem Ausgang:

U  M101.1
=  A0.0

Und kannst dann mit S7 Lite das Verhalten des Ausganges beobachten!


----------



## vierlagig (31 August 2011)

Leitmayr schrieb:


> so jetzt hab ichs einigermasenverstanden nun die frage wie kann ich den impuls anzeigen lassen ??
> mfg.
> sebastian



dazu ist es interessant zu wissen, wie der speicherbereich aufgebaut ist.

ein Merkerword besteht aus zwei Merkerbyte á 8 Merkerbit (zwei Merkerworte machen ein Merkerdoppelword)

MW10 besteht also aus MB 10 und MB 11
MB10 aus den Bits M10.7-M10.0 (MB11 -> M11.7-M11.0)

du siehst an der schreibweise, dass hier schon was komisch ist... die S7 arbeitet mit little endian, d.h. das niederwertigste bit steht ganz rechts, ist also das bit M11.0 ...

an die takte kommst du mit der adressierung der einzelnen bits in boolschen verknüpfungen, also


```
*

U M11.0  //der 250ms takt

oder

U M11.3 //der 2s takt
```


----------



## Leitmayr (31 August 2011)

fuss schrieb:


> du suchst dir das Bit mit dem gewünschten Impuls (z.B. M101.1 Freqeunz= 1Hz) aus und verknüpfst es mit einem Ausgang:
> 
> U M101.1
> = A0.0
> ...


 FUP ??
mfg.
sebastian


----------



## fuss (31 August 2011)

bitte schön


----------



## vierlagig (31 August 2011)

Leitmayr schrieb:


> FUP ??
> mfg.
> sebastian




```
*
U    M101.1
=    A0.0
NOP  0
```

in AWL ist obiges in FUP
(wenn du sowieso gerade lernst, lern doch gleich AWL... )


----------



## Leitmayr (31 August 2011)

*nene*

fup is scho kompliziert genug 
awl mach ich aber auch noch irgendwann
is scho schlimm genug das ich die kommunikation id dem touch d. auch noch machen muss.
mfg.
sebastian


----------



## PN/DP (31 August 2011)

Leitmayr schrieb:


> FUP ??


Hallo Sebastian,

schalte die Ansicht Deines Programmbausteins über *Ansicht > AWL* auf AWL ein, kopiere die 2 Programmzeilen in ein neues Netzwerk und stelle dann die Ansicht auf FUP um.

Hier im Forum kann man FUP nur sehr schlecht posten, entweder als Screenshot (Grafik) - oder man stellt halt die Ansicht auf AWL und kopiert den von FUP erzeugten AWL-Code als Text in einen Beitrag.
Bei kleinen Netzwerken macht sich manchmal auch ein Poster die Mühe, die FUP-Grafik aus Textzeichen umständlich nachzuzeichen, dann sieht es z.B. so aus:

```
A0.0
        +-------+   +-------+
        |   &   |   |   =   |
M101.1--|       |---|       |
        +-------+   +-------+
```

Am schnellsten ist aber das Posten im AWL-Code, weil das einfach kopierbarer Text ist.

Harald


----------



## Leitmayr (1 September 2011)

*ja*

ich weis aber dmanche awl codes kann mein step 7 nicht mehr von awl in fup übersetzen warum auch immer ??
mfg.
sebastian


----------



## Gerhard K (6 September 2011)

Leitmayr schrieb:


> ich weis aber dmanche awl codes kann mein step 7 nicht mehr von awl in fup übersetzen warum auch immer ??
> mfg.
> sebastian


 
Weil da einige Anweisungen fehlen, die nötig sind um den Code in FUP anzeigen zu können.
Wenn du nur ein NOP 0 raus nimmst, kannst du es schon nicht mehr in FUP anzeigen.


----------



## -ASDF- (7 September 2011)

Wenn du in FUP einen Baustein nimmst musst du ,wenn du ihn in awl verwendest, alle nicht belegten I/O des bausteins mit einem "nop 0" belegen dann kannst du ihn auch wieder awl->fup umwandeln.
Ok "belegen" ist vllt falsch ausgedrückt einfach für jeden nicht verwendeten I/O einfach ein "nop 0" schreiben.


----------



## vierlagig (7 September 2011)

-ASDF- schrieb:


> Wenn du in FUP einen Baustein nimmst musst du ,wenn du ihn in awl verwendest, alle nicht belegten I/O des bausteins mit einem "nop 0" belegen dann kannst du ihn auch wieder awl->fup umwandeln



NOP 0 reicht nicht immer, gibt auch BildBefehle und bißchen rumgehüpfe und lokaldaten beschmiere ... besonders das letzte war "damals" der grund, warum ich mich gg. FUCK und KOT entschieden habe.

1


----------



## -ASDF- (7 September 2011)

vierlagig schrieb:


> NOP 0 reicht nicht immer, gibt auch BildBefehle und bißchen rumgehüpfe und lokaldaten beschmiere ... besonders das letzte war "damals" der grund, warum ich mich gg. FUCK und KOT entschieden habe.
> 
> 1



Stimmt und die unnötigen U( nicht vergessen


----------



## bike (8 September 2011)

-ASDF- schrieb:


> Stimmt und die unnötigen U( nicht vergessen



Warum unnötig?
Die grafischen Umgebungen zwingen genauer nachzudenken.
Also wer gut und strukturiert programmiert kommt auch damit zurecht.
Wenn da Einwände kommen, dann würde ich den Kollegen empfehlen sich einmal andere Hersteller anzuschauen.
So ungenau Fanuc oder Allen Bradley.

Es ist doch egal welche Steuerung es ist, wir werden den Dingern schon beibringen, das zu tun, was wir wollen 


bike


----------



## -ASDF- (8 September 2011)

Unnötig weil man sie nicht braucht?!

Wenn ich FUP -> AWL wandel macht er ja öfters diese U(     ) die man in AWL ja meistens weglassen kann. (Natürlich nicht immer)


----------



## bike (8 September 2011)

-ASDF- schrieb:


> Unnötig weil man sie nicht braucht?!
> 
> Wenn ich FUP -> AWL wandel macht er ja öfters diese U(     ) die man in AWL ja meistens weglassen kann. (Natürlich nicht immer)



Ja aber Step7 braucht das doch, sonst wäre es nicht da.
Was ist so schlimm, dann Klammern zu setzen wenn notwendig?
Das braucht die Mathematik auch immer wieder und wer regt sich darüber auf? 


bike


----------



## -ASDF- (9 September 2011)

Nein eben nicht diese Klammern sind in den meisten fällen nicht nötig in AWL!

Jedenfalls haben wir das so gelernt


----------



## Leitmayr (16 September 2011)

*Beispiel 4*

hallo zusammen,
hatte jetzt endlich mal wieder zeit zum programmieren:
nun also Beispiel NR4 (siehe anhang)
Mfg.
sebastian
P.S. ich freue mich wie immer über berichtigungen


----------



## fuss (16 September 2011)

Das sieht sehr gut aus, ich konnte jetzt auf die schnelle keine Fehler entdecken. Hast du Plc Sim? Wenn ja kannst du es doch mal testen und das MW200 beobachten!

Gruss der Fuss


----------



## Leitmayr (16 September 2011)

fuss schrieb:


> Das sieht sehr gut aus, ich konnte jetzt auf die schnelle keine Fehler entdecken. Hast du Plc Sim? Wenn ja kannst du es doch mal testen und das MW200 beobachten!
> 
> Gruss der Fuss


 1.nein hab ich nicht
2. ich probiere meine programme immer aus (drum sind auch nicht die ausgänge wie in der aufgabe angegeben (ist euch vill. schon aufgefallen))ich programmiere immer die ausgänge meiner 314IFM ein
mfg.
Sebastian


----------



## Leitmayr (16 September 2011)

*nochmal so ne frage*

hallo, zusammen,
komm leider nicht drauf wie ich einen analogausgng (12bit)ansteuere.
könntet ihr mir villeicht sagen wie das geht ?
mfg.
sebastian


----------



## fuss (16 September 2011)

Was möchtest du denn mit diesem Analogausgang machen?


----------



## bike (16 September 2011)

Ich würde hier:
http://www.sps-forum.de/showthread.php?t=19311
einmal nachlesen.
Da hat einer sich die Mühe gemacht und die Grundlagen genau erklärt.
Vielleicht hilft's ;-)


bike


----------



## Leitmayr (16 September 2011)

fuss schrieb:


> Was möchtest du denn mit diesem Analogausgang machen?[/QUOTE]
> ausgangspannung 1-10v
> motoren ansteuern
> mfg.
> sebastian


----------



## bike (16 September 2011)

Leitmayr schrieb:


> fuss schrieb:
> 
> 
> > Was möchtest du denn mit diesem Analogausgang machen?[/QUOTE]
> ...


----------

