Umwandlung/Zuordnung EW binär in Dezimal zugeordnete Ausgäng

STEP7 ist die Programmiersprache der SIMATIC S7-Steuerungen. Allgemeine Fragen.
Antworten
RReinhardt
SPSTreff-User
Beiträge: 7
Registriert: 10 Mär 2011, 17:38

Umwandlung/Zuordnung EW binär in Dezimal zugeordnete Ausgäng

Beitrag von RReinhardt »

Hallo,
steh vor folgender Aufgabe:
Ich bekomme von einer Waage die Anforderung zB. Silo5 zu starten, dies bekomme ich binär codiert auf mein EW.
Nun will ich die Binär codierte Zahl 5 wieder umwandeln und auf meinen Ausgang 5 legen.
Wie kann ich das am besten umwandeln/realisieren.
Max. habe ich ein voll belegtes Byte, also e0.0-e0.7 wo von der Waage binär codiert angesteuert wird.

Gruß Ralf

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 673
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Beitrag von Weiss_MHJ »

Hallo,

da wäre der Sprungverteiler SPL sehr gut geeignet.

Code: Alles auswählen

//Reset AB 
       L    B#16#00
       T    AB       10
//Auswerten EB10 
       L    EB       10
       SPL  W00X
       SPA  W000
       SPA  W001
       SPA  W002
       SPA  W003
       SPA  W004
       SPA  W005
       SPA  W006
       SPA  W007
W00X:  SPA  Ende
W000:  SPA  Ende
W001:  SET
       =    A        10.1
       SPA  Ende
W002:  SET
       =    A        10.2
       SPA  Ende
W003:  SET
       =    A        10.3
       SPA  Ende
W004:  SET
       =    A        10.4
       SPA  Ende
W005:  SET
       =    A        10.5
       SPA  Ende
W006:  SET
       =    A        10.6
       SPA  Ende
W007:  SET
       =    A        10.7
       SPA  Ende
Ende:  NOP  1
Hierbei wird bei eins der Ausgang A10.1, bei zwei der A10.2 usw. belegt.

Gruss

RReinhardt
SPSTreff-User
Beiträge: 7
Registriert: 10 Mär 2011, 17:38

Beitrag von RReinhardt »

Danke schonmal.
Muss ich mir mal genau anschauen und die Vorgehensweise des Programms mir klar machen. :-)

Ralf

RReinhardt
SPSTreff-User
Beiträge: 7
Registriert: 10 Mär 2011, 17:38

Beitrag von RReinhardt »

Zur Verständniss:
Also meine Waage gibt mir zB. den Silo 5 vor.
Also schickt sie mir die Dezimalzahl (5) als Binäre Dualzahl auf meine Eingänge:
E10.0 =1
E10.1 =0
E10.2 =1

Dies soll dann meine SPS direkt auf den Ausgang für Silo 5 ausgeben.(A10.5 nach deinem Beispiel)

Macht das der Sprungverteiler?

Ralf

RReinhardt
SPSTreff-User
Beiträge: 7
Registriert: 10 Mär 2011, 17:38

Beitrag von RReinhardt »

Habe gerade nochmals nachgelesen was der Befehl SPL macht.
So wie ich das gelesen habe kann ich maximal 255 Sprungziele nacheinander machen.
Und er liest den Akku 1 aus. In den ich ja den Wert durch den Befehl:
L EB 10
einlese.
Und soweit ich das verstanden habe nimmt er die Binäre Codierung des EB. Wäre ja dann genau das richtige.

Somit kann ich einfach die liste erweitern: SPA W008, SPA W009, ....
und auch die zuordnung der Ausgänge: A 11.0, A 11.1, ......

Alles Richtig?
Wenn ja, dann danke für die eigentlich tolle einfache Lösung. :-)

Gruß Ralf

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 673
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Beitrag von Weiss_MHJ »

Hallo,

ja, es ist genau so wie Sie es im letzten Beitrag geschrieben haben. Sie können die Liste einfach erweitern.

Gruss

Antworten