TIA Software Units

MFreiberger

Level-3
Beiträge
2.894
Reaktionspunkte
768
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Zusammen,

hat schon Jemand Erfahrung mit den Softwareunits gesammelt?
Verstehe ich das richtig, dass ich damit den Baustein "myFC" unterschiedlich programmieren kann und je nach bedarf eine unterschiedliche Version in die CPU einspielen kann?

VG

MFreiberger
 
Nein, du kannst damit pro Unit konsistent laden, d.h. wenn Unit 1 keine Relation zu Unit 2 hat, kannst du nur Unit 1 laden, ohne dass Unit 2 mit geladen werden muss.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin Häns,

so ganz verstehe ich Deine Aussage nicht.

Wahrscheinlich habe ich mich auch zu unverständlich ausgedrückt.


wenn Unit 1 keine Relation zu Unit 2 hat, kannst du nur Unit 1 laden, ohne dass Unit 2 mit geladen werden muss.

das verstehe ich so, dass sowohl Unit 1 als auch Unit 2 Software enthalten kann (z.B. Programmbausteine), die ich unabhängig von der jeweils anderen Unit laden kann?
Also Wenn ich OB1 in Unit 1 habe und OB1 in Unit 2, könnte ich nicht dann einfach den OB1 laden, den ich haben möchte? Also z.B. wenn der Entwickler eine Programmänderung vorbereitet, wodurch andernfalls ja das online beobachten nicht mehr funktioniert, weil die Bausteine unterschiedlich sind.

VG

MFreiberger
 
Moin

https://www.youtube.com/watch?v=ZL5NczVlk4s

Also meiner Meinung nach ist das einfach eine andere Umsetzung des gemeinsamen Entwickelns, das mit dem Multiuser schon umgesetzt wurde.
Wenn ich das richtig verstehe, gibt es ein paar
Vorteile:
1) keine Synchronisation erforderlich, da jeder seine eigenen Bausteine entwickelt.
2) keine performante onlineverbindung zu einem Serverprojekt erforderlich
und ein paar
Nachteile:
1) man muss ich in der Gruppe sehr gut abstimmen
2) es scheint mir (ohne es ausprobiert zu haben) erst einmal aufwändiger in der Umsetzung

Leider verstehe ich auch, dass meine erhoffte Funktion nicht vorgesehen ist. Schade.
Das scheitert ja schon daran, dass die Bausteine nicht den gleichen Namen/die gleich Nummer haben können/dürfen.

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin
Leider verstehe ich auch, dass meine erhoffte Funktion nicht vorgesehen ist. Schade.
MFreiberger

Naja, um selber zwischen zwei Bausteinvarianten zu wechseln, brauch es ja nicht unbedingt einer TIA Erweiterung.
Einfach noch 2 Dummy-PLC mit den beiden Bausteinenvaianten ins Projekt und dann denn gerade gewünschten in die Real-CPU reinkopieren.
Oder eben aus anderen Projekt reinkopieren.
Oder vielleicht geht es auch mit einer eigenen Bibliothek.
Das ist ja alles nicht sooo aufwendig.
 
Moin Olli_BS,

Naja, um selber zwischen zwei Bausteinvarianten zu wechseln, brauch es ja nicht unbedingt einer TIA Erweiterung.

Nein, aber es könnte das Leben leichter machen.


Einfach noch 2 Dummy-PLC mit den beiden Bausteinenvaianten ins Projekt und dann denn gerade gewünschten in die Real-CPU reinkopieren.
Oder eben aus anderen Projekt reinkopieren.
Oder vielleicht geht es auch mit einer eigenen Bibliothek.
Das ist ja alles nicht sooo aufwendig.

Das stimmt, aber eigentlich will ich nicht noch mehr Hardware anlegen. In der Bibliothek sollten m.E. nur getestet, funktionierende Bausteine Eingang finden (nicht um Bausteine zu testen). Ein anderes Projekt wäre halt auch wieder "hintenrum" (für Drag&Drop müsste ich ja auch immer ein Referenzprojekt öffnen).
Das geht alles, aber ein Ordner, im dem Testbausteine vorbereitet und auf der Baustelle geladen werden können wäre halt eleganter.

VG

MFreiberger
 
Ich mache immer eine 2. TIA Instanz auf um per CTRL+C CTRL+V Bausteine zu kopieren.

Ich stelle mir die Funktion nur komisch umsetzbar vor.
Wie sieht man welche Variante gerade online benutzt ist?
Wie sieht das aus wenn jemand anderes das Projekt öffnet. Blinkt das dann bei den Varianten, ACHTUNG, hier gibt es noch eine andere Test-Variante?
Ist schon speziell.


Aber zum Thema UNITS zurück:
Habe gerade mal rumgespielt:
Die Units scheinen ja hierarchisch organisiert zu sein.
Man müsste eine Unit mit den Standard-Bausteinen machen. Aus der Unit "dadrüber" kann man dann auch Instanzen mit den veröffentlichten FBs machen.

ABER:
PLC-Variabeln scheinen nicht übergreifend zu gehen.
Also EA+Merker(?) müssen Bitgenau auf die UNITS verteilt werden.
Oder über selbst gemachtes DB-Routing "Veröffentlicht" werden.
Da muss man schon SEHR genau beim aufteilen wissen worauf es hinauslaufen soll....

Alles wie immer: Hört sich erst interessant an, aber bei der praktischen Nutzung gibt es so viele Einschränkungen ...
Vielleicht in V18.3 (= ca. 2023?) toll.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich mache immer eine 2. TIA Instanz auf um per CTRL+C CTRL+V Bausteine zu kopieren.

Aber zum Thema UNITS zurück:
Habe gerade mal rumgespielt:
Die Units scheinen ja hierarchisch organisiert zu sein.
Man müsste eine Unit mit den Standard-Bausteinen machen. Aus der Unit "dadrüber" kann man dann auch Instanzen mit den veröffentlichten FBs machen.

ABER:
PLC-Variabeln scheinen nicht übergreifend zu gehen.
Also EA+Merker(?) müssen Bitgenau auf die UNITS verteilt werden.
Oder über selbst gemachtes DB-Routing "Veröffentlicht" werden.
Da muss man schon SEHR genau beim aufteilen wissen worauf es hinauslaufen soll....

Alles wie immer: Hört sich erst interessant an, aber bei der praktischen Nutzung gibt es so viele Einschränkungen ...
Vielleicht in V18.3 (= ca. 2023?) toll.

Ab V16 sollten Variablentabellen in Units veröffentlicht werden können. Dann braucht man z.B. die Eingänge nicht mehr über einen DB durchschleifen. Was man trotzdem braucht ist dann die Relation zur Unit in der die Variablentabelle liegt. :roll:
 
Zuletzt bearbeitet:
Leider liefert Siemerns hier die Krücken aus, die notwendig sind, um das seit Tag 1 verkorkste Datenmodell des TIA-Portal, wenigstens ein wenig Multiuser/Multientwickler-Tauglich zu machen.
Da man den Fehler im Konzespt nicht beseitigt (oder beseitigen kann, denn er steckt wohl tief im Konzept), versucht man es, indem man drumherum etwas programmiert. Gleiches gilt ja im Prinzip auch für GIT-ähnliche Ansätze, die schon am System scheitern. Da hat vorher einfach keiner dran gedacht oder man meinte, es dann irgendwann nachliefern zu können. Ich verstehe ja, dass es nun schwierig ist, denn TIA soll voll symbolisch arbeiten, muß dazu aber immer die Konsistenz erhalten.
 
Also die V15.1 Variante ist nicht nur theoretisch sehr eingeschränkt sondern auch praktisch fast unbenutzbar.
Wollte aus gegebenen Praxis-Anlass eine "Daten-Aufbereitung" in einer UNIT laufen lassen. Eigentlich schöne Sache:
ein DB rein, ein DB raus als Schnittstelle zum Rest Programm. Mit einem Array funktioniert das auch noch. Mit einem Datentyp NICHT (nicht als Relation zugelassen)
Auch eine Krücke mit nicht optimierten DB tut nicht (nicht als Relation zugelassen) .
Würde nur der Pfusch bleiben, innerhalb der UNIT aus "DT-formatiertem" DB in Array-DB reinzuschreiben und ausserhalb der UNIT wieder aus dem Array ein "DT-formatiertem" DB zu machen....

Wenn so etwas "isoliertes" schon nicht mehr funktioniert ist es eigentlich eine Unverschämtheit, "Units" als zusätzliches Feature zu bewerben.

Shame on you, SIEMENS !
 
Ich habe das mit den Units in V15.1 schon mal kurz getestet.

Um es mal so zu sagen: Der Sinn erschließt sich mir schon, aber leider macht SIEMENS bei der Umsetzung auf dem halben Weg halt. Bisher konnten zwei Units nicht miteinander kommunizieren. Man konnte zwar DBs einer Unit veröffentlichen, so dass man in einer anderen Unit die Daten lesen konnte, aber das funktioniert dann nicht in beide Richtungen. Dafür brauchte man dann wieder einen anderen globalen DB. Damit ist das Konzept für viele Anwendungsfälle unbrauchbar oder unnötig

Brauchbar ist es vielleicht, wenn ich zwei Anlagenteile habe, die nur ganz wenig miteinander zu tun haben. Dann kommt alles von der einen in die eine Unit, der Rest in die andere. Dann kommt auch der Vorteil des unabhängigen Ladens zum Tragen.

Mal sehen was in V16 kommt. Bisher sind Units jedenfalls keine Units, sondern irgendwas anderes, weil sie zu viele Einschränkungen haben.
 
Weiß nicht genau ob das Thema bereits eingefroren ist.
Ich bin erst gestern auf diese Software Units gestoßen. Beim Hochrüsten eines Projektes von V14 auf V16 erscheint diese Option erstmal nicht. Erst beim erneuten Einfügen der CPU, erschließt sich diese Möglichkeit.

Ich würde dies nun so verstehen, um hier einen Nutzen daraus zu ziehen:
Besitzt man ein TIA Projekt-Template einer halbwegs standardisierten Anlage, welche natürlich in echt unterschiedliche Anpassungen und Ausprägungen hat, bedeutet das ja oft einen ziemlichen Aufwand um Bugfixes etc. in allen vorhandenen Projekten nachzuziehen etc. Mit Hilfe der Software Units könnte man ja gewisse Funktionen im Programm isolieren und in jedem Projekt ggfs. als Bugfix nachziehen, ohne weitere projektspezifische Anpassungen in der restlichen Software beachten zu müssen..
Kann man das so sehen?

:confused:
 
Zurück
Oben