Bibliotheksnamensraum
Syntax:
<Bibliotheksnamensraum>.<Bibliotheksbausteinbezeichner>
Beispiel: Lib_A.FB_Sample
Ein Bibliotheksbausteinbezeichner wird um den Bibliotheksnamensraum erweitert (als Präfix mit einem Punkt getrennt), um eindeutig und qualifiziert auf den Bibliotheksbaustein zuzugreifen. Üblicherweise stimmen Namensraum und Name einer Bibliothek überein.
Beispiel:
Eine Bibliothek ist in einem Projekt eingebunden und enthält einen Baustein FB_Sample. In dem Projekt ist aber bereits lokal ein Funktionsbaustein mit gleichem Namen instanziiert. Bezeichnen Sie den Bibliotheksbaustein mit Lib_A.FB_Sample, um nicht auf den lokalen Funktionsbaustein, sondern auf den Bibliotheksbaustein zuzugreifen.
VAR
fbSample := FB_Sample; // Instantiation of the project function block FB_Sample
fbSampleLib := Lib_A.FB_Sample; // Instantiation of the library function block FB_Sample
END_VAR
Sie können für den Namenraum einen anderen Bezeichner definieren. Dafür tragen Sie (als Bibliotheksentwickler) bereits beim Erstellen eines Bibliotheksprojekts in den Projektinformationen einen Namenraum ein. Oder Sie bestimmen beim Erstellen eines SPS-Projekts im Bibliotheksverwalter für eine Bibliothek in der Ansicht Eigenschaften einen speziellen Namensraum.
Für weitere Informationen siehe: Bibliotheken verwenden
Operator # für direkten Zugriff
Der Operator ist eine Erweiterung der Norm IEC 61131-3.
Es ist möglich, dass lokale Komponenten von Globalen Variablenlisten, Strukturen oder Funktionsbausteinen namensgleiche Bibliotheksbausteine verschatten und so eine Mehrdeutigkeit verursacht wird. Infolgedessen ist ein Zugriff mit der üblichen Namensraumkonvention nicht möglich. Verwenden Sie in diesem Fall den Operator #
, um einen direkten Zugriff zu erzwingen.
Syntax:
<Namensraum>#<Pfad zum Bibliotheksbaustein>
Beispiel
Globale Variablenliste mit dem Namen „Tc2_Standard“
{attribute 'qualified_only'}
VAR_GLOBAL
Concat : INT;
END_VAR
Verwendung der Variable Concat aus der Globalen Variablenliste und der Bibliotheksfunktion CONCAT aus Tc2_Standard
PROGRAM MAIN
VAR
fbTon : Tc2_Standard#TON;
nVar : INT;
sVar : STRING;
END_VAR
// Access to the global variable Concat
Tc2_Standard.Concat := nVar;
// Access to the library function CONCAT
Tc2_Standard#CONCAT('Test','1');