TIA Eingänge und Ausgänge auf Merker schieben

Turbohesse

Level-2
Beiträge
58
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe folgendes Problem:
Ich habe ein Programm damals mit der S7-200 geschaffen worin ich lediglich für alle unsere Anlagen noch die Ein und Ausgänge zuordnen musste. Diese variieren je nach Baugröße und Ausstattung.
Es war also am leichtesten ein Programm zu entwickeln, was theoretisch alles kann aber eben nicht alles verarbeitet. Das hat gut funktioniert, ich habe seinerzeit alle EA's in die symbolische Adressierung getippt und dann mit dem MOV_B von bsp. LB0 nach LB1 gebracht. Dadurch wurde dann E0.0 auf M 1.0 oder ähnlich verschoben - das Programm selber bestand dann nur aus Merkern - komplett ohne E's und A's an den logischen Bausteinen.
Müsste ich das nun mit TIA V13 mit jedem Bit extra machen? Ich finde grade nicht wie ich ganze Bytes oder Wörter oder ähnliches auf die Merker legen kann mittels Move....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

Nein leider wird das so nicht gehen. Ich möchte ja den FB hinterher einfach nurnoch mit meinen Ein und Ausgängen an passender Stelle beschalten. Das wäre vom Befehl seinerzeit

L #LB0
T MB20

gewesen. Ich habe das, da ich mich mit AWL sowirklich nicht anfreunden konnte, über Move_B gelöst.
Das Problem jetzt ist, das ich das LB0 nicht anwenden kann. Desweiteren gibt es bei TIA V13 nur die Sprachen SQL / KOP / FUP - also auch die AWL Lösung scheint mir nicht helfen zu können...
 
Hallo,
wie wäre es, wenn du dir Funktionsbausteine machst, die die benötigten Informationen über die Baustein-Schnittstelle beziehen, die du dann nur noch passend beschalten mußt ?
So könntest du dann "im Baustein" mit den symbolischen Operanden arbeiten, die mit deiner realen Hardware-Konstellation erstmal nichts zu tun haben ...

Gruß
Larry
 
Genau das habe ich ja vor - mein Programm hat bis zu 20 einzelne Funktionsbausteine - jeden einzeln zu Beschalten wäre möglich aber bedarf einer Umstrukturierung des Programms in Teilen.
Ich habe das bisher ja so gelöst, dass ich einen Baustein hatte welcher mir die Beschaltung auf Merker legte welche dann in den Funktionen verarbeitet wurden. So ist dann das Beschalten deutlich übersichtlicher gegliedert. Andernfalls muss ich ja im OB1 vermutlich beim Call auch das beschalten vornehmen - an eben jenen 20 Bausteinen die dann bleiben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielleicht solltest du mal irgendetwas sinnvolles schreiben, bisher ist das nur technisch zweifelhaftes Gesabbel, unter dem sich keiner hier irgendwas sinnvolles vorstellen kann.
(Höchst Verständnisbildend wäre z.B. ein (gerne auch vereinfachter/prinzipialisierter) Auszug des S7-200 Programms.

Prinzipiell ist das was du beschreibst ein reiner Move egal von wo nach wo und ebenso egal ob AWL/KOP/FUP/SCL etc. obschon du um struckturelle Veränderungen
wahrscheinlich aufgrund der einzigen Gemeinsamkeit eines grünen Schriftzuges zwischen S7-200/1200 sowieso nicht drum rum kommen wirst.

Mfg
Manuel
 
Vielleicht solltest du mal irgendetwas sinnvolles schreiben, bisher ist das nur technisch zweifelhaftes Gesabbel, unter dem sich keiner hier irgendwas sinnvolles vorstellen kann.
(Höchst Verständnisbildend wäre z.B. ein (gerne auch vereinfachter/prinzipialisierter) Auszug des S7-200 Programms.
...
Mfg
Manuel

Klare Ansage...:ROFLMAO:



Er hat 20 Funktionsbausteine, die, wie ich herausorakelt habe, innen drinne mit Merkern arbeiten.

somit hat er wahrscheinlich nicht ein Füßchen am FB beim Aufrufen.

Macht das Ganze natürlich multifunktional und Objekt orientiert. (Grafisch :ROFLMAO: )

Alles Wichtige wurde ja schon gesagt, nur nicht von jedem.
 
Vielleicht solltest du mal irgendetwas sinnvolles schreiben, bisher ist das nur technisch zweifelhaftes Gesabbel, unter dem sich keiner hier irgendwas sinnvolles vorstellen kann.
(Höchst Verständnisbildend wäre z.B. ein (gerne auch vereinfachter/prinzipialisierter) Auszug des S7-200 Programms.

Gute Idee. Zugegeben ist der Erklärung nicht ganz gelungen - ich hatte gehofft es wird deutlich - dem scheint nicht so. Ich habe kurz ein Schema erstellt. Gerne kann ich aber sobald ich an dem Laptop für eben jenes Programm wieder sitze ein paar Screenshots anhängen.

Klare Ansage...:ROFLMAO:



Er hat 20 Funktionsbausteine, die, wie ich herausorakelt habe, innen drinne mit Merkern arbeiten.

somit hat er wahrscheinlich nicht ein Füßchen am FB beim Aufrufen.

Macht das Ganze natürlich multifunktional und Objekt orientiert. (Grafisch :ROFLMAO: )

Alles Wichtige wurde ja schon gesagt, nur nicht von jedem.

Gut erkannt! Ich möchte auchnicht an jedem FB Füsschen! Es geht darum einen FB zu erstellen, welcher mir Ein und Ausgänge auf Merker legt. Wie MSB richtig sagt ein reiner Move. Also ich habe danach noch einen FB mit Füsschen (etwa 70 Stk.) die herein und quasi auf das gleiche Füsschen wieder herausgehen. Die Frage ist schlichtweg, wie mache ich das....
Leider war dein Beitrag dazu nicht sehr hilfreich, obwohl anscheinend dir klar ist was ich möchte.
 

Anhänge

  • Schema.jpg
    Schema.jpg
    28,4 KB · Aufrufe: 52
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Also dann mit Bildchen...


Variante mit Merkern im FB, keine Füsschen

mme.jpg

Variante ohne Merker im FB, Eingänge mit mehreren Füsschen übergeben


omee.jpg

Variante ohne Merker im FB, 16 Eingänge übergeben

aee.jpg

Multi-FB

aie.jpg

Die Übergabeparameter können auch zusammengefasst in einer Tabelle (udt) sein.

1 Füsschen könnte folgendes beinhalten.

ude.jpg



Das ist jetzt S7-Classic. Ist in TIA aber ähnlich.
 
Danke für die Ausführliche Antwort. Ich habe grade einmal das Schema meines Bausteins erstellt um zu zeigen was ich bis Dato habe. Mir geht es einzig darum den Inhalt zu vereinfachen.
Ich könnte ja jeden Eingang des Bausteins mit einem = - also der Normalen Ausgangsbox beschalten. Finde ich bei dem Umfang aber als sehr umständlich. Wenn es nicht anders geht ist es halt so... Aber erfahrungsgemäß war es bei der S7-200 möglich den Befehl welchen ich aufgeführt habe zu benutzen. Das entspricht dem Beispiel des Übergebens von 16bit ohne Merker.

Vielleicht hat das bisher für Verwirrung gesorgt - die Merker sollen nicht im Baustein sein sondern dahin führen. Also da das größte was mir grade einfällt ein Doppelwort ist wäre der Idealbefehl vermutlich MOVE LD0 -> LD10 danach LD2 -> LD12 usw.
Ich bekomm das leider nur derzeit auf ein Bit gelöst und müsste das ganze 75x wiederholen...

Der Baustein selbst sieht bisher so aus:

Schema Baustein.PNG

Ich werde daran dann später lediglich je nach Beschaffenheit die ein und Ausgänge zuordnen - Fertig.
Problem bei unseren Maschinen ist das sich dies Muster immer ändert - je nach Größe und Ausstattung - Die logik des Programms allerdings nie.
Ich passe also lediglich das Display an - ob unsere Maschine nun den Leitwert des Mediums misst oder nicht... Solange sie dies nicht macht ist eine Konstante eingetragen sodass immer alles in Ordnung ist aber niemand sie sieht...

Übersicht der Beschriftung der ,,Füsschen"

Schema Bezeichnungen.PNG

Leider kann ich aufgrund der Verschiedenen Bezeichungen hier nicht mit einem Array arbeiten. Nichts Wiederholt sich dafür oft genug.


Meine Idee wie es aussehen sollte - was aber nicht geht und weshalb ich nun Frage:

Schema Inhalt.PNG


Ich bin mir hier nun nicht sicher ob ich das so auf der 1200 ans laufen bekomme. Aktuell benutze ich TIA V13 und die 1214C - sicherlich ist es über eine logische Verknüpfung für jedes Beinchen möglich - aber doch auch reichlich voll.

Die UDT Variante ist mir neu und ich werde dem einmal Nachgehen. Vielleicht ist wirklich der Weg über einen DB der Schlüssel....
 
Zurück
Oben