Wertübergabe zw. FBs

Zuviel Werbung?
-> Hier kostenlos registrieren
Das hat man gerne.

Erst reagierst du auf meinen ersten Beitrag, der absolut korrekt und in keinster Weise provozierend ist, wie ein kleines Kind und pöbelst direkt mal rum.
Dann probierst du dich rauszuwinden.

Von dem was ich geschrieben habe hast du gar nix kapiert! :rolleyes:

Wenn du deine Augen mal anstrengen würdest, könntest du nachlesen was ich über das Lesen der Visualisierung aus einem Instanz-DB geschrieben habe: gar nix!!!
Du blicksts blos nicht.
Im übrigen schreibt eine Visu auch in Instanz-DBs. Siemens Philosophie.

Und 300er Steuerungen hab ich schon programmiert und in Betrieb genommen, da wusstest du noch gar nicht, wie die aussehen, geschweige denn was das ist.

frag mich grad, ob ich da humormäßig irgendwie drauf reagieren muß, aber ich komme immer wieder zu dem punkt: es ist nur ein user. es ist nur einer, der ein problem mit sich selber hat, da kannste jetz nich noch drauf rumtrampeln.

ich denke, wir fahren am besten, wenn wir uns niemals nie beruflich einigen müssen, das gibt nur schwerverletzte. darüber hinaus: ich kann deine sprache verstehen und habe es nicht nötig bockig zu sein. bin alt genug um auch sachlich damit umzugehen, vorrausgesetzt man begegnet mir sachlich!

zum thema visualisierungen: winCC und intouch sind für mich systeme aus der großen weiten welt der visualisierungen und darauf bist du eingegangen, aber: who cares? hauptsache dein kleines ego hat recht ... viel spaß noch!

@larry:

prinzip der kleinsten funktionseinheit! wenn die schnittstelle so groß wird, dass sie nicht mehr darstellbar ist sollte der ansatz überdacht werden und nochmal gründlich geschaut werden, ob man wirklich den sinnvollsten kleinsten nenner gefunden hat

Wenn mir ein Baustein (z.B. einer meiner Mess-FB's) eine Kurve aufzeichnet und ich die visualisieren möchte, dann verwende ich in der Visu an dieser Stelle auch sehr gerne die Daten des I-DB's.
*ACK*

nachzulesen auch hier: http://sps-forum.de/showpost.php?p=136487&postcount=41

@jabba:

von mir aus können wir ihm auch gern jetzt schon helfen!

wenn ich die funktionen richtig in erinnerung habe, haben sie einen ähnlichen aufbau. wahrscheinlich machen beide bahnen auch das selbe, so dass es eigentlich möglich sein müßte mit nur einem FB mit unterschiedlichen instanzbereichen das ganze zu bewerkstelligen.

nun stellt sich mir die frage: wie machen wir jackjackson klar, dass er mit der schnittstelle und ohne globalen variablen im FB auskommen muß und es auch kann?
 
nun stellt sich mir die frage: wie machen wir jackjackson klar, dass er mit der schnittstelle und ohne globalen variablen im FB auskommen muß und es auch kann?

Ich habe für einen FB zwei Verwendungsweisen:
1. Die ursprünglich angedachte als Funktion mit Speicherbereich, die universell einsetzbar und wiederverwendbar sein muss
2. Um mehrere Daten von Multiinstanzen in einem DB zu legen, bzw. um sehr spezielle Programmteile zusammenzufassen

Zu 2:
Dies verwende ich wenn ich mehrere Programmbereiche habe, die mehr oder weniger nichts mit anderen Bereichen zu tun haben. Dann lege ich in diesen FB einmal meine 1er FBs als Multiinstanz, und dann auch meine Antriebs-FBs als Multiinstanzen. Diese FBs sind dann meist so speziell dass sie sich sowieso nur mit großer Anpassung in anderen Projekten benutzen ließen.
Darum greife ich aus diesen FBs auf globale Variablen, aus Daten aus anderen DBs usw. zu. Diese FBs haben bei mir gar keine Schnittstelle.

Es macht durch die Einsparung an Instanz DBs das ganze Projekt wesentlich übersichtlicher wie ich finde.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also danke für die zahlreichen Antworten und den Popcorn-Smily, ich setz mich morgen in der Arbeit damit auseinander.... :)
Das alles ist für mich (noch) nicht so ganz einfach! Hatte ja, wie man sieht, nie mit SPSen zu tun :p
(es war mir schon fast peinlich die 2 fbs reinzustellen)
 
... es war mir schon fast peinlich die 2 fbs reinzustellen

Ganz falsche Einstellung ...

Das alles ist für mich (noch) nicht so ganz einfach! Hatte ja, wie man sieht, nie mit SPSen zu tun

Dann solltest du bei der Sache "am Ball bleiben".
Ich denke schon, dass wir dir hier weiterhelfen können (und zwar auch so, dass du es verstehst und sinnvoll einsetzen kannst).
Also ... ich halte es da mit Jabba ... lass es uns angehen ...

Gruß
LL
 
Guten Morgen,
ich war gestern Abend alleine zuhause aber diese Diskussion hat mir den Abend gerettet…!

Aber jetzt zum Thema, vielleicht kannst du Jack die Aufgabe genauer beschreiben, so das wir uns Schritt für Schritt an das Ziel tasten.

Vielleicht fangen wir mit der Symboldatei an, so das wir einen Überblick der Funktionen über die Sensoren bzw. Aktoren haben.

Gruß Helmut
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So, guten Morgen,
ich mach mich jetzt mal an die Arbeit, mit den Tipps, die ihr mir freundlicherweise gegeben hat :D , das Programm zu "bearbeiten"...

Stichwort Kapselung:
Die Förderstrecken mit den Sensoren und Aktoren sind alle gleich/haben alle die gleichen Funktion....
Welchen Teil von meinem FB, muss ich denn am besten in einen FC einfügen?
Muss ich für jedes Sensor/Motor-Netzwerk ein gesondertes FB nehmen (besonders bei mehreren Förderstrecken) oder kann ich das verallgemeinern (zB mit Zahlerwert x )?

Vielleicht fangen wir mit der Symboldatei an, so das wir einen Überblick der Funktionen über die Sensoren bzw. Aktoren haben.

Gruß Helmut

Was muss ich denn in der Symboldatei drinstehn haben :s17: ?
 
Hallo Jack,
wenn ich das richtig verstanden habe, möchtest du ja einfach eine Information an den nächsten Baustein weitergeben.
Jetzt erst einmal:

- was sollen die Bausteine in einzelnen machen, vielleicht reicht ja sogar einer der dann Instanzen bekommt.

- Du hast ja in deinen Bausteinen mit Eingängen gearbeitet. Die zählen mal hoch ein andere zählt runter. Da wäre es schön zu wissen was für Funktionen die Eingänge bzw. Ausgänge haben z.B. "E 0.0" ist Sensor "1B1" mit der Funktion "LS aufwärtszählen Band 1"

Um so mehr Info wir bekommen um so besser kann dir geholffen werden.

gruss Helmut
 
Aber jetzt zum Thema, vielleicht kannst du Jack die Aufgabe genauer beschreiben, so das wir uns Schritt für Schritt an das Ziel tasten.


Ich versuche ein Programm für einen "Pulkrollenförderer" zu schreiben!
Es gibt 2 Förderstrecken:
Am Ende der ersten Strecke ist ein Sensor, die die zweite Förderstrecke antreibt und den Inhalt an Fördergütern zählt! Auf der zweiten Förderstrecke dürfen nie mehr als 2 Fördergüter enthalten sein (ebenso wie auf den Folgenden)!
Wenn die zwei FG die Strecke verlassen, zählt der zweite Sensor den ersten wieder zurück, und diesen Wert will ich übergeben!


Oder besser 3 Förderstrecken A B und C, wir betrachten das mittlere B;
Sensor A zählt in B eintretende Fördergüter, Sensor B die, die in C eintreten;
Motor B und Sensor A gehören zusammen (Sensor A steuert Motor auf B, Sensor B steuert Motor auf C,...);
Sensor B gibt an Sensor A den Zählwert zurück, der vom Sensor A subtrahiert werden muss (bzw zählt Sensor A zurück)....

Wenn man das bildlich vor Augen hat, ist es vlt einfacher :p
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Jack,

- Du hast ja in deinen Bausteinen mit Eingängen gearbeitet. Die zählen mal hoch ein andere zählt runter. Da wäre es schön zu wissen was für Funktionen die Eingänge bzw. Ausgänge haben z.B. "E 0.0" ist Sensor "1B1" mit der Funktion "LS aufwärtszählen Band 1"

gruss Helmut

Ich hab mir das so vorgestellt, dass wenn E0.0 bei Förderstrecke A ausgelöst wird, eine Flanke am Zähler auslöst (wenn man das so sagen kann :confused: )...
E0.1 bei Sensor B zählt Sensor A zurück...
 
Zuletzt bearbeitet:
Hallo Jack,
dann bau doch erst ein FB wo du die Variablen Deklariest.
- IN aufzählen
- IN abzählen
- IN Zähler
- OUT Antrieb

Dann baust du ein Netzwerk auf wo du zählst. Wenn du einen normalen Zähler nimmst, brauchst du keine Flanken, das macht der Zähler selbst.

Fang doch so einmal an, mach nicht den ganzen Baustein aufeinmal, sondern teste aus was du hast und dann geht es weiter.
Also erst einmal nur den Zähler.

gruss Helmut
 
Zuviel Werbung?
-> Hier kostenlos registrieren
...du must jetzt nicht die ganze Symboltabelle schreiben, beschränke dich auf 2 Bänder. Da schreibst du deine verwendeten Eingänge und Ausgänge mit dem Symbolischen Namen und dem entsprechenden Kommentar...

Symboltabelle finde ich sehr wichtig, ich Programmiere fast nur noch Symbolisch so habe ich sehr wenige fehler.

Die Symbole solltest du den Funktionsgruppen zuordnen:
z.b 1B1-Lichtschranke Band 1; 2B1-Lichtschranke Band 2 usw.
So brauchst du später wenn du etwas kopierst nur den Index ändern
und muß dich nicht darauf konzentrieren "Welcher Eingang war es denn jetzt"

gruss Helmut
 
Achso, dann eilt das nicht :p

Muss ich nicht auch als OUT noch ein "abzählen" einfügen, damit es vom vorherigen System benutzt werden kann?
(Den Zähler hab ich übrigens....)
 
...nein nicht umbedingt du legst auf den "IN abzählen" den Sensor der abzählen soll direkt...
Beispiel:

1. aufruf FB1 für Band 1
IN_aufzaehlen: 1S1
IN_abzaehlen: 2S1

2. aufruf FB1 für Band 2
IN_aufzaehlen: 2S1
IN_abzaehlen: 3S1

usw...
 
...ist schon OK...
was meinst du mit Bedingung? Die Freigab z.B. Not-Aus wenn ja kommt die auch zu den Eingangsparametern.
Hast du den schon den Zähler fertig?
 
Mit Bedingungen mein ich zB:

- Falls sich kein Fördergut auf der Strecke B befindet, wartet das FG , das den Sensor A aktiviert hat, auf der Strecke B (Motor B aus).
- Falls sich bereits ein FG auf der Strecke B befindet (Zaehler A = 1), darf nur ein FG Strecke B, die restlichen warten auf Strecke A (Motor A aus), bis Strecke B leer ist (Zaehler B = 2 --> Zaehler A = 2 - 2 ; Motor B ein--> aus, wenn Zaehler A =1)
usw.... sind eben 2er-Pulks...

hm, ist ein wenig unübersichtlich geworden :rolleyes:


(Ja, Zähler hab ich schon.... vlt hab ich den ein wenig zu primitiv gemacht)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
ja da gebe ich dir recht...:confused:
du kannst doch parameter machen der sperre heißt.
- IN_sperre
- OUT_sperre
Der IN wird mit dem OUT verschaltet....

Aber ich denke du bist ein bischen zu schnell.
Also noch mal meine Frage: "Hast du den schon den Zähler fertig"

Wenn Ja dann Teste den einmal dann verstehst du wo wir hin wollen.
 
Zurück
Oben