u-create studio Systemhandbuch Originalbetriebsanleitung
Dokument Nr.: 2696780000/02/04.2020 Dateiname: u_create_shde.pdf Seitenanzahl: 134 Änderungen im Sinne der technischen Weiterentwicklung vorbehalten. Angaben erfolgen ohne Gewähr. Wir wahren unsere Rechte. Weidmüller Interface GmbH & Co.
Änderungsverzeichnis Änderungsverzeichnis Version Datum Änderung in Kapitel Beschreibung Geändert von 00 06-2019 - Neu erstellt hli, hasl 01 08-2019 Zugriff auf FlashSpeichermedium Aktualisiert hasl 2696780000/02/04.
Systemhandbuch 2696780000/02/04.
Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung .................................................................................................................... 1.1 Zweck des Dokuments..................................................................................... 1.2 Voraussetzungen ............................................................................................. 1.3 Bestimmungsgemäßer Gebrauch .................................................................... 1.
Inhaltsverzeichnis 5 Software Installation .................................................................................................. 5.1 Firmware auf Steuerung installieren ................................................................ 29 29 6 Konfiguration .............................................................................................................. 6.1 Datenaustausch zwischen Steuerung und Visualisierung ............................... 30 30 7 Programmerstellung ........
Inhaltsverzeichnis 11.3 11.4 11.5 11.6 Server Konfiguration ........................................................................................ Generischer Variablenbaum ............................................................................ Erstellen eines Informationsmodells ................................................................ Protokollierung des Serverbetriebs.................................................................. 61 64 65 73 12 Node-RED...............................
Inhaltsverzeichnis 19.2 19.3 19.4 19.5 19.6 19.7 Einfaches Programm erstellen......................................................................... u-create studio-Projekt speichern .................................................................... Firmware auf Gerät laden ................................................................................ Konfiguration der Steuerung ............................................................................ Projekt kompilieren und auf Steuerung laden .
Einleitung 1 1.1 Einleitung Zweck des Dokuments Dieses Dokument beschreibt den Aufbau von u-control. Weiters werden hier die Montage und der Einbau, die Verkabelung und die Bedienung und Anzeigen der Baugruppen beschrieben. Die Installation und Konfiguration wird soweit beschrieben, um ein betriebsfertiges System zu erhalten. "Betriebsfertig" bedeutet, das System bzw. die jeweiligen CPU-Baugruppen sind bereit zum Laden der Kundenapplikation.
Einleitung Zielgruppe Voraussetzung an Wissen und Können Technische Grundausbildung (Fachhochschule, Ingenieur-Ausbildung oder entsprechende Berufserfahrung), Projektierer Kenntnisse über: ● ● ● die Arbeitsweise einer SPS, aktuell gültige Sicherheitsvorschriften, die Applikation. Elektrotechnische Fachausbildung (nach branchenüblichen Ausbildungsrichtlinien).
Einleitung Alle Baugruppen von u-control wurden unter Beachtung der einschlägigen Sicherheitsnormen entwickelt, gefertigt, geprüft und dokumentiert. Bei Beachtung der für den bestimmungsgemäßen Gebrauch beschriebenen Anweisungen und sicherheitstechnischen Hinweise gehen deshalb vom Produkt im Normalfall keine Gefahren in Bezug auf Sachschäden oder für die Gesundheit von Personen aus.
Einleitung 1.6 Einsatzländer und Zulassungen Normen und Prüfwerte, die das Produkt einhält und erfüllt, finden Sie in den Kapiteln "Technische Daten" und "EG-Richtlinien und Normen". Die EGRichtlinien zur Produktkonformität entnehmen Sie bitte der Konformitätserklärung. 12 Systemhandbuch 2696780000/02/04.
Sicherheitshinweise 2 2.1 Sicherheitshinweise Darstellung Im Handbuch finden Sie an verschiedenen Stellen Hinweise und Warnungen vor möglichen Gefahren. Die verwendeten Symbole haben folgende Bedeutung: GEFAHR! bedeutet, dass Tod oder schwere Körperverletzung eintreten werden, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden. WARNUNG! bedeutet, dass Tod oder schwere Körperverletzung eintreten können, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.
Sicherheitshinweise 2.2 Allgemeine Sicherheitshinweise Die Dokumentation enthält die nötige Information zur Planung des Einsatzes von u-create studio in Verbindung mit einer UC20-SL2000-EC oder einer UC20-SL2000-EC-CAN. Die Kenntnis und das einwandfreie Umsetzen der in den Unterlagen enthaltenen Information ist Voraussetzung für die erfolgreiche Planung und für gefahrlose Installation, Inbetriebnahme und Instandhaltung von Automatisierungssystemen.
Sicherheitshinweise 2.4 Sicherheitsanweisung zur Projektierung VORSICHT! ● Die in den weiteren mitgelieferten Handbüchern enthaltenen Anweisungen müssen in jedem Fall genau befolgt werden. Andernfalls können Gefahrenquellen geschaffen oder ins u-create integrierte Schutzbeschaltungen unwirksam gemacht werden. ● Unabhängig von den in diesen Handbüchern gegebenen Sicherheitshinweisen sind die dem jeweiligen Einsatzfall entsprechenden Sicherheits und Unfallverhütungsvorschriften zu beachten.
Systemübersicht 3 Systemübersicht Das Einsatzgebiet von u-control ist die allgemeine Maschinen- und Anlagenautomatisierung. Das System ist modular konzipiert und kann den jeweiligen funktionalen Anforderungen entsprechend aufgebaut werden. Es setzt sich aus folgenden Komponenten zusammen: ● ● Baukasten mit anreihbaren I/O-Baugruppen (u-remote) für verschiedene Anwendungen.
Systemübersicht Information Die in diesem Handbuch abgebildeten Systemkomponenten sind Beispielgrafiken. Die von Ihnen verwendeten Geräte können sich in ihrem Aussehen unterscheiden. Beachten Sie dazu die mitgelieferten Projektierungshandbücher der Geräte. 3.1 Hardware Aufbau Geräte werden entsprechend ihres Signaltyps, z.B. über analoge oder digitale Eingabe- oder Ausgabebaugruppen, über Positionierbaugruppen oder über Schnittstellenbaugruppen, etc. angeschlossen.
Systemübersicht Abb. 3-2: SW-Übersicht Die Steuerungsapplikation wird auf der Steuerung ausgeführt. Weiters stehen Bibliotheken und Schnittstellen zur Verfügung, über die auf die Steuerung programmatisch zugegriffen werden kann. Auf einem PC wird die Toolsuite installiert. Die Programme dienen zum Parametrieren, Programmieren und Diagnostizieren. Die Software der Steuerung basiert auf einem Debian (Linux) Betriebssystem mit speziell zugeschnittenem Umfang.
Systemübersicht Das verwendete Laufzeitsystem auf der Steuerung entspricht dem IEC Standard nach 61131-3. Folgende Themenbereiche werden abgedeckt: ● ● 3.3 IEC-Programmierung: Alle Sprachen C-Programmierung Netzwerkaufbau Die IP-Adresse des Netzwerks wird typischer Weise von einem Netzwerkadministrator vorgegeben. Bei der ersten Inbetriebnahme der Steuerung mit ucreate studio ist die IP-Adressierung der Geräte nicht aufeinander abgestimmt.
Systemübersicht Information Werden mehrere Panels verwendet, müssen für diese unterschiedliche IPAdressen eingestellt werden. Information Um die IP-Adresse eines Panels zu ändern muss sich dieses in einem Netzwerk befinden. Die IP-Adressen aller angehängten I/O-Baugruppen werden im u-create studio mittels EoE-Einstellungen eingestellt (siehe Onlinehilfe). Information Es können maximal 3 Handbediengeräte gleichzeitig verwendet werden.
Systemübersicht Bezeichnung Leistungsdaten ● UC20-SL2000- Dual Core A9, 512 MB RAM, 8 ● EC-CAN GB EMMC ● Schnittstellen u-remote Bus EtherCAT Master CANopen Interface Weitere Informationen entnehmen Sie bitte dem u-control Handbuch oder dem Produktkatalog (Bereich Automatisierung). 3.5 Busse In den folgende Abschnitten werden die vom u-create System unterstützten Busse aufgelistet und näher beschrieben.
Systemübersicht Das Modbus Protokoll ist spezifiziert für serielle Verbindungen (Modbus RTU) und für Ethernet (Modbus TCP). Typische Einsatzgebiete sind Übertragung von Werten bei zeitunkritischen Aufgaben. Die Daten werden über eine vom Slave-Hersteller definierte Modbus-Tabelle in einzelnen Registern (16bit Werte) oder Coils (diskrete 1bit Werte) bereitgestellt. Konfiguration Um mit dem Modbus Server auf der Steuerung kommunizieren zu können, muss dieser in u-create studio konfiguiert werden.
Systemübersicht Die Programmiersprachen u-create studio bietet alle 5 in der EN 61131-3 genormten Programmiersprachen. Jede dieser Sprachen hat bestimmte Eigenschaften, die sich zur Lösung bestimmter Aufgaben besonders gut eignen. Programmiersprache Strukturierter Text Art Textuelle Programmiersprache (ST) Beschreibung Der "Strukturierte Text" kommt den für den PC genutzten Programmiersprachen wie Pascal und C am nächsten.
Systemübersicht u-create studio C++ bietet auch die Möglichkeit die erstellten C bzw. C++ Programme, die auf der Steuerung abgearbeitet werden, debuggen zu können. Dabei läuft ein Debugserver direkt auf der Steuerung, die Bedienoberfläche zum Debuggen befindet sich aber im u-create studio C++. Das u-create System bietet folgende zusätzliche Möglichkeiten der C-Programmierung: ● Zyklische C-Funktionen Ermöglicht es C-Funktionen zu integrieren.
Systemübersicht 3.6.3 u-create studio Scope u-create studio Scope dient zur Beobachtung, Aufzeichnung und Visualisierung der Werte beliebiger Variablen in Software-Komponenten. Dies können Firmwarekomponenten oder Applikationsprogramme sein. Im Unterschied zu einem Debugger ist keine Unterbrechung des Programmablaufs notwendig. Tabellen und Diagramme erlauben die Visualisierung der aufgezeichneten Variablenwerte.
Systemübersicht 3.7.2 u-create studio Bibliotheken Durch die spezifischen Bibliotheken stehen unter anderem folgende Funktionalitäten zur Verfügung: ● ● ● Bausteine zum Zugriff auf das Meldesystem und Variablen in der Steuerung Bausteine zur Buskommunikation Bausteine für Diagnosemöglichkeiten Nähere Informationen siehe Onlinehilfe von u-create studio. 3.7.
Systemübersicht ● ● ● ● ● ● ● device-service.yaml: Ausführen von Grundkommandos der Steue- rung (z.B. Starten, Stoppen, ...) diagnostics.yaml: Erhalten von Diagnoseinformationen (z.B. Statusreport, ...) license-text.yaml: Auslesen der "Open Source" Lizenztexte der Steuerung licensing.yaml: Durchfühen von Lizenzierungen (z.B. Aktivieren von Lizenzen, Lizenzübersicht, ...) report-system.yaml: Anbindung an das Meldesystem (z.B. Fehler auslesen, Fehler quittieren, ...) update-service.
Betriebsverhalten 4 4.1 Betriebsverhalten Hochlauf Der Hochlauf einer CPU gliedert sich in folgende drei Hauptabschnitte: ● ● ● Hochlauf Bootsystem Hochlauf Steuerungsfirmware Hochlauf Applikation Der Hochlauf der Steuerung startet automatisch, sobald die CPU-Baugruppe mit Spannung versorgt wird.
Software Installation 5 Software Installation Information Wurde eine Komponente bereits installiert, unterstützt die automatische Installation keine Neu-Installation dieser Komponente. In diesem Fall muss die jeweilige Komponente mit Hilfe des individuellen Produkt-Setups oder über das Betriebssystem deinstalliert werden. Um die benötigten u-create-Komponenten auf Ihrem PC zu installieren, gehen Sie wie folgt vor: 1) Öffnen des zur Verfügung gestellten Installationsverzeichnisses.
Konfiguration 6 Konfiguration Mit der Konfiguration wird die bei der Hardwaremontage erfolgte Zusammenschaltung der Baugruppen und Module in u-create studio nachgebildet. Grundlage der Steuerungskonfiguration sind die Gerätebeschreibungen. Diese beschreiben die Grundkonfiguration, die vorgibt, welche Parametriermöglichkeiten zur Verfügung stehen. Die Steuerungskonfiguration erlaubt das Anbinden von I/O-Modulen, wie auch von Feldbus-Modulen.
Programmerstellung 7 Programmerstellung Die Steuerung arbeitet nach folgendem Prinzip: "Eingänge lesen, Verarbeitung, Ausgänge schreiben". u-control führt bei der Abarbeitung jeder mit ucreate studio definierten Task folgende Aufgaben aus: ● ● ● Eingänge lesen: Am Anfang des Zyklus werden die Ist-Zustände der Eingänge gelesen und ins Prozessabbild der Eingänge geschrieben. Verarbeitung: Das Anwenderprogramm wird ausgeführt. Der Soll-Zustand der Ausgänge wird in das Prozessabbild kopiert.
Programmerstellung Priorität Linux Priorität IEC 60 7 57 8 54 9 51 10 48 11 46 Reserviert für UOS Task 45 12 42 13 39 14 36 15 Tasks außerhalb des Echtzeitkontextes Diese Tasks laufen im Linux Scheduler "SCHED_OTHER". Priorität Linux 7.2 Priorität IEC 10 ("nice level") 16 - 31 0 ("nice level") Standard Linux Prozesse Schnelle Regelung Die schnelle Regelung wird verwendet, um die Systemreaktionszeit zu vermindern.
Programmerstellung 7.3 Device Service Das DeviceService ist ein Software Dienst, der einzelne Programme auf der Steuerung verwaltet, steuert und überwacht. Das DeviceService kann Informationen (z.B. Fehlermeldungen) der Programme sammeln und weitergeben. Das DeviceService läuft als unabhängiger Prozess und startet automatisch, sobald das Betriebssystem vollständig hochgefahren ist. Jedes Programm, das vom DeviceService verwaltet werden soll, muss auf der Steuerung als DeviceServiceItem definiert werden.
Programmerstellung Kommando Kommandotyp Beschreibung Start Controller Statusübergang Diese Zustandsübergang wird automatisch ausgeführt, sobald das Gerät gestartet wird. Der Zustand wechselt von "OsReady" zu "Run". Stop Controller Statusübergang Der Zustand wechselt zu "OsReady". Start Applications Statusübergang Der Zustand wechselt von "Stop" zu "Run". Stop Applications Statusübergang Der Zustand wechelt von "Run" zu "Stop".
Programmerstellung Abb. 7-6: DeviceService Item Zustandsmodell Zustandsübergänge im Device Service Zustandsmodell werden an alle Device Service Items weitergeleitet. Dadurch können diese alle notwendigen Aktionen ausführen, um das jeweilige Programm in den gewünschten Zustand zu bringen.
Programmerstellung Name Beschreibung name Name des Programms (DeviceServiceItem) variables Globale Variablen des Programms defaultvariables Globale Variablen, deren Standardwerte überschrieben werden können Das System stellt folgende globale Variabeln (defaultvariables) zur Verfügung, deren Standardwerte vom Programm überschrieben werden können: Globale Variable Standardwert Verzeichnis, wo die Steuerungssoftware abgelegt ist.
Programmerstellung return true --Init Controller-elseif transition == "Init Controller" then return true --Exit Controller-elseif transition == "Exit Controller" then return true --Start Applications-elseif transition == "Start Applications" then return true --Stop Applications-elseif transition == "Stop Applications" then return true end return false end , --- DOTRANSITION --------------------------dotransition = function(transition, step) --Init DeviceService if transition == "Init DeviceService" then if
Programmerstellung if step == 1 then elseif step == 2 then elseif step == 3 then elseif step == 4 then elseif step == 5 then elseif step == 6 then elseif step == 7 then elseif step == 8 then elseif step == 9 then elseif step == 10 then end --Stop Applications elseif transition == "Stop Applications" then if step == 1 then elseif step == 2 then elseif step == 3 then elseif step == 4 then elseif step == 5 then elseif step == 6 then elseif step == 7 then elseif step == 8 then elseif step == 9 then elseif step
Programmerstellung Das DeviceService ruft vor jedem Zustandsübergang die Funktion testtransition mit dem gewünschten Zustandsübergang auf. Damit wird geprüft, ob es dem DeviceServiceItem möglich ist, seinen Zustand zu ändern. Die Funktion muss entweder true oder false zurückliefern. Ein anderer Wert ist nicht erlaubt. Danach wird vom DeviceService die Funktion dotransition mit dem durchzuführenden Zustandsübergang und einer Stepnummer aufgerufen.
Lizenzierung 8 Lizenzierung Weidmüller Produkte müssen teilweise lizenziert werden, um den vollen Funktionsumfang nutzen zu können. Standardmäßig werden die Produkte mit einer "Trial-Lizenz" ausgeliefert. Das bedeutet, der komplette Funktionsumfang eines Produktes ist für eine bestimmte, befristete Zeit voll nutzbar. In dieser Zeit muss eine gültige Lizenz bei Weidmüller angefordert werden, um die gekauften Funktionen dauerhaft nutzen zu können. Dazu kontaktieren Sie bitte Weidmüller.
Lizenzierung 8.1.1 Aktivierung einer Trial-Lizenz (Einzelplatzlizenz) Bei Verwendung eines Produktes am PC ist keine Aktivierung der Trial-Lizenz notwendig. Nach der Installation des Produktes ist die Trial-Lizenz automatisch aktiviert und das Produkt kann ab dem Installationszeitpunkt 30 Tage verwendet werden. 8.1.2 Aktivierung einer Trial-Lizenz (Laufzeitlizenz) Bei Verwendung eines Geräts muss die Trial-Lizenz manuell aktiviert werden.
Lizenzierung Online-Aktivierung Hat der PC mit dem installierten, zu lizenzierenden Tool eine Internetverbindung, dann ist eine Online-Aktivierung möglich. Die Aktivierung erfolgt auf diesem PC. Gehen Sie dazu wie folgt vor: 1) Öffnen von "WebDepot" durch Eingabe des Links, der am Lizenz-Ticket angegeben ist, in einem Internet-Browser am PC 2) Eingeben des Ticket-Codes und klicken auf Next. 3) Klicken auf Activate Licenses. 4) Wenn notwendig, selektieren der Lizenz für das gewünschte Produkt.
Lizenzierung 8.3 Aktivierung Laufzeitlizenz (Software am Gerät) Folgende Möglichkeiten zur Aktivierung einer Lizenz am Gerät stehen zur Verfügung: ● Online-Aktivierung über "DevAdmin" Online-Aktivierung über "DevAdmin" Für diese Online-Aktivierung wird ein PC mit Internetverbindung benötigt. Das Gerät, auf dem die zu lizenzierende Software installiert ist, benötigt keine Internetverbindung, muss jedoch über eine Netzwerkverbindung mit dem PC verbunden sein.
Lizenzierung 8.5 Gerätetausch Ist im Servicefall ein Gerätetausch notwendig, kann bei einem PC-Tausch die aktivierte Lizenz wieder freigegeben und danach neu aktiviert werden. Bei einem Gerätetausch ist eine Rückgabe der Lizenz nicht möglich, die Lizenz kann jedoch auf dem neuen Gerät wiederhergestellt werden. Dies ist bis zu 2 x möglich. Danach muss Weidmüller kontaktiert werden. 8.5.
Lizenzierung Die eingegebene Lizenz steht wieder für die Lizenzierung zur Verfügung und kann wie in Kap. "Lizenzierung einer Software am PC" beschrieben verwendet werden. Reaktivierung der Lizenz (Restore) In diesem Fall ist der PC mit aktivierter Lizenz nicht mehr funktionsfähig und eine Rückgabe der Lizenz ist dadurch nicht möglich. Der neue PC verfügt über einen Internetzugang. Um die Lizenz wieder verwenden zu können kontaktieren Sie bitte zuerst den Weidmüller Service.
Lizenzierung 4) Bestätigen des Dialogs mit OK. Die eingegebene Lizenz steht wieder für die Lizenzierung zur Verfügung und kann wie in Kap. "Lizenzierung einer Software auf einem Gerät" beschrieben verwendet werden. 8.6 Zurücksetzen der Lizenzinformationen In bestimmten Fällen ist es notwendig alle Lizenzinformationen eines Geräts zurückzusetzen (z.B. beim Fehlschlagen eines Restores). Die vorher am Gerät verwendete Lizenz wird dadurch ungültig und kann nicht mehr reaktiviert werden.
Device Administration (DevAdmin) 9 Device Administration (DevAdmin) Befindet sich ein PC im Netzwerk der Steuerung, kann darauf durch Öffnen eines Internetbrowsers mit der Adresse http:// der Login-Dialog für die Weboberfläche DevAdmin geöffnet werden. Mit folgenden Login-Daten wird der Benutzer angemeldet: Username: Administrator Password: tobechanged Der DevAdmin besitzt folgende Karteireiter: ● ● ● ● ● ● 9.1 Diag.
Device Administration (DevAdmin) Abb. 9-7: DevAdmin - Diagnostics Bereich "Device Information" Im diesem Bereich werden folgende Informationen über die verwendete Steuerung angezeigt: Information 48 Beschreibung Device Name Bezeichnung der Steuerung Ser.No. Seriennummer der Steuerung Part No. Materialnummer der Steuerung Rev.
Device Administration (DevAdmin) Bereich "Device State" Im diesem Bereich werden folgende Informationen über die verwendete Steuerung angezeigt: Information Device State Beschreibung Status der Steuerung Bereich "Statereport" In diesem Bereich kann mittels Create statereport on device ein Statusreport ausgelöst werden. Dieser wird auf der Steuerung unter /masterdisk/ protocol/statusreport abgelegt. Der Statusreport enthält auch die Diagramme aus der Langzeitaufzeichnung (Karteireiter "Monitor").
Device Administration (DevAdmin) Abb.
Device Administration (DevAdmin) Bereich "Time, Date and Timezone" Im Bereich "Time, Date and Timezone" können folgende Einstellungen durchgeführt werden: Einstellung Beschreibung Time Uhrzeit einstellen Date Datum einstellen Area Region auswählen City/Zone Stadt auswählen Bereich "Long-term Diagnostic Monitor" Im Bereich "Long-term Diagnostic Monitor" kann die Langzeitaufzeichnung von Gerätedaten aktiviert oder deaktiviert werden. 9.
Device Administration (DevAdmin) Einstellung Beschreibung Dropdown-Liste mit verfügbaren und kompatiblen Geräteimages (welche sich auf einem angeschlossenen Wechseldatenträger befinden) Image ● Network settings ● From image: Netzwerkeinstellungen werden vom zu wiederherstellenden Image übernommen From device: Aktuelle Netzwerkeinstellungen des Gerätes werden beibehalten Mittels Start backup wird die Sicherung erstellt und mit Start restore wird mit der Wiederherstellung gestartet.
Device Administration (DevAdmin) Aufbau der Konfigurationsdatei Die Datei config.json enthält folgende Konfigurationseinträge. Eintrag Typ / Wert Beschreibung pluginType iFrame Plugin-Typ iFrame.type file oder link Art der Integration (file: HTML Dateien, link: Server) iFrame.path STRING Bei file: Relative Pfadangabe von index.html ausgehend vom Basisverzeichnis iFrame.url Bei link: URL des Servers STRING iFrame.
Device Administration (DevAdmin) Wird dieser angeklickt, öffnet sich das Fenster, in dem das Passwort für den DevAdmin geändert werden kann. Abb. 9-10: DevAdmin - Change Password In den Feldern werden folgende Daten eingegeben: New password: Neues Passwort Confirm password: Neues Passwort bestätigen Mittels OK wird das neue Passwort übernommen. Mit Cancel kann der Vorgang abgebrochen werden. 54 Systemhandbuch 2696780000/02/04.
Software Units 10 Software Units Innerhalb des Systems ist es möglich, benutzerspezifische Software oder zusätzliche eigenständige Erweiterungen ("Features") als Software Unit zusammenzustellen und im u-create studio als optionales Paket beim Erstellen eines neuen Zielsystems ("Erstelle Target") einzuhängen. Die Software Unit muss für das gewünschte Zielsystem erzeugt werden und im Pfad des Dienstes Software Service als eigenes Verzeichnis abgelegt werden.
Software Units Es wird empfohlen für jedes Repository innerhalb einer Software Unit ein eigenes Verzeichnis im Verzeichnis der Software Unit anzulegen. Die Bezeichnung unter dem Tag wird im "Optionale Pakete" Dialog als Paketname angegeben. Die Beschreibung unter dem Tag wird als Zusatztext darunter angezeigt. Unter dem Tag das installierbare Repository angegeben. Repository Ein Repository muss installierbare Pakete (z.B. *.
Software Units 2696780000/02/04.
OPC UA Server 11 OPC UA Server Der OPC UA Server kann als optionales Softwarepaket (siehe "Software Units") installiert werden. Dieses Kapitel beschreibt die Verwendung des OPC UA Servers auf Weidmüller Steuerungen mit Betriebssystem Linux. OPC Unified Architecture (OPC UA) ist ein Standard zur herstellerunabhängigen Vernetzung von Geräten im Automatisierungsbereich. Damit stehen standardisierte Zugriffsmöglichkeiten auf die Steuerung zur Verfügung. Durch diesen Standard kann jedes Programm (z.B.
OPC UA Server OPC UA Server Pro OPC UA Server Funktionalität OPC UA Server Adv Services laut Tabelle unterhalb: x x x Generischer Variablenbaum: x x x Erstellen eines Informationsmodells: 1 mehrere*) Unterstützung von kundenspezifischen Events und Methoden: 1*) mehrere*) *) Diese Funktionalitäten werden zur Zeit noch nicht unterstützt. Die folgende Tabelle gibt einen Überlick über die vom OPC UA Server unterstützen Dienste (Service Sets).
OPC UA Server opc.tcp://ServerUrl:Port Im Internet stehen freie sowie lizenzpflichtige OPC UA Clients zur Verfügung, mit denen die Funktionalität des OPC UA Servers getestet werden kann. Die vom Discovery-Dienst zurückgelieferten Endpunkt-URLs des OPC UA Servers enthalten immer den Hostnamen der Steuerung. Der OPC UA Client muss den Hostnamen beim Verbinden auf die Server-IP auflösen können (z.B. mittels Host-Datei oder DNS).
OPC UA Server schlüsselungsalgorithmus wird "Basic256Sha256" (Sign, Sign & Encrypt) verwendet. (Weiterführende Literatur über den Zertifikatsmechanismus siehe z.B. OPC Foundation Website.) Folgende Verzeichnisse werden vom OPC UA Server automatisch auf der Steuerung im Verzeichnis /opt/kecontrolapplication/OpcUa/PKI/CA angelegt: Verzeichnis Beschreibung /own Enthält den geheimen Server-Schlüssel und das Server-Zertifikat. /trusted/ certs Enthält alle vertrauenswürdigen Client-Zertifkate.
OPC UA Server Bezeichnung Beschreibung Port Server-Port ApplicationName Applikationsname ApplicationURI Applikations-URI ProductURI Produkt-URI ProductName Produktname ManufacturerName Herstellername ShowVariableTree Anzeige generischer Variablenbaum (1 = aktiviert, 0 = deaktiviert) Beispiel [OpcUa] [OpcUa.Application] Port=4840 ApplicationName="SampleApplicationName" ApplicationURI="SampleApplicationURI" ProductURI="http://www.company.
OPC UA Server Es können weitere Kommunikationskanäle (CommunicationChannel) mit unterschiedlichen Sicherheitseinstellungen hinzugefügt werden. Jede weitere Verbindung wird mit aufsteigender Nummer deklariert. Die Nummer muss eindeutig sein. Für jede Verbindung müssen immer die Einträge Policy und MessageMode gesetzt werden. Konfiguration "Subscription" Für den "Subscription"-Service können die unterstützten Zeitintervalle konfiguiert werden.
OPC UA Server Beim Senden einer Anfrage (CreateMonitoredItem) übergibt der Client ein gewünschtes Aufzeichnungs-Intervall. Der Server überprüft, ob das geforderte Intervall innerhalb der konfigurierten Grenzen liegt. Ist dies nicht der Fall, wird der nähestmögliche Wert vom Server zurückgegeben. Beispiel 1 (Standardkonfiguration) Standardmäßige Aufzeichnungs-Intervalle: 50 ms, 100 ms, 250 ms, 500 ms, 1000 ms, 2500 ms und 5000 ms Der Client fordert ein Intervall von 70 ms.
OPC UA Server tribut AccessLevel). Ob Lese- und Schreiboperationen funktionieren, hängt von der darunterliegenden Datenquelle ab. Freigegebene Systemvariablen der IEC im Verzeichnis APPL unterstützen Lese- und Schreibzugriffe. Bestimmte Systemkonfigurationen können jedoch nicht überschrieben werden. Bei einem unerlaubten Schreibzugriff wird ein entsprechender Fehlercode zurückgegeben. 11.
OPC UA Server Attribut Beschreibung Mit diesem Attribut wird der numerische Index der Namensraum URI vergeben, der innerhalb der XML Datei verwendet wird. Nur der vom OPC UA Standard vordefinierte Namensraum 0, ist ohne explizite XML Konfiguration verwendbar. ns Der numerische Index wird vom OPC UA Server zur Laufzeit neu vergeben. Dieser Index kann über das Objekt "NamespaceArray" ausgelesen werden.
OPC UA Server OPC UA Datentyp IEC Datentyp Knotenpfad SByte SINT 0:Number.0:Integer.0:SByte Byte BYTE, USINT 0:Number.0:UInteger.0:Byte Int16 INT 0:Number.0:Integer.0:Int16 UInt16 WORD, UINT 0:Number.0:UInteger.0:UInt16 Int32 DINT 0:Number.0:Integer.0:Int32 UInt32 DWORD, UDINT 0:Number.0:UInteger.0:UInt32 Int64 LINT 0:Number.0:Integer.0:Int64 UInt64 LWORD, ULINT 0:Number.0:UInteger.0:UInt64 Float REAL 0:Number.0:Float Double LREAL 0:Number.
OPC UA Server Für die Objektinstanzierung wird der XML Eintrag Object, für Variablen der XML Eintrag Variable verwendet. Folgende Attribute müssen für beide Tags angegeben werden: ● ● ● ● DataType NodeId BrowseName DisplayName Die Beschreibung der Knoten-ID (NodeId) setzt sich immer aus einem Namensraumindex und der Angabe eines Identifizieres zusammen. Die Identifzierer müssen numerisch (i=xx) angegeben werden.
OPC UA Server Anstelle eines Variablenpfads können auch Konstanten, die in der XML Datei definiert sind, verknüpft werden. Dabei werden alle oben angegebenen Datentypen, außer DateTime, unterstützt. In folgendem Beispiel wird eine OPC UA Variable vom Typ Boolean instanziert und der Wert mit einer Konstanten verknüpft: PAGE 70OPC UA Server MyNamespace
OPC UA Server 11.6 Protokollierung des Serverbetriebs Der OPC UA Server protokolliert Informationen und Fehler über den Hochlauf und die Ausführung zur Laufzeit. Diese Informationen werden entweder in die allgemeine Protokollierung der Steuerung integriert und somit im Trace-Monitor (im u-create studio) angezeigt oder vom Server als eigene Datei verwaltet. Diese Datei wird auf der Steuerung im Verzeichnis /opt/ kecontrol/protocol/OpcUa/ abgelegt.
Node-RED 12 Node-RED Node-RED kann als optionales Softwarepaket (siehe Software Units) installiert werden. Es ist ein von IBM entwickeltes grafisches Entwicklungswerkzeug. Damit können Funktionsbausteine, sogenannte "Nodes", durch Ziehen von Verbindungen in einer gewissen Reihenfolge aneinander gereiht werden. Jeder Funktionsbaustein hat eine festgelegte Aufgabe. Es können Daten verarbeitet und zwischen den Funktionsbausteinen übermittelt werden.
LongtermDiagnosticMonitor 13 LongtermDiagnosticMonitor Der LongtermDiagnosticMonitor kann als optionales Softwarepaket (siehe Software Units) installiert werden und bietet die Möglichkeit einer Langzeitaufzeichnung von Daten auf der Steuerung. Über den "Monitor" im DevAdmin (Karteireiter Plugins) können die Daten angezeigt werden. 13.1 Monitor Die Anzeige ist in folgende Bereiche unterteilt: ● ● ● Problems Groups Categories Abb.
LongtermDiagnosticMonitor Neben der Kategorie kann über den entsprechenden Buchstaben d w m y die Tagesübersicht d, Wochenübersicht w, Monatsübersicht m oder Jahresübersicht y aufgerufen werden. Durch Klicken auf ein Diagramm öffnet sich ein Überblick mit 4 Diagrammen bestehend aus der Tages-, Wochen-, Monats- und Jahresübersicht. Folgende Diagramme können angezeigt werden: Kategorie Diagramm Average latency for /dev/ sda Durchschnittliche Wartezeit (Latenz) für Zugriffe auf das Verzeichnis /dev/sda.
LongtermDiagnosticMonitor Kategorie Diagramm Beschreibung CPU utilization Gesamtauslastung der CPU pro Kern [in Prozent] Disk lifetime Verbleibende Lebensdauer des Flash-Speichers [in Prozent] Disk space Belegter und freier Speicherplatz auf dem FlashSpeicher [in MB] PLC baselib heap memory Belegter und freier Speicherplatz auf dem “Basestatistics Lib Heap-Speicher” [in MB] overview processes system 2696780000/02/04.
Datenrekorder 14 Datenrekorder Über den Datenrekorder können Variablenwerte auf der Steuerung zu Laufzeit aufgezeichnet werden. Über folgende Schnittstellen ist ein Zugriff auf den Datenrekorder möglich: ● ● Bibliothek "KREC" für IEC-Applikationen (Echtzeit-Zugriffe) im u-create studio Schnittstelle "DataRecApi " für C-Applikationen Weiterführende Informationen siehe Onlinehilfe u-create studio. Ein Datenrekorder muss zuerst von der Applikation angelegt und konfiguriert werden. Dies ist z.B.
Datenrekorder Pufferkapazität Die Pufferkapazität definiert die maximale Anzahl von gespeicherten Variablenwerten mit Zeitstempel, die ein Profil speichern kann. Der Aufzeichnungsvorgang liest die Werte aller angemeldeten Variablen aus und schreibt diese zusammen mit einem Zeitstempel in den Puffer des Profils. Diesen Datensatz (Variablenwert mit Zeitstempel) nennt man "Sample". Die Pufferkapazität multipliziert mit der maximalen Variablenanzahl bestimmt den Speicherbedarf eines Profils.
Datenrekorder ● ● ● 14.2 Bei der Speicherung des Profilzustands können abhängig von der Profilgröße große Datenmengen anfallen. Speichert die Applikation den Zustand zyklisch in kurzen Abständen, kann dies die Lebensdauer des nicht flüchtigen Speichers deutlich reduzieren. Nachdem die Applikation die Speicherung der Zustände selbst steuert, ist hier ein sinnvoller Kompromiss zu suchen.
Datenrekorder Information Das Zusammenwirken dieses Tasks mit übrigen Applikationstasks muss berücksichtigt werden. Lassen die Zeitstempel der Daten z.B. unerwünschten Jitter erkennen, ist die getroffene Konfiguration zu ändern. Weiters sollte die Priorität nicht zu hoch, der Abstand nicht zu kurz und die Datenmenge nicht zu groß sein, um eine Blockierung echtzeitkritischer Tasks zu vermeiden.
Datenrekorder Anzahlbegrenzungen Für manche Anwendungen ist es relevant, dass Aufzeichnungen nicht endlos laufen, sondern nach einer definierten Anzahl an Aufzeichnungen automatisch gestoppt werden. Weiters kann es sinnvoll sein, die Aufzeichnung nicht sofort nach dem Starten zu beginnen, sondern erst nach einer bestimmten Zeitspanne (insbesondere, wenn ein Trigger den Start auslöst und relevante Daten erst eine Weile nach dem Trigger vorliegen).
Datenrekorder 1 ... Aufzeichnungsstart 2 ... Start-Trigger 3 ... Aufzeichnungsstopp 4 ... Nachlauf Information Für die Bemessung der Nachlaufkapazität in Prozent ist zu beachten, dass die Pufferkapazität im Falle des Puffertyps "Continuous" systemintern auf die nächste Zweierpotenz aufgerundet wird (z.B. 4000 wird auf 4096 aufgerundet). Die Prozent wirken auf den aufgerundeten Wert.
Datenrekorder ● Nachlauf setzt Anzahlbegrenzung außer Kraft Wirksamkeit von Einstellungen Alle mit Set- und Remove-Funktionen durchgeführten Einstellungen werden stets beim nachfolgenden Starten einer Aufzeichnung wirksam. Laufende Aufzeichnungen werden durch Set- und Remove-Aufrufe nicht unmittelbar beeinflusst. Ausnahmen sind das An- und Abmelden von Variablen.
Datenrekorder Neben den gelieferten Lesepositionen werden für erstmaliges Lesen reservierte Positionen für die ältesten und neuesten Samples angeboten. Beispiel Startposition: Ältestes Sample 1 ... Pufferstart 2 ... Anzahl 3 ... Schreibposition Beispiel Startposition: Neuestes Sample 1 ... Pufferstart 2 ... Anzahl 3 ... Schreibposition Im Zusammenhang mit dem Puffertyp "Continuous" ist die Gültigkeit einer Leseposition begrenzt.
Datenrekorder Zu diesem Zweck kann ein Datenzeiger registriert werden, welche am Ende einer Einzelaufzeichnung aufgerufen wird und als Argumente das Ergebnis der Aufzeichnung sowie den Datenzeiger aus der Anmeldung erhält. Zur Aufzeichnung gehören folgende Informationen: ● ● ● Zeitstempel des Samples Aufzeichnungsposition Liste der gespeicherten Variablen-Samples bestehend aus Variablen-ID und –wert Alle Informationen stehen nur lesend zur Verfügung.
Datenrekorder max. Pufferkapazität max. Variablenanzahl 131.072 4 65.536 8 32.768 16 16.384 32 8.192 64 4.096 128 2.048 256 Beispiel An Profilen mit zwischen 32.769 und 65.536 Samples lassen sich max. 8 Variablen zur Aufzeichnung anmelden. Profile mit Puffertyp SingleShot max. Pufferkapazität max. Variablenanzahl 1.048.576 254 1.042.453 256 An Profilen mit max. Kapazität 1.048.576 lassen sich max. 254 Variablen zur Aufzeichnung anmelden.
Datenrekorder #include #include #include #include #include "TestDataRecApp.h" #include "MemApi.h" #include "LogApi.h" #include "DataRecApi.
Datenrekorder Information Wird für ein Profil manuelle Aufzeichnung gewählt, ist zu beachten, dass Aufrufe von DataRecApiSampleValues nicht nur zur Datenaufzeichnung notwendig sind, sondern auch für Zustandsüberführungen im Profil. Bei automatischer Aufzeichnung erfolgen die Aufrufe und damit verbundene Zustandsüberführungen durch den konfigurierten Task. Bei manueller Aufzeichnung muss dies in der Applikation realisiert werden. So umfasst ein Aufruf von DataRecApiSampleValues z.B.
Datenrekorder Trigger lassen sich mit DataRecApiSetTrigger einstellen und mit DataRecApiRemoveTrigger wieder aufheben. Sonderfall im Modus änderungsbasierte Aufzeichnung mit einer überwachten Variablen: Für die Anzahl der zu speichernden Aufzeichnungen zählt nicht die bloße Anzahl von Aufrufen von DataRecApiSampleValues, da nicht jeder Aufruf eine Speicherung zur Folge haben muss. Sondern es zählen nur die tatsächlich aufzeichnenden Aufrufe der Funktion.
Datenrekorder snprintf(varPath, sizeof varPath, "APPL.MEM.
Datenrekorder ctx.affinity = -1; rc = DataRecApiSetRecContext(sP1Id, &ctx); ReturnIfNot(rc == DataRecApiResultOk); cnt.startDelayCnt = 200; cnt.
Datenrekorder gezeichnet. Nach gestoppter Aufzeichnung ergibt sich die Anzahl der Samples aus der Differenz der Trigger-Positionen + 1, da die Stopp- Position die Position des letzten Samples angibt.
Datenrekorder rc = DataRecApiSetTrigger(sP1Id, &trig); ReturnIfNot(rc == DataRecApiResultOk); } / ****************************************************************************/ void ModuleExit() { MemApiRemoveVar(scVarNameAct); MemApiRemoveVar(scVarNamePres); MemApiRemoveVar(scVarNameTemp); MemApiExit(); LogApiTrace(traceid, "TestDataRecApp unloaded"); LogApiRemoveId(traceid); } / ****************************************************************************/ void ModuleStart() { DataRecApiResult rc; LogApiTr
Datenrekorder Ebenfalls im Zuge der Initialisierung erfolgt das Anlegen eines Applikationstasks, welcher das Profil alle 10 Sekunden komplett persistiert. Die Funktion StartRecording veranlasst den Start des Task, die Funktion StopRecording lässt den Task terminieren.
Datenrekorder ReturnIfNot(rc == DataRecApiResultOk); } / ****************************************************************************/ static void ExitRecording() { if (sStarted) { while (!sTerminated) { LogApiTrace(traceid, "waiting for LowPriorTask to terminate...
Datenrekorder enum { cSaveStatePeriodSecs = 10 }; int cnt = cSaveStatePeriodSecs; DataRecApiResult rc; while (sRun) { sleep(1/*secs*/); if (--cnt == 0) { rc = DataRecApiSaveState(sP1Id); cnt = cSaveStatePeriodSecs; } } sTerminated = 1; } Information Mit der Erzeugung freilaufender Tasks mittels CreateTask übernimmt die Applikation Mitverantwortung für die Systemstabilität.
Datenrekorder } } pSample = (DataRecApiSample *)&pSample->varSamples[maxVarCnt]; } free(pBuf); } Beispielaufruf PrintSamples(5, DataRecApiPosNewest, 1000); Hilfsfunktionen zur Formatierung von Zeitstempeln und einfachen Ermittlung von Variablennamen: static const char *TimeStamp2DateStr(uint64_t timeStamp) { static char sDateStr[80]; time_t secs, usecs; struct tm *p; /* seconds and μs since 1970-01-01 */ secs = (int)(timeStamp / 1000000); usecs = (int)(timeStamp % 1000000); p = localtime(&secs); if (p !=
Diagnose 15 Diagnose In diesem Kapitel werden die Diagnosemöglichkeiten von u-create beschrieben. Je nach Lieferumfang können nicht alle Diagnosemöglichkeiten zur Verfügung stehen. 15.1 Steuerungsdiagnose Die Anzeige von Fehlern im Betrieb oder von Betriebszuständen erfolgt über die LEDs auf der CPU-Baugruppe.
Diagnose 15.2 Diagnosedaten für Weidmüller Wenn Sie ein Problem mit dem u-create System haben, bei dem Sie Unterstützung von Weidmüller benötigen, sammeln Sie bitte von ihrem System folgende Informationen und schicken Sie diese an Weidmüller. 15.2.1 Statusreport Um die Zustandsdaten der Steuerung abzuziehen benutzen Sie bitte die Funktion des Statusreports. Dieser kann folgendermaßen ausgelöst werden.
Diagnose SSH-Schlüssel Aus Sicherheitsgründen ist es notwendig, das SSH-Schlüsselpaar (Privateund Public-Schlüssel) zu ändern. Ändern des SSH-Schlüsselpaares Zum Generieren eines neuen SSH-Schlüsselpaares wird ein spezielles Programm benötigt. Dieses kann im Internet heruntergeladen werden, wobei das Programm "PuTTYgen" empfohlen wird. Benutzer "service" Um einen neuen SSH-Schlüssel unter Verwendung von "PuTTYgen" zu ändern, gehen Sie wie folgt vor: 1) Starten von "PuTTYgen" am PC. Abb.
Diagnose 7) Kopieren des Textes in die Datei authorized_key.ppk. 8) Speichern und schließen der Datei. Das SSH-Schlüsselpaar wurde generiert. Der Public-Schlüssel muss danach auf die Steuerung übertragen werden. Zum Übertragen des Public-Schlüssels für den Benutzer "service" gehen Sie wie folgt vor: 1) Starten des FTP-Programms und Verbinden auf die Steuerung. 2) Wechseln in das Verzeichnis ssh-key und Download der Datei authorized_key.
Diagnose Abb. 15-15: PuTTYgen 2) Auswahl des Typs "SSH-2 RSA" (standardmäßig ausgewählt) im unteren Bereich des Dialogs. 3) Generieren der Schlüssel mittels "Generate". 4) Speichern des Private-Schlüssel mittels "Save private key" unter [dateiname]_key.ppk in ein Verzeichnis am PC. 5) Anlegen einer neuen Textdatei admin.ppk in einem Verzeichnis am PC.
Diagnose 3) Kopieren der Datei admin.ppk in folgende Verzeichnisse: SystemSoftware\KeStudioFlexCorePLC_[version]\dsx86genkeb_[version]\config\key SystemSoftware\KeStudio FlexCorePLC_[version]\dsx86genkebuefi_[version]\config\key SystemSoftware\KeStudio FlexCorePLC_[version]\dsx86ap5keb_[version]\config\key SystemSoftware\KeStudioFlexCorePLC_[version]\dsarmxilinxkebwm_[version]\config\key Der neue Public-Schlüssel ist nun abgelegt und wird automatisch beim nächsten Ausführen von "Create Target" (über u-cre
Diagnose 5) Klicken auf "Treiber aktualisieren" 6) Klicken auf "Auf dem Computer nach Treibersoftware suchen" im nachfolgenden Dialog. 7) Klicken auf "Aus einer Liste verfügbarer Treiber auf meinem Computer auswählen" im nachfolgenden Dialog. 8) Klicken auf "Datenträger..." und auswählen der zuvor am PC gespeicherten *.inf-Datei. 9) Auswählen des Treibers. 10) Klicken auf "Weiter". 2696780000/02/04.
Diagnose Information Der USB-Schnittstelle wird automatisch die IP-Adresse 192.168.227.1 zugewiesen. 11) Schließen des Dialogs. Der Ethernet-Adapter scheint nun in den Netzwerkeinstellungen auf und ein Verbinden der Steuerung über die IP-Adresse ist möglich. 106 Systemhandbuch 2696780000/02/04.
Instandhaltung 16 Instandhaltung Unter Instandhaltung des Systems fallen folgende Punkte: ● ● ● Durchführen eines Systembackups bzw. -restores.
Instandhaltung 16.1.1 Firmware-Update für Geräte Dieses Kapitel beschreibt die Erstellung eines Speichermediums zum Durchführen eines Firmware-Updates der Steuerung. Um ein Firmware-Update auf einem Speichermedium zu erstellen, gehen Sie wie folgt vor: 1) Starten des Firmware-Update-Tools durch Doppelklick auf "u-create FirmwareUpdate.exe". 2) Nachfolgenden Dialog mit "Next" bestätigen. 3) Auswahl des gewünschten Geräts aus der Liste "devices".
Instandhaltung traceWord ... 0: keine Protokollierung der Durchführung des Firmware-Updates. -1: Protokollierung der Durchführung des Firmware-Updates im Systemtrace. Drücken von "Next". 9) Mittels "Install" wird das Speichermedium erstellt. Information Das Speichermedium darf nie während des Schreibvorgangs entfernt werden! 10) Beenden des Firmware-Update-Tools mit "Finish". Information Es wird empfohlen, vor dem Entfernen des Speichermediums unter Windows immer "Gerät auswerfen" durchzuführen.
Technische Daten 17 Technische Daten Detaillierte Angaben zu den technischen Daten entnehmen Sie bitte den jeweiligen Projektierungshandbüchern. 110 Systemhandbuch 2696780000/02/04.
Richtlinien und Normen 18 Richtlinien und Normen Die Angaben zu den eingehaltenen Richtlinien und Normen finden Sie in den jeweiligen Projektierungshandbüchern. 2696780000/02/04.
Anhang: Tutorial - IEC-Projekt erstellen 19 Anhang: Tutorial - IEC-Projekt erstellen In diesem Tutorial wird Schritt für Schritt beschrieben, wie ein u-create studio-Projekt erzeugt und programmiert wird. Anschließend wird gezeigt, wie das Projekt auf eine Steuerung geladen und dort ausgeführt wird. 19.1 Neues Projekt anlegen Starten Sie u-create studio und rufen Sie aus dem Hauptmenü den Befehl Datei > Neues Projekt auf. Abb.
Anhang: Tutorial - IEC-Projekt erstellen Abb. 19-17: Neues Projekt anlegen u-create studio legt automatisch das Projekt in dem angegebenen Verzeichnis an und vergibt als Datei-Erweiterung den Zusatz ".project". Das leere Projekt wird geöffnet und es kann ein Zielsystem in den Projektbaum eingefügt werden. Dazu wird das Kontextmenü des Projekts im Projektbaum geöffnet und auf "Gerät anhängen..." geklickt. Es öffnet sich ein Dialog zum Auswählen einer Steuerung.
Anhang: Tutorial - IEC-Projekt erstellen Abb. 19-18: POU hinzufügen Es öffnet sich ein Dialog, in dem der Name, der Typ und die Implementationssprache des POUs eingestellt werden können. In diesem Beispiel wird für den Baustein der Name "myProg", der Typ "Programm" und die Sprache ST (Structured Text) verwendet: Abb. 19-19: POU Einstellungen 114 Systemhandbuch 2696780000/02/04.
Anhang: Tutorial - IEC-Projekt erstellen Nachdem die Einstellungen getroffen wurden, wird der POU mittels "Hinzufügen" unter dem Knoten Application eingefügt und der Programmiereditor automatisch im Arbeitsbereich geöffnet und ist bereit für weitere Programmierung. Abb. 19-20: Programmiereditor des POUs 19.2 Einfaches Programm erstellen Der neu angelegte POU wird nun durch Programmierung erweitert: Es soll eine numerische Variable angelegt werden, die ihren Wert zyklisch verändert.
Anhang: Tutorial - IEC-Projekt erstellen Abb. 19-21: Der Dialog "Variablendeklaration" hilft beim Anlegen einer Variablen Geben Sie den Namen und den Datentyp der Variable ein. Falls Ihnen die in u-create studio verfügbaren Datentypen noch nicht bekannt sind, können Sie mit der an das Eingabefeld "Typ" angrenzenden Schaltfläche ">" und dann über "Eingabehilfe" einen Eingabe-Assistenten öffnen und dort den gewünschten Datentyp auswählen: Abb.
Anhang: Tutorial - IEC-Projekt erstellen Der fertige Code sieht im u-create studio-Editor wie folgt aus: Abb. 19-24: Einfaches Programm in u-create studio Nach dem Erstellen des Programmes muss ein Task angelegt werden, in dem der Programmbaustein abgearbeitet werden soll. Dazu wird mit der rechten Maustaste auf Application im Projektbaum geklickt und Objekt hinzufügen > Taskkonfiguration... gewählt. Es öffnet sich ein Dialog durch den ein Knoten für mehrere Tasks im Projektbaum angelegt werden kann.
Anhang: Tutorial - IEC-Projekt erstellen Abb. 19-26: POU an Task hängen Der an den Task angehängte POU wird im Projektbaum unter dem Knoten Application > Taskkonfiguration > Task hinzugefügt. Außerdem kann für den Task ein Watchdog konfiguriert werden, nach dessen Ablauf der Task beendet werden soll. Zusätzlich kann die Empfindlichkeit des Watchdogs eingestellt werden. 19.
Anhang: Tutorial - IEC-Projekt erstellen Um die Firmware für den Wechseldatenträger zu erstellen, muss dieser zuerst am PC angesteckt werden. Danach wird im Kontextmenü des Geräts im Projektbaum Erstelle Target gewählt. Folgender Dialog öffnet sich: Abb. 19-27: Dialog - Erstelle Target Name Beschreibung Name: Name der Steuerung bzw. des aktiven stationären Bediengeräts Beschreibung: Individuelle Beschreibung Auswahl des Wechseldatenträgers oder eines beliebigen Verzeichnisses.
Anhang: Tutorial - IEC-Projekt erstellen Name Beschreibung IP-Adresse: IP-Adresse der Steuerung bzw. des aktiven stationären Bediengeräts Subnet-Maske: Subnetzmaske Default gateway: Gateway Mittels Optionale Pakete können zusätzliche Softwarekomponenten ausgewählt werden (z. B. OPC-UA). Durch Setzen des Häckchens beim gewünschten Paket und OK wird dieses auf dem Wechseldatenträger gespeichert und steht zur Installation zur Verfügung.
Anhang: Tutorial - IEC-Projekt erstellen 1) Gerät stromlos setzen 2) Frontklappe öffnen 3) SD Karte einstecken Um die vorbereitete Firmware auf dem Wechseldatenträger auf einem Gerät ohne Display zu installieren gehen Sie wie folgt vor: 1) 2) 3) 4) Das Gerät stromlos setzen Anstecken des vorbereiteten Wechseldatenträger ins Gerät Durchführen eines Neustarts des Geräts.
Anhang: Tutorial - IEC-Projekt erstellen Abb. 19-28: Kommunikationseinstellungen Durch Klicken auf Scan im oberen Bereich des Fensters werden alle im Netzwerk verfügbaren Steuerungen angezeigt. Wählen Sie die für Ihr Projekt vorgesehene Steuerung aus und drücken Sie auf die Schaltfläche "Aktiv setzen". Damit wird der Status der Steuerung im Projektbaum auf "RUN" gesetzt und die Steuerung wird grün hinterlegt.
Anhang: Tutorial - IEC-Projekt erstellen Abb. 19-30: Auswahl der Daten, die auf die Steuerung geladen werden Wird eine neue Konfiguration auf die Steuerung geladen, muss die Steuerung neu gestartet werden. Dazu erscheint nach dem Download der Konfiguration ein Dialog. Wird dieser bestätigt, wurde nur die Konfiguration auf die Steuerung geladen und die Steuerung führt einen Neustart aus. Danach kann der Download der weiteren Softwarekomponenten erfolgen.
Anhang: Tutorial - IEC-Projekt erstellen Abb. 19-31: Gestartetes Beispiel-Projekt 124 Systemhandbuch 2696780000/02/04.
Anhang: Adressierung im Ethernet (Grundlagen) 20 Anhang: Adressierung im Ethernet (Grundlagen) Durch die Trennung in physikalische und logische Protokollschichten (Ethernet und TCP/IP) existieren in einem Netzwerk zwei Adresstypen: ● ● eine feste Ethernet-Adresse (MAC-ID) für jedes Gerät und eine IP-Adresse, die jedem Gerät im Netzwerk vergeben wird. Von der Anwendung werden Daten immer an eine IP-Adresse gesendet oder von dort empfangen.
Anhang: Adressierung im Ethernet (Grundlagen) Netzklasse C Netzmaske 255.255.255.0 Beschreibung Kleines Netzwerk mit maximal 254 Teilnehmern Beispiel: In einem kleinen Netzwerk mit der Netzmaske 255.255.255.0 ist bei der IP-Adresse 192.168.181.1 die Net-ID 192.168.181 und die Host-ID ist 1. Wird (in einem anderen, mittelgroßen Netzwerk) die Netzmaske 255.255.0.0 eingestellt, dann ist bei der IP-Adresse 192.169.100.1 die NetID 192.169 und die Host-ID ist 100.1.
Anhang: Tutorial FoE 21 Anhang: Tutorial FoE Der Zugriff über FoE auf ein Gerät (z.B. um Dateien auf das Gerät zu laden) muss programmatisch über die Applikation gelöst werden. In diesem Kapitel wird als Beispiel über FoE ein Firmwareupdate auf einem UC20 Buskoppler ausgeführt. Der Ablauf des Firmwareupdates wird im Meldungsmonitor ausgegeben.
Anhang: Tutorial FoE SlaveState = IoEcat_State.Bootstrap THEN msState:= 'Bootstrap entered'; KSys_TraceUOS(ADR(msState)); miState:= 11; END_IF 11: //Download Datei dir:= IoEcat_FileDirection.download; slavedir:= ''; masterdir:= CONCAT(msFileDir,msFileName); state := K_IoApi.IoApi_EcatFileTransfer(devHdl:= mDevHandle, direction:= dir, slaveFileName:= slavedir, masterFileName:= masterdir, password:= pass, errorCode:= err); IF state = IoApi_State.
Anhang: Tutorial - C-Funktionen aus der IEC aufrufen 22 Anhang: Tutorial - C-Funktionen aus der IEC aufrufen Das u-create System bietet die Möglichkeit, im u-create studio C++ erstellte C-Funktionen in der IEC aufzurufen. Dazu existiert im u-create studio C++ ein Template mit einer vordefinierten Schnittstelle zum Datenaustausch. Es wird empfohlen, in der IEC eine eigene Funktion zu erstellen, die sich um einen Aufruf der C-Funktion mit der korrekten Datenübergabe kümmert.
Anhang: Tutorial - C-Funktionen aus der IEC aufrufen ● Der Rückgabewert der C-Funktion soll das doppelte der Variable des Typs DWORD betragen Die geänderten Werte der Variablen sollen danach wieder in der IEC-Applikation zur Verfügung stehen. Dazu sind folgende Schritte notwendig: ● ● ● 22.
Anhang: Tutorial - C-Funktionen aus der IEC aufrufen In der Struktur struct func1_Instance wird die globale Variable der IECFunktion abgebildet. Dazu wird der darin existierende Code durch Folgenden ersetzt: struct func1_Instance { int32_t *inst_global; }; Zusätzlich müssen noch die beiden Dateien stdio.h und string.h inkludiert werden. Um die C-Funktion zu erstellen wird im Projektbaum unter myIEC_C_Call ► src die Datei MyIEC_C_Call.c im Arbeitsbereich geöffnet.
Anhang: Tutorial - C-Funktionen aus der IEC aufrufen 22.4 Aufruf der IEC-Funktion in der IEC-Applikation und Download In der IEC-Applikation kann nun die erstellte IEC-Funktion verwendet werden. Dazu wird im u-create studio ein Programm (z.B.
Index Index C I C-Funktionen ......................................... 129 IP-Adresse............................................... 19 D K DevAdmin Konfiguration Backup................................................ 51 Categories .......................................... 75 Crashreport ......................................... 49 Steuerung ......................................... 121 M Modbus TCP/IP ....................................... 21 Date ............................................
Index 134 Systemhandbuch 2696780000/02/04.