TIA Baustein kann nicht typisiert werden

ThomasM

Level-1
Beiträge
114
Reaktionspunkte
9
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen

Ich hab ein kleines Problem. Ich habe einen FB geschrieben, der mir aus einem Quell-DB (kein optimierter Bausteinzugriff) Werte ausliest, diese dann um einen bestimmten Wert erhöht und in einen Ziel-DB (ebenfalls nicht optimiert) schreibt. Übergabe der Adressen im DB via Pointer. Jetzt wollte ich diesen kleinen Helfer in eine Bibliothek ablegen, falls ich bei einer anderen Anlage nach Reparatur ebenfalls Positionswerte anpassen muss.
Jetzt nehme ich den Baustein und ziehe ihn per Drag and Drop in den Typenordner der Projektbibliothek um ihn danach in eine Globale Bibliothek abzulegen. Nur leider kommt dann immer der Fehler: "Der Baustein kann nicht typisiert werden. Der Baustein enthält unzulässige Globaldatenzugriffe oder Einzelinstanz Aufrufe. Der Typ kann nicht freigegeben werden."
Als Kopiervorlage kann ich ihn ablegen. Würde ihn nur gern als Typ ablegen, damit bei Änderungen auch die Versionsnummer passend geändert wird.
Jetzt ist mein Verdacht, dass es an den Zugriffen auf das AR1 liegt, die ich verwende (LAR1 P##QUELLE). Stimmt diese Vermutung, wenn ja kann man das irgendwie umgehen?

Achja verwendet wird TIA V13 SP1

Gruß ThomasM
 
Zuletzt bearbeitet:
Ich VERMUTE es geht nicht, weil Du halt in dem Baustein direkt auf Variablen (in den DBs) zugreifst. Also Bibliothek nur, wenn man den FB mehrfach aufrufen könnte und alle Variablen per IN/OUT/INOUT übergeben werden...

Gruß.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vermutlich verwendest du einen Merker oder einen S5 Timer in dem Baustein, kann aber auch ein S5 Zähler sein oder ein Global DB Zugriff.

In der Regel ist es ganz gerne mal ein VKE1 oder VKE0 Merker.
Ob der AWL Befehl AUF dazugehört weiß ich nicht.


In den Bausteineigenschaften wird dieser Haken erscheinen wenn dein Baustein Typisierbar ist.
Bib.jpg
 
Merker und Timer werden keine verwendet. Also denkt ihr nicht, dass es daran liegt dass ich mit dem Adressregister arbeite? Im Prinzip übergebe ich alles was ich verwende über IN und dann im Baustein nur mit Lokalvariablen STAT und TEMP. Der DB Aufruf AUF ist ja eigentlich auch variabel (AUF DB [ #TMP_QUELL_DB]) oder irre ich mich da?

Was mir gerade noch einfällt, ich verwende eine Schleife (LOOP). Kann es daran liegen?

Gruß ThomasM
 
Zuletzt bearbeitet:
Es ist sicher der AUF Befehl. Kommentiere diesen mal aus und übersetze den Baustein neu. In den Bausteineigenschaften sollte dann der Haken da sein.
 
Hab grad das hier gefunden.
[h=4]Besonderheiten bei Know-how-geschützten Bausteinen[/h] Von know-how-geschützten Bausteinen lassen sich ebenfalls Typen erstellen. Beachten Sie jedoch die folgenden zusätzlichen Anforderungen an know-how-geschützte Bausteine:

  • Freigabe des Bausteins zur Verwendung als TypKnow-How-geschützte Bausteine müssen zur Verwendung in einer Bibliothek freigegeben sein. Die entsprechende Einstellung nehmen Sie in den Bausteineigenschaften vor. Aktivieren Sie im Bereich „Attribute“ die Option „Baustein als know-how-geschütztes Bibliothekselement verwendbar“.

  • Der Baustein enthält keine Zugriffe auf Datenbausteine, PLC-Variablen oder PLC-Konstanten.Da aus Datenbausteinen, PLC-Variablen und PLC-Konstanten keine Typen erzeugt werden können, lässt sich aus know-how-geschützten Bausteinen mit Zugriffen auf die genannten Objekte ebenfalls kein Typ erzeugen. Die Instanz eines know-how-geschützten Bausteins ist ohne die zugehörigen Datenbausteine, PLC-Variablen oder PLC-Konstanten nicht funktionstüchtig.




Habe gerade alle AUF und T DBD auskommentiert und übersetzt... daran liegts auch nicht. Zählt das AR1 als PLC-Konstante? Wenn ich jetzt die LAR1 Befehle auch noch auskommentiere, hab ich quasi den ganzen Baustein auskommentiert ;)

Gruß ThomasM
 
So jetzt hab ichs gefunden... es liegt an AR1 und an den AUF Befehlen... in meinem Baustein is jetzt nur noch ne leere Schleife und es würde gehen. Naja irgendwie Schade, dann wirds halt kein Typ sondern ne Kopiervorlage. Danke für die Hilfe.

Gruß ThomasM
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Muß man bei TIA angeben, für welche CPU-Familie eine Bibliothek sein soll? Versuchst Du einen Baustein für eine S7-1200-Bibliothek zu schreiben? Die S7-1200 kennt keine AR-Register und kann kein AWL.

Harald
 
Wüsste nicht wo oder ob ich einstellen kann für welche CPU-Familie die Bibliothek ist. In meinem Testprojekt ist ne 1500er drin. 1200er setzen wir so gut wie nie ein, deswegen habe ich in diese Richtung keine Erfahrungen bezüglich Bibliotheksunterschieden.

Gruß ThomasM
 
Zurück
Oben