Wiki 4: visual-programming-languages

franz0748_a_new_logo_for_visual-programming-languages_--v_6_f8ce29a7-cd97-461c-8c60-3e9e01a29d58

Need help or have a question? Join the chat at Gitter or open a new Discussion

https://docs.ms-muc-docs.de/projects/visual-programming-languages-docs/de/latest/

https://github.com/Meisterschulen-am-Ostbahnhof-Munchen/visual-programming-languages-docs/discussions

Documentation Status

Codacy Badge Join the chat at https://gitter.im/Meisterschulen-am-Ostbahnhof-Munchen/visual-programming-languages-docs

Wiki 0: Meisterschulen-am-Ostbahnhof-Munchen

Wiki 0: Wiki das „über“ Wiki

ein Suche im über Wiki findet Ergebnisse aus allen 5 Wikis

Wiki 1: Install-ISOBUS-Environment-docs

Wiki 1: Wiki Install-ISOBUS-Environment

Wiki 2: ISOBUS-VT-Objects

Wiki 2: Wiki ISOBUS-VT-Objects

Wiki 3: ISOBUS-other

Wiki 3: Wiki ISOBUS-other

Wiki 4: visual-programming-languages

Wiki 4: Wiki visual-programming-languages

Wiki 5: Werkzeug

Wiki 5: Wiki Werkzeug

Welcome to visual-programming-languages documentation!

Einleitung

Willkommen bei Visual Programming Languages Docs!

Haben Sie sich jemals gefragt, wie man Programme visuell erstellt? Mit unserer Website sind Sie genau an der richtigen Stelle. Hier finden Sie alle Informationen und Ressourcen, die Sie benötigen, um in die Welt der visuellen Programmierung einzutauchen.

Wir bieten umfassende Dokumentationen und Tutorials für verschiedene visuelle Programmiersprachen, einschließlich Blockly, Scratch und vielen mehr. Unsere Inhalte sind für Anfänger und Fortgeschrittene geeignet und werden von erfahrenen Entwicklern und Dozenten erstellt.

Auf unserer Website finden Sie auch Links zu hilfreichen Ressourcen und Tools, die Ihnen bei der Erstellung von visuellen Programmen helfen werden.

Also, worauf warten Sie noch? Beginnen Sie jetzt mit der visuellen Programmierung und werden Sie Teil der wachsenden Gemeinschaft von Entwicklern, die sich für diese spannende Technologie interessieren. Besuchen Sie uns jetzt und starten Sie Ihre Reise in die Welt der visuellen Programmierung.

IEC 61499

Gedicht im Stil Göthes

Die IEC 61499, ein System moderner Prägung. Wie ein Uhrwerk, stets in Line, gestaltet es die Automatisierung.

In Schichten aufgebaut, wie ein Turm aus Bauklotzsteinen. Jeder Baustein gut durchdacht, um Funktionen zu vereinen.

Die Programmierung wird leicht, als wäre es ein Kinderspiel. Einheitlichkeit im ganzen Bereich, doch ist jedes System individuell.

Wie ein Gedanke, der durch den Kopf geht, so fließt das Programm durch die Schichten. Dynamisch, flexibel, stets bereit, die Systeme zu steuern und zu richten.

Die IEC 61499, ein Meisterwerk moderner Technik. Wie ein Dichter, der mit Worten spricht, so steuert es die Anlagen geschickt.

E

Die IEC 61499 ist eine internationale Norm für die Echtzeit-Verarbeitung von Steuerungssystemen. Sie definiert eine Architektur und eine Methode zur Modellierung von Steuerungssystemen und bietet damit eine gemeinsame Sprache für die Kommunikation zwischen verschiedenen Systemen. Die IEC 61499 bietet eine flexible Plattform für die Entwicklung von Steuerungssystemen und ist in vielen Industrien weit verbreitet.

Eclipse 4 DIAC

Eclipse 4 DIAC (Distributed Industrial Automation and Control) ist eine Entwicklungsumgebung für die Erstellung von Anwendungen, die auf der IEC 61499 basieren. Es bietet viele nützliche Werkzeuge und Funktionen, um die Entwicklung von Steuerungssystemen zu vereinfachen und zu beschleunigen. Eclipse 4 DIAC ist eine kostenlose Open-Source-Anwendung und eine beliebte Wahl für viele Entwickler von Industriesteuerungssystemen.

_images/poweredby4diac_large.svg

Bemerkung

Fragen/Anregungen: hier lang:

Discussion Forum

Bemerkung

This project is under active development.

Contents

Welcome to the visual-programming-languages wiki!

Fragen/Anregungen: hier lang:

Discussion Forum

_images/poweredby4diac_large.svg

Abgrenzung

Abgrenzung visuelle/textuelle Progammiersprachen
flowchart TB A["Programmiersprachen"] --> B["textuelle Programmiersprachen"] A--> CL["visuelle Programmiersprachen"]
Untergliederung textuelle Progammiersprachen
flowchart TB A["Programmiersprachen"] --> B["textuelle Programmiersprachen"] B --> Python B --> Java B --> C++ B --> X["C -- IEC9899"] B --> C#
Untergliederung visuelle Progammiersprachen
flowchart TB A["Programmiersprachen"] --> CL["visuelle Programmiersprachen"] CL -->E["industrielle v. Programmiersprachen"] CL --> C["erziehungsorientierte visuelle Programmiersprache"]
Weitere Untergliederung visuelle Progammiersprachen
flowchart TB A["Programmiersprachen"] --> CL["visuelle Programmiersprachen"] CL -->E["industrielle v. Programmiersprachen"] E --> H["LabVIEW"] E --> F["IEC 61131-3"] E --> G["IEC 61499"] F --> IL F --> LD F --> FBD F --> SFC F --> ST G --> FB G --> EEC
Abgrenzung visuelle Programmiersprachen vs. textuelle Programmiersprachen

Literatur:

https://de.wikipedia.org/wiki/Visuelle_Programmiersprache

https://en.wikipedia.org/wiki/Visual_programming_language

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

–> dieses Video bringt es recht prägnant auf den Punkt.

https://www.c-plusplus.net/forum/topic/350943/visuelle-oder-textuelle-programmiersprachen

https://wiki.print2forms.de/doku.php?id=print2forms:skripte:textuellvsvisuell

Visuelle Programmiersprachen

Literatur:

https://de.wikipedia.org/wiki/Visuelle_Programmiersprache

https://en.wikipedia.org/wiki/Visual_programming_language

Allgemeine Visuelle Programmiersprachen

Beispiele für Allgemeine Visuelle Programmiersprachen sind zum Beispiel Scratch von Google.

https://sites.google.com/ochieseeducation.ca/teachertech/coding/scratch

https://de.m.wikipedia.org/wiki/Scratch_(Programmiersprache) Scratch (Programmiersprache) erziehungsorientierte visuelle Programmiersprache für Kinder und Jugendliche

Eine Umsetzung davon findet sich bei M5Stack:

https://flow.m5stack.com/

https://m5stack.github.io/UIFlow_doc/en/

https://shop.m5stack.com/pages/uiflow

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

UIFlow von M5Stack nutzt Blockly von Google.

Blockly/Scratch usw. lehnt sich in der Struktur stark an Textuelle Programmiersprachen an. oft ist ein Umschalten zwischen einer Textuellen und Visuellen Ansicht möglich.

In erster Linie dienen diese Sprachen dem leichteren Erlernen von Textuellen Programmiersprachen auf Visuellem Weg.

Visuelle Programmiersprachen in der Informatik

https://de.wikipedia.org/wiki/Unified_Modeling_Language

Siehe Hierzu auch https://resourcecenter.ies.ieee.org/education/webinars/IESWEB0230.html ab 17:00

Visuelle Programmiersprachen in der Steuerungstechnik

neben diesen „erziehungsorientierten“ Visuellen Programmiersprachen gibt es weitere die sich mehr an das Ingenieurswesen wenden, zum Beispiel LabVIEW.

https://www.ni.com/de-de/shop/labview.html

Im Bereich der Programmierung von Steuerungen gibt es ebenfalls schon viele Jahre diverse visuelle Programmiersprachen zum Beispiel Ladder logic: https://de.wikipedia.org/wiki/Kontaktplan

Automatisierungspyramide

https://de.wikipedia.org/wiki/Automatisierungspyramide

Visuelle Programmiersprachen in der IEC 61131
Visuelle Programmiersprachen in der IEC 61499

https://en.wikipedia.org/wiki/IEC_61499

https://de.wikipedia.org/wiki/EN_61499

IEC 61499 Function Block

Die visuelle Programmiersprache die in der IEC 61499 definiert ist ähnelt dem FBS aus der IEC 61131-3.

dadurch lassen sich alle Funktionsbausteine die aus der IEC 61131-3 bekannt sind, und auch solche von Drittbibliotheken z.B. OSCAT auch in der IEC 61499 implementieren. Umgekehrt ist das nicht in jedem Fall möglich.

IEC 61499 EEC (Execution Control Chart)

EEC ist eine State Machine innerhalb IEC 61499

Vergleich IEC 61499 zu IEC 61131-3

Z.B. Video Siehe Hierzu auch https://resourcecenter.ies.ieee.org/education/webinars/IESWEB0230.html ab 43:13

norms

Normen: IEC 61499 und co.

Allgemeine Infos:

https://de.wikipedia.org/wiki/EN_61499

https://en.wikipedia.org/wiki/IEC_61499

Beuth Verlag: DIN
DIN EN 61499-1

https://www.beuth.de/de/norm/din-en-61499-1/209152944

DIN EN 61499-2

https://www.beuth.de/de/norm/din-en-61499-2/209156091

DIN EN 61499-4

https://www.beuth.de/de/norm/din-en-61499-4/191866520

IEC
IEC 61499-1

https://webstore.iec.ch/publication/5506

IEC 61499-2

https://webstore.iec.ch/publication/5507

IEC 61499-4

https://webstore.iec.ch/publication/5508

EVS

https://www.evs.ee/en

die EVS ist Quasi die DIN von Estland.

dort sind die meisten Normen viel viel billiger als bei BEUTH.

Empfehlung: die 3 User Licence kaufen!

EVS-EN 61499-1

https://www.evs.ee/en/evs-en-61499-1-2013

EVS-EN 61499-2

https://www.evs.ee/en/evs-en-61499-2-2013

EVS-EN 61499-4

https://www.evs.ee/en/evs-en-61499-4-2013

Weitere Normen
IEC 61131-3
ISOBUS
ISO 11783-1
ISO 11783-2
ISO 11783-3
ISO 11783-4
ISO 11783-5
ISO 11783-6
ISO 11783-7
ISO 11783-8
ISO 11783-9
ISO 11783-10
ISO 11783-11
ISO 11783-12
ISO 11783-13
ISO 11783-14
Symbole

Abruf unter: https://www.iso.org/obp

ISO 7000

ISO 7000 Graphical symbols for use on equipment

ISO 7000 / IEC 60417 Graphical symbols for use on equipment

ISO 7010

ISO 7010 — Graphical symbols — Safety colours and safety signs — Registered safety signs

Allgemeines

Zahlen

Natürliche Zahl – Wikipedia

Ganze Zahl – Wikipedia

Rationale Zahl – Wikipedia

Reelle Zahl – Wikipedia

Datentypen

Integer (Datentyp) – Wikipedia

Gleitkommazahl – Wikipedia

Datentypen in der IEC 61131-3

Data Types

https://help.codesys.com/webapp/_cds_datatype_integer;product=codesys;version=3.5.17.0

Datentypen

Datentypen in der IEC 61499

Siehe auch: IEC 61499, Table E.1

Typ

BYTE Länge

Bit Länge

Wertebereich

Wertebereich

min

max

BOOL

0

1 Bit

0 = FALSE

1= TRUE

SINT

1

8 Bit

−128

127

INT

2

16 Bit

−32.768

32.767

DINT

4

32 Bit

−2.147.483.648

2.147.483.647

LINT

8

64 Bit

−9.223.372.036.854.775.808

9.223.372.036.854.775.807

USINT

1

8 Bit

0

255

UINT

2

16 Bit

0

65.535

UDINT

4

32 Bit

0

4.294.967.295

ULINT

8

64 Bit

0

18.446.744.073.709.551.615

REAL

4

32 Bit

LREAL

8

64 Bit

DATE

8

64 Bit

TIME

8

64 Bit

TIME_OF_DAY

12

96 Bit

1970-01-01-00:00:00.000

DATE_AND_TIME

20

160 Bit

1970-01-01-00:00:00.000

BYTE

1

8 Bit

0

255

WORD

2

16 Bit

0

65.535

DWORD

4

32 Bit

0

4.294.967.295

LWORD

8

64 Bit

0

18.446.744.073.709.551.615

FunctionBlock

Literatur zu IEC 61499

Deutsch
Bücher Deutsch
IEC 61499 Function Blocks für den Entwurf von Eingebetteten und Verteilten Systemen

"IEC 61499 Function Blocks für den Entwurf von Eingebetteten und Verteilten Systemen" ist ein umfassendes Lehrbuch, das sich mit der IEC 61499 Norm für die Echtzeit-Verarbeitung von Steuerungssystemen beschäftigt. Die dritte Ausgabe des Buches bietet eine aktualisierte und erweiterte Darstellung des IEC 61499 Standards und zeigt, wie er in der Praxis angewendet werden kann.

Das Buch beginnt mit einer Einführung in die IEC 61499 Architektur und erläutert die Grundlagen der Function Blocks, die zur Modellierung von Steuerungssystemen verwendet werden. Es geht weiter auf die verschiedenen Typen von Function Blocks ein und zeigt, wie sie in der Praxis verwendet werden.

Ein Schwerpunkt des Buches liegt auf der Verwendung von Function Blocks in eingebetteten Systemen. Es zeigt, wie Function Blocks zur Steuerung von Hardware-Komponenten wie Sensoren und Aktoren genutzt werden können und gibt Beispiele für mögliche Anwendungen in Industrieumgebungen.

Das Buch befasst sich auch mit der Verwendung von Function Blocks in verteilten Systemen und zeigt, wie sie zur Kommunikation und zum Austausch von Daten zwischen verschiedenen Steuerungssystemen genutzt werden können. Es gibt auch einen Abschnitt über die Integration von Function Blocks in industrielle Kommunikationsprotokolle wie EtherCAT und PROFINET.

Insgesamt bietet "IEC 61499 Function Blocks für den Entwurf von Eingebetteten und Verteilten Systemen" eine umfassende Einführung in die IEC 61499 Norm und zeigt, wie sie in der Praxis angewendet werden kann. Es ist ein wertvoller Leitfaden für alle, die sich mit der Entwicklung von Steuerungssystemen beschäftigen und die IEC 61499 nutzen möchten.

Valeriy Vyatkin: IEC 61499 Function Blocks für den Entwurf: Dritte Ausgabe

https://www.isa.org/products/iec-61499-function-blocks-fur-den-entwurf-von-eing

https://www.amazon.de/Function-Entwurf-Eingebetteten-Verteilten-Systemen/dp/0876640447

https://www.yumpu.com/de/document/view/51443348/books-preview-dr-valeriy-vyatkin

https://www.fb61499.com/IEC61499German.html

Buch “IEC 61499 Function Blocks für den Entwurf von Eingebetteten und Verteilten Systemen”

Autor: Valeriy Vyatkin, Übersetzung: Ewald Matull

ISBN: 978-0-876640-44-9, ISA-Verlag

Musterseiten Preview

Direkt bestellen: www.isa.org/IEC61499German


Prozess-Steuerungen: Projektierung und Inbetriebnahme mit dem Softwaretool SPaS

https://www.amazon.de/Prozess-Steuerungen-Projektierung-Inbetriebnahme-Softwaretool-SPaS/dp/3540710833

Videos Deutsch
Trend im Engineering - IEC 61131 versus IEC 61499

In den letzten Jahren gibt es einen Trend im Engineering hin zu der Verwendung der IEC 61499 Norm im Vergleich zur IEC 61131 Norm. Die IEC 61499 bietet eine flexiblere und modularere Architektur für die Entwicklung von Steuerungssystemen und ermöglicht es, Systeme einfacher zu vernetzen und zu kommunizieren.

Die IEC 61499 setzt auf die Verwendung von Function Blocks zur Modellierung von Steuerungssystemen. Function Blocks sind kleine Einheiten, die bestimmte Funktionen ausführen und leicht angepasst werden können. Sie ermöglichen es, Steuerungssysteme schneller und effizienter zu entwickeln und zu ändern.

Im Vergleich dazu setzt die IEC 61131 auf die Verwendung von Programmiersprachen wie Ladder Logic und Structured Text. Sie ist zwar immer noch weit verbreitet, wird jedoch als weniger flexibel und modularer betrachtet als die IEC 61499.

Insgesamt ist der Trend zur Verwendung der IEC 61499 Norm im Engineering auf ihre flexiblere und modularere Architektur zurückzuführen, die es ermöglicht, Steuerungssysteme einfacher zu vernetzen und zu kommunizieren. Die IEC 61499 wird daher immer häufiger im Vergleich zur IEC 61131 als Standard für die Entwicklung von Steuerungssystemen verwendet.

Das nachfolgende Video

14.12.2011

Live-Interview mit Dieter Hess (Geschäftsführer, 3S-Smart Software Solutions) beim publish-industry VIP-Talk auf der ROTEN COUCH, SPS/IPC/DRIVES 2011

jedoch ist von Dieter Hess, der absolut kein Freund der IEC 61499 ist. Schauen Sie selbst:

https://www.youtube.com/watch?v=Go75w3-HJhw

4diac Playlist

https://www.youtube.com/channel/UCt0MlNo6Y7dXCZSDACXFi1g

https://www.youtube.com/@4diac177/about

nxtControl GmbH

https://www.youtube.com/playlist?list=PLD-CHxmB4P7fdBSAS_woF0Gd5XUqk9o4g

https://www.youtube.com/@nxtControl/about

Alois Zoitl deutsch

https://www.youtube.com/playlist?list=PLD-CHxmB4P7cT89D0MPK9bppQurDQ8wuj

4Diac andere Deutsch

https://www.youtube.com/playlist?list=PLD-CHxmB4P7eQ4_rTjP3MxaVv9xyiTRAm

4Diac

(diese Videos sind von MS-MUC selbst erstellt)

https://www.youtube.com/playlist?list=PLD-CHxmB4P7cGEqEQlC-rgRDKBVHfbcYW

Sonstiges Deutsch

https://docplayer.org/71630572-Verteilte-steuerungen-nach-iec-61499.html

https://slideplayer.org/slide/879446/

https://issuu.com/hk-gt/docs/tech_201203_df55f692a05682

http://vyatkin.org/uploads/talk.pdf

https://www.profinet.felser.ch/was_ist_in_iec_61499_dann_anders_als_in_iec_61131.html

http://vyatkin.org/iec61499day/

http://vyatkin.org/iec61499day/pdfs/Vyatkin%20Intro%20IEC%2061499.pdf

https://link.springer.com/content/pdf/10.1007/s00502-021-00918-w.pdf (PDF Download!)

https://de.frwiki.wiki/wiki/CEI_61499

https://www.jku.at/lit-cyber-physical-systems-lab/ueber-uns/team/univ-prof-di-dr-alois-zoitl/ (unten auf der Seite)

https://wirautomatisierer.industrie.de/steuerungstechnik-ipc-sps/iec-61499-als-offener-standard/

https://wirautomatisierer.industrie.de/steuerungstechnik-ipc-sps/schneider-electric-mit-dem-automation-expert-auf-neuen-pfaden/

https://de.wikipedia.org/wiki/EN_61499

https://www.sps-magazin.de/allgemein/automatisieren-mit-der-iec-61499/

https://prozesstechnik.industrie.de/chemie/automation-chemie/iec-61499-der-traum-vom-offenen-standard-lebt/

https://www.nxtcontrol.com/verteilung/

https://www.computer-automation.de/steuerungsebene/steuern-regeln/ein-neues-buendnis-auf-basis-der-iec-61499.191725.html

universalautomation.org

https://universalautomation.org/

https://www.computer-automation.de/steuerungsebene/steuern-regeln/das-single-line-engineering.130428.html

Englisch
Bücher Englisch

Valeriy Vyatkin: IEC 61499 Function Blocks for Embedded and Distributed Control Systems Design

https://www.amazon.de/Function-Embedded-Distributed-Control-Systems/dp/1936007932

http://www.vyatkin.org/book/Pages%20from%20IEC%2061499%20Vyatkin%20Second%20Edition.pdf

Distributed Control Applications: Guidelines, Design Patterns, and Application Examples with the Iec 61499 (Industrial Information Technology)

https://www.amazon.de/Distributed-Control-Applications-Application-Information/dp/1138892955

Modelling Control Systems Using IEC 61499 (Iet Control Engineering, Band 95)

https://www.amazon.de/Modelling-Control-Systems-Using-Engineering/dp/1849197601

Videos Englisch

https://youtu.be/quCrTcl8qSc

https://www.youtube.com/playlist?list=PLD-CHxmB4P7fPvyNl7OhlzT0CQF7CI6uT

https://www.youtube.com/playlist?list=PLD-CHxmB4P7dD6R8jOnamCuvV4NwSgrQT

https://www.youtube.com/playlist?list=PLD-CHxmB4P7c1DEYmsE2eJaq-jF82GRRi

https://resourcecenter.ies.ieee.org/education/webinars/IESWEB0230.html

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

https://www.youtube.com/watch?v=6ppKrO1ZwE8

https://www.youtube.com/watch?v=K9iItQBC-ac

https://www.youtube.com/watch?v=rptqwLv9s-M

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

https://www.youtube.com/watch?v=0oqRrviF7GQ

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

https://www.youtube.com/watch?v=VqQVdPE6lm0 (Awite Bioenergie GmbH)

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

Sonstiges Englisch

https://publik.tuwien.ac.at/files/PubDat_251131.pptx

IEC 61499 Applications on LinkedIn

IEC 61499 FAQ on LinkedIn

https://acris.aalto.fi/ws/portalfiles/portal/87471087/Jhunjhunwala_Monitoring_design_pattern_for_distributed_automation_systems.pdf

https://www.vyatkin.org/

https://iec61499.com/

https://www.eclipse.org/4diac/en_help.php?helppage=html/before4DIAC/iec61499.html

https://www.eclipse.org/4diac/events/docs/2019/EclipseInsight_SelfConfigurableAutomationSystems.pdf

https://www.eclipse.org/4diac/events/docs/2016/UW_10_Melik.pdf

https://en.wikipedia.org/wiki/IEC_61499

https://www.eclipse.org/4diac/index.php

https://www.eclipse.org/4diac/en_help.php

https://www.eclipse.org/4diac/en_help.php?helppage=html/4diacIDE/overview.html

https://www.eclipse.org/4diac/en_help.php?helppage=html/4diacIDE/use4diacLocally.html

Hilfe

https://bugs.eclipse.org/bugs/buglist.cgi?list_id=21301704&product=4DIAC

https://www.eclipse.org/forums/index.php?t=thread&frm_id=308

https://mattermost.eclipse.org/eclipse/channels/4diac

https://accounts.eclipse.org/mailing-list/4diac-dev

Hardware

Ein PC (Personal Computer) ist ein allgemein verwendbarer Computer, der für verschiedene Anwendungen verwendet werden kann, wie zum Beispiel Büroarbeit, Surfen im Internet, Spielen und Multimedia. Eine SPS (Speicherprogrammierbare Steuerung) hingegen ist ein spezialisiertes Gerät, das hauptsächlich in industriellen Anwendungen verwendet wird, um Prozesse automatisch zu steuern und zu überwachen. Ein SPS hat in der Regel keine Möglichkeit für Benutzerinteraktion und ist auf die Steuerung von Maschinen und Anlagen ausgelegt. Im Gegensatz dazu ist ein PC flexibel und kann für viele verschiedene Aufgaben verwendet werden.

SPS

Eine SPS (Speicherprogrammierbare Steuerung) ist ein elektronisches Gerät, das in industriellen Anwendungen verwendet wird, um Prozesse automatisch zu steuern und zu überwachen. Es besteht aus einem Mikroprozessor oder einem Mikrocontroller, der das Steuerprogramm enthält, sowie aus Eingabe- und Ausgabeschnittstellen, die es ermöglichen, Signale von Sensoren und Aktoren zu empfangen und zu senden. Eine SPS kann verwendet werden, um Maschinen und Anlagen zu steuern, indem sie bestimmte Aktionen ausführt, wenn bestimmte Bedingungen erfüllt sind. Sie kann auch verwendet werden, um Prozesse zu überwachen, indem sie Daten sammelt und speichert, die später für die Fehlerdiagnose und die Optimierung des Prozesses verwendet werden können.

PC
dual WLAN
ChatGPT

alle Texte auf dieser Seite sind erstellt mit https://chat.openai.com/chat

Erstaunlich

unter Windows 10 mit 2 WLAN Verbindungen arbeiten

In diesem Video wird gezeigt, wie man unter Windows 10 mit zwei WLAN-Verbindungen arbeiten kann. Egal ob Sie auf der Arbeit oder zu Hause sind, es kann vorkommen, dass Sie sich mit einem öffentlichen WLAN und einem privaten WLAN verbinden müssen. Oder vielleicht möchten Sie Ihre Internetverbindung zwischen zwei verschiedenen Netzwerken wechseln, ohne die Verbindung zu unterbrechen. Mit diesem Video lernen Sie, wie Sie mehrere WLAN-Verbindungen unter Windows 10 einrichten und verwalten können, um Ihre Arbeit effizienter und produktiver zu gestalten.

Video: unter Windows 10 mit 2 WLAN Verbindungen arbeiten

unter Windows 10 mit 2 WLAN Verbindungen arbeiten


Vergleichstest verschiedener WLAN Adapter:

In diesem Artikel werden mehrere WLAN USB-Adapter unter Windows 10 und Ubuntu 22.04 LTS getestet. Der Fokus liegt dabei auf der Funktionalität der Adapter sowie auf der Frage, ob sie ohne die Installation eines Treibers sofort erkannt werden. Dies ist von großem Vorteil, da es Zeit und Mühe spart, wenn man keinen extra Treiber suchen, herunterladen und installieren muss. Der Artikel gibt einen Überblick über die Ergebnisse des Tests und zeigt, welche Adapter ohne Probleme funktionieren und welche eventuell zusätzliche Schritte erfordern. Insgesamt wird der Artikel eine wertvolle Ressource für jeden sein, der einen WLAN USB-Adapter unter Windows 10 oder Ubuntu 22.04 LTS verwenden möchte.

In diesem Artikel werden insgesamt sieben verschiedene WLAN USB-Adapter getestet. Diese umfassen:

  1. Hama N150 Nano-WLAN-USB-Stick, 2,4 GHz

  2. Edimax EW-7811Un V2 Wi-Fi 4 nano Adapter, Version 2

  3. Edimax EW-7811UN Super Mini WLAN USB-Stick (150MBit), Version 1

  4. Cudy WU650S AC 650Mbit/s drahtloser USB WLAN Stick

  5. ALL-WA1200AC

  6. ALL-WA0300AC

  7. ALL-WA0150N (MTK7601)

  8. ALL-WA0100N (RTL8188EU)

TODO Edimax EW-7611ULB

Diese Adapter werden sowohl unter Windows 10 als auch unter Ubuntu 22.04 LTS getestet, um ihre Funktionalität und ihre Fähigkeit zur sofortigen Erkennung ohne Treiberinstallation zu bewerten. Der Artikel gibt einen Überblick über die Ergebnisse des Tests und zeigt, welche Adapter ohne Probleme funktionieren und welche eventuell zusätzliche Schritte erfordern. Insgesamt wird der Artikel eine wertvolle Ressource für jeden sein, der einen WLAN USB-Adapter unter Windows 10 oder Ubuntu 22.04 LTS verwenden möchte.


Tabelle
  • läuft unter Windows 10 ohne Treiberinstallation

  • läuft unter Ubuntu 22.04 LTS ohne Treiberinstallation

Typ

Link

Windows 10

Ubuntu 22.04 LTS

CCI.OS-2.0.3

CCI.OS-3.3.0

Hama N150 Nano-WLAN-USB-Stick, 2,4 GHz

link

nicht getestet

nicht getestet

nicht getestet

nicht getestet

Edimax EW-7811Un V2 Wi-Fi 4 nano Adapter, Version 2

link

geht

geht

nicht funktional

geht

Edimax EW-7811UN Super Mini WLAN USB-Stick (150MBit), Version 1

link

geht

geht

geht

geht

Cudy WU650S AC 650Mbit/s drahtloser USB WLAN Stick

link

geht

nicht funktional

nicht funktional

nicht funktional

ALL-WA1200AC

linkinnet24

geht

geht

nicht funktional

nicht funktional

ALL-WA0300AC

linkinnet24

geht

nicht funktional

nicht funktional

nicht funktional

ALL-WA0150N (MTK7601)

linkinnet24

geht

geht

nicht funktional

nicht funktional

ALL-WA0100N (RTL8188EU)

linkinnet24

geht

geht

geht

geht

Beschreibung der Verschiedenen Adapter:
Hama N150 Nano-WLAN-USB-Stick, 2,4 GHz

Der Hama N150 Nano-WLAN-USB-Stick ist ein WLAN-Adapter, der auf dem 802.11n-Standard basiert und eine maximale Datenübertragungsrate von 150Mbps unterstützt. Er nutzt einen 2,4GHz-Funk und unterstützt nur das 2.4GHz Frequenzband. Es unterstützt auch die neuesten Sicherheitsstandards wie WPA, WPA2 und WEP, um Ihre Verbindung zu schützen. Der Adapter hat einen sehr kleinen und leichten Formfaktor, was es einfach zu transportieren und zu verwenden macht. Es ist kompatibel mit Windows, MacOS und Linux und kann einfach an einen USB-Anschluss angeschlossen werden. Der Hama N150 Nano-WLAN-USB-Stick ist eine gute Wahl für Personen die einen kleinen, einfachen und preiswerten WLAN-Adapter suchen.

Edimax EW-7811Un V2 Wi-Fi 4 nano Adapter, Version 2

IMG20230123115616

Der Edimax EW-7811Un V2 Wi-Fi 4 nano Adapter ist ein WLAN-Adapter, der auf dem 802.11n-Standard basiert und eine maximale Datenübertragungsrate von 150Mbps unterstützt. Er nutzt einen 2,4GHz-Funk und unterstützt nur das 2.4GHz Frequenzband. Es unterstützt auch die neuesten Sicherheitsstandards wie WPA, WPA2 und WEP, um Ihre Verbindung zu schützen. Der Adapter hat einen sehr kleinen und leichten Formfaktor, was es einfach zu transportieren und zu verwenden macht. Es ist kompatibel mit Windows, MacOS und Linux und kann einfach an einen USB-Anschluss angeschlossen werden. Es ist die Version 2 des Edimax EW-7811Un nano Adapter, und kann sich durch seine kompakte Größe und gute Leistung auszeichnen.

Edimax EW-7811UN Super Mini WLAN USB-Stick (150MBit), Version 1

Der Edimax EW-7811UN Super Mini WLAN USB-Stick ist ein kleiner und leichter WLAN-Adapter, der an den USB-Anschluss eines Computers angeschlossen werden kann. Mit einer Datenübertragungsrate von 150MBit/s ist er in der Lage, eine schnelle und stabile Verbindung zu einem WLAN-Netzwerk herzustellen. Dieser USB-Stick ist in der Version 1 erhältlich und unterstützt die WLAN-Standards 802.11b/g/n. Er ist einfach zu installieren und zu verwenden und eignet sich perfekt für den Einsatz zu Hause oder im Büro.

Cudy WU650S AC 650Mbit/s drahtloser USB WLAN Stick

IMG20230123115748

Der Cudy WU650S AC 650Mbit/s drahtloser USB WLAN Stick ist ein WLAN-Adapter, der an den USB-Anschluss eines Computers angeschlossen werden kann. Mit einer Datenübertragungsrate von 650Mbit/s bietet er eine schnelle und stabile Verbindung zu WLAN-Netzwerken. Er unterstützt die WLAN-Standards 802.11ac und ist damit in der Lage, hohe Datenraten und eine lange Reichweite zu bieten. Der Stick ist klein und leicht und einfach zu installieren und zu verwenden. Er eignet sich perfekt für den Einsatz zu Hause, im Büro oder unterwegs. Zusätzlich bietet er eine starke Signalstärke und eine gute Abdeckung, was ihn zu einer guten Wahl für die Nutzung von Online-Spielen, Video-Streaming oder anderen Anwendungen mit hohem Datenverbrauch macht.

Der Cudy WU650S AC 650Mbit/s drahtloser USB WLAN Stick ist ein WLAN-Adapter, der unter Linux (Ubuntu 22.04 LTS) nicht ohne Treiberinstallation funktioniert. Das bedeutet, dass man zusätzliche Software oder Treiber installieren muss, damit der Stick auf dem System erkannt und verwendet werden kann. Dies kann entweder durch die Verwendung von proprietären Treibern oder durch die Verwendung von Open-Source-Treibern erfolgen. Es ist wichtig, dass man die richtigen Treiber für das betreffende System und die verwendete Hardware auswählt, um Probleme zu vermeiden und eine optimale Leistung zu erzielen. Es ist auch ratsam, die Anweisungen des Herstellers oder die Dokumentation des Produkts zu lesen, bevor man die Treiber installiert, um sicherzustellen, dass man die richtigen Schritte ausführt.

ALL-WA1200AC

IMG20230123115856

IMG20230123115850

Der ALL-WA1200AC ist ein WLAN USB-Adapter, der auf dem neuesten Wireless-AC-Standard basiert. Er unterstützt die neuesten WLAN-Technologien, wie z.B. MU-MIMO und Beamforming, um eine höhere Geschwindigkeit und eine größere Reichweite zu erreichen. Mit einer Datenübertragungsrate von bis zu 1200Mbps, ist der ALL-WA1200AC in der Lage, hochauflösende Videos und Daten in Echtzeit zu übertragen. Es unterstützt auch Dual-Band-Funktionen, was bedeutet das es sowohl 2,4Ghz als auch 5Ghz Frequenzen unterstützt. Dies ermöglicht es dem Adapter, Interferenzen zu vermeiden und eine höhere Geschwindigkeit und Zuverlässigkeit zu erreichen. Es hat einen kleinen und leichten Formfaktor, was es einfach zu transportieren und zu verwenden macht.

ALL-WA0300AC

IMG20230123115918

Der ALL-WA0300AC ist ein WLAN USB-Adapter, der auf dem Wireless-AC-Standard basiert und eine maximale Datenübertragungsrate von 300Mbps unterstützt. Es unterstützt sowohl 2.4GHz als auch 5GHz Frequenzbänder und hat eine erweiterte Funktionen wie MU-MIMO und Beamforming, die es ermöglichen eine höhere Geschwindigkeit und eine größere Reichweite zu erreichen. Dieser Adapter unterstützt auch die neuesten Sicherheitsstandards wie WPA3, WPA2, WPA und WEP, um Ihre Verbindung zu schützen. Es hat einen kleinen und leichten Formfaktor, was es einfach zu transportieren und zu verwenden macht. Es ist kompatibel mit Windows, MacOS und Linux und kann einfach an einen USB-Anschluss angeschlossen werden.

Der ALL-WA0300AC ist ein drahtloser USB-WLAN-Stick, der unter Linux (Ubuntu 22.04 LTS) nicht ohne Treiberinstallation funktioniert. Das bedeutet, dass man zusätzliche Software oder Treiber installieren muss, damit der Stick auf dem System erkannt und verwendet werden kann. Dies kann entweder durch die Verwendung von proprietären Treibern oder durch die Verwendung von Open-Source-Treibern erfolgen. Es ist wichtig, dass man die richtigen Treiber für das betreffende System und die verwendete Hardware auswählt, um Probleme zu vermeiden und eine optimale Leistung zu erzielen. Es ist auch ratsam, die Anweisungen des Herstellers oder die Dokumentation des Produkts zu lesen, bevor man die Treiber installiert, um sicherzustellen, dass man die richtigen Schritte ausführt. Der ALL-WA0300AC unterstützt Dual-Band-WLAN (2,4 und 5GHz) und bietet eine hohe Datenübertragungsrate von bis zu 300Mbps. Es ist kompatibel mit den meisten WLAN-Routern und bietet eine starke Signalstärke und eine gute Abdeckung.

ALL-WA0150N (MTK7601)

IMG20230123115948

Der ALL-WA0150N (MTK7601) ist ein WLAN USB-Adapter, der auf dem 802.11n-Standard basiert und eine maximale Datenübertragungsrate von 150Mbps unterstützt. Er nutzt den Mediatek MTK7601 Chip und unterstützt nur das 2.4GHz Frequenzband. Es unterstützt auch die neuesten Sicherheitsstandards wie WPA, WPA2 und WEP, um Ihre Verbindung zu schützen. Der Adapter hat einen kleinen und leichten Formfaktor, was es einfach zu transportieren und zu verwenden macht. Es ist kompatibel mit Windows, MacOS und Linux und kann einfach an einen USB-Anschluss angeschlossen werden. Allerdings ist es nicht so leistungsfähig wie die neuesten WLAN-Adapter und hat auch eine geringere Reichweite und Geschwindigkeit.

ALL-WA0100N (RTL8188EU)

IMG20230123120013

Der ALL-WA0100N (RTL8188EU) ist ein WLAN USB-Adapter, der auf dem 802.11n-Standard basiert und eine maximale Datenübertragungsrate von 150Mbps unterstützt. Es nutzt den Realtek RTL8188EU Chip und unterstützt sowohl 2.4GHz als auch 5GHz Frequenzbänder. Es unterstützt auch die neuesten Sicherheitsstandards wie WPA, WPA2 und WEP, um Ihre Verbindung zu schützen. Der Adapter hat einen kleinen und leichten Formfaktor, was es einfach zu transportieren und zu verwenden macht. Es ist kompatibel mit Windows, MacOS und Linux und kann einfach an einen USB-Anschluss angeschlossen werden. Allerdings ist es nicht so leistungsfähig wie die neuesten WLAN-Adapter und hat auch eine geringere Reichweite und Geschwindigkeit.

Eclipse 4diac™

Über Eclipse 4diac™
Gedicht über 4diac im Stile Göthes

Im 4diac fließen Ströme von Code, es lebt und pulsiert in seiner eig’nen Ode. Es tanzt im Rhythmus der Bits und Bytes, verschmilzt Elektronik und Automatisierung in eine Einheit.

In seinen Tiefen, wie ein Ozean aus Daten, fließt das Leben von Prozessen und Maschinenraten. Es webt ein Netz von Sensor zu Aktor, schafft Verbindungen von der Fernsteuerung bis zur Leitwarte.

Das System 4diac ist der Taktgeber, lenkt die Schritte der Robotik und steuert die Hebel. Es ist das Herz, das schlägt im Takt, und alle Maschinen in harmonischem Gleichklang bringt.

O Göthe, wärst du nur noch hier, du sähest das 4diac in all seiner Pracht und Zier. Doch seine Schönheit ist für uns alle sichtbar, wir staunen und bewundern dieses technische Wunderbar.

xx

Literatur.md#sonstiges-englisch

https://www.eclipse.org/4diac/

https://www.acin.tuwien.ac.at/en/

https://www.fortiss.org/

https://www.eclipse.org/4diac/events/docs/2019/EclipseInsight_SelfConfigurableAutomationSystems.pdf

fortiss GmbH Landesforschungsinstitut des Freistaats Bayern für softwareintensive Systeme

Guerickestr. 25 · 80805 München · Deutschland

https://www.fortiss.org/ergebnisse/software/4diac

https://www.fortiss.org/aktuelles/details/professur-fuer-fortiss-wissenschaftler

https://www.jku.at/lit-cyber-physical-systems-lab/ueber-uns/team/univ-prof-di-dr-alois-zoitl/

Geschichte:

am 7.7.2007 wurde die erste 4diac Version vom ACIN TU Wien vorgestellt.

davor waren schon ca. 2 Jahre Forschung und Entwicklung

dazwischen wurde 4diac am fortiss, und heute an der JKU entwickelt.

am 7.7.2022 feierte 4diac 15 Jähriges.

Open Source

https://de.wikipedia.org/wiki/Open_Source

4diac ist dabei komplett Open Source. Das heißt es ist sowohl kostenlos verfügbar, wie auch dass jedermann das Programm selbst weiterentwickeln und anpassen kann.

Details regelt dieser Vertrag:

https://www.eclipse.org/legal/epl-2.0/

https://de.wikipedia.org/wiki/Eclipse_Public_License

Installation Eclipse 4diac™

Wie man 4 diac installiert

https://cloud.ms-muc.de/

/volume1/Gruppenlaufwerke/Schueler/Landmaschinenmechanik/Unterricht/SL/Visuelle-Programmierung/4diac-ide.zip

4diac-ide.zip

oder: https://drive.google.com/file/d/14FY9VwpcvyYthvsfPYKd3vDPlA09ZFST/view?usp=sharing

Idealerweise:

neuer Ordner:

C:\SL\

entpacken:

jetzt kann man die ZIP Datei löschen wenn man möchte:

4diac-ide doppelklicken

Trotzdem ausführen.

Hide

Als nächstes legen wir ein Projekt an:

Deploy,

Watch

Monitor

Eclipse 4diac™ Update

NEU:

seit einiger Zeit finden sich auf allen Update-Seiten unten auch Links mit denen ein komplettes „sauberes“ Paket heruntergeladen werden kann.

Die Links werden teils jede Nacht neu generiert, und sind auch manchmal nicht vorhanden … das ist normal.

Direktlinks

Betriebsystem

rc

milestone

nightly

***************************

*********

*********

*********

win32.win32.x86_64.zip

link

link

link

linux.gtk.x86_64.tar.gz

link

link

link

macosx.cocoa.aarch64.dmg

link

link

link

macosx.cocoa.aarch64.tar.gz

link

link

link

macosx.cocoa.x86_64.dmg

link

link

link

macosx.cocoa.x86_64.tar.gz

link

link

link

Links mit Mirrors

Betriebsystem

rc

milestone

nightly

***************************

*********

*********

*********

win32.win32.x86_64.zip

link

link

link

linux.gtk.x86_64.tar.gz

link

link

link

macosx.cocoa.aarch64.dmg

link

link

link

macosx.cocoa.aarch64.tar.gz

link

link

link

macosx.cocoa.x86_64.dmg

link

link

link

macosx.cocoa.x86_64.tar.gz

link

link

link

Update

In Eclipse 4diac können Sie Updates auf verschiedene Weise durchführen. Hier sind die Schritte, um ein Update durchzuführen:

  1. Starten Sie Eclipse 4diac und wählen Sie „Help“ im Menü.

  2. Klicken Sie auf „Check for Updates“. Das Update-Management-Fenster wird geöffnet.

  3. Klicken Sie auf „Select All“ oder wählen Sie die Updates aus, die Sie installieren möchten.

  4. Klicken Sie auf „Next“. Es werden die Lizenzvereinbarungen angezeigt, die Sie akzeptieren müssen, bevor Sie fortfahren können.

  5. Klicken Sie auf „Finish“ um den Download und die Installation der Updates zu beginnen.

  6. Warten Sie bis der Download und die Installation abgeschlossen sind. Sie werden ggf. aufgefordert, Eclipse 4diac neu zu starten, um die Updates zu aktivieren.

Alternativ, Sie können auch Updates direkt aus der URL herunterladen und installieren.

  1. Starten Sie Eclipse 4diac und wählen Sie „Help“ im Menü.

  2. Klicken Sie auf „Install New Software…“. Das Installationsfenster wird geöffnet.

  3. Geben Sie die Update-URL in das Feld „Work with“ ein und klicken Sie auf „Add“.

  4. Wählen Sie die gewünschten Erweiterungen aus und klicken Sie auf „Next“.

  5. Folgen Sie den Anweisungen auf dem Bildschirm, um die Installation abzuschließen.

Es ist wichtig zu beachten, dass es manchmal sein kann, dass die Updates nicht kompatibel mit der installierten 4diac Version sind, in diesem Fall müssen Sie ggf. die 4diac Version updaten, bevor Sie das Update durchführen können.

Update URLs for 4Diac

Update URLs (Uniform Resource Locators) sind Webadressen, die auf einen bestimmten Bereich einer Website verweisen, in dem aktualisierte Versionen einer Software oder Erweiterungen zur Verfügung stehen. In Bezug auf 4diac werden Update URLs verwendet, um die neuesten Versionen der 4diac-Software und Erweiterungen zu verfügbar zu machen. Benutzer von 4diac können diese URLs verwenden, um ihre Installationen von 4diac zu aktualisieren, indem sie die neuesten Updates herunterladen und installieren. Die offizielle Update-URL für 4diac ist https://download.eclipse.org/4diac/updates/latest/.

Release

Eine Release Update URL (Uniform Resource Locator) ist eine Webadresse, die auf die neuesten Versionen einer Software oder Erweiterungen verweist, die als offizielle Veröffentlichungen (Releases) betrachtet werden. Im Falle von 4diac, stellt die Release Update URL die neueste stabile Version der 4diac-Software und Erweiterungen zur Verfügung, die von der 4diac-Entwicklergemeinschaft getestet und freigegeben wurden. Benutzer von 4diac können diese URL verwenden, um ihre Installationen von 4diac auf die neueste offizielle Version zu aktualisieren, indem sie die neuesten Updates herunterladen und installieren.

Eclipse 4diac Latest
https://download.eclipse.org/4diac/updates/latest/

Release Candidate

Ein Release Candidate (RC) ist eine Vorabversion einer Software, die als bereit für die Veröffentlichung betrachtet wird, aber noch von der Community getestet und überprüft werden muss, bevor sie offiziell veröffentlicht wird. Ein Release-Kandidat-Update-URL für 4diac ist eine Webadresse, die auf einen Bereich einer Website verweist, auf dem die neueste RC-Version von 4diac zum Download zur Verfügung steht.

Benutzer von 4diac können diese URLs verwenden, um die neueste RC-Version von 4diac herunterzuladen und zu testen, bevor sie offiziell veröffentlicht wird. Dies hilft dem Entwicklerteam von 4diac, potenzielle Fehler oder Probleme zu identifizieren und zu beheben, bevor die Software allgemein verfügbar gemacht wird. Ein Beispiel einer Release-Kandidat-Update-URL für 4diac wäre: https://download.eclipse.org/4diac/updates/rc/

Es ist jedoch zu beachten, dass Release-Kandidat-Updates möglicherweise nicht so stabil sind wie die offiziellen Versionen und daher für Produktionsumgebungen nicht empfohlen werden.

Eclipse 4diac Release Candidate
https://download.eclipse.org/4diac/updates/rc/

Milestone

Eclipse 4diac ist eine open-source Plattform für die Entwicklung von Industrie 4.0 Anwendungen, die auf der Eclipse-Plattform aufbaut. Ein Milestone Build ist eine Zwischenversion, die während des Entwicklungsprozesses erstellt wird, um einen bestimmten Meilenstein oder einen bestimmten Entwicklungsfortschritt zu markieren.

Ein Eclipse 4diac Milestone Build ist somit eine Zwischenversion der Eclipse 4diac-Plattform, die verschiedene neue Funktionen, Verbesserungen und Fehlerkorrekturen gegenüber der vorherigen stabilen Version enthält, aber auch noch nicht vollständig getestet wurde und daher möglicherweise noch einige Fehler enthält. Diese Versionen werden normalerweise an Entwickler und interessierte Anwender verteilt, um Feedback zu sammeln und bei der weiteren Entwicklung der Plattform zu unterstützen.

Eclipse 4diac Milestone
https://download.eclipse.org/4diac/updates/milestone/

Nightly Build

Nightly Builds sind tägliche automatisch erstellte Versionen einer Software, die die neuesten Änderungen und Entwicklungen enthalten. Diese Builds werden häufig von Entwicklern genutzt, um die neuesten Funktionen zu testen und Fehler zu finden. Nightly Build Update URLs für 4diac sind Webadressen, die auf die neuesten täglich erstellten Versionen der 4diac-Software verweisen. Diese URLs werden verwendet, um Benutzern die Möglichkeit zu geben, die neuesten Entwicklungen von 4diac zu testen und Feedback zu geben. Nightly Builds sind jedoch nicht als stabile Versionen gedacht und sollten daher nicht in produktiven Umgebungen verwendet werden. Die Nightly Build Update-URL für 4diac ist nicht immer offen zugänglich.

Ich empfehle folgende Vorgehensweise für das Nightly:

  1. https://www.eclipse.org/4diac/en_dow.php

  2. Update auf RC

  3. jetzt erst das Nightly eintragen.

Eclipse 4diac Nightly
https://download.eclipse.org/4diac/updates/nightly/

Eclipse 4diac™ IDE Icon

finden Sie hier eine Legende: https://eclipse.dev/4diac/en_news.php?s=09#en_news_20210621

Hier die Icons nochmal wiedergegeben, damit Sie diese auch in der Volltextsuche finden.

This is the list of icons already redesigned.

Function Blocks

  • Type Info Application
  • Type Info Basic Function Block
  • Type Info Composite Function Block
  • Type Info Service Interface Function Block
  • Type Info Simple Function Block
  • Type Info Subapplication typed Function Block
  • Type Info Subapplication untyped Function Block
  • Type Library Type Library
  • Type Info Data Type

System

  • Type Info System
  • Type Info System Configuration

Device

  • Type Info Device
  • Type Info Resource

Event/Data/Adapters

  • Event Event
  • Event In Event in
  • Event Out Event Out
  • Data Data
  • Data In Data In
  • Data Out Data Out
  • Adapter Adapter
  • Adapter In Adapter In
  • Adapter Out Adapter Out
  • Interface Interface

ECC

  • ECC ECC
  • ECC Action ECC Action
  • ECC State ECC State
  • ECC Add State ECC Add State
  • ECC Algorithm ECC Algorithm

Runtime

Ein Runtime System ist eine Art von Betriebssystem, das speziell für die Steuerung und Überwachung von eingebetteten Systemen entwickelt wurde. Es wird verwendet, um die Ausführung von Programmen auf einer Steuerungs- oder Prozessoreinheit zu steuern und zu überwachen.

4diac FORTE ist ein offenes Runtime System, das speziell für die Steuerung und Überwachung von industriellen Automatisierungssystemen entwickelt wurde. Es unterstützt die IEC 61499-Standard, ein internationaler Standard für die Entwicklung von Steuerungs- und Regelungssystemen. Mit 4diac FORTE können Entwickler eigene Funktionsbausteine erstellen und diese in ihre Automatisierungsanwendungen integrieren. Es ermöglicht zudem die Verwaltung und Überwachung von Geräten in einem Netzwerk, die Kommunikation zwischen Geräten und die Steuerung der Ausführung von Programmen. 4diac FORTE ist somit ein leistungsfähiges und flexibles Tool für die Entwicklung von Automatisierungsanwendungen in der industriellen Automatisierungstechnik.

ISOBUS

ISOBUS ist ein internationaler Standard (ISO 11783) für die Kommunikation zwischen landwirtschaftlichen Maschinen und landwirtschaftlichen Steuergeräten. Der Standard definiert eine gemeinsame Schnittstelle, die es ermöglicht, verschiedene Arten von landwirtschaftlichen Maschinen, wie z.B. Traktoren, Mähdrescher und Pflanzenschutzspritzen, mit verschiedenen Steuergeräten von unterschiedlichen Herstellern zu verbinden. Dies ermöglicht eine einfachere Bedienung und eine höhere Effizienz bei der Steuerung und Überwachung der Maschinen.

SoftKey Reduction

Die ISO 11783-6 legt fest, dass landwirtschaftliche Steuergeräte in der Lage sein sollten, sich an unterschiedliche Displays anzupassen. Eine wichtige Anforderung dabei ist die Unterstützung von Softkey-Reduktion.

Softkeys sind Tasten auf einem Display, die dem Benutzer schnellen Zugriff auf häufig verwendete Funktionen ermöglichen. Die meisten Displays haben in der Regel 12 Softkeys, aber es gibt auch Displays mit weniger Softkeys, wie z.B. 6, 8 oder 10. Um sich an diese unterschiedlichen Displays anzupassen, muss das Steuergerät in der Lage sein, die Anzahl der angezeigten Softkeys zu reduzieren, um sicherzustellen, dass alle Funktionen auf dem Display angezeigt werden können.

Die Notwendigkeit der Softkey-Reduktion in der ISO 11783-6 liegt darin, dass es unterschiedliche Displays mit unterschiedlichen Anforderungen in Bezug auf die Anzahl der Softkeys gibt. Durch die Unterstützung von Softkey-Reduktion kann sichergestellt werden, dass das Steuergerät auf jedem Display ordnungsgemäß funktioniert und der Benutzer alle Funktionen bequem erreichen kann.

In einer Beispielhaften Softkeymask, mit 12 Softkeys. Eine Strategie kann wie folgt sein: gegeben seien 12 Softkeys (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) wobei die Anordnung derer auf den meisten Displays so ist, dass in der rechten Spalte 0 bis 5, und in der linken Spalte 6 bis 11 sind. Es liegen sich also gegenüber: 0 und 6, 1 und 7, 2 und 8, 3 und 9, 4 und 10 sowie 5 und 11. Um nun diese Paare beizubehalten löscht man bei der Reduktion von 12 auf 10 Keys das Paar 5/11, bei der weiteren Reduktion von 10 auf 8 Keys das Paar 4/10, bei der weiteren Reduktion von 8 auf 6 Keys das Paar 3/9.

Ein Beispiel für eine Softkey-Maske mit 12 Softkeys könnte wie folgt aussehen:

  • Softkey 0: Funktion A

  • Softkey 1: Funktion B

  • Softkey 2: Funktion C

  • Softkey 3: Funktion D

  • Softkey 4: Funktion E

  • Softkey 5: Funktion F

  • Softkey 6: Funktion G

  • Softkey 7: Funktion H

  • Softkey 8: Funktion I

  • Softkey 9: Funktion J

  • Softkey 10: Funktion K

  • Softkey 11: Funktion L

Eine mögliche Strategie für die Softkey-Reduktion könnte sein, die Softkeys paarweise zu behalten und dann jeweils das letzte Paar zu entfernen, wenn die Anzahl der Softkeys reduziert wird.

Bei einer Reduktion von 12 auf 10 Softkeys würde man das Paar 5/11 entfernen, wobei die Softkeys 0 bis 4 und 6 bis 10 verbleiben.

Bei einer weiteren Reduktion von 10 auf 8 Softkeys würde man das Paar 4/10 entfernen, wobei die Softkeys 0 bis 3 und 6 bis 9 verbleiben.

Bei einer weiteren Reduktion von 8 auf 6 Softkeys würde man das Paar 3/9 entfernen, wobei die Softkeys 0 bis 2 und 6 bis 8 verbleiben.

Diese Strategie ermöglicht es, die wichtigsten Funktionen beizubehalten, während die Anzahl der Softkeys reduziert wird, und sicherzustellen, dass die Funktionen auf dem Display in einer logischen und einfach zu verwendenden Anordnung angezeigt werden.

die gezeigten Beispiele befinden sich hier:

4diac-SoftkeyReduction-sample

6 key

8 key

10 key

12 key

Das erste Projekt

Video

Neuster Stand von 4diac, logiBUS®, Hutschinenmoped.

4Diac neues Projekt anlegen

Grundverständnis von 4Diac

4Diac besteht aus mehreren Teilen (3)

  1. IDE = Programmierung am PC

  2. FORTE = Programm auf Zielgerät (Hutschienenmoped)

  3. Type Libary = Bausteinbibliothek (Teil in FORTE und Teil in IDE) enthalten.

Neues Projekt starten bzw. anlegen

  1. 4diac-ide (Desktopverknüpfung) starten. -> Fenster mit Workspace öffnet.

  2. Workspace auswählen oder neu erstellen. (Jeder Workspace-namen kann nur 1x verwendet werden, notfalls Benennung mit Zahl 1… ergänzen)

3. Workspace mit Launch bestätigen. -> Workspace wird geöffnet wenn ein schon vorhandener ausgewählt wird. Wird ein neuer erstellt öffnet die 4diac Startseite.

4. Zur Erstellung eines neuen Projekts ganz oben rechts den im Bild markierten Button Hide klicken. -> Ein neuer Workspace öffnet.

5. Zum erstellen eines neuen Projekts in das markierte Feld im Bild einen Rechtsklick machen. -> Fenster öffnet, im Fenster New wählen -> dann 4diac IDE Project… wählen.

6. Project name eintragen. (Das Programm muss „test“ heißen, wenn die Steuerung immer wieder von selbst „starten“ soll wenn das Hutschienenmopfed verbunden wird.)

7. Nach Eintrag des Namens mit Finish bestätigen. -> Neues Projekt erscheint in Auswahlbaum links „test“

8. In Auswahlbaum links Projekt „test“ öffnen, -> „test“ wird aufgeklappt. Auf unteren „test“ Rechtsklick -> Fenster öffnet. New wählen -> weiteres Fenster öffnet. Application… wählen.

-> Fenster mit New Application öffnet.

9. Application Name mapping vergeben und mit Finish bestätigen. -> Application wurde angelegt.

Es kann mit dem mapping begonnen werden. Weiteres Vorgehen in File Neue Steuerung erstellen.

Steuerung Bohrmaschinenschalter erstellen

Neue Steuerung erstellen Bohrmaschinenschalter. (Ein- Ausschalter an Ständerbohrmaschine)

(Mit einem Knopf wird ein Ausgang an geschalten, mit einem anderen Knopf wird ein Ausgang aus geschalten)

Type Libary auf der rechten Seite ist Schreibgeschützt, deshalb sollte diese anstatt der linken verwendet werden.

  1. Mapping in Baum links mit Doppelklick wählen.

2. Type Libary öffnen. Ordner io öffnen. Ordner Hutschienenmoped öffnen. Baustein „Hutschienenmoped_4_DO“ mit Maus in Arbeitsfenster ziehen.

{Hutschienenmoped mit 4 Ausgängen DigitalOutput Q1 - Q4 (Lampen)}

-> Baustein wird eingefügt.

3. Type Libary öffnen. Ordner io öffnen. Ordner Hutschienenmoped öffnen. Baustein „Hutschienenmoped_3_DI_SINGLE_CLICK“ mit Maus in Arbeitsfenster ziehen (zusätzlich)

(Schalter mit 3 Eingängen DigitalInput I1 - I3 {SingleClick Schalter blau, rot und Atom}

4. Damit die Bausteine nach dem Start funktionieren muss jeweils QI auf TRUE gesetzt werden.

Doppelklick auf FALSE und TRUE eingeben.

5. Damit die Ein- und Ausgänge funktionieren, müssen die grau hinterlegten Bezeichnungen angeklickt (Doppelklick) und mit Enter bestätigt werden.

-> Die Schriftfarbe ändert sich dann zu schwarz.

6. Die Bausteine können zu einer Gruppe zusammengefüg werden.

Dazu mit gedrückter linker Maustaste ein Fenster über die Bausteine aufziehen und loslassen. Beide Bausteine werden blau. Rechten Mausklick auf einen der gewählten Bausteine.

-> Fenster öffnet. New Group wählen. -> Bausteine werden zu einer Gruppe zusammengefügt.

7. Gruppennamen vergeben (mapping) und Gruppenbeschreibung bei Comment eingeben (mapping der Ein- und Ausgänge….)

8. Gruppe anwählen -> wird blau. Rechtsklick -> Fenster öffnet. Convert Group to Subapp wählen.

-> Untere Leiste bei Properties ändert sich.

9. Properties anwählen. Edit Events anwählen. Rechts daneben in Leiste öffnen sich Inputs und Outputs mit einem grünen Plus daneben.

+ auf der Seite Inputs drücken 1x.

-> Ein neuer Input EI1 wird in der Subapp hinzugefügt. Sichtbar in Tabelle und oben links in der Gruppe.

10. Doppelklick auf EI1 und Name INIT eingeben. -> Statt EI1 wird INIT bei Name und oben in Gruppe angezeigt.

11. Alle INIT Events miteinander verbinden.

12. System Configuration anlegen.

In Baum links test öffnen. System Configuration mit Doppelklick anwählen. Aus Baum rechts FORTE_PC und Ethernet in Arbeitsbildschirm ziehen.

FORTE_PC und Ethernet miteinander verbinden.

13. „localhost:61499“ mit Doppelklick anwählen und unbennenen in „IP auf Moped:61499“ aus Beispielbild mit L11 („192.168.188.11:61499“) mit Enter bestätigen.

Gänsefüßchen müssen bleiben!

14. Wieder links im Baum mapping wählen. Gruppe anwählen -> Gruppe wird blau und Fenster öffnet. Map To… wählen.

15. Gruppe wurde gemappt. -> Gruppe wird Orange.

16. In Baum links System Configuration wählen. FORTE_PC wählen. EMB_RES wählen. -> Baustein START und mapping sind auf Arbeitsbildschirm.

Event INIT mit COLD aus START verbinden. (Nach verbinden kein mappen nötig.)

17. Nötige Bausteine für Schaltung aus Type Libary mit gedrückter Maustaste in Arbeitsfenster ziehen (Suchfunktion kann genutz werden, Bausteine können im Arbeitsfenster kopiert werden.

18. Bausteine IE ; IE_1 und QX benennen. Doppelklick auf Namen auf Baustein. Namen aus mapping aus den Bausteinen kopieren und hier einfügen. Keine Gänsefüßchen, Namen dürfen jeweils nur 1x verwendet werden, da sonst ein Fehler erscheint.

QI der Bausteine jeweils auf TRUE setzen. Steuerung miteinander verbinden.

19. Wie bei Punkt Nr. 6 eine neue Gruppe erstellen. Gruppe benennen und Comment (Bescshreibung einfügen)

20. Wie bei Punkt 8. Convert Group to Subapp. Wie bei Punkt 10. Event hinzufügen und in INIT unbenennen.

INIT aller Bausteine verbinden + zusätzlich Datenverbindung Q von E_SR und OUT von DigitalOutput_Q1 verbinden.

21. Gruppe Bohrmaschinenschalter anwählen, Rechtsklick und mit map to mappen. -> Gruppe wird Orange.

22. Wie bei Punkt 16. unter EMB_RES nun auch den zweiten INIT mit COLD verbinden.

23. Hutschienenmoped mit PC verbinden. Richtiges WLAN -> Eingabeaufforderung -> Eingabe von: ping 192.168.188.11 -t -> Verbindung wird aufgebaut: auf Antwort warten.

24. Links im Baum Rechtsklick auf System Configuration und Deploy wählen. Meldungen bestätigen -> replace all.

25. Steuerung sollte funktionieren. Fenster über Bausteine aufziehen, Rechtsklick dann Watch wählen und die Steuerung kann getestet und kontrolliert werden.

Schalter 1 rot oder blau -> Schaltet Ausgang Q1 und LED ein. (1x drücken)

Schalter 2 blau oder rot -> Schaltet Ausgang Q1 und LED wieder aus. (1x drücken)

Interface

Das Network Interface und das Process Interface sind wichtige Konzepte im Umfeld von Eclipse 4diac. Sie sind wesentliche Bestandteile der IEC 61499 Architektur und ermöglichen die Kommunikation und den Austausch von Daten zwischen verschiedenen Steuerungssystemen.

Das Network Interface ist für die Kommunikation zwischen Steuerungssystemen über ein Netzwerk zuständig. Es stellt sicher, dass die Daten zwischen den verschiedenen Systemen sicher und zuverlässig übertragen werden. Das Network Interface unterstützt verschiedene Protokolle, wie zum Beispiel EtherCAT, PROFINET und Modbus, um sicherzustellen, dass es in verschiedenen Industrieumgebungen eingesetzt werden kann.

Das Process Interface ist für die Kommunikation zwischen verschiedenen Prozessen innerhalb eines Steuerungssystems zuständig. Es stellt sicher, dass die Prozesse miteinander kommunizieren und die benötigten Daten austauschen können. Das Process Interface ist auch für die Synchronisation von Prozessen verantwortlich und sorgt dafür, dass sie sich gegenseitig nicht behindern.

Eclipse 4diac ist eine Entwicklungsumgebung, die es ermöglicht, Anwendungen auf der Basis der IEC 61499 zu erstellen. Es bietet viele Werkzeuge und Funktionen, um die Entwicklung von Steuerungssystemen zu vereinfachen und zu beschleunigen. Mit Eclipse 4diac können Entwickler ihre eigenen Anwendungen erstellen, die das Network Interface und das Process Interface nutzen, um sich mit anderen Steuerungssystemen zu verbinden und zu kommunizieren.

NetworkInterface
ProcessInterface
Mapping

In 4diac existieren grundsätzlich 2 Konzepte zur Anbindung von IOs,

  • old IO

  • new IO

Wir verwenden ausschließlich new IO.

(-DFORTE_IO=ON)

In diesem Fall muss bei „Params“ nichts angegeben werden.

Der Name des Bausteins (Typ IX oder QX) muss dem entsprechenden Mapping entsprechen (ohne die Anführungszeichen)

Eingänge
Ausgänge
Eingänge und Buttons

Der Baustein „IX“ ist für Eingänge vom Typ BOOL vorgesehen.
also Eingänge mit 1 Bit Datenbreite,

oder anders ausgedrückt: ein Schaltsignal das nur 2 Zustände kennt: 0 (Taster losgelassen) oder 1 (Taster gedrückt)

Eingänge:

INIT Service Initialization

  • muss beim Programmstart 1x aufgerufen werden. Wird in der Regel mit dem Ausgang „COLD“ des Bausteins „E_RESTART“ verbunden. Siehe auch: https://www.eclipse.org/4diac/en_help.php?helppage=html/4diacIDE/use4diacLocally.html und https://www.eclipse.org/4diac/en_help.php?helppage=html/parameters/parameters.html

REQ Service Request

  • wird nicht benötigt. Dieser Eingang kommt von alten Zeiten, als man die Eingänge noch pollen musste.

QI Event Input Qualifier

  • auf true setzen, damit dieser Baustein funktioniert.

PARAMS Service Parameters

  • leer lassen. (das ist mit dem FORTE-IO das wir benutzen nicht mehr verwendet)

Ausgänge:

INITO Initialization Confirm

  • wenn INIT aufgerufen wurde, und ausgeführt wurde wird das hier bekanntgegeben.

CNF Confirmation of Requested Service

  • wird nicht benötigt. Dieser Eingang kommt von alten Zeiten, als man die Eingänge noch pollen musste.

IND Indication from Resource

  • Dieser Ausgang meldet eine Änderung des Status. Bei einem einfachen Ausgang also sowohl die Änderung 0->1 wie auch 1->0

QO Event Output Qualifier

  • wird „true“ wenn QI true ist und INIT aufgerufen wurde.

STATUS Service Status

  • Hier werden Fehlermeldungen ausgegeben. Wenn kein Fehler vorliegt dann wird OK ausgegeben.

IN Input data from resource

  • Das ist der Zustand des Eingangs, also 0 oder 1

  • I1 => GPIO_NUM_26

  • I2 => GPIO_NUM_32

  • I3 => GPIO_NUM_39

damit ist folgende Applikation machbar:

ein M5 Stack Atom Lite (https://shop.m5stack.com/products/atom-lite-esp32-development-kit) plus ein Dual Button (https://shop.m5stack.com/products/mini-dual-button-unit) ergeben folgende Zuordung:

  • I1 => der Button „B“ (gelbe Drahtfarbe) roter Knopf

  • I2 => der Button „A“ (weiße Drahtfarbe) blauer Knopf

  • I3 => der Button auf dem M5 Atom Lite

AIx
……………………….

damit sind die Werte AI1, AI2, AI3, AI4, AI5, AI6 gemeint, diese bilden folgende Eingänge ab:

Nur der Kanal GPIO_NUM_32 also der weiße draht ist in der Lage Analoge Buttons zu verarbeiten.

Der Schaltplan findet sich hier: https://github.com/Meisterschulen-am-Ostbahnhof-Munchen/ISOBUS_Hardware/tree/feature/ButtonBoards/ButtonBoards/6ButtonTHT

wenn die Eingänge AIx verwendet werden darf der Eingang I2 natürlich nicht gleichzeitig verwendet werden. Die Eingänge I1 und I3 sind davon nicht betroffen.

es können also 6 Buttons mit einem Draht eingelesen werden. Drücken von 2 Tasten gleichzeitig funktionieren dann natürlich nicht.

Übungsaufgaben

Die Aufgaben bauen aufeinander auf, so dass es sich empfiehlt diese in der angegebenen Reihenfolge zu bearbeiten.
Eingänge IX / QX (alles tastend)
Aufgabe Einfache Verbindung I

Verbinden Sie Eingang I1 mit Ausgang Q1, so dass beim drücken von I1 der Aktuator an Q1 betätigt wird.

Aufgabe Einfache Verbindung II

Verbinden Sie I1 mit Ausgang Q1 und Q3.

Logik
Aufgabe

eine Raketenstartrampe (Q1) soll nur starten wenn die Tasten I1, I2 und I3 gleichzeitig gedrückt werden.

Flip Flops I
Aufgabe Klick

Bauen Sie ein Programm, das mit einem Klick das Licht an Q1 einschaltet und mit einem weiteren Klick wieder aus.

Rendevouz und Flip-Flop
Aufgabe Rendevouz und Flip-Flop

eine andere Raketenstartrampe soll nur starten wenn der Taster I3 gehalten wird, und dann nacheinander I1 und I2 angeklickt werden. Wird I3 losgelassen, soll nach erneutem drücken von I3 wieder ein Klick auf I1 und I2 notwendig sein.

Aufgabe Reihenfolge

Testen Sie das Programm: wenn Sie zuerst I1 und I2 drücken und dann I3 drücken und halten, darf die Rakete nicht starten. Korrigieren Sie das Programm so dass das funktioniert.

Flip Flops II
Aufgabe Ein verrückter Designer

Ein verrückter Designer will in seiner Wohnung möglichst wenige und kleine Taster haben. Erstellen Sie ein Programm bei dem das Zimmerlicht (Q1) an geht mit einem Einfachklick, und mit einem Doppelklick wieder aus.

Aufgabe Schreibtischlampe

Der Designer hat sich eine Schreibtischlampe gekauft, will aber keinen separaten Schalter dafür haben. Erweitern Sie das Programm so, dass die Schreibtischlampe (Q4) mit einem langen Tastendruck an geht. Beim Doppelklick sollen Zimmerlicht und Schreibtischlampe aus gehen.

Flip Flops und Equals
Aufgabe Flip Flops und Equals

Der Designer ruft an, nun will er doch die Schreibtischlampe separat ausschalten können. Der Doppelklick soll wie bisher beide Lampen ausschalten, der Dreifachklick soll nur die Schreibtischlampe ausschalten.

Flip Flops und Logikfuntionen
Aufgabe Flip Flops und Logikfuntionen

Ein Lastenaufzug hat 2 Funktionen: Hoch (Q1) und Runter (Q2). 3 Taster steuern den Aufzug: Hoch (I1), Runter(I2) und Stop (I3). Die Ausgänge Q1 und Q2 dürfen niemals gleichzeitig betätigt werden, sonst brennt der Motor durch. Bevor man die Richtung wechseln kann muss immer erst Stop gedrückt werden.

Flip Flops und E Funktionen
Aufgabe Flip Flops und E Funktionen

Ahmen Sie das Beispiel „Step # - Use 4diac Locally (Blinking Tutorial)“ nach

Aufgabe Fahrtrichtungsanzeiger

Fahrtrichtungsanzeiger: die Eingänge I1 und I2 sollen die Fahrtrichtungsanzeiger für links und rechts sein. (nehmen Sie an die Taster wären rastend wie beim Traktor)

Aufgabe Warnblinker

Fahrtrichtungsanzeiger: I3 soll zusätzlich der Warnblinker sein.

Flip Flops und led_strip
Aufgabe Flip Flops und led_strip

Bauen Sie ein Programm bei dem die LED rot leuchtet wenn Sie die rote Taste drücken, und blau wenn Sie die blaue Taste drücken.

constants

Konstanten in 4diac

TypeLibrary

Willkommen auf unserer Seite zur Typelibrary! Auf dieser Seite finden Sie eine umfassende Sammlung von Typendefinitionen für verschiedene visuelle Programmiersprachen. Die Typelibrary ist ein wichtiges Werkzeug für Entwickler, da sie die Verwendung von verschiedenen Datentypen in ihren Programmen ermöglicht.

Die Typelibrary bietet eine Reihe von Funktionen, die Ihnen dabei helfen, Ihre Programmierarbeit zu vereinfachen und zu beschleunigen. Sie können beispielsweise die verfügbaren Typendefinitionen durchsuchen, um den für Ihre Bedürfnisse geeigneten Datentyp zu finden. Sie können auch Ihre eigenen Typendefinitionen erstellen und in die Typelibrary aufnehmen, um sie in zukünftigen Projekten wiederverwenden zu können.

In diesem Abschnitt werden wir Ihnen die Grundlagen der Typelibrary erklären und Ihnen zeigen, wie Sie sie effektiv in Ihren Projekten verwenden können. Wir hoffen, dass Sie viel Spaß beim Erkunden der Typelibrary haben und sich von ihren Möglichkeiten inspirieren lassen.

schauen Sie auch mal in den FB Navigator unter www.holobloc.com/doc/navigator

devices
BeagleBoneBlack
FBRT_WINDOW
FORTE_PC
PFC200
RaspberryPI
esp32
nvs
NVS_UDINT

NVS_UDINT

Typische Verwendung:

image

durch die Schaltung von INITO –> GET wird unmittelbar nach dem Init der Wert mit dem „Key“ geladen, und steht an Ausgang VALUEO zur Verfügung.

soll die Variable dann noch am Display angezeigt werden erweitert man das ganze so:

dadurch ist sowohl die Eingabe als auch die Ausgabe; sowohl das Speichern wie auch das Laden der Variable abgedeckt.

ACHTUNG !!

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/storage/nvs_flash.html

die Länge des Keys muss den Anforderungen der o.g. Library entsprechen.

z.B.

the maximum key length is currently 15 characters

NVS_UINT

NVS_UINT

esp-addons
hsv2rgb

hsv2rgb

strip_set_pixel

strip_set_pixel

events
ARTimeOut

ARTimeOut

ATimeOut

ATimeOut

E_CTD

Event-Driven Down Counter

  • Input

    • CD Count Down

    • LD Load counter value

  • Output

    • CDO Count Down Output Event

    • LDO Reset Output Event

Input:

CD:  Count Down Ereignis zum Abwärtszählen

LD: Zählwert wird geladen

Output:

CDO: Countdown Ausgangsereignis

LDO: Ausgansereignis zurücksetzen

E_CTU

Event driven up counter

  • Input

    • CU Count up

    • R Reset

    • PV Process Value

  • Output

    • CUO Count up output

    • RO Reset output

    • Q True if CV >= PV

    • CV Counter Value

Input:

CU: Count up Ereignis zum Aufwärtszählen

R: Zurücksetzen

Output:

CUO: Countup Ausgansereignis

R: Ausgang zurücksetzen

E_CTUD

Event-Driven Up-Down Counter

Der Funktionsblock E_CTUD (Counter Up/Down) ist ein wichtiger Bestandteil der IEC 61499 Norm und wird häufig in Steuerungssystemen verwendet. Er dient dazu, Zählerwerte zu erhöhen oder zu verringern und kann in vielen verschiedenen Anwendungen eingesetzt werden.

Der E_CTUD Funktionsblock besteht aus mehreren Eingängen und Ausgängen, die für die Steuerung und Überwachung des Zählerwerts verwendet werden. Der wichtigste Eingang ist der „CU“ Eingang, der verwendet wird, um den Zählerwert zu erhöhen oder zu verringern. Der „RESET“ Eingang dient zum Zurücksetzen des Zählerwerts auf null, während der „LOAD“ Eingang verwendet wird, um den Zählerwert auf einen festgelegten Wert zu laden.

Der E_CTUD Funktionsblock hat auch mehrere Ausgänge, die für die Überwachung des Zählerwerts und die Steuerung von Prozessen verwendet werden.

  • Input

    • CU Count Up

    • CD Count Down

    • R Reset

    • LD Load

    • PV Preset Value

  • Output

    • CO Count Output Event

    • RO Reset Output Event

    • QU CV   >= PV

    • QD CV  <= 0

E_CTUD_UDINT

E_CTUD_UDINT

E_CYCLE Taktgenerator (Blinker)

Zeitschaltrelai zb. Blinker

Start= Event vom Schalter zum Starten

Stop= Event vom Schalter zum Ausschalten

Cycle Tyme= Einstellen der Länge des Events (Ausgang wird so lange bestromt)

EQ= Ausgang des Events

Nur beim Joisick !!!

E_DELAY

Verzögerte Ausbreitung eines Ereignisses - abbrechbar

EVENT_INPUT

STARTVerzögerung beginnen
STOPVerzögerung abbrechen

EVENT_OUTPUT

EOVerzögertes Ereignis

VAR_INPUT

DT : TIMEVerzögerungszeit

Nach dem Auftreten eines Ereignisses am Eingang START und dem Zeitintervall Zeit DT wird ein Ereignis an EO erzeugt. Die Ereignisverzögerung wird durch ein Auftreten eines Ereignisses am Eingang STOP widerrufen. Wenn mehrere Ereignisse am Eingang START vor dem Auftreten eines Ereignisses an EO auftreten, tritt nach dem ersten Ereignisauftritt am Eingang START und dem anschließenden Verstreichen von DT nur ein einzelnes Ereignis an EO auf. Es wird keine Zeitverzögerung initiiert werden, wenn ein Ereignis am START-Eingang mit dem Wert von DT auftritt, der nicht größer als T # 0s.

E_DEMUX

Event demultiplexor

E_D_FF

Data latch (d) flip flop

Ein Datenlatch ist eine Schaltung in der Elektronik, die es ermöglicht, ein Datensignal zu speichern. Es besteht aus zwei Hauptkomponenten: einem Flip-Flop und zwei Eingängen, die als „D“ und „CLK“ bezeichnet werden. Der Eingang „D“ steht für das Datensignal, das gespeichert werden soll, während der Eingang „CLK“ ein Taktsignal darstellt, das angibt, wann das Datensignal gespeichert werden soll.

Wenn das Flip-Flop aktiviert wird, speichert es den Wert des Eingangs „D“ und hält ihn fest, bis es erneut aktiviert wird. Dies geschieht, indem das Flip-Flop auf das Taktsignal „CLK“ reagiert und den Wert des Eingangs „D“ speichert, wenn das Taktsignal einen vorbestimmten Zustand erreicht.

Das Datenlatch wird häufig in Schaltungen verwendet, die Daten zwischen verschiedenen Komponenten übertragen, um sicherzustellen, dass die Daten zum richtigen Zeitpunkt verfügbar sind. Es kann auch verwendet werden, um den Zustand eines Systems zu speichern, z.B. um die Eingabe eines Benutzers zu speichern, während andere Operationen ausgeführt werden.

  • Input

    • CLK Clock

    • D Value to latch

  • Output

    • EO Triggered if clock results in a change of Q

    • Q Latched value

E_F_TRIG

Boolean falling edge detection

  • Input

    • EI check for falling edge

    • QI value to check for a falling edge

  • Output

    • EO confirmation that an falling edge was detected

E_MERGE

(Zusammenführung (OR) mehrerer Events.

Eventeingänge:

  • EI1:                 Erster Ereigniseingang

  • EI2:                 Zweiter Ereigniseingang

Eventausgang:

  • EO:                 Ausgangsereignis

Das Auftreten eines Events an einem der Eingänge EI1 oder EI2 verursacht das Auftreten eines Events an EO.

Beispiel: Zwei Knöpfe betätigen die gleiche Funktion, egal welcher Knopf betätigt wird löst ein Event an EO aus.

E_N_TABLE

Generation of a finite train of sperate events

E_PERMIT

permissive propagation of an event

E_RDELAY

Reloadable delayed propagation of an event-Cancellable

  • Input

    • START Begin/Reset Delay

    • STOP Cancel Delay

    • DT Delay Time

  • Output

    • EO Delayed Event

E_REND

Rendezvous (AND) of two events

  • Input

    • EI1 first event to wait for

    • EI2 second event to wait for

    • R reset the FB to inital state (i.e., wait again for both events)

  • Output

    • EO triggered when both EI1 and EI2 occured at least Eingabe/Input:

Eingang/Input

-EI1 erstes Ereignis, auf das gewartet werden soll

-EI2 zweites Ereignis, auf das gewartet werden soll

-R (wie ein reset-Knopf)
setzt den FB auf den Ausgangszustand zurück (d.h. wartet erneut auf beide Ereignisse)

Ausgabe/Output:

-EO wird nur ausgelöst,
wenn sowohl EI1 als auch EI2 mindestens einmal aufgetreten sind!

E_RESTART

Service Interface Function Block Type

Tipp

Bei Betätigung der Resettaste wird beim Hutschienenmopped** immer **auf Cold geschaltet. :::

Bemerkung

Dieses ist sehr oft mit INIT verbunden. :::

Beim Kaltstart (COLD) werden alle Daten die auf den Programmspeicher hinterlegt sind zurückgesetzt wie z.B. Zeiten, Zähler

Beim Warmstart (WARM) findet keine Initialisierung des Programmablaufs statt.
Hierfür ist notwendig, dass der Zustand nach dem Einschalten mit dem Zustand vor dem Ausschalten gleich ist.

BEI STOP wird die komplette Anwendung gestoppt.

E_RS

Tipp

In der IEC 61131-3 wird noch noch zwischen SR(vorrangiges Setzen) und RS(vorrangiges Rücksetzen) unterschieden, in der IEC 61499-1 nicht mehr. Das bedeutet RS und SR haben die gleiche Funktion nur die Anschlüsse Imput S und R sind vertauscht

Event-driven bistable

  • Input

    • R Reset output Q

    • S Set output Q

  • Output

    • EO Output Q has changed

    • Q

E_RTimeOut

Simple implementation of the timeout services

E_R_TRIG

Boolean rising edge detection

  • Input

    • EI check for rising edge

    • QI value to check for a rising edge

  • Output

    • EO confirmation that an rising edge was detected

E_SELECT

Auswahl aus zwei Ereignissen

EVENT_INPUT

EI0 WITH GEingangsereignis, ausgewählt wenn G=0
EI1 WITH GEingangsereignis, ausgewählt wenn G=1

EVENT_OUTPUT EO   Ausgangsereignis

VAR_INPUT G: BOOL   Wählt EI0, wenn G=0 / EI1, wenn G=1

Siehe auch: https://www.holobloc.com/doc/fb/rt/events/E_SELECT.htm

E_SPLIT

Aufsplitten eines Events.

Eventeingang:

  • EI:                   Ereigniseingang

Eventausgänge:

  • EO1                Erstes Ausgangsereignis

  • EO2                Zweites Ausgangsereignis

Das Auftreten eines Events EI verursacht das Auftreten der Events EO1 und EO2.

Beispiel: Ein Knopf wird betätigt und es werden je auf EO1 und EO2 ein Ereignis augelöst.

E_SR = (Holzspalter Schalter)

Tipp

In der IEC 61131-3 wird noch noch zwischen SR(vorrangiges Setzen) und RS(vorrangiges Rücksetzen) unterschieden, in der IEC 61499-1 nicht mehr. Das bedeutet RS und SR haben die gleiche Funktion nur die Anschlüsse Imput S und R sind vertauscht

Event-driven bistable

Der Funktionsblock E_SR (Set-Reset) ist ein wichtiger Bestandteil der IEC 61499 Norm und wird häufig in Steuerungssystemen verwendet. Er dient dazu, eine bestimmte Aktion auszulösen, wenn eine bestimmte Bedingung erfüllt ist.

Der Funktionsblock E_SR besteht aus zwei Eingängen und einem Ausgang. Der erste Eingang (S) dient dazu, die Aktion auszulösen, während der zweite Eingang (R) dazu dient, die Aktion zurückzusetzen. Der Ausgang des Funktionsblocks gibt an, ob die Aktion ausgelöst wurde oder nicht.

  • Input

    • S Set output Q

    • R Reset output Q

  • Output

    • EO Output Q has changed

https://agro-center.de/schalter-fuer-holzspaltermotor-etzxxx961020.html

  • Ein Schalter = Einschalten

  • Aus Schalter = Ausschalten

Siehe auch: [https://www.holobloc.com/doc/fb/rt/events/E_SR.htm](https://www.holobloc.com/doc/fb/rt/events/E_SR.htm)

E_SWITCH

Der Funktionsbaustein E_SWITCH ist ein Standardfunktionsbaustein der IEC 61499-1 und wird verwendet, um die Steuerung von Schaltvorgängen in automatisierten Systemen zu realisieren. Er ermöglicht es, bestimmte Funktionen oder Aktionen basierend auf bestimmten Bedingungen auszuführen.

Der Funktionsbaustein E_SWITCH hat einen Eingang G, der auch als „Kriterium“ bezeichnet wird. Jedes Kriterium repräsentiert eine bestimmte Bedingung, die erfüllt sein muss, damit eine bestimmte Aktion ausgeführt wird. Die Aktionen werden als „Zweige“ bezeichnet und können verschiedene Funktionen oder Aktionen darstellen.

Der Funktionsbaustein E_SWITCH wird wie folgt verwendet: Wenn ein Kriterium erfüllt ist, wird die zugehörige Aktion ausgeführt. Wenn keines der Kriterien erfüllt ist, wird die Aktion des „sonst“-Zweigs ausgeführt. Es gibt auch die Möglichkeit, mehrere Kriterien gleichzeitig zu verwenden und die Aktionen der verschiedenen Zweige zu kombinieren.

image

Siehe auch: https://www.holobloc.com/doc/fb/rt/events/E_SWITCH.htm

E_TABLE

Composite Function Block Type

  • Input

    • START Start table driven event generation

    • STOP Stop table driven event generation

    • DT

    • N

  • Output

    • EO Generated events

    • CV

E_TABLE_CTRL

E_TABLE_CTRL

E_TimeOut

E_TimeOut

Adapter fassen Schnittstellenelemente zusammen. Sie reduzieren die Anzahl der Schnittstellenelemente (Ereignis, Dateneingänge und Ausgänge) und damit die Anzahl der Verbindungen, die zwischen interagierenden Funktionsblöcken erstellt werden müssen. In 4diac IDE werden Adapter in der Typbibliothek aufgelistet und durch dieses Symbol dargestellt: Adapter.

image

socket: wird als Eingang eines Funktionsblocks hinzugefügt und innerhalb der Schnittstelle des Funktionsblocks dargestellt.
plug: wird als Ausgang eines Funktionsblocks hinzugefügt und innerhalb der Schnittstelle des Funktionsblocks dargestellt.

Time: In Sekunden die der Baustein das Event sperrt

Der E_TimeOut ist ein zusammengesetzter Funktionsblock. Innerhalb des Netzwerks eines zusammengesetzten Funktionsblocks wird jeder Adapter, der zu seiner Schnittstelle hinzugefügt wird, durch einen Adapterblock repräsentiert, der wie ein Funktionsblock aussieht. Die Schnittstellenelemente dieses Adapterblocks sind wie ein Funktionsblock verbunden.

E_TRAIN

image

Zeigt eine Ereignisfolge

CV N Ereignisse zur Periode DT, beginnend bei DT nach START

DT Time Periode zwischen Ereignissen

N UINT Anzahl der zu erzeugenden Ereignisse

image

Über Event Start wird das Ereignis gestartet und über Stopp angehalten. Durch CV werden die aktuellen Ergebnisse gezählt und auf E0 das generierte Ergebnis Time stellt die Zeit da in welchen abständen das Event auftreten soll Unit wie viel Event bereit durchgeführt wurden

E_TRAIN

E_T_FF

Toggle flip flop

IEC 61499-1 Annex A

  • Input

    • CLK Clock for triggering a output toggle

  • Output

    • EO inform of toggled output

    • Q value of flip flop

das Toggle flip flop stellt einen „Stromstoßschalter“ dar.

https://de.wikipedia.org/wiki/Stromsto%C3%9Fschalter

E_T_FF Anwendungen
E_T_FF Anwendungen Taster

mit einem E_T_FF lässt sich so ein Taster realisieren, der eine Lampe ein und ausschaltet:

mapping:

App:

EMB_RES:

E_T_FF Anwendungen Blinker

mit einem E_T_FF lässt sich so ein Blinker realisieren:

mapping:

App:

EMB_RES:

Siehe auch: https://www.holobloc.com/doc/fb/rt/events/E_T_FF.htm

iec61131-3
arithmetic
ADD_2

ADD_2

ADD_3

ADD_3

ADD_4

ADD_4

ADD_5

ADD_5

ADD_6

ADD_6

F_DIV

F_DIV

F_MOD

F_MOD

F_MUL

F_MUL

F_SUB

F_SUB

booleanOperators
AND_2

AND_2

OUT wird nur geschalten wenn an IN1 und IN2 ein Bool (Signal anliegt) Z.b. von einem Schalter

bei allen anderen „AND“ Bausteinen selbe prinzip nur dass immer alle IN eingänge immer True sein müssen

AND_3AND_3
AND_4AND_4
AND_5AND_5
AND_6AND_6
F_NOTF_NOT
OR_2

OR_2

Der OR Baustein hat die Aufgabe wenn man mit zwei Schalter einen Ausgang Schalten möchte.

Ein häufiger Anwendungsfall ist ein Soft KI und ein AUX Button

TRUE dominiert, also sobald an einem IN ein TRUE anliegt wird der OUT auf TRUE geschalten

Bei allen weiteren OR Bausteinen ist die gleiche Funktion nur mit mehr Eingängen

OR_3

OR_3

OR_4

OR_4

OR_5

OR_5

OR_6

OR_6

XOR_2XOR_2
XOR_3XOR_3
XOR_4XOR_4
XOR_5

XOR_5

XOR_6XOR_6
comparison
F_EQ

F_EQ

F_GE

F_GE

F_GT

F_GT

F_LE

F_LE

F_LT

F_LT

F_NE

F_NE

conversion
TIME
F_TIME_IN_MS_TO_UDINT

F_TIME_IN_MS_TO_UDINT

F_TIME_IN_NS_TO_UDINT

F_TIME_IN_NS_TO_UDINT

F_TIME_IN_S_TO_UDINT

F_TIME_IN_S_TO_UDINT

F_TIME_IN_US_TO_UDINT

F_TIME_IN_US_TO_UDINT

numerical
F_ABS

F_ABS

F_ACOS

F_ACOS

F_ASIN

F_ASIN

F_ATAN

F_ATAN

F_COS

F_COS

F_EXP

F_EXP

F_LN

F_LN

F_LOG

F_LOG

F_SIN

F_SIN

F_SQRT

F_SQRT

F_TAN

F_TAN

selection
F_LIMIT

Aus IEC 61131-3

F_LIMIT

MNMinimumUnterer Wert
INInputAktueller Wert
MXMaximumMaximaler Wert
OUTANY_ElementaryAusgang Min. oder Max.

Minimum bedeutet, unterschreitet IN diesen Wert sendet der Baustein das Signal für Wert unterschritten.

Wert kann fix eingespeichert werden (durch Eingabe DINT#Wert) Bsp. Motortemperatur unter/überschritten. Oder Kraftstoff auf Reserve.

Vorgabewert kann aber auch individuell vom Anwender eingegeben werden. Über Terminal (Bsp. Zielvorgabe Slurry Tanker)

Bsp. Zapfwellendrehzahl festlegen mit Grenzwerten, Ausbringmenge Höchstwert Minimalwert festlegen.

Textfeld:Bsp. individuelle Eingabe

F_MAX

F_MAX

Der Baustein F_MAX dient der maximal Funktion. Er liefert von zwei Werten den größeren Wert aus.

Diese Werte werden bei IN1 und IN2 eingespielt und bei Out dann der größere der beiden Werte ausgegeben.

z.B.       IN1= 10

IN2= 15

Out=15

F_MIN

F_MIN

Der Baustein F_MIN dient der minimal Funktion. Er liefert von zwei Werten den kleineren Wert aus.

Diese Werte werden bei IN1 und IN2 eingespielt und bei Out wird dann der kleinere der beiden Werte ausgegeben.

z.B.             IN1= 10
                  IN2= 15

Out=10

F_MUX_2

F_MUX_2

F_SEL

image

https://help.codesys.com/webapp/_cds_operator_sel;product=codesys;version=3.5.17.0

https://content.helpme-codesys.com/de/CODESYS%20Development%20System/_cds_operator_sel.html

io
DataPanel
DataPanel_xDB0808_DIO_SAE_J1939

this maps to IX / QX

DataPanel_xDB_08_PVE_SAE_J1939

this maps to QX

DataPanel_xDB_16_ADI_SAE_J1939

image

this maps to IX

DataPanel_xDB_16_DO_SAE_J1939

this maps to QX

DataPanel_xDB_16_PWM_SAE_J1939

this maps to QX

io esp32 Taster/Ausgänge Hutschienenmopped
Hutschienenmoped_3_DI

image

this maps to IX

Hutschienenmoped_3_DI_DOUBLE_CLICK

this maps to IE

Hutschienenmoped_3_DI_DOWN

image

this maps to IE

Hutschienenmoped_3_DI_LONG_PRESS_HOLD

this maps to IE

Hutschienenmoped_3_DI_LONG_PRESS_START

this maps to IE

Hutschienenmoped_3_DI_REPEAT

this maps to IB

Hutschienenmoped_3_DI_SINGLE_CLICK

this maps to IE

Hutschienenmoped_3_DI_UP

this maps to IE

Hutschienenmoped_4_DO

this maps to QX

Hutschienenmoped_6_DIA

this maps to IX

Hutschienenmoped_6_DIA_DOUBLE_CLICK

this maps to IE

Hutschienenmoped_6_DIA_DOWN

this maps to IE

Hutschienenmoped_6_DIA_LONG_PRESS_HOLD

this maps to IE

Hutschienenmoped_6_DIA_LONG_PRESS_START

this maps to IE

Hutschienenmoped_6_DIA_REPEAT

this maps to IB

Hutschienenmoped_6_DIA_SINGLE_CLICK

this maps to IE

Hutschienenmoped_6_DIA_UP

this maps to IE

io isobus
UT_AuxiliaryInputMapping

this maps to IX

UT_ButtonMapping

this maps to IX

UT_ButtonMapping_DOWN

this maps to IE

UT_ButtonMapping_HOLD

this maps to IE

UT_ButtonMapping_UP

this maps to IE

UT_SoftkeyMapping Softkey Taster am Isobus Display

this maps to IX

UT_SoftkeyMapping_DOWN

this maps to IE

UT_SoftkeyMapping_HOLD

this maps to IE

UT_SoftkeyMapping_UP

this maps to IE

IE - Input Event (0 Bit)

IX - Input BOOL (1 Bit)

Input service interface function block for boolean input data

  • Input Event

    • INIT Service Initialization

  • Input Data

    • QI Event Input Qualifier

  • Output Event

    • INITO Initialization Confirm

    • IND Indication from Resource

  • Output Data

    • QO Event Output Qualifier

    • STATUS Service Status

    • IN Input data from resource

IB - Input BYTE (8 Bit)

IW - Input WORD (16 Bit)

ID - Input DWORD (32 Bit)

IL - Input LWORD (64 bit)

QX - Output BOOL (1 Bit)

Service Interface Function Block Type

  • Input Event

    • INIT Service Initialization

    • REQ Service Request

  • Input Data

    • QI Event Input Qualifier

    • OUT Output data to resource

  • Output Event

    • INIT0 Initialization Confirm

    • CNF Confirmation of Requested Service

  • Output Data

    • QO Event Output Qualifier

    • STATUS Service Status

QB - Output Byte (8 Bit)

QW - Output WORD (16 bit)

QD - Output DWORD (32 bit)

QL - Output LWORD (64 Bit)

isobus
c
IsoCommonDef
E_BUSY

(-4 ) ErrorCause: Repeated calling of a function

E_CANMSG_MISSED

(-22) ErrorCause: CAN message was not received

E_CHECKSUM

(-11) ErrorCause: Checksum error

E_COM

(-9 ) ErrorCause: Communication error with other application hardware

E_CONFIG

(-10) ErrorCause: Configuration error (function call not possible )

(-20) ErrorCause: Transport protocol used …

E_DEFAULT

(-3 ) ErrorCause: Called function works with default values

E_ERROR_INDI

(-16) ErrorCause: ISO error indicator

E_NACK

(-25) ErrorCause: NACK or PDNACK received of bus

E_NOACT

(-8 ) ErrorCause: Called functionality has not been executed

E_NOT_AVAILABLE

(-17) ErrorCause: Parameter, value … not available

E_NO_ERR

( 0 ) ErrorCause: No error

E_NO_INSTANCE

(-21) ErrorCause: Instance not found

E_OUT_OF_MEMORY

(-24) ErrorCause: VT, TC has run out of memory

E_OVERFLOW

(-6 ) ErrorCause: Buffer overflow

E_PGN_UNKNOWN

(-18) ErrorCause: unknown PGN

E_RANGE

(-5 ) ErrorCause: One ore more input parameter wrong

E_RD_WR

(-7 ) ErrorCause: Write- or read-error

E_RESPTOCMDERROR

(-26) ErrorCause: Response to Command with ErrorCode != 0

E_UNKNOWN_ERR

(-1 ) ErrorCause: Unknown error

E_USER_ERROR

(-19) ErrorCause: IsoUser unknown, not announced …

E_VALUE_WRONG

(-23) ErrorCause: Value or parameter has the wrong value

E_WARN

(-2 ) ErrorCause: System warnings

IsoVtcApi
void IsoVtcCloseInstance(iso_u8 u8Instance)

brief Removes the VT client instance

Triggers the shutdown of the VT client instance. After the connection to the VT is closed the instance will be removed.

par Hint: If the instance has active pool on the VT, the #delete_object_pool command is send in the next cycle to the VT. After the VT response the instance is removed. If it is necessary to kill the instance immediately, the following command can be used: n IsoVtcDataSet(u8Instance, VT_LOGOUT, 1u);

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

iso_s16 IsoVtcCmd_ActiveMask(iso_u8 u8Instance, iso_u16 u16WorkSetId, iso_u16 u16NewMaskId)

brief Command change active mask( Part 6 - F.34 )

This command is used to change the active mask of a working set to either a data or an alarm mask object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16WorkSetId, iso_u16}

WorkingSet Object ID

param[in] wp{u16NewMaskId, iso_u16}

Object ID of new active (data/alarm)-mask

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_Attribute(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u8 u8IdAttribute, iso_u32 u32ValueAttribute)

brief Command change attribute( Part 6 - F.38 )

This command is used to change any attribute with an assigned AID. This message cannot be used to change strings.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wp{u8IdAttribute, iso_u8}

Attribute ID (AID) - see description of wished object

param[in] wp{u32ValueAttribute, iso_u32}

New value for attribute

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_BackgroundColour(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u8 u8Colour)

brief Command change background colour ( Part 6 - F.20 )

This command is used to change the background colour of an object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wp{u8Colour, iso_u16}

New Background colour see Part 6 - A.3 VT standard colour palette

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ChangeObjectLabel(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u16 u16ObIdStringVar, iso_u8 u8FontType, iso_u16 u16ObIdGrafic)

brief Command Change Object Label( Part 6 - F.50 )

This command is used by an ECU to change a label of an object. See also B.21 Object Label Reference List object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID of object to associate label with

param[in] wp{u16ObIdStringVar, iso_u16}

Object ID of a String Variable object that contains the label string (32 characters maximum) or FFFF if no text is supplied

param[in] wp{u8FontType, iso_u8}

Font type (ignored if String Variable object reference is NULL or the string contains a WideString )

param[in] wp{u16ObIdGrafic, iso_u16}

Object ID of an object to be used as a graphic representation of the object label or FFFF16 if no designator supplied.

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ChangePolygonPoint(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u8 u8PointIndex, iso_u16 u16NewXValue, iso_u16 u16NewYValue)

brief Command Change Polygon Point( Part 6 - F.52 )

This command is used by a Working Set to modify a point in an Output Polygon object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID of the Output Polygon object to change

param[in] wp{u8PointIndex, iso_u8}

Point index of the point to replace.

param[in] wp{u16NewXValue, iso_u16}

New X value of a point relative to the top left corner of the polygon

param[in] wp{u16NewYValue, iso_u16}

New Y value of a point relative to the top left corner of the polygon

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ChangePolygonScale(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u16 u16NewWidth, iso_u16 u16NewHeight)

brief Command Change Polygon Scale( Part 6 - F.54 )

This command is used by a Working Set to change the scale of a complete Output Polygon object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID of the Output Polygon object to scale

param[in] wp{u16NewWidth, iso_u16}

New width attribute

param[in] wp{u16NewHeight, iso_u16}

New height attribute

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ChildLocation(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u16 u16ObjIdParent, iso_u8 u8Xchange, iso_u8 u8Ychange)

brief Command change child location ( Part 6 - F.14 )

The Change Child Location command is used to change the relative position of an object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wp{u16ObjIdParent, iso_u16}

Parent object ID

param[in] wp{u8Xchange, iso_u8}

Relative change in x position (interpreted as signed!)

param[in] wp{u8Ychange, iso_u8}

Relative change in y position (interpreted as signed!)

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ChildPosition(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u16 u16ObjIdParent, iso_s16 s16Xposition, iso_s16 s16Yposition)

brief Command change child position ( Part 6 - F.16 )

The Change Child Location command is used to change the absolute position of an object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wp{u16ObjIdParent, iso_u16}

Parent object ID

param[in] wp{s16Xposition, iso_s16}

New X position relative to the top left corner of parent object

param[in] wp{s16Yposition, iso_s16}

New Y position relative to the top left corner of parent object.

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_CtrlAudioSignal(iso_u8 u8Instance, iso_u8 u8NumOfRepit, iso_u16 u16Frequency, iso_u16 u16OnTimeMs, iso_u16 u16OffTimeMs)

brief Command Control audio device ( Part 6 - F.10 ).

This command can be used to control the audio on the VT.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u8NumOfRepit, iso_u8}

Number of repetitions Range: 1 - 255

param[in] wp{u16Frequency, iso_u16}

Frequency

param[in] wp{u16OnTimeMs, iso_u16}

On time duration in ms

param[in] wp{u16OffTimeMs, iso_u16}

Off time duration in ms

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_DeleteVersion(iso_u8 u8Instance, const iso_u8 au8VersionString[])

brief Command for deleting object pool of VT ROM

This function releases a command to the VT. The pool selected with the version string is deleted of Flash.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wpp{au8VersionString, const #iso_u8[] }

Pointer to version String which shall be deleted n Length of Bytearray: 7 Characters

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ESC(iso_u8 u8Instance)

brief Esc Command

This command is used to abort operator input ( Part 6 - F.8 ).

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_EndPoint(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u16 u16Width, iso_u16 u16Height, iso_u8 u8LineDirection)

brief Command change end point ( Part 6 - F.26 )

This command is used to change the end point of a line object by changing the width, height and/or line direction attributes.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wp{u16Width, iso_u16}

X value of end point

param[in] wp{u16Height, iso_u16}

Y value of end point

param[in] wp{u8LineDirection, iso_u8}

Line direction see Part 6 - B.27

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ExecuteExtendedMacro(iso_u8 u8Instance, iso_u16 u16ObjIdMacro)

brief Command Execute Extended Macro( Part 6 - F.62 )

This command is used to execute a Macro with 16-bit Object ID. This message is available in VT version 5 and later.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjIdMacro, iso_u16}

Object ID of Macro object

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ExecuteMacro(iso_u8 u8Instance, iso_u16 u16ObjId)

brief Command Execute Macro( Part 6 - F.48 )

This message is available in VT Version 4 and later. This command is used to execute a Macro.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID of Macro object ( max. value 255 )

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_FillAttributes IsoVtcCmd_FillAttributes(iso_u8 u8Instance , iso_u16 u16ObjId , iso_u8 u8FillType , iso_u8 u8FillColour , iso_u16 u16FillPatternId)

brief Command change fill attributes ( Part 6 - F.32 )

This command is used to change the fill attributes in a fill attributes object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wp{u8FillType, iso_u8}

New fill type (see Part 6 - B.14.4)

param[in] wp{u8FillColour, iso_u8}

New fill colour (see Part 6 - B.14.4)

param[in] wp{u16FillPatternId, iso_u16}

New fill pattern (see Part 6 - B.14.4)

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_FontAttributes IsoVtcCmd_FontAttributes(iso_u8 u8Instance , iso_u16 u16ObjId , iso_u8 u8FontColour , iso_u8 u8FontSize , iso_u8 u8FontType , iso_u8 u8FontStyle)

brief Command change font attributes ( Part 6 - F.28 )

This command is used to change the font attributes in a font attributes object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wp{u8FontColour, iso_u8}

New font colour (see Part 6 - A.3)

param[in] wp{u8FontSize, iso_u8}

New font size (see Part 6 - B.14)

param[in] wp{u8FontType, iso_u8}

New font type (see Part 6 - B.14)

param[in] wp{u8FontStyle, iso_u8}

New font style (see Part 6 - B.14)

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_GetAttribute(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u8 u8AID)

brief Command GetAttribute( Part 6 - F.58 )

This message is available in VT Version 4 and later. This command is used by a Working Set to query the VT for the current state of objects within the VT.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wp{u8AID, iso_u8}

Attribute ID of the object

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_GetSupportedObjects(iso_u8 u8Instance)

brief This technical message requests for supported objects ( D.14 )

This command is used by the WS to get the list of all object types supported by the VT. This message applies to version 4 and later VTs.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_GetSupportedWidechar(iso_u8 u8Instance, iso_u8 u8CodePlane, iso_u16 u16RangeFirstWidechar, iso_u16 u16RangeLastWidechar)

brief This technical message requests the supported widechars for a certain code plane ( D.10 )

The Get Supported Widechars message is used by the Working Set to determine the WideChars supported by the VT. This message only applies to version 4 and later VTs.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u8CodePlane, iso_u8}

Codeplane - Range: 0 … 16

param[in] wp{u16RangeFirstWidechar, iso_u16}

First widechar of inquiried code plane

param[in] wp{u16RangeLastWidechar, iso_u16}

Last widechar of inquiried code plane

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_GetWindowMaskData(iso_u8 u8Instance)

brief This technical message requests background colours ( D.12 )

The Working Set sends the Get Window Mask Data message to request the background colour of UserLayout Data Mask and the background colour of the Key Cells on a User-Layout Soft Key Mask. This message applies to version 4 and later VTs.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_GraphicsContext(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u8 u8SubCommandID, const iso_u8 u8ParaList[], iso_u16 u16LenBytes)

brief Command Graphics Context ( Part 6 - F.56 )

This command is used to manipulate a graphics Context object (only on version 4 or later VTs).

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID of a Graphics Context object

param[in] wp{u8SubCommandID, iso_u8}

Sub-Command ID

param[in] wpp{u8ParaList[], const #iso_u8[]}

Parameters based on sub-command ID byte

param[in] wp{u16LenBytes, iso_u16}

Length in bytes of parameter list

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

note par - Function uses string buffer ( Parameterlist has to be smaller than ISO_VTC_CMD_STR_MAX_LENGTH )

iso_s16 IsoVtcCmd_IdentifyVT(iso_u8 u8Instance)

brief Command Identify VT ( Part 6 - D.18 )

The Identify VT message may be sent by either Working Sets or VTs. This message is available in VT Version 4 and later.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_LineAttributes IsoVtcCmd_LineAttributes(iso_u8 u8Instance , iso_u16 u16ObjId , iso_u8 u8LineColour , iso_u8 u8LineWidth , iso_u16 u16LineArt)

brief Command change line attributes ( Part 6 - F.30 )

This command is used to change the line attributes in a line attributes object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wp{u8LineColour, iso_u8}

New line colour (see Part 6 - A.3)

param[in] wp{u8LineWidth, iso_u8}

New line width (see Part 6 - B.14.3)

param[in] wp{u16LineArt, iso_u16}

New line art (see Part 6 - B.14.3)

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ListItem(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u8 u8ListIndex, iso_u16 u16NewObjId)

brief Command change list item ( Part 6 - F.42 )

This command is used to change a list item in a list input object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID of a list input object

param[in] wp{u8ListIndex, iso_u8}

List index (-> see list)

param[in] wp{u16NewObjId, iso_u16}

New object ID or 0xFFFF to set empty

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_LockUnlockMask(iso_u8 u8Instance, iso_u8 u8LockCmd, iso_u16 u16MaskId, iso_u16 u16LockTimeoutMs)

brief Command Lock/UnlockMask( Part 6 - F.46 )

This message is available in VT Version 4 and later. This command is used by a Working Set to disallow or allow screen refreshes at the VT for the visible Data Mask or User-Layout Data Mask owned by the requesting Working Set.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u8LockCmd, iso_u8}

0 = Unlock, 1 = Lock data mask or user-layout data mask

param[in] wp{u16MaskId, iso_u16}

Object ID of data mask or user layout data mask to lock or unlock

param[in] wp{u16LockTimeoutMs, iso_u16}

Lock timeout in ms or zero for no timeout

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_NumericValue(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u32 u32NewValue)

brief Command change numeric value ( Part 6 - F.22 )

This command is used to change the value of an object. It applies only to objects that have a numeric value attribute.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wp{u32NewValue, iso_u32}

New value of ID

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_NumericValueRef(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u32 u32NewValue)

brief Command change numeric value with command buffer reference ( Part 6 - F.22 )

This command is used to change the value of an object. It applies only to objects that have a numeric value attribute. If the objectID is already in the command FIFO then the value of this FIFO entry is updated.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wp{u32NewValue, iso_u32}

New value of ID

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ObjEnableDisable(iso_u8 u8Instance, iso_u16 u16ObjId, iso_bool qAbility)

brief Command enable/disable (input) object - ( Part 6 - F.4 )

This command is used to enable or disable an input field object and pertains to the accessibility of an input object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID of input object

param[in] wp{qAbility, iso_bool}

0 == disable, 1 == enable

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ObjHideShow(iso_u8 u8Instance, iso_u16 u16ObjId, iso_bool qVisible)

brief Command Hide/Show Object (Container) ( Part 6 - F.2 )

The Hide/Show Object command is used to hide or show a container object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16 }

Object ID of Container

param[in] wp{qVisible, iso_bool}

0 = Hide, 1 = Show

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ObjSelectInput(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u8 u8Option)

brief Command Select input object ( Part 6 - F.6 )

This command is used to force the selection of an input field object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID of input object

param[in] wp{u8Option, iso_u8}

normal: 0xFF, for Version 4 also 0 possible

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_Priority(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u8 u8Priority)

brief Command change priority( Part 6 - F.40 )

This command is used to change the priority of an alarm mask.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID of alarm mask

param[in] wp{u8Priority, iso_u8}

New priority

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_ScreenCapture(iso_u8 u8Instance, iso_u8 u8ItemRequested, iso_u8 u8Path)

brief Command Screen capture ( Part 6 - D.16 )

This command, available in VT version 6 and later, requests a lossless screen (image) capture from the VT This message is available in VT Version 6 and later.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u8ItemRequested, iso_u8}

Item requested ( 0 = Screen image )

param[in] wp{u8Path, iso_u8}

Path ( 1 = VT accessible storage/removable media )

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_SelectActiveWorkingSet(iso_u8 u8Instance, const iso_u8 pau8Name[])

brief Command Select Active Working Set( Part 6 - F.64 )

This command is used by the currently active Working Set to request that the VT select a new active Working Set. This message is available in VT version 6 and later.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wpp{pau8Name, const #iso_u8[]}

Iso NAME of the new active working set

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_SelectColourMap(iso_u8 u8Instance, iso_u16 u16ObjIdColourMap)

brief Command Select Colour Map ( VT version 4 and later ) ( Part 6 - F.60 )

The Select Colour Map command is used to select the active Colour Map. This command can take a long time to execute. The command applies to any presentation from the originating Working Set, which includes objects that may be shown on other Working Set screens (e.g. Auxiliary Control objects as may be presented on VT proprietary and other Working Set masks using the Auxiliary Control Designator Type 2 Object Pointer).

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjIdColourMap, iso_u16}

Object ID of Colour map object or FFFF to restore the default colour table (see A.3)

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_SetAudioVolume(iso_u8 u8Instance, iso_u8 u8Volume)

brief Command SetAudioVolume

This command can be used to control the audio on the VT (volume) ( Part 6 - F.12 )

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u8Volume, iso_u8}

Volume 0 - 100 (%)

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - Buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NOT_AVAILABLE - VT has got no adjustable volume output

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_Size(iso_u8 u8Instance, iso_u16 u16ObjId, iso_u16 u16Width, iso_u16 u16Height)

brief Command change size ( Part 6 - F.18 )

The Change Size command is used to change the size of an object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wp{u16Width, iso_u16}

New width

param[in] wp{u16Height, iso_u16}

New height

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_SoftKeyMask(iso_u8 u8Instance, iso_u8 u8MaskType, iso_u16 u16DataMaskId, iso_u16 u16SoftKeyMaskId)

brief Command change soft key mask( Part 6 - F.36 )

This command is used to change the soft key mask associated with a data or alarm mask object.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u8MaskType, iso_u8}

1 == Data, 2 == Alarm

param[in] wp{u16DataMaskId, iso_u16}

Object ID of active Mask

param[in] wp{u16SoftKeyMaskId, iso_u16}

Object ID of (new) soft key mask

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_StoreVersion(iso_u8 u8Instance, const iso_u8 au8VersionString[])

brief Store object pool with version label from VT RAM to VT ROM

This function stores the actual pool in VT RAM into the Flash (ROM) of the VT.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wpp{au8VersionString, const #iso_u8[] }

Pointer to version String which shall be deleted n Length of Bytearray: 7 Characters

retval iso_s16
  • #E_NO_ERR - OK

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_String(iso_u8 u8Instance, iso_u16 u16ObjId, const iso_u8 pau8String[])

brief Command Change String Value ( Part 6 - F.24 )

This command sends a string to the VT. The length of the string including ‚0‘ may not be longer than the define ISO_VTC_CMD_STR_MAX_LENGTH. Take care that ‚0‘ is trailed.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wpp{pau8String, const #iso_u8[] }

Pointer to string

retval iso_s16
  • #E_NO_ERR - transport started

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcCmd_StringRef(iso_u8 u8Instance, iso_u16 u16ObjId, const iso_u8 pau8String[])

brief Command Change String Value with command buffer reference ( Part 6 - F.24 )

This command sends a string to the VT. If the ObjectID is already in the command FIFO then the value of this FIFO entry is updated. The length of the string including ‚0‘ may not be longer than the define ISO_VTC_CMD_STR_MAX_LENGTH. Take care that ‚0‘ is trailed.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{u16ObjId, iso_u16}

Object ID

param[in] wpp{pau8String, const #iso_u8[] }

Pointer to string

retval iso_s16
  • #E_NO_ERR - transport started

  • #E_OVERFLOW - buffer overflow

  • #E_NOACT - Command not possible in current state

  • #E_NO_INSTANCE - No VT client available

iso_s16 IsoVtcContinue(iso_u8 u8Instance)

brief Continue VT Login state machine

There are some cases where VT Login stops for application interaction. This function continues the VT state machine.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

retval iso_s16
  • E_NO_ERR

  • E_ERROR_INDI - actual state don’t supported of this function

  • E_NO_INSTANCE

par
  • Supported states:
    • waiting_before_store

iso_u8 IsoVtcCreateInstance(iso_s16 s16CfHandleMaster, const ISO_USER_PARAM_T userParam, ISOVT_CbStatus_t pfVTStatusCb, ISOVT_CbMsg_t pfVtMsgRecCb, ISOVT_CbConnectionEv_t pfVtConnEvCb, ISOVT_CbAuxPrefAssignment_t pfAuxPrefAssignCb, const ISO_CF_NAME_T *pau8NamePreferredVT, iso_u8 u8BootTimePreferredVT)

brief Creates a VT client instance for the given working set master

param[in] wp{s16CfHandleMaster, iso_s16}

CF handle of a working set master

param[in] wpp{userParam, const #ISO_USER_PARAM_T}

User parameter value for the callback function calls. n Use #ISO_USER_PARAM_DEFAULT if not used/needed.

param[in] wp{pfVTStatusCb, ISOVT_CbStatus_t}

Pointer to callback function which is called in case of opening a new data, alarm or window mask, or of

  • Parameter rqInfo is set to ISO_TRUE, if the working set is active.

  • Parameter rwPage contains the object ID of the open mask, or NULL object ID if rqInfo is ISO_FALSE.

param[in] wp{pfVtMsgRecCb, ISOVT_CbMsg_t}

Pointer to callback function which is called in case of activation messages and command responses to the user application. See #ISOVT_MSG_STA_T for more information.

param[in] wp{pfVtConnEvCb, ISOVT_CbConnectionEv_t}

Pointer to the connection event callback function or NULL pointer if not used.

param[in] wp{pfAuxPrefAssignCb, ISOVT_CbAuxPrefAssignment_t}

Pointer to the preferred assignment callback function (Can set to the NULL pointer if the object pool does not contain auxiliary type 2 functions).

param[in] wpp{pau8NamePreferredVT, const #ISO_CF_NAME_T*}

Pointer to NAME of preferred VT

param[in] wp{u8BootTimePreferredVT, iso_u8}

Boot time of preferred VT in seconds n (Range 0 - 254; if 0xFF for not available ISO_WAITVT_SEC will be used)

retval iso_u8
  • VT client instance identification number

  • #ISO_INSTANCE_INVALID if there is no instance free

par Hints:
  • Preferred VT: During Login the driver waits a boot time for this VT. This can be useful in order to choice the last plugged VT. The actual VT must be stored in NVM and during login initialised with this function.

  • If the VT client has has auxiliary type 2 functions and connects not to the primary VT, a second Aux instance is automatically created later to connect to the primary VT. This instance has also an other instance identification number.

  • To create another instance with a different VT for a CF, IsoVtcCreateInstance() can be called again with a different VT name.

iso_s16 IsoVtcDataSet(iso_u8 u8Instance, ISOVT_STATUS_e eVTInfo, iso_u16 wDatNew)

brief Setting information of a VT client

This function enables the change of some Working Set settings or the control of the state machine. For settings it should called after IsoVtcCreateInstance(). Furthermore it can be completely resetted a VT client with VT_LOGOUT.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{eVTInfo, ISOVT_STATUS_e}

VT_BOOTTIME - Boot time of preferredVT in seconds n VT_STATEOFANNOUNCING - Forced setting of Login state machine (test purposes)

see ISOVT_ANNOUNCE_e n

WS_VERSION_NR - Version number of working set ( -> Used object in pool )n VT_LOGOUT - Shut down a VT client instance ( set wDatNew to 1u to kill instance; 0u for normal logout) n

For a normal logout you can also use IsoVtcCloseInstance()

param[in] wp{wDatNew, iso_u16}

New Value

retval iso_s16
  • E_NO_ERR

  • E_NO_INSTANCE

iso_u16 IsoVtcGetCMDFifoFree IsoVtcGetCMDFifoFree(iso_u8 u8Instance)

brief Calculate free elements of Command FIFO

This function determines the number of free elements of the command FIFO. It has been implemented for LIB Implementation (initiated of Grimme)

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

retval iso_u16

Number of free elements of command FIFO n Range: 0 - ISO_VTC_CMD_BUFFER_MAX

iso_u8 IsoVtcGetInstanceID(iso_s16 s16CfHandleMaster, ISOVT_INSTANCE_TYPE_Te eInstanceType)

brief Helper function to get the VT client instance identifier to a client CF handle

This function determines the number of free elements of the command FIFO. It has been implemented for LIB Implementation (initiated of Grimme)

param[in] wp{s16CfHandleMaster, iso_s16}

CF handle of a working set master

param[in] wp{eInstanceType, ISOVT_INSTANCE_TYPE_Te}

Instance type which should be returned

retval iso_u8

Identifier of the client instance or #ISO_INSTANCE_INVALID if not found

iso_u16 IsoVtcGetStatusInfo(iso_u8 u8Instance, ISOVT_STATUS_e eVTInfo)

brief Reading information of a VT client instance

This function can be used to read information about a VT client and the connected VT. This information are useful for controlling the pool on VT e. g. with VT_PHYSICALSOFTKEYS it is possible depending on number of phyical softkeys of the VT to choice between different soft key masks.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{eVTInfo, ISOVT_STATUS_e}

Enum of wished information of VT n Most of them are of the technical data messages

retval iso_u16 Requested value depending of ISOVT_STATUS_e
  • #VT_SOURCE_ADDRESS: actual SA of VT or ISO_NULL_ADDRESS

  • #CF_SOURCE_ADDRESS: actual SA of WS or ISO_NULL_ADDRESS

  • #ID_VISIBLE_DATA_MASK: actual data mask object in VT status message

  • #ID_VISIBLE_SOFTKEY_MASK: actual soft key mask object in VT status message

  • #VT_BUSY_CODE: see VT status message

  • #AUXUNITS_TYPE1_ONBUS: ISO_TRUE -> Auxiliary unit type 1 is on bus

  • #VT_ALIVE: VT alive check (3s), 1 = alive

  • #VT_DOWNLOAD_FINISHED: announce state > announce_finished? 1

  • #VT_POOL_ACTIVE_onVT: 1: Own pool selected on VT

  • #VT_STATEOFANNOUNCING: see enum ISOVT_ANNOUNCE_e

  • #WS_VERSION_NR: Supported version of own pool see ISO_VTVERSION

  • #VT_NUMBOFVERSIONSTRINGS: Number of version strings stored in VT

  • #VT_VERSIONNR: Supported version of VT see Part 6 - D.3

  • #VT_NAVSOFTKEYS: Navigation softkeys ( of Version 4 else 0xFF )

  • #VT_SOFTKEYXDOT … VT_DATAMASKRESOLUTION: n

    Technical data messages of actual VT see Part 6 Annex D

  • #VT_BGCOLOURULDM, VT_BGCOLOURKEYCELL: colours see A.3

note par
  • VT_BOOTTIME: If the VT supports Boottime (>=IL4 and Value != 0xFF) the value (in sec) can be red, and then stored in NVM and set with IsoVtcDataSet() next startup.

iso_s16 IsoVtcMultipleNextVT(iso_u8 u8Instance, const ISO_CF_NAME_T *rpabVtName)

brief Calling this function releases the procedure to move to another VT

The application have to select an available VT and releases with this function the VT change.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wpp{rpabVtName, const #ISO_CF_NAME_T*}

Pointer to NAME of „Next VT“ see ISO11783 - 5

retval iso_s16
  • E_NO_ERR - OK

  • E_NOACT - VT is used by an other mask instance of this client

  • E_ERROR_INDI - Changing only possible in case of full log-on

  • E_USER_ERROR - User „rpabVtName“ not found or no VT

par
  • Using see example in VT application

iso_bool IsoVtcObjTypeIsSupported(iso_u8 u8Instance, OBJTYP_e eObjType)

brief Check if object type is supported of VT

Precondition for this function: VT must be version 4 or higher. Then VT sends a sorted list during login with all supported objects. It can used for controlling the command messages

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{eObjType, OBJTYP_e}

Object type (Byte 3 of every object) n Range: 0 - 36, 40 see ISO11783 - 6 - A.1.1 or OBJTYP_e

retval iso_bool ISO_TRUE if VT supports this object

void IsoVtcObjTypeParsableSet(iso_u8 u8Instance, OBJTYP_e eObjType)

brief Manual setting of a supported ( parsable ) object type

This function is used to add object types of higher versions to a list which is used for parsing decisions

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{eObjType, OBJTYP_e}

Object type (Byte 3 of every object)

iso_s16 IsoVtcReadWorkingSetLanguageData(iso_u8 u8Instance, iso_u8 abLanguageCmd[])

brief This function reads the language of the working set

The language command of the VT which displays the data masks is retured. If there is no VT the language command of the TECU is returned.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[out] wp{abLanguageCmd, iso_u8[]}

Pointer to language command data array of this working set n Size of the array must be (at least 8 bytes)

retval iso_s16
  • E_NO_ERR - OK

  • E_ERROR_INDI - WS not found

par - Attention: Function works only correct after login has passed the LC reception

(e. g. waiting_after_GetVersions) else it provides the TECU LC

iso_s16 IsoVtcRestartInstance(iso_u8 u8Instance, iso_bool qReConnect)

brief Restarts a VT client instance

Triggers the shutdown of the VT client instance. After the current pool is removed from the VT, the instance starts again.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{qReConnect, iso_bool}
  • #ISO_TRUE: The connection is „closed“ and restarted at the beginning of the state machine

  • #ISO_FALSE After the pool is removed the instance restarts with the pool upload procedure

retval iso_s16
  • #E_NO_ERR - restart triggered

  • #E_NOACT - function called again

  • #E_NO_INSTANCE - Instance not found

iso_s16 IsoVtcSetNewPreferredVT(iso_u8 u8Instance, const ISO_CF_NAME_T *rpabVtName)

brief Function to set the preferred VT to a new CF name.

The function can only called before the client has selected a VT (safe state). n In this case the given name is set as new preferred VT and the VT boot timeout is reseted.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wpp{rpabVtName, const #ISO_CF_NAME_T*}

Pointer to the NAME of the VT or dummy name (8 * 0xFFu)

retval iso_s16
  • E_NO_ERR - On success

  • E_RANGE - rpabVtName is the NULL pointer or WS instance is not set

  • E_ERROR_INDI - Changing only possible while waiting for the currently set preferred VT

  • E_USER_ERROR - CF name „rpabVtName“ is not a valid VT name (wrong name function)

par
  • This function should be used to select the wished VT during the #IsoEvConnSelectPreferredVT event callback.

iso_u8 IsoVtcVersionStringGet(iso_u8 u8Instance, iso_u8 au8VersionStrings[][ISO_VTC_LEN_VERSIONSTR])

brief Function reads the Version strings received from VT with (Extended) Get Versions

The version strings received of VT can be read. If both Working Set and VT are Version 5 or higher the version strings are ( exactly )32 bytes else 7 bytes.

param[in] wp{u8Instance, iso_u8}

Identifier of the client instance

param[in] wp{au8VersionStrings, iso_u8[][ISO_VTC_LEN_VERSIONSTR]}

Pointer to 2d-array - driver writes the version strings in this array - first element is number of version strings (see ISO_VTC_MAX_POOLVERSIONS) - second element is string length #ISO_VTC_LEN_VERSIONSTR

retval iso_s16

Number of version strings received with (Extended) Get Version

colours
COLOR_BLACK

COLOR_BLACK

COLOR_BLUE

COLOR_BLUE

COLOR_CYAN

COLOR_CYAN

COLOR_GREEN

COLOR_GREEN

COLOR_GREY

COLOR_GREY

COLOR_LIME

COLOR_LIME

COLOR_MAGENTA

COLOR_MAGENTA

COLOR_MAROON

COLOR_MAROON

COLOR_NAVY

COLOR_NAVY

COLOR_OLIVE

COLOR_OLIVE

COLOR_PURPLE

COLOR_PURPLE

COLOR_RED

COLOR_RED

COLOR_SILVER

COLOR_SILVER

COLOR_TEAL

COLOR_TEAL

COLOR_WHITE

COLOR_WHITE

COLOR_YELLOW

COLOR_YELLOW

CbVtStatus

CbVtStatus

Q_ActiveMask

image

ISO 11783-6

Command change active mask( Part 6 - F.34 )

This command is used to change the active mask of a working set to either a data or an alarm mask object.

Return values

iso_s16

Related to: IsoVtcCmd_ActiveMask

Q_Attribute

ISO 11783-6

Command change attribute( Part 6 - F.38 )

This command is used to change any attribute with an assigned AID. This message cannot be used to change strings.

Return values

iso_s16

Related to: IsoVtcCmd_Attribute

Q_BackgroundColour (Farbprogrammierung IsoBus Display)

Q_ChangeObjectLabel

Q_ChangeObjectLabel

Q_ChangePolygonPoint

Q_ChangePolygonPoint

Q_ChangePolygonScale

Q_ChangePolygonScale

Q_ChildLocation

Q_ChildLocation

Q_ChildPosition

Q_ChildPosition

Q_CtrlAudioSignal

Q_CtrlAudioSignal

Q_EndPoint

Q_EndPoint

Q_ESC

Q_ESC

Q_ExecuteExtendedMacro

Q_ExecuteExtendedMacro

Q_ExecuteMacro

Q_ExecuteMacro

Q_FillAttributes

Q_FillAttributes

Q_FontAttributes

Q_FontAttributes

Q_GetAttribute

Q_GetAttribute

Q_GraphicsContext

Q_GraphicsContext

Q_LineAttributes

Q_LineAttributes

Q_ListItem

Q_ListItem

Q_LockUnlockMask

Q_LockUnlockMask

Q_NumericValue

Normativen Referenz:

Dieser Funktionsbaustein bezieht sich auf den Abschnitt ISO 11783-6 F.22 Change Numeric Value command

ACHTUNG: dieser Befehl kann so oft aufgerufen werden wie vom Anwendungsprogrammierer gewünscht, jedoch kann ein zu häufiges Aufrufen den ISOBUS stark überlasten, weshalb dieser Baustein mit Bedacht eingesetzt werden sollte.

Aufgabe dieses Bausteins ist es eine der folgenden Objekte die auf einem VT dargestellt werden zu aktualisieren:

  • Boolean input field: 1 byte for TRUE/FALSE

  • Number input field: 4 bytes for integer input

  • List input field: 1 byte for list index

  • List output field: 1 byte for list index

    • (wie list Input field, jedoch in VT3 nicht vorhanden)

  • Number output field: 4 bytes for integer output

  • Meter: 2 bytes for integer value

  • Linear bar graph: 2 bytes for integer value

  • Arched bar graph: 2 bytes for integer value

  • Number variable: 4 bytes for integer value

    • Die Number Variable kann nicht direkt auf dem Display angezeigt werden, kann aber mit allen bisher genannen Objekten verknüpft werden; Vorteil: auch mehrfache Verknüpungen Möglich.

  • Object pointer: 2 bytes for Object ID

    • Sinnvoll um andere Objekte an Stelle des Pointers ein& und auszublenden.

Querverweise:

https://docs.ms-muc-docs.de/projects/isobus-vt-objects-docs/de/latest/ID-07—Input-boolean—ISO-11783-6—B.8.2.html

BEISPIEL

Zähler mit Rücksetzung

Q_ObjEnableDisable

Q_ObjEnableDisable

Q_ObjHideShow

Q_ObjHideShow

Command Hide/Show Object (Container) ( Part 6 - F.2 )

Q_ObjSelectInput

Q_ObjSelectInput

Q_Priority

Q_Priority

Q_SelectActiveWorkingSet

Q_SelectActiveWorkingSet

Q_SelectColourMap

Q_SelectColourMap

Q_SetAudioVolume

Q_SetAudioVolume

Command SetAudioVolume.

ISO 11783-6

This command can be used to control the audio on the VT (volume) ( Part 6 - F.12 )

Return values

iso_s16

  • E_NO_ERR - OK
  • E_OVERFLOW - Buffer overflow
  • E_NOACT - Command not possible in current state
  • E_NOT_AVAILABLE - VT has got no adjustable volume output
  • E_NO_INSTANCE - No VT client available
Q_Size

Q_Size

Command change size ( Part 6 - F.18 )

ISO 11783-6

The Change Size command is used to change the size of an object.

Return values

iso_s16

  • E_NO_ERR - OK
  • E_OVERFLOW - buffer overflow
  • E_NOACT - Command not possible in current state
  • E_NO_INSTANCE - No VT client available
Q_SoftKeyMask

Q_SoftKeyMask

ISO 11783-6

Command change soft key mask( Part 6 - F.36 )

This command is used to change the soft key mask associated with a data or alarm mask object.

Return values

iso_s16

  • E_NO_ERR - OK
  • E_OVERFLOW - buffer overflow
  • E_NOACT - Command not possible in current state
  • E_NO_INSTANCE - No VT client available
Q_StringValue

image

Command Change String Value ( Part 6 - F.24 )

ISO 11783-6

This command sends a string to the VT. The length of the string including ‚‘ may not be longer than the define ISO_VTC_CMD_STR_MAX_LENGTH. Take care that ‚‘ is trailed.

Return values

iso_s16
•E_NO_ERR - transport started
•E_OVERFLOW - buffer overflow
•E_NOACT - Command not possible in current state
•E_NO_INSTANCE - No VT client available

net
CLIENT_1

CLIENT_1

CLIENT_2_1

CLIENT_2_1

PUBLISH_0

PUBLISH_0

PUBLISH_1

PUBLISH_1

PUBLISH_10

PUBLISH_10

PUBLISH_2

PUBLISH_2

PUBLISH_3

PUBLISH_3

PUBLISH_4

PUBLISH_4

PUBLISH_5

PUBLISH_5

PUBLISH_6

PUBLISH_6

PUBLISH_7

PUBLISH_7

PUBLISH_8

PUBLISH_8

PUBLISH_9

PUBLISH_9

SERVER_1

SERVER_1

SERVER_1_2

SERVER_1_2

SUBSCRIBE_0

SUBSCRIBE_0

SUBSCRIBE_1

SUBSCRIBE_1

SUBSCRIBE_10

SUBSCRIBE_10

SUBSCRIBE_2

SUBSCRIBE_2

SUBSCRIBE_3

SUBSCRIBE_3

SUBSCRIBE_4

SUBSCRIBE_4

SUBSCRIBE_5

SUBSCRIBE_5

SUBSCRIBE_6

SUBSCRIBE_6

SUBSCRIBE_7

SUBSCRIBE_7

SUBSCRIBE_8

SUBSCRIBE_8

SUBSCRIBE_9

SUBSCRIBE_9

reconfiguration
EC_KILL_ELEM

EC_KILL_ELEM

EC_SET_EVT

EC_SET_EVT

EC_START_ELEM

EC_START_ELEM

EC_STOP_ELEM

EC_STOP_ELEM

ST_CREATE_CONN

ST_CREATE_CONN

ST_CREATE_FB

ST_CREATE_FB

ST_DEL_CONN

ST_DEL_CONN

ST_DEL_FB

ST_DEL_FB

ST_REC_CONN

ST_REC_CONN

ST_SET_PARM

ST_SET_PARM

resources
EMB_RES
segments
Ethernet
utils
E_STOPWATCH

E_STOPWATCH

FB_RANDOM

FB_RANDOM

OUT_ANY_CONSOLE

OUT_ANY_CONSOLE

Indices and tables