FB_PJLink

Dieser Funktionsbaustein ermöglicht die Kommunikation zu einem Projektor über TCP/IP und kann zum Steuern und Überwachen verwendet werden. Die Kommunikation zu einem Projektor wird durch den Funktionsbaustein automatisch aufgebaut. Jede Information, die von der Steuerung empfangen wird, wird ausgewertet und in der Struktur ST_PJLink_Projector_Status
(Ausgangsparameter stProjStatus
) ausgegeben. Darüber hinaus gibt es eine automatische Status-Update Funktionalität, die periodisch ausgeführt wird. Informationen, Warnungen und Errors werden mit Hilfe des TC3 Eventloggers ausgegeben.
Voraussetzungen für FB_PJLink:
- TF6310 „TwinCAT TCP/IP“ ,
- Einzubindende Bibliothek:Tc2_TcpIp (Communication),
- Entwicklungsumgebung: TwinCAT v3.1.0. oder höher.
![]() | Projektoreinstellungen beachten Folgende Einstellungen müssen beim Projektor eingerichtet werden:
|
Das Senden von Befehlen und Statusabfragen zum Projektor, wird durch Aufrufen von Methoden und Setzen der jeweiligen Input-Parameter durchgeführt:
Power
(Ändern des Powerstatus (An-/Ausschalten des Projektors)),Mute
(Ändern des AV-Mutestatus des Projektors (Aktivieren/Deaktivieren von Video-, Audio-, Video/Audio-Mute)),Input
(Ändern des Medieneingangs des Projektors (RGB, Video, Digital, Storage, Network)),Update
(Senden spezifischer Statusabfragen),Freeze
(Ändern des Freezestatus des Projektors (Aktivieren/Deaktivieren der Freeze-Funktion)),Volume
(Erhöhen/Verringern der Lautstärke der Lautsprecher des Projektors),MicVolume
(Erhöhen/Verringern der Lautstärke des Mikrofons des Projektors).
![]() | Lizenz Für die Verwendung von FB_PJLink wird sowohl eine TwinCAT 3.1-Lizenz, als auch eine TF6310 „TwinCAT TCP/IP"- Lizenz benötigt. |
VAR_INPUT
bEnable : BOOL;
sProjector : T_IPv4Addr;
sServerNetID : T_AmsNetId;
sSecurityPW : STRING(32);
bKeepAliveSocket : BOOL := FALSE;
tStatusUpdateTime : TIME := T#5S;
eTraceLevel : TcEventSeverity;
bEnable: Ein Setzen auf TRUE
aktiviert den Funktionsbaustein. Die Kommunikation zu einem Projektor wird aufgebaut. Bei FALSE
wird die Kommunikation beendet und der Funktionsbaustein deaktiviert.
sProjector: Die lokale IP-Adresse (IPv4) des TCP/IP Client/Server-Sockets als String (z.B. '2.168.0.5'
). Für den Default-Netzwerkadapter kann auch ein Leerstring angegeben werden.
sServerNetID: String mit der Netzwerkadresse des TwinCAT TCP/IP Connection Servers. Für den lokalen Rechner (default) kann auch ein Leerstring angegeben werden.
sSecurityPW: Passwort für die Security-Authorization-Funktion (optional). Das identische (Case sensitive) Passwort muss in den Einstellungen des Projektors eingegeben werden.
bKeepAliveSocket: Aktiviert bei TRUE
einen Keep-Alive-Modus für die Kommunikation zum Projektor. Es wird lediglich ein Socket geöffnet, der dauerhaft offengehalten wird. Im Fehlerfall verbleibt der Funktionsbaustein in einen Error-Modus. Durch FALSE
(empfohlen) wird vor dem Senden eines Befehls ein neuer Socket geöffnet und danach wieder geschlossen. Im Fehlerfall wird automatisch ein erneuter Verbindungsvorgang ausgelöst.
tStatusUpdateTime: Updateintervall der Statusinformationsabfrage vom Projektor. (Default=5s; höhere Updatezeit tStatusUpdateTime
reduziert den Datenverkehr.)
eTraceLevel: Bestimmt die Eventarten, die über den Eventlogger abgeschickt werden. Events die von einer größeren oder gleich großen Wichtigkeit sind, als der Wert am Eingangsparameter, werden gesendet. (Beispiel: Wert = Warning → Abschicken von Warnings, Errors und Criticals; Wert=Warning → unter Anderem werden PJLink-Nachrichten geloggt)
VAR_OUTPUT
bBusy : BOOL;
eStep : E_PJLink_step;
bError : BOOL;
ipResultMessage : I_TcMessage;
nErrID : UDINT;
sErrBlock : STRING(20);
stProjStatus : ST_PJLink_Projector_Status;
bBusy: Dieser Ausgang ist gesetzt, solange die Verbindung zum Socket besteht/aufgebaut wird.
eStep: Dieser Ausgangsparameter gibt den aktuellen Schritt in der FB_PJLink
State machine an.
bError: Wenn ein Fehler auftritt, wird dieser Ausgang gesetzt. (z. B.: Verbindung zum Socket ist nicht möglich).
ipResultMessage: Mit dieser Schnittstelle wird das Abschicken von Events über den TC3-Eventlogger realisiert.
nErrID: Dieser Parameter liefert bei einem gesetzten bError-Ausgang die TwinCAT TCP/IP Fehlernummer.
sErrBlock: Liefert weiterführende Informationen zum aufgetretenen Fehler. (Verursachender Funktionsbaustein)
stProjStatus: Struktur mit den Projektorstatus-Informationen. (Nach dem Senden eines Befehls, wird die Antwort des Projektors ausgewertet und in stProjStatus
ausgegeben.)
Beispiel: Befehl = "%1POWR 1$R“
→ Antwort des Projektors = "%1POWR=ERR3"
→ ProjStatus.POWR.Err_UnavailableTime = TRUE.