Wertübergabe zw. FBs

solange du nich in der kunstoffbranche arbeitest wirst du unsere programme auch nicht in die finger kriegen.
und mich auch nicht.
*ROFL*

wer weiß, wo es mich hinverschlägt ... bin jung und kunststoffe sind auch interessant ... also nimm dich in acht - ich bin der mit dem FUBA pro t-shirt, wenn du das siehst, schnell rennen! :ROFLMAO:
 
ok,ich werde mich in acht nehmen.;)

aber um das mit den instanzen jetzt nochmal fachlich zu beleuchten:

ich glaube ja auch, dass lesen vollkommen in ordnung ist. übers schreiben brauchen wir gar nicht erst anfangen zu diskutieren!

das problem, dass ich sehe, ist, dass man sich damit in eine abhängigkeit begibt ... man ist abhängig von der instanz eines oder mehrerer anderer bausteine. wenn man das über die schnittstelle macht - also als IN einen wert aus einer instanz, dann könnte man das durchgehen lassen, aber wenn man dass dann noch in den anderen baustein mit einstrickt - ohje, ohje, ich mag gar nicht dran denken!

ich betone nochmal: schreiben ist ein absolutes NO GO! lesen würd ich dir im zweifelsfalle durchgehen lassen, selber aber nicht so verwenden ;)
 
ich bekomme die programme meistens vom stammhaus und ich muß alles so übernehmen bzw. programmieren wie von dort vorgegeben.
ich zeig dir mal einen kleinen auszug damit du heute nacht alpträume hast.
Code:
   L     "ControlMap".Adr_WLV[1]     // WLV1 ........................
      T     "RCDB F101".Adressbuch[1]   // "RCDB F101".Adressbuch[1]
      T     "RCDB F102".Adressbuch[1]
      T     "RCDB F103".Adressbuch[1]
      T     "RCDB F104".Adressbuch[1]
      T     "RCDB F105".Adressbuch[1]
      T     "RCDB F106".Adressbuch[1]
      T     "RCDB F107".Adressbuch[1]
      T     "RCDB F108".Adressbuch[1]
      T     "RCDB F109".Adressbuch[1]
      T     "RCDB F110".Adressbuch[1]
      T     "RCDB F111".Adressbuch[1]
      T     "RCDB F112".Adressbuch[1]
      T     "RCDB F113".Adressbuch[1]
      T     "RCDB F114".Adressbuch[1]
      T     "RCDB F115".Adressbuch[1]
      T     "RCDB F116".Adressbuch[1]
      T     "RCDB F117".Adressbuch[1]
      T     "RCDB F118".Adressbuch[1]
      T     "RCDB F119".Adressbuch[1]
      T     "RCDB F120".Adressbuch[1]
      T     "RCDB F121".Adressbuch[1]
      T     "RCDB F122".Adressbuch[1]
      T     "RCDB F123".Adressbuch[1]
      T     "RCDB F124".Adressbuch[1]
      T     "RCDB F125".Adressbuch[1]
      T     "RCDB F126".Adressbuch[1]
      T     "RCDB F127".Adressbuch[1]
      T     "RCDB F128".Adressbuch[1]
      T     "RCDB_LK_1".Adressbuch[1]   // "RCDB_LK_1".Adressbuch[1]
      T     "RCDB_LK_2".Adressbuch[2]   // "RCDB_LK_2".Adressbuch[2]
      T     "RCDB_SBV".Adressbuch[2]    // "RCDB_SBV".Adressbuch[2]
 
      UN    "ControlMap".Typ_exist.GB[2]
      SPB   G02e                        // falls GB_2 vorhanden:
      L     "ControlMap".Adr_WLV[2]     // WLV 2 .......................
G02e: T     "RCDB F201".Adressbuch[1]   // "RCDB F201".Adressbuch[1]  
      T     "RCDB F202".Adressbuch[1]
      T     "RCDB F203".Adressbuch[1]
      T     "RCDB F204".Adressbuch[1]
      T     "RCDB F205".Adressbuch[1]
      T     "RCDB F206".Adressbuch[1]
      T     "RCDB F207".Adressbuch[1]
      T     "RCDB F208".Adressbuch[1]
      T     "RCDB F209".Adressbuch[1]
      T     "RCDB F210".Adressbuch[1]
      T     "RCDB F211".Adressbuch[1]
      T     "RCDB F212".Adressbuch[1]
      T     "RCDB F213".Adressbuch[1]
      T     "RCDB F214".Adressbuch[1]
      T     "RCDB F215".Adressbuch[1]
      T     "RCDB F216".Adressbuch[1]
so nun wird dir sicher schlecht,oder?
gibt noch mehr socher dinge in unseren projekten

aus irgendwelchen unerklärlichen gründen haben wir auch manchmal probleme weil sich das programm aufhängt.kann aber auch daran liegen,dass in den programmen AR1 und AR2 ohne sicherung manipuliert wird usw.
bin mir sicher du hättest deine helle freude mit den programmen
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
bin mir sicher du hättest deine helle freude mit den programmen

nicht nur ich! ... obwohl, die letzten beiden scheiß-programme eines kollegen guck ich einfach nicht an. wenn da irgendwas sein sollte, dann heb ich die hände und weise freundlich darauf hin, dass draußen ein großer container "leck mich am arsch" steht und man sich gerne bedienen könne.

nee, mal ehrlich, dass ist doch bullshit! ...und warum sichert ihr die adressregister nicht? das sind 8 zeilen code vorne 4, hinten 4, das macht den brei auch nicht fett!
 
@4l: Da man in FUP/AWL keine Bausteinanschlüsse unsichtbar schalten kann, wie im CFC, macht es manchmal durchaus Sinn einen FB über statische Variablen zu versorgen.

Hast dir schon mal nen Bausteinaufruf im AWL angeschaut, der über 1-2 Bildschirmseiten geht? :sm12:

Spart ausserdem Zykluszeit und unter Umständen Speicherplatz.
 
ich weiß nicht wer mit dem begonnen hat,aber jeder andere hat das auch so gemacht.als ich mal fragte warum adressregister nicht gesichert werden,bekam ich als antwort.das ist alles schon so komplex und flexibel da kann nichts mehr geändert werden.wollte nachhaken,aber das ist sinnlos.wir sind halt nur eine werksvertretung und sind leider daran gebunden es so zu machen wie vorgegeben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hast dir schon mal nen Bausteinaufruf im AWL angeschaut, der über 1-2 Bildschirmseiten geht? :sm12:
ja, und auch in KOP, ausgedruckt auf 8 oder 9
da läuft was falsch - die zu kapselnden funktionseinheiten sollten sinnvoll und kompakt sein und an der richtigen stelle mit den global-parametersen versorgt sein

Spart ausserdem Zykluszeit und unter Umständen Speicherplatz.

das argument zieht bei einer 315 abwärts vielleicht, aber doch nicht bei richtigen männer-cpus, wie du sie einsetzt ;)
 
lol.

Du hast keine Ahnung!

Wenn z.B. mit WinCC visualisiert wird, dann braucht man die Anschlüsse aussen. (mappen un so)

Warum soll man den gleichen Baustein nicht in einem S7 - Intouch System verwenden - mit aufgeräumter Strucktur???

Aber da fehlt dir die Erfahrung, weil du nicht aus deinem Laden rauskommst.

Im übrigen zählt mein Argument bei JEDER!!! SPS, die zu einem gewisen Grad ausgelastet ist.

Schönen Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du hast keine Ahnung!
*ROFL*
reicht es dir nicht, dass dir markus ständig in den arsch tritt? ;)

Wenn z.B. mit WinCC visualisiert wird, dann braucht man die Anschlüsse aussen. (mappen un so)

Warum soll man den gleichen Baustein nicht in einem S7 - Intouch System verwenden - mit aufgeräumter Strucktur???

MOOOOOOMENT ... von visualisierungen haben wir hier noch gar nicht gesprochen und wenn du deine augen mal anstrengen würdest, könntest du nachlesen, dass ein lesender zugriff akzeptiert wird, selbst von mir und von einer visualisierung auf einen instanz-db lesend zuzugreifen ist für mich dass normalste der welt, da - bei vernünftiger strukturierung, jeder depp, ja auch du, versteht, wo die daten herkommen

Aber da fehlt dir die Erfahrung, weil du nicht aus deinem Laden rauskommst.
doch, jeden abend zum feierabend darf ich gehen

Im übrigen zählt mein Argument bei JEDER!!! SPS, die zu einem gewisen Grad ausgelastet ist.

du hast in deinem ganzen leben noch keine 300er in den fingern gehabt - aber ja biene, natürlich hast du recht, wenn die zykluszeit sowieso schon an der kotzgrenze ist, kann man mit programmiertricks natürlich verhindern, die nächst größere einzusetzen, so verhindert man dann auch, dass irgendjemand mit dem programm klar kommt ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wo ist der Popcornsmili

nimmste den:
popcorn.gif
 
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.
 
@4l: Da man in FUP/AWL keine Bausteinanschlüsse unsichtbar schalten kann, wie im CFC, macht es manchmal durchaus Sinn einen FB über statische Variablen zu versorgen.

Hast dir schon mal nen Bausteinaufruf im AWL angeschaut, der über 1-2 Bildschirmseiten geht? :sm12:

Spart ausserdem Zykluszeit und unter Umständen Speicherplatz.

In diesem Zusammenhang und damit "zurück zum Thema" :
Wenn deine FB-Schnittstelle so groß ist, dann könnte es auch sein, dass ein Teil dessen, was da von Aussen kommt vielleicht auch mit in den FB gehört hätte.

Allgemein:
Der Trick bei der Erstellung von FB's ist, dass man dadurch universell verwendbare Sub-Funktionen (oder Prozeduren) erhält (das wurde auch von Vierlagig schon recht treffend erwähnt). Um das sinnvoll hinzubekommen sollten im FB gar keine globalen Variablen (wie Eingänge, Ausgänge, Merker, Timer, Zähler etc.) verwendet werden. Braucht man so etwas, so nimmt man dafür entweder IEC-Bausteine oder man baut sich aus den zu Verfügung stehenden (statischen) Variablen etwas zusammen. Braucht man Ein- oder Ausgänge oder auch Merker, so ist dafür die Schnittstelle (INPUT, OUTPUT, IN_OUT) vorgesehen.
Möchte ich von Aussen große Datenblöcke mit bekannter Dimension übernehmen, so kann man dies sehr schön über UDT's oder ARRAY's als Schnittstellen realisieren.

Allerdings:
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. Diese Daten erst irgendwo anders hinzutransferieren macht gar keinen Sinn und wenn ich den Aufbau des FB's an der Schnittstelle oder im Stat-Bereich ändere, dann macht die Visu das automatisch mit ...

Gruß
LL
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
.

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.

SUUPPER da hacken sich zwei Teenies um den Anfang der S7,
und die 7 Jahre unterschied, naja....

Ich habs 4L schon mal in eine PN bestätigt, und mache das auch gerne öffentlich :
Hochachtung für die Kenntnisse in dem Alter.

Ich finde prinzipiell auch den Ansatz von 4L korrekt... ABER
Das hilft dem Themenstarter nicht weiter, in diesem Fall finde ich das Programm nicht komplett falsch, sondern man muss ihm die Vorzüge des FB's genauer erklären. Eine Grundsatzdiskussion ob man nun auf einen Instanzdb zugreifen darf oder nicht finde ich hier nicht richtig am Platz.
Und am Rande: Ich greife z.B. aus der Visu auf InstanzDB's lesen und schreiben zu.....
Aber nur wenn es fertige Bausteine von Siemens sind z.B. Regler.

Soo. und jetzt könnt ihr auch mich hauen, und morgen helfen wir gemeinsam dem Themenstarter; versprochen ?

EDIT: Der Larry hat schon mal angefangen
 
Zuletzt bearbeitet:
hey larry,

wenn man aber nen FB ins WinCC mappen will, dann müssen die Parameter nun mal eben als IN/OUT/INOUT deklariert sein, da der statische Bereich nicht gemappt werden kann.

Im CFC schaltet man die Parameter halt unsichtbar, dann stören sie nicht.

Habe ich aber kein WinCC lege ich sie in den STAT-Bereich und beschreibe - wenn nötig - von aussen.

Das war alles was ich geschrieben habe.

Deshalb verstehe ich auch die Aufregung net ;)
 
Zurück
Oben