# Port ```{index} single: Port ``` ## 🎧 Podcast * [Das Technologie-Panorama von 1863: Lanz & Comp. und die Revolution der deutschen Landwirtschaft durch Import, Innovation und Guano](https://podcasters.spotify.com/pod/show/ms-muc-lama/episodes/Das-Technologie-Panorama-von-1863-Lanz--Comp--und-die-Revolution-der-deutschen-Landwirtschaft-durch-Import--Innovation-und-Guano-e39auqa) * [ESP32-S3-DevKitC-1 Doku-Analyse: Das Speicher-Monster (32MB Flash/16MB PSRAM) und die Macht der Dual-USB-Ports](https://podcasters.spotify.com/pod/show/ms-muc-lama/episodes/ESP32-S3-DevKitC-1-Doku-Analyse-Das-Speicher-Monster-32MB-Flash16MB-PSRAM-und-die-Macht-der-Dual-USB-Ports-e39hamt) ## Einleitung Der Port-Funktionsblock dient als Service Interface Function Block fĂŒr die Konfiguration und Verwaltung von digitalen Ein-/AusgĂ€ngen auf einem EliteBoard-System. Er ermöglicht die Zuordnung von Pin-Namen zu physischen Ports ĂŒber einen Adapter-Mechanismus. ![Port](Port.svg) ## Schnittstellenstruktur ### **Ereignis-EingĂ€nge** *Keine Ereignis-EingĂ€nge vorhanden* ### **Ereignis-AusgĂ€nge** *Keine Ereignis-AusgĂ€nge vorhanden* ### **Daten-EingĂ€nge** - **Pin0** (STRING): Name des Pins 0 - **Pin1** (STRING): Name des Pins 1 - **Pin2** (STRING): Name des Pins 2 - **Pin3** (STRING): Name des Pins 3 - **Pin4** (STRING): Name des Pins 4 - **Pin5** (STRING): Name des Pins 5 - **Pin6** (STRING): Name des Pins 6 - **Pin7** (STRING): Name des Pins 7 - **Pin8** (STRING): Name des Pins 8 - **Pin9** (STRING): Name des Pins 9 - **Pin10** (STRING): Name des Pins 10 - **Pin11** (STRING): Name des Pins 11 - **Pin12** (STRING): Name des Pins 12 - **Pin13** (STRING): Name des Pins 13 - **Pin14** (STRING): Name des Pins 14 - **Pin15** (STRING): Name des Pins 15 ### **Daten-AusgĂ€nge** *Keine Daten-AusgĂ€nge vorhanden* ### **Adapter** - **PortInAdapter** (eclipse4diac::io::eliteboard::PortAdapter): Socket-Adapter fĂŒr die Kommunikation mit dem Port-Subsystem ## Funktionsweise Der Port-FB dient als Konfigurationsschnittstelle fĂŒr bis zu 16 digitale Pins. Über die STRING-EingĂ€nge können individuelle Pin-Namen vergeben werden, die ĂŒber den PortAdapter an das darunterliegende System weitergegeben werden. Der Funktionsblock selbst fĂŒhrt keine direkten Ein-/Ausgabeoperationen durch, sondern stellt lediglich die Konfigurationsparameter bereit. ## Technische Besonderheiten - UnterstĂŒtzt Konfiguration von 16 digitalen Pins - Verwendet STRING-Datentyp fĂŒr Pin-Namen - Implementiert als Service Interface Function Block - Nutzt Adapter-Pattern fĂŒr Hardware-Abstraktion - Teil des eclipse4diac::io::eliteboard-Pakets ## ZustandsĂŒbersicht Da es sich um einen reinen Konfigurationsbaustein ohne Ereignissteuerung handelt, besitzt der Port-FB keine expliziten ZustĂ€nde. Die Konfiguration wird statisch ĂŒber die Daten-EingĂ€nge festgelegt. ## Anwendungsszenarien - Konfiguration von digitalen Ein-/AusgĂ€ngen auf EliteBoard-Systemen - Abstraktion von Hardware-Pins durch logische Namen - Integration in grĂ¶ĂŸere Steuerungssysteme mit einheitlicher Pin-Verwaltung - Wiederverwendbare Pin-Konfigurationen in verschiedenen Applikationen ## ⚖ Vergleich mit Ă€hnlichen Bausteinen Im Vergleich zu direkten GPIO-Bausteinen bietet der Port-FB eine höhere Abstraktionsebene durch die Verwendung von logischen Pin-Namen statt direkter Hardware-Adressierung. Er dient primĂ€r der Konfiguration, wĂ€hrend andere Bausteine typischerweise die eigentliche Ein-/Ausgabe-FunktionalitĂ€t bereitstellen. ## Fazit Der Port-Funktionsblock stellt eine elegante Lösung fĂŒr die konfigurationsbasierte Pin-Verwaltung in Eclipse 4diac-Systemen dar. Durch die Verwendung von Adaptern ermöglicht er eine klare Trennung zwischen Konfiguration und Hardware-Zugriff, was die Wartbarkeit und Portierbarkeit von Steuerungsapplikationen verbessert.