1. Schritte - SysMik GmbH
1. Schritte - SysMik GmbH
1. Schritte - SysMik GmbH
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Erste <strong>Schritte</strong> mit<br />
Sedona <strong>1.</strong>2<br />
Softwarebeschreibung<br />
Revision 1
Haftungsausschluss / Impressum<br />
Diese Beschreibung unterstützt Sie beim Einsatz des Gerätes. Das Dokument wurde<br />
anhand der beschriebenen Hard- und Software sorgfältig geprüft, eventuelle Abweichungen<br />
sind jedoch nicht auszuschließen. Für mögliche Fehler in dieser Beschreibung oder in der<br />
Software selbst wird keine Haftung übernommen. Änderungen der Geräte sowie der<br />
zugehörigen Dokumente bleiben vorbehalten. Alle Angaben im Dokument werden einer<br />
regelmäßigen Prüfung unterzogen und notwendige Korrekturen in die nachfolgenden<br />
Auflagen eingearbeitet.<br />
Für Kritik und Anregungen sind wir Ihnen dankbar. Nähere Informationen, wie<br />
weiterführende Beschreibungen, Ausschreibungstexte zu Geräten und über verfügbare<br />
Software, finden Sie im Internet unter www.sysmik.de. Auf Wunsch senden wir Ihnen diese<br />
gern zu.<br />
Die Garantie für das Gerät erlischt bei unsachgemäßer Handhabung, bei Gerätedemontage<br />
sowie bei Verwendung von nicht durch <strong>SysMik</strong> für dieses Gerät freigegebener Software.<br />
Inbetriebsetzung und der Betrieb des Gerätes darf nur unter Beachtung der gültigen<br />
Sicherheitsbestimmungen und durch qualifiziertes Personal vorgenommen werden.<br />
<strong>SysMik</strong> ® und das <strong>SysMik</strong>-Logo sind eingetragene Warenzeichen der <strong>SysMik</strong> <strong>GmbH</strong> Dresden. IPOCS<br />
ist ein Warenzeichen der <strong>SysMik</strong> <strong>GmbH</strong> Dresden. "Networking Together!" © unterliegt dem Copyright<br />
der <strong>SysMik</strong> <strong>GmbH</strong> Dresden.<br />
Tridium ® , JACE ® , Niagara Framework ® , Niagara AX® und Sedona ® sind eingetragene Marken;<br />
WorkPlace AX und Supervisor AX sind Marken von Tridium Inc. – registriert in den USA und weiteren<br />
Ländern.<br />
Alle anderen in dieser Anleitung gebrauchten Warenzeichen sind eingetragener Besitz der jeweiligen<br />
Eigentümer. Diese und weitere Warenzeichen sind im Text verwendet, werden jedoch im Interesse der<br />
Lesbarkeit im Weiteren nicht eigens gekennzeichnet.<br />
Die Vervielfältigung, Weitergabe dieses Dokumentes, sowie die Verwertung und Mitteilung des Inhaltes<br />
ist nur mit Einverständnis der <strong>SysMik</strong> <strong>GmbH</strong> Dresden gestattet.<br />
Copyright © 2013 by <strong>SysMik</strong> <strong>GmbH</strong> Dresden<br />
<strong>SysMik</strong> <strong>GmbH</strong> Dresden Tel + 49 (0) 351 - 4 33 58 - 0<br />
Bertolt-Brecht-Allee 24 Fax + 49 (0) 351 - 4 33 58 - 29<br />
01309 Dresden E-Mail (Verkauf) sales@sysmik.de<br />
E-Mail (Support) service@sysmik.de<br />
Germany Homepage http://www.sysmik.de<br />
2 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Inhalt<br />
Inhalt<br />
1 Sedona Framework 5<br />
<strong>1.</strong>1 Motivation 5<br />
<strong>1.</strong><strong>1.</strong>1 Ausgangspunkt 5<br />
<strong>1.</strong><strong>1.</strong>2 Die Herausforderung 5<br />
<strong>1.</strong><strong>1.</strong>3 Die Antwort 6<br />
<strong>1.</strong>2 Bestandteile 7<br />
<strong>1.</strong>3 Installation 7<br />
<strong>1.</strong>4 Lizenzierung 9<br />
2 Sedona-Engineering mit WorkPlace AX 10<br />
2.1 Sedona Manifeste 10<br />
2.2 Verbindung zum Sedona-Controller 10<br />
2.2.1 Direktverbindung 10<br />
2.2.2 Sox Gateway 11<br />
2.3 Sedona-Tools 11<br />
2.3.1 Backup/Restore Tool 11<br />
2.3.2 Application Manager 12<br />
2.3.3 Kit Manager 13<br />
2.4 Programmierumgebung 13<br />
2.4.1 App 13<br />
2.4.2 Sedona Palette 15<br />
2.4.3 Views 16<br />
2.5 Programmierung 17<br />
2.5.1 Komponenten zur Applikation hinzufügen 17<br />
2.5.2 Komponenten parametrieren 18<br />
2.5.3 Komponenten verbinden 19<br />
2.6 Optimierung 20<br />
2.6.1 Abarbeitungsreihenfolge 20<br />
2.6.2 Zykluszeit 21<br />
2.7 Sicherheit 21<br />
2.7.1 Konfiguration 21<br />
2.7.2 Ratschläge 23<br />
3 Integration von Sedona-Controllern in Niagara AX 24<br />
3.1 Sedona Network 24<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 3
Inhalt<br />
3.2 Sedona-Gerät 26<br />
3.3 Sedona Points 27<br />
3.4 Zentralmanagement 29<br />
3.4.1 Zentrales Nutzermanagement 29<br />
3.4.2 Zentrale Zeitsynchronisierung 29<br />
4 Offline Engineering 30<br />
4.1 Offline Applikationsprogrammierung 30<br />
4.<strong>1.</strong>1 Applikationsdatei erzeugen 30<br />
4.<strong>1.</strong>2 SVM auf dem Engineering-PC starten 31<br />
4.<strong>1.</strong>3 Verbindungsaufnahme zur SVM 33<br />
4.<strong>1.</strong>4 Applikationsprogrammierung 33<br />
4.<strong>1.</strong>5 Applikationsdatei speichern 34<br />
4.2 Offline Integration 34<br />
5 Textuelle Sedona Programmierung 35<br />
5.1 Toolbase 35<br />
5.2 Sedona-Kit 39<br />
5.3 Sedona-Komponente 39<br />
5.4 Provisioning 40<br />
6 Weiterführende Hilfe 43<br />
7 Anhang A: IO-Ansteuerung im ICS-500 44<br />
7.1 LocalIo 44<br />
7.2 Klemmen 45<br />
7.3 Fehlererkennung 45<br />
8 Anhang B: Kommunikation 46<br />
8.1 Modbus 46<br />
8.2 intesaNet 46<br />
4 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Sedona Framework<br />
1 Sedona Framework<br />
<strong>1.</strong>1 Motivation<br />
<strong>1.</strong><strong>1.</strong>1 Ausgangspunkt<br />
Niagara Framework (engl. Baukasten) ist eine hoch modulare beliebig erweiterbare<br />
Software zur Realisierung Internetbasierter Automationslösungen. Die JAVAbasierte<br />
Software läuft auf verschiedenen Plattformen von embedded Controllern<br />
(INTES) bis zu leistungsfähigen Windows-Servern (Supervisor AX ). Durch<br />
Hardwareressourcen (Prozessortakt, verfügbarer Speicher) sowie Lizenzmodelle<br />
(nutzbarer Speicher, Runntime-Units) ergibt sich eine feingranulare<br />
Leistungsabstufung. Darüber hinaus lassen sich alle diese Steuerungskomponenten<br />
zu frei definierbaren Hierarchien verbinden, so dass eine hohe Skalierbarkeit mit<br />
mehreren Freiheitsgraden gegeben ist. So findet sich für jede Aufgabe – von der<br />
Stand-Alone-Anlagensteuerung bis zu weltweit vernetzten Filialketten - die<br />
passende Lösung.<br />
Die modulare Software des Niagara Framework umfasst u.a.<br />
• Eine homogene Entwicklungsumgebung WorkPlaceAX für die gesamte<br />
Automationslösung<br />
• zahlreiche Kommunikationstreiber zur Anbindung bestehender Systeme der<br />
Feldebene<br />
• die Anbindung der Enterprise-Ebene über Kommunikations- bzw.<br />
Datenbanktreiber<br />
• eine integrierte frei programmierbare Steuerung<br />
• frei gestaltbare Webseiten für Visualisierung, Parametrierung<br />
• Systemfunktionen wie Trendlog, Zeitschaltung, Alarme, Reports, Email,<br />
Backup/Restore<br />
• Internet-Sicherheitsprotokolle<br />
<strong>1.</strong><strong>1.</strong>2 Die Herausforderung<br />
Die angesprochene Modularität und Erweiterbarkeit der Niagara Software wie auch<br />
deren Plattformunabhängigkeit wird durch die JAVA-Technologie (virtuelle<br />
Maschine) gewährleistet. Zusammen mit dem erwähnten Funktionsumfang<br />
entstehen erhebliche Anforderungen an die Hardware. Die verfügbaren embedded<br />
Steuerungen INTES verfügen über keine eigenen IO; IO muss also immer über ein<br />
Kommunikationsprotokoll angebunden werden. Gängige Echtzeitanforderungen<br />
können auf Grund der entstehenden Verzögerungen nicht eingehalten werden.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 5
Sedona Framework<br />
Echtzeitfähige Steueralgorithmen konnten bisher nur unterhalb des Niagara<br />
Frameworks, z.B. in programmierbaren LonMark-Feld-Controllern realisiert werden.<br />
Das bedeutete jedoch:<br />
• Ein weiteres Programmiertool neben dem WorkPlace AX<br />
• Verlust von Engineering-Informationen bei der Integration in Niagara<br />
• Keine Einbindung in übergeordnete Backup-Strategien<br />
• Fernzugriff nur über einen extra Zugang.<br />
<strong>1.</strong><strong>1.</strong>3 Die Antwort<br />
Sedona heißt die Antwort auf diese Herausforderung. Sedona ist wie ein kleiner<br />
Bruder des Niagara Frameworks. Es bettet sich nahtlos in die Niagara-Welt ein und<br />
erweitert dabei den Einflussbereich des Niagara Frameworks nach unten auf die<br />
Feldebene. Das Engineering erfolgt mit der gleichen Entwicklungsumgebung<br />
WorkPlace AX und umfasst die grafische Programmierung sowie die Integration von<br />
Sedona-Controllern in Niagara AX . Eingeschlossen darin sind unter anderem auch<br />
Backups, zentrale Nutzerverwaltung und Zeitsynchronisierung. Dabei ist Sedona<br />
speziell für kleine embedded IO-Controller mit wenig Speicher zugeschnitten. Das<br />
Sedona-Laufzeitsystem steht vollständig als open source zur Verfügung, so dass<br />
Gerätehersteller Sedona auf ihre Hardware portieren können. Die<br />
Programmiersprache C garantiert dabei bestmögliche Portabilität.<br />
Ressourcenhungrige Softwarekomponenten wurden durch schlanke, angepasste<br />
Lösungen ersetzt. So ist die Sedona Virtual Machine wesentlich kompakter als die<br />
JAVA VM. Im Gegenzug realisiert Sedona eine echtzeitfähige<br />
Applikationsausführung mit fester Zykluszeit.<br />
Das Sox Gateway als Bestandteil von Niagara AX garantiert vollumfänglichen Zugriff<br />
auf den Sedona-Controller über das Niagara Network hinweg. Das bedeutet, in<br />
verteilten Lösungen dient eine Niagara Station mit Internet-Verbindung als<br />
Programmierzugang zu Sedona-Controllern. Auf diese Weise kann der Sedona-<br />
Controller auch mit der webbasierte Entwicklungsumgebung, die Bestandteil der<br />
Niagara Station ist, über einen Webbrowser programmiert werden.<br />
Für den Stand-Alone-Einsatz der Sedona-Controller notwendige Erweiterungen wie<br />
Visualisierung, Trend, Alarm, Zeitschaltung befinden Sich in Entwicklung.<br />
6 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Sedona Framework<br />
<strong>1.</strong>2 Bestandteile<br />
Im praktischen Umgang mit Sedona wird man mit zwei Softwarepaketen<br />
konfrontiert.<br />
<strong>1.</strong> Sedona Framework ist ein Open-Source-Projekt und enthält die Sedona Virtual<br />
Machine, die wir als Gerätehersteller auf unsere Controller portiert haben. Dazu<br />
kommt die Sedona Programmiersprache incl. Compiler und umfangreicher<br />
Dokumentation, die Sie für die textuelle Sedona-Programmierung zur Erstellung<br />
eigener Komponenten und Kits verwenden.<br />
2. Sedona Framework TXS (Tridium eXtended Services) ist ein Paket von<br />
Softwarekomponenten, die<br />
• das Engineering der Sedona-Controller mit WorkPlace AX ermöglichen sowie<br />
• die Integration von Sedona-Controllern in Niagara AX realisieren.<br />
Ebenfalls enthalten sind Manifeste, die Fähigkeiten und Funktionen der Sedona-<br />
Controller beschreiben.<br />
<strong>1.</strong>3 Installation<br />
<strong>SysMik</strong> vertreibt Produkte auf Basis Niagara Framework und Sedona Framework<br />
unter dem Namen intesa (INTEgrated Server Architecture):<br />
• Supervisor AX und Treiber<br />
• Verschiedene embedded Controller INTES (INTEgration Server) - <strong>SysMik</strong>s<br />
Markenname für JACE (Java Application Control Engine) - mit Zubehör<br />
• Modulare Sedona-Controller ICS-500 mit zahlreichen IO-Klemmen für<br />
analoge und digitale Ein- und Ausgabe, DALI, MBus, Pulszählung<br />
• Kompakte Sedona-Controller SCC410, SCC510, SCC520<br />
Für die Installation von Sedona-Software auf Windows-PCs stellt <strong>SysMik</strong> zwei<br />
Setups bereit:<br />
• Das schlanke intesa Sedona Add-Ons for WorkPlace AX Setup installiert<br />
das Modul sysmikSedona auf einem PC mit bereits vorhandener<br />
Supervisor AX Software. Das Setup umfasst<br />
• Sedona Framework<br />
• Sedona Framework TXS<br />
• gerätespezifische Manifeste unserer Controller<br />
• Hilfe/Dokumentation zu Controllern und Komponenten von <strong>SysMik</strong>.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 7
Sedona Framework<br />
• Das wesentlich umfangreichere intesa Supervisor AX SAX Setup installiert je<br />
nach Auswahl und Betriebssystem des Rechners<br />
• intesa Supervisor AX incl. WorkPlace AX für Windows 32 bit oder<br />
• intesa Supervisor AX incl. WorkPlace AX für Windows 64 bit<br />
• das Modul sysmikSedona (intesa Sedona Add-Ons für WorkPlace AX )<br />
• das Modul sysmikNiLS (Niagara Lighting Solution auf Basis DALI)<br />
Die Installation von Sedona <strong>1.</strong>2 setzt eine vorhandene Installation des Niagara<br />
Framework Version ab 3.7 voraus.<br />
Ist noch kein Niagara Framework ab Version 3.7 installiert, starten Sie bitte das<br />
intesa Supervosor AX SAX Setup. Dieses Setup installiert die aktuelle Version des<br />
Niagara Frameworks sowie sysmikSedona und kopiert das Sedona-TXS-Paket auf<br />
Ihren Rechner. Nach Abschluss des Setup ist das Sedona-TXS-Paket über das<br />
Menü „Tools > Sedona Installer“ zu installieren.<br />
Bei diesem Vorgang wird WorkPlace AX um Sedona-spezifische Menüeinträge<br />
erweitert.<br />
Sollte Niagara Framework bereits auf Ihrem Rechner installiert sein, starten Sie bitte<br />
das Setup intesa Sedona Add-Ons for WorkPlace AX , welches sysmikSedona<br />
installiert und das Sedona-TXS-Paket auf Ihren Rechner kopiert. Nach Abschluss<br />
des Setup ist das Sedona-TXS-Paket über das Menü Tools > Sedona Installer zu<br />
installieren.<br />
Die Hilfe „Doc Sedona Installer“ beschreibt den Vorgang des Installierens eines<br />
Sedona TXS-Bundles im Detail.<br />
8 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Sedona Framework<br />
<strong>1.</strong>4 Lizenzierung<br />
Die INTES-Controller enthalten bereits die Lizenz zur Integration von Sedona-<br />
Controllern über das Sedona Network. Bitte beachten Sie, dass das Sedona<br />
Network – wie jedes andere Netzwerk in Niagara AX – Runtime-Units beansprucht.<br />
Für Supervisor AX ist eine spezielle Treiberlizenz DSXSED nötig, um Sedona-<br />
Controller über das Sedona Network direkt zu integrieren.<br />
Für das Engineering von Sedona-Controllern mit WorkPlace AX ist über die normale<br />
WorkPlace AX -Lizenz hinaus keine weitere Lizenzierung erforderlich.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 9
Sedona-Engineering mit WorkPlaceAX<br />
2 Sedona-Engineering mit WorkPlace AX<br />
2.1 Sedona Manifeste<br />
Bei der Entwicklung des Sedona Framework wurde besonderen Wert auf geringe<br />
Codegröße gelegt. Daher ist auch die Selbstdokumentation der Sedona-Controller<br />
sehr eingeschränkt. Um mit einem Sedona-Controller kommunizieren und die Daten<br />
korrekt interpretieren zu können, benötigen die Gegenstellen (Supervisor AX bzw.<br />
INTES) passende Manifest-Dateien, in denen die Eigenschaften der Komponenten<br />
in den Kits genau beschrieben sind.<br />
Supervisor AX besitzt eine Manifest-Datenbank (sedona\manifests). Auf<br />
www.sedonadev.org existiert eine globale Datenbank von Manifesten. Der „Sedona<br />
Manifest Manager“ (Menü „Tools > Sedona Manifest Manager“) ermöglicht die<br />
Pflege der lokalen Manifest-Datenbank durch das Nachladen von Manifesten aus<br />
der globalen Manifest-Datenbank. Da die lokale Manifest-Datenbank durch die<br />
intesa- bzw. <strong>SysMik</strong>Sedona-Installation gefüllt wird, wird dieser Manager<br />
typischerweise nicht benötigt.<br />
2.2 Verbindung zum Sedona-Controller<br />
Um einen Sedona-Controller mit WorkPlace AX engineeren zu können, muss eine<br />
Verbindung zum Sedona-Controller aufgebaut werden.<br />
2.2.1 Direktverbindung<br />
Über das Menü „File > Open > Open Device“ erreicht man einen Dialog, in dem man<br />
die IP-Adresse des Sedona-Controllers sowie Nutzernamen / Passwort einträgt. Im<br />
Auslieferungszustand haben unsere Sedona-Controller nur einen Nutzer mit Namen<br />
„admin“ und ohne Passwort. Die Kommunikation erfolgt über das SOX-Protokoll mit<br />
Standardport 1876.<br />
Mit der Bestätigung über „OK“ wird die Verbindung aufgebaut und im<br />
Navigationsbaum von WorkPlace AX entsteht ein neuer Top-Level-Eintrag mit der IP-<br />
Adresse des Sedona-Controllers.<br />
10 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
2.2.2 Sox Gateway<br />
Sedona-Engineering mit WorkPlaceAX<br />
Später wird der Sedona-Controller in Niagara AX integriert, d.h. das Gerät wird<br />
Bestandteil des Sedona Network einer Niagara Station. Dann eröffnet sich ein<br />
weiterer Engineering-Zugang über das Sox Gateway in der Niagara Station. Der<br />
Komponentenbaum des Sedona-Controllers wird in den Komponentenbaum der<br />
Niagara Station eingefügt. Das erhöht die Übersicht im Navigationsbaum von<br />
WorkPlace AX .<br />
Die Kommunikation von WorkPlace AX zur Niagara Station erfolgt über FOX bzw.<br />
FOXS und erst von dort zum Sedona-Controller über SOX. Das ist<br />
sicherheitstechnisch vorteilhaft.<br />
Alternativ zur WorkPlace AX enthalten Niagara Stations eine eingebettete<br />
webbasierte Entwicklungsplatform, die über Webbrowser bedient werden kann.<br />
Über das Sox Gateway können auf diesem Weg auch Sedona-Controller<br />
programmiert werden.<br />
2.3 Sedona-Tools<br />
Im Navigationsbaum kann man den Baum des Sedona-Controllers expandieren.<br />
Unterhalb der SOX-Verbindung finden sich die „Sedona Tools“. Mit Doppelklick auf<br />
die Baum-Einträge werden die Tools gestartet. Eine ausführliche Anleitung zur<br />
Nutzung der Tools erhalten Sie in der Online-Hilfe unter „Doc Sedona Tools“.<br />
2.3.1 Backup/Restore Tool<br />
Mit dem „Backup/Restore Tool“ kann man Backups der Software des Sedona-<br />
Controllers (Applikation, Scode, SVM) auf dem Engineering-PC anlegen und im<br />
Bedarfsfall zurück in den Controller laden. Dieses Tool kommt insbesondere beim<br />
Gerätetausch zum Einsatz.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 11
Sedona-Engineering mit WorkPlaceAX<br />
2.3.2 Application Manager<br />
Der „Application Manager“ kann die Applikation des Sedona-Controllers auf dem<br />
Engineering-PC speichern („Get“) und gespeicherte Applikationen in den Sedona-<br />
Controller laden („Put“). Diese Funktion wird vor allem verwendet, um Applikationen<br />
extern bzw. offline zu modifizieren und zu testen, bevor sie wieder in den Sedona-<br />
Controller geladen werden.<br />
12 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Sedona-Engineering mit WorkPlaceAX<br />
2.3.3 Kit Manager<br />
Der „Kit Manager“ erlaubt die Auswahl bzw. Versionsupdates von Kits, die im Scode<br />
enthalten sein sollen. In die Applikation können nur Komponenten aus Kits eingefügt<br />
werden, die im Scode enthalten sind. Wenn Sie eigene Kits programmieren, müssen<br />
sie diese mit dem „Kit Manager“ dem Scode hinzufügen, um die enthaltenen<br />
Komponenten in der Applikation nutzen zu können.<br />
2.4 Programmierumgebung<br />
2.4.1 App<br />
Im Navigationsbaum kann man den Baum des Sedona-Controllers expandieren.<br />
Unterhalb der SOX-Verbindung finden sich die „App“. Das ist die Sedona-<br />
Applikation. Wann immer die Applikation modifiziert wird, erinnert das App-Symbol<br />
im Baum daran, dass die Applikation gespeichert werden muss. Dazu gibt es im<br />
lokalen Menü die Aktion „Save“. Weitere wichtige Aktionen sind „Restart“ der<br />
Applikation und „Reboot“ des Sedona-Controllers.<br />
„App“ besitzt zudem das Property „Scan Period“, mit dem die Zykluszeit der<br />
Applikationsausführung eingestellt werden kann.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 13
Sedona-Engineering mit WorkPlaceAX<br />
Unterhalb von „App“ befindet sich ein Ordner „service“, in dem wichtige Service-<br />
Funktionen enthalten sind. Der Platform Service „plat“ ermöglicht den Zugriff auf<br />
plattformspezifische Einstellungen des Sedona-Controllers wie die IP-Adressdaten.<br />
Der Service „sox“ stellt das Kommunikationsprotokoll SOX für Engineering und<br />
Integration bereit. Für jegliche Kommunikation über SOX ist eine Anmeldung<br />
erforderlich. Unter dem Nutzerservice „users“ ist der Administrator-Zugang „admin“<br />
enthalten. Mit einem Doppelklick auf „users“ öffnen Sie den User Manager. Hier<br />
können Sie Nutzer anlegen oder löschen, Rechte vergeben und Passwörter ändern.<br />
14 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Sedona-Engineering mit WorkPlaceAX<br />
2.4.2 Sedona Palette<br />
Um Komponenten einer Applikation hinzufügen zu können, muss die „Sedona<br />
Palette“ über das Menü „Window > Side Bars > Sedona Palette“ aktiviert werden.<br />
Die Sedona-Palette enthält eine Auswahlbox mit allen im Scode enthaltenen Kits.<br />
Nach Auswahl des gewünschten Kits werden alle Komponenten des Kits in der<br />
darunterliegenden Liste angezeigt. Die „Sedona Palette“ ist nur gefüllt, wenn eine<br />
View einer Sedona-Komponente angezeigt wird.<br />
Alle Kits mit führendem „<strong>SysMik</strong>“ im Namen stammen von <strong>SysMik</strong>:<br />
• Kits, mit Gebäudeautomations-Funktionen entsprechend VDI 3813 Teil 2<br />
<strong>SysMik</strong>BaSensor<br />
<strong>SysMik</strong>BaActuator<br />
<strong>SysMik</strong>BaOperator<br />
<strong>SysMik</strong>BaAppGeneral<br />
<strong>SysMik</strong>BaAppLighting<br />
<strong>SysMik</strong>BaAppShading<br />
<strong>SysMik</strong>BaAppHvac<br />
• Kits zur Kommunikation<br />
<strong>SysMik</strong>ModbusServer<br />
<strong>SysMik</strong>ModbusClient<br />
<strong>SysMik</strong>IntesaNet<br />
Sensorfunktionen<br />
Aktorfunktionen<br />
Bedien- und Anzeigefunktionen<br />
Allgemeine Anwendungsfunktionen<br />
Anwendungsfunktionen zur Beleuchtungssteuerung<br />
Anwendungsfunktionen zur<br />
Verschattungssteuerung<br />
Anwendungsfunktionen zur Klimasteuerung<br />
Zugriff auf die je 10.000 lokalen Coils, Discrete<br />
Inputs, Holding Register und Input Register des<br />
Modbus TCP-Servers des Controllers<br />
Zugriff auf Modbus-Datenpunkte fremder Modbus-<br />
Geräte über Modbus TCP bzw. Modbus RTU<br />
Netzwerk – Geräte – Punkte auf Basis Modbus<br />
insbesondere zur Kommunikation zwischen<br />
Sedona-Controllern aus der intesa-Produktpalette<br />
• Kits zum Zugriff auf die IO-Klemmen und Bedien- und Anzeigeelemente des<br />
modularen Controllers ICS-500(M)<br />
<strong>SysMik</strong>LocalIo<br />
<strong>SysMik</strong>IcsManualCtrl<br />
LocalIo Netzwerk mit den modularen IO-Klemmen<br />
Ansteuerung von Bedientasten und Display<br />
• Platform-Kits mit plattformspezifischen Funktionen für jeden Controller-Typ<br />
<strong>SysMik</strong>Plat…<br />
NV-RAM-Speicherzugriff<br />
IO der Kompakt-Controller<br />
Alle Komponenten von <strong>SysMik</strong> werden in der Hilfe „Doc Sysmik Sedona“ detailliert<br />
beschrieben. Alle Komponenten der <strong>SysMik</strong>-Kits haben eine View „<strong>SysMik</strong> Sedona<br />
Help“, die die Hilfe zur Komponente anzeigt.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 15
Sedona-Engineering mit WorkPlaceAX<br />
Kits ohne führenden Firmennamen entstammen dem Sedona Framework von<br />
Tridium; z.B.<br />
sys<br />
func<br />
hvac<br />
logic<br />
math<br />
pricomp<br />
sox<br />
timing<br />
types<br />
unsichtbare Systemfunktionen, Folder zur<br />
Strukturierung<br />
Signalfunktionen / Signalgeneratoren<br />
Klimasteuerungsfunktionen<br />
Logische Funktionen/Gatter<br />
Arithmetische Funktionen<br />
Vorrangsteuerung mit 16 Prioritäten<br />
SOX Kommunikationsprotokoll<br />
Zeitfunktionen<br />
Typkonvertierungen, Konstanten<br />
Eine detaillierte Beschreibung der Sedona Framework Kits ist im Ordner<br />
„sedona\doc“ der Niagara AX -Installation über „index.html“ erreichbar.<br />
2.4.3 Views<br />
Alle Komponenten verfügen über mehrere Views, die über das lokale Menü der<br />
Komponente ausgewählt werden können. Die Standard-View ist zudem per<br />
Doppelklick auf die Komponente aktivierbar.<br />
Das „Sedona Property Sheet“ zeigt alle Slots mit Werten. Sie wird insbesondere<br />
zur Parametrierung verwendet.<br />
Das „Wire Sheet“ stellt die untergeordneten Komponenten mit ihren Verbindungen<br />
grafisch dar und dient der grafischen Programmierung.<br />
Das „Link Sheet“ zeigt tabellarisch die Verbindungen der Komponente an.<br />
Das „Slot Sheet“ zeigt alle Slots der Komponente mit ihren Eigenschaften/Facetten<br />
an.<br />
Darüber hinaus kann es weitere komponentenspezifische Views geben wie z.B. den<br />
„User Manager“, die Standardview des „users“ Service.<br />
Alle Komponenten der <strong>SysMik</strong>-Kits haben eine View „<strong>SysMik</strong> Sedona Help“, die die<br />
Hilfe zur Komponente anzeigt.<br />
16 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Sedona-Engineering mit WorkPlaceAX<br />
2.5 Programmierung<br />
Die grafische Sedona-Programmierung besteht aus dem<br />
• Hinzufügen von Komponenten in die Applikation, dem<br />
• Konfigurieren der Komponenten und dem<br />
• Erstellen von Verbindungen zwischen den Komponenten.<br />
Eine minimale Applikation soll die grundlegenden <strong>Schritte</strong> verdeutlichen: Ein<br />
Signalgenerator soll ein stetiges Stellsignal erzeugen, aus dem eine Aktorfunktion<br />
drei Steuersignale für einen dreistufigen Lüfter generiert.<br />
2.5.1 Komponenten zur Applikation hinzufügen<br />
Per Drag aus der „Sedona Palette“ & Drop auf eine Komponente im<br />
Navigationsbaum können Komponenten aus der „Sedona Palette“ in die Applikation<br />
eingefügt werden. Jeder Komponenten können weitere Komponenten zugeordnet<br />
bzw. untergeordnet werden.<br />
Bitte fügen Sie eine „Folder“ Komponente aus dem Kit „sys“ in ihre „App“ ein. Diese<br />
Komponente wird ausschließlich zur Strukturierung der Applikation verwendet.<br />
Geben Sie als Namen „Demo“ ein.<br />
Mit einem Doppelklick auf „Demo“ öffnen Sie die Standard-View von „Demo“: „Wire<br />
Sheet“. Fügen Sie nun eine Komponente „Ramp“ aus dem Kit „func“ per Drag aus<br />
der „Sedona Palette“ & Drop in das „Wire Sheet“ von „Demo“ ein. Der Name „Ramp“<br />
kann übernommen werden – die Komponente generiert ein Rampensignal. Nun<br />
fügen Sie noch eine Komponente „CtrlDriveFan“ aus dem Kit „<strong>SysMik</strong>BaActuator“<br />
hinzu und vergeben den Namen „Fan“.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 17
Sedona-Engineering mit WorkPlaceAX<br />
2.5.2 Komponenten parametrieren<br />
Mit einem Doppelklick auf „Ramp“ öffnen Sie die Standard-View von „Ramp“:<br />
„Property Sheet“. Ändern Sie den Minimalwert „Min“ auf -20.00, damit der Lüfter in<br />
jeder Periode einige Zeit ausgeschaltet bleibt, die Periodendauer „Period“ auf 120 s<br />
und den „Ramp Type“ auf „sawtooth“. Geänderte Properties werden rot markiert.<br />
Übernehmen Sie die Änderungen mit oder der Schaltfläche „Save“.<br />
18 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Sedona-Engineering mit WorkPlaceAX<br />
Mit einem Doppelklick auf „Fan“ öffnen Sie die Standard-View von „Fan“: „Property<br />
Sheet“. Ändern Sie die Mindestverweildauer in einer Lüfterstufe „ParCalMinTime“<br />
auf 2 s und den „ParCalFanType“ auf „Hierarchy“ – d.h. in Lüfterstufe drei sind alle<br />
drei binären Ausgangssignale aktiv. Übernehmen Sie die Änderungen mit <br />
oder der Schaltfläche „Save“.<br />
2.5.3 Komponenten verbinden<br />
Mit einem Doppelklick auf „Demo“ öffnen Sie die Standard-View von „Demo“: „Wire<br />
Sheet“. Verbinden Sie nun Ramp und Fan über eine der folgenden Techniken<br />
miteinander:<br />
<strong>1.</strong> Fahren Sie mit der Maus über den rechten Randbereich (Signalquelle) des<br />
Property „Out“ von „Ramp“. Der Mauszeiger wird zum Pfeil . Klicken Sie<br />
nun und halten Sie die Maustaste gedrückt, während Sie mit der Maus auf<br />
den linken Randbereich (Signalziel) der Signaleinganges „V Set“ von „Fan“<br />
fahren. Der Mauszeiger wird wiederum zum Pfeil . Lassen Sie die<br />
Maustaste los und die Verbindung ist erzeugt.<br />
2. Fahren Sie mit der Maus über den rechten Randbereich (Signalquelle) der<br />
untersten weißen Zeile von „Ramp“. Der Mauszeiger wird zum Pfeil .<br />
Klicken Sie nun und halten Sie die Maustaste gedrückt, während Sie mit der<br />
Maus auf den linken Randbereich (Signalziel) der untersten weißen Zeile<br />
von „Fan“ fahren. Der Mauszeiger wird wiederum zum Pfeil . Lassen Sie<br />
die Maustaste los und ein Dialog zur Definition von Quell- und Zielsignal<br />
erscheint. Wählen Sie „Out“ von „Ramp“. Alle Slots von „Fan“, die<br />
hinsichtlich Typ bzw. Schreibbarkeit als Zielsignal nicht in Frage kommen,<br />
werden grau gefärbt. Wählen Sie „V Set“ von „Fan“.<br />
Mit „OK“ wird die Verbindung erzeugt. Es sind sämtliche Mischformen aus 1)<br />
und 2) erlaubt.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 19
Sedona-Engineering mit WorkPlaceAX<br />
3. Wählen Sie „Link Mark“ im lokalen Menü von „Ramp“. Wählen Sie „Link<br />
From „Ramp“ im lokalen Menü von „Fan“. Dialog zur Definition von Quellund<br />
Zielsignal erscheint. Diese Methode eignet sich vor allem dann, wenn<br />
Verbindungen zwischen Komponenten erzeugt werden sollen, die in der<br />
Applikationsstruktur verteilt sind und daher nicht gleichzeitig in einem „Wire<br />
Sheet“ angezeigt werden können.<br />
Beobachten Sie den Signalverlauf des Stellwertes „V Set“ sowie die drei Lüfter-<br />
Ausgangssignale. Speichern Sie die Applikation über „Save“ im lokalen Menü von<br />
„App“.<br />
2.6 Optimierung<br />
2.6.1 Abarbeitungsreihenfolge<br />
Bei der Ausführung (execute) einer Komponente werden immer zuerst die der<br />
Komponente untergeordneten Komponenten (Children) entsprechend ihrer<br />
Anordnung im Navigationsbaum von oben nach unten ausgeführt. Im Sinne einer<br />
schnellen Signalverarbeitung sollte man darauf achten, dass die<br />
Abarbeitungsreihenfolge, die durch den Navigationsbaum definiert wird, dem<br />
Signallauf in der Applikation entspricht. Die Anordnung der Komponenten im<br />
Navigationsbaum wird durch die Reihenfolge der Erzeugung der Komponenten<br />
initiiert und ist typischerweise suboptimal. Die Applikation benötigt dann mehrere<br />
Ausführungszyklen, um Ausgänge in Abhängigkeit von Eingangssignalen zu<br />
steuern. Über den lokalen Menüpunkt „Reorder“ jeder Komponente kann die<br />
Anordnung der untergeordneten Komponenten an den Signalverlauf – von den<br />
Eingängen zu den Ausgängen angepasst werden.<br />
20 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Sedona-Engineering mit WorkPlaceAX<br />
2.6.2 Zykluszeit<br />
Die Sedona-Applikation wird zyklisch ausgeführt, wobei die Zykluszeit über den Slot<br />
„ScanPeriod“ der „App“-Komponente definiert wird. Es gibt Fälle, in denen für<br />
verschiedene Applikationsteile auch unterschiedliche Zykluszeiten erforderlich sind.<br />
Das gilt z.B. bei Applikationen zur Einzelraumregelung: Während die<br />
Temperaturregelung mit Zykluszeiten von einigen Sekunden zurechtkommt, verlangt<br />
die manuelle Lamellenverstellung von Jalousien Zykluszeiten von z.B. 100 ms. Eine<br />
zyklische Ausführung der gesamten Applikation im 100 ms-Takt aber je nach<br />
Umfang der Applikation zu einer erhöhten Prozessorlast. Mit dem „RateFolder“ aus<br />
dem Kit „sys“ kann die Zykluszeit von Applikationsteilen innerhalb des „RateFolder“<br />
erhöht werden. Dazu wird im Slot „AppCyclesToSkip“ eine Anzahl von<br />
Applikationszyklen eingegeben, die abgewartet werden, bevor der Inhalt des<br />
„RateFolder“ ausgeführt wird. Bei einer Applikationszykluszeit von 100 ms und 9<br />
„AppCyclesToSkip“ ergibt sich z.B. eine Zykluszeit von einer Sekunde für den Inhalt<br />
des „RateFolder“.<br />
2.7 Sicherheit<br />
Die Sedona-Controller besitzen ein Nutzermanagement, welches über den Service<br />
„users“ konfiguriert werden kann. Jede Applikation benötigt einen Administrator-<br />
Zugang mit Vollzugriff auf alle Komponenten der Applikation. Der Standard-<br />
Administrator-Zugang erfolgt über den Nutzernamen „admin“; das Passwort von<br />
„admin“ ist leer.<br />
2.7.1 Konfiguration<br />
Komponenten können 4 verschiedenen Gruppen angehören, für die ein Nutzer<br />
jeweils unterschiedliche Zugriffsrechte erhalten kann. Beim Einfügen neuer<br />
Komponenten in die Applikation werden die Komponenten der „Group 1“<br />
zugeordnet. Im „Property Sheet“ der Komponente öffnet ein Klick auf „>>“ hinter<br />
dem Slot „Meta“ den Dialog zur Modifikation der Gruppenzugehörigkeit.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 21
Sedona-Engineering mit WorkPlaceAX<br />
Im „User Manager“, der Standard-View des Services „users“, kann per Doppelklick<br />
auf einen Eintrag der Nutzer-Zugang modifiziert werden.<br />
Ein neues Passwort muss doppelt eingegeben werden. Ein Klick auf „>>“ hinter<br />
„Permissions“ öffnet einen Dialog zur Vergabe der Nutzerrechte in jeder der 4<br />
Gruppen.<br />
Properties und Actions werden mit der Facette „@operator“ zu Operator-Properties<br />
bzw. Operator-Actions. Ohne diese Facette sind es Admin-Properties bzw. Admin-<br />
Actions. Im „Slot Sheet“ einer Komponente kann man die Facetten einsehen.<br />
Die Nutzerrechte lassen folgende Aktionen zu:<br />
Operator Read<br />
Operator Write<br />
Operator Invoke<br />
Admin Read<br />
Admin Write<br />
Admin Invoke<br />
Admin User<br />
Komponenten lesen<br />
Werte von Operator-Properties lesen<br />
Werte von Operator-Properties ändern<br />
Operator-Actions auslösen<br />
Werte von Admin-Properties lesen<br />
Verbindungen lesen<br />
Verbindung von der Komponente erzeugen<br />
Werte von Admin-Properties ändern<br />
Komponenten hinzufügen<br />
Untergeordnete Komponenten sortieren<br />
Komponente umbenennen<br />
Komponente löschen<br />
Verbindungen zu der Komponente erzeugen<br />
Verbindung zu der Komponente löschen<br />
Admin-Actions der Komponente auslösen<br />
Nutzermanagement - nur für „user“-Komponenten:<br />
„user“ lesen, schreiben, ändern, löschen<br />
22 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Sedona-Engineering mit WorkPlaceAX<br />
Ein Klick auf „>>“ hinter „Provisioning Permissions“ öffnet einen Dialog zur Definition<br />
von Aktionen, die vom Nutzer mit den Sedona-Tools ausgeführt werden dürfen.<br />
Auf http://sedonadev.org/doc/security.html finden Sie eine detaillierte Beschreibung<br />
der Sicherheitsmechanismen des Sedona Framework.<br />
2.7.2 Ratschläge<br />
Im Sinne des Zugriffsschutzes sollten folgende Ratschläge beachtet werden:<br />
<strong>1.</strong> Legen Sie neue Nutzer mit zugeschnittenen Rechten und „starken“ Passwörtern<br />
an. Jeder Bearbeiter sollte seinen eigenen Nutzerzugang haben.<br />
2. Definieren Sie einen Administrator-Zugang mit allen Rechten und einem<br />
„starken“ geheimen Passwort. Nutzen Sie den Administrator-Zugang nur in<br />
Ausnahmefällen.<br />
3. Löschen Sie den Administrator-Zugang „admin“.<br />
4. Legen Sie einen Nutzer mit zugeschnittenen Rechten für die Integration in<br />
Niagara AX an. Ausnahme: Wenn Sie das zentrale Sedona-Nutzermanagement<br />
von Niagara AX (siehe Abschnitt 3.4.1) aktivieren, muss die Kommunikation über<br />
einen Administrator-Zugang erfolgen.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 23
Integration von Sedona-Controllern in NiagaraAX<br />
3 Integration von Sedona-Controllern in Niagara AX<br />
Sedona-Controller können als programmierbarer Stanalone-IO-Controller betrieben<br />
werden.<br />
Sedona-Controller können über IntesaNet (siehe Abschnitt 8.2) miteinander<br />
kommunizieren und auf diese Weise in flachen Mehrcontroller-Lösungen zum<br />
Einsatz kommen.<br />
Durch die Integration in Niagara AX werden die Sedona-Controller Teil eines<br />
hochgradig skalierbaren Steuerungssystems und erweitern dieses um eine<br />
programmierbare IO-Ebene. Wir wollen den Sedona-Controller in einen INTES<br />
integrieren.<br />
Eine detaillierte Beschreibung zur Integration von Sedona-Controllern in Niagara AX<br />
finden Sie in der Hilfe „Doc Sedona Networks“.<br />
3.1 Sedona Network<br />
Für die Integration von Sedona-Controllern benötigt der INTES spezielle Software-<br />
Module. Öffnen Sie eine Platformverbindung zum INTES und installieren Sie im<br />
Platform-Tool „Software Manager“ das Modul „sedonanet“. Dabei werden einige<br />
weitere Module, zu denen Abhängigkeiten bestehen mit installiert.<br />
Im INTES muss ein Sedona-Netzwerk angelegt werden. Öffnen Sie eine<br />
Stationsverbindung (FOX) und öffnen Sie mit Doppelklick auf „Drivers“ den „Driver<br />
Manager“.<br />
Mit „New“ wird ein Dialog zur Treiberauswahl angezeigt.<br />
24 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Integration von Sedona-Controllern in NiagaraAX<br />
Wählen Sie „Sedona Network“ und bestätigen Sie mit „OK“.<br />
bestätigen Sie mit „OK“.<br />
Damit der INTES mit dem Sedona-Controller kommunizieren kann, benötigt er die<br />
passenden Manifeste. Die View „Manifest Manager“ des „SedonaNetwork“<br />
ermöglicht den Abgleich der lokalen Manifest-Datenank des Engineering-PC mit der<br />
Manifest-Datenbank des INTES. Das Platform-Tool „Sedona Environment Manager“<br />
geht noch einen Schritt weiter: hier können neben den Kit-Manifesten auch<br />
Platform-Manifeste und Kits abgeglichen werden.<br />
Ab Sedona <strong>1.</strong>2 können die Sedona-Controller ihre Manifeste mit sich führen.<br />
Dadurch ist die manuelle Pflege der Manifest-Datenbank nicht mehr erforderlich.<br />
Der INTES lädt sich die ggf. fehlenden Manifeste bei der ersten Kontaktaufnahme<br />
vom Sedona-Controller.<br />
Per Doppelklick auf das „SedonaNetwork“ öffnen Sie die Gerätedatenbank. Mit<br />
„Discover“ kann nach Sedona-Geräten im Netzwerk gesucht werden.<br />
Bestätigen Sie mit OK.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 25
Integration von Sedona-Controllern in NiagaraAX<br />
3.2 Sedona-Gerät<br />
Mit einem Doppelklick auf den zu integrierenden Sedona-Controller wird dieser in<br />
das „SedonaNetwork“ aufgenommen.<br />
Vergeben Sie den Gerätenamen „Demo“, geben Sie das und bestätigen Sie mit<br />
„OK“.<br />
26 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Integration von Sedona-Controllern in NiagaraAX<br />
Expandieren Sie den Baum des Gerätes „Demo“ im „SedonaNetwork“. Unter<br />
„Sedona Tools“ stehen die bekannten Sedona-Tools zur Verfügung und „Sox<br />
Gateway“ bietet einen vollwertigen Programmierzugang zum Sedona-Controller. Auf<br />
diese Weise kann das Engineering des Sedona-Controllers über den INTES hinweg<br />
erfolgen. Die Kommunikation bis zum INTES erfolgt dabei über FOX und von INTES<br />
zu Sedona-Controller über SOX. Das kann sicherheitstechnisch interessant sein: für<br />
FOX gibt es auch eine sichere Variante FOXS, mit der man über unsichere<br />
Netzwerke kommunizieren kann. So könnte ein zentraler Supervisor AX mit vielen<br />
entfernten INTES über das Internet sicher kommunizieren; hinter den INTES können<br />
Sedona-Controller in einem ein lokalen/sicheren vor-Ort-Netzwert angebunden sein.<br />
3.3 Sedona Points<br />
Per Doppelklick auf „Points“ erscheint die Datenpunktdatenbank. Betätigen Sie<br />
„Discover“<br />
und wählen Sie als „Discovery Type“ „Online“ aus.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 27
Integration von Sedona-Controllern in NiagaraAX<br />
Der Baum der Sedona-Applikation mit allen Komponenten und Slots wird angezeigt.<br />
Wählen Sie von „Fan“ die Slots „ioActuator1“, „ioActuator2“, „ioActuator3“ und „vSet“<br />
aus ( + Klick) und Betätigen Sie die Schaltfläche „Add“. Damit werden die<br />
Punkte in Niagara AX integriert und können hier wie jeder andere Punkt behandelt<br />
werden.<br />
Achtung! Die Kommunikation erfolgt über die „Point Address“, eine<br />
Zusammenstellung aus der ID der Komponente und der ID des Slots. Nachträgliche<br />
Änderungen an der Applikation oder an Komponenten können dazu führen, dass<br />
sich die Adressinformationen ändern. In diesem Fall muss die „Point Address“<br />
angepasst werden.<br />
Das kann für viele Points sehr effektiv manuell erfolgen: Markieren Sie im „Sedona<br />
Point Manager“ eine Gruppe von betroffenen Punkten. Per Doppelklick öffnen Sie<br />
das Bearbeitungsfenster.<br />
Klicken Sie auf das Symbol hinter „Address“.<br />
28 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Integration von Sedona-Controllern in NiagaraAX<br />
Im Dialog „Batch Search and Replace“ können nun einzelne Adressbestandteile für<br />
viele Punkte in einem Vorgang ersetzt werden.<br />
Für einzelne Punkte kann die „Match“-Funktion verwendet werden: Lesen Sie die<br />
Punkte erneut mit „Discover“ ein, wählen Sie einen betroffenen Slot sowie den<br />
zugehörigen Punkt und betätigen Sie die Schaltfläche „Match“, um die<br />
Adressinformation des Slots dem Punkt zuzuweisen.<br />
3.4 Zentralmanagement<br />
3.4.1 Zentrales Nutzermanagement<br />
Man kann Nutzer mehrerer Sedona-Geräte zentral im INTES verwalten. Dazu muss<br />
die Komponente „SedonaUserManager“ aus der Palette „sedonanet“ in den<br />
„Service“-Ordner des INTES kopiert werden. Diese Komponente enthält „User<br />
Service“, in dessen Standard-View Nutzer mit Namen und Passwort definiert<br />
werden können, sowie „Role Service“, in dessen Standard-View Zugriffsrechte zu<br />
Nutzerrollen zusammengefasst werden können.<br />
Mit dem „Sedona Device User Manager“, einer View des „SedonaNetwork“, können<br />
nun für jedes Sedona-Gerät im „SedonaNetwork“ eine Auswahl der zuvor definierten<br />
Nutzer zugewiesen werden; jeweils mit einer zugewiesenen Nutzerrolle.<br />
3.4.2 Zentrale Zeitsynchronisierung<br />
Sedona-Geräte können Zeitfunktionen enthalten, um Steuerungen z. B. abhängig<br />
von der Tageszeit oder vom Wochentag zu beeinflussen. In der Sedona-Applikation<br />
ist dazu ein neuer Service „DateTimeServiceStd“ aus dem Kit „datetimeStd“ nötig.<br />
Über die Standard-View dieses Services kann die Uhrzeit gestellt werden und es<br />
gibt Slots, die von Sekunde bis Jahr und Wochentag die Zeitinformationen<br />
bereitstellen.<br />
Die Synchronisierung der Uhrzeit von Sedona-Geräten kann vom INTES zentral<br />
übernommen werden. Dazu muss der Wert des Property „TimeSyncEnabled“ des<br />
Sedona-Gerätes im „SedonaNetwork“ auf true gestellt werden. Nun wird noch mit<br />
dem „Time Sync Trigger“ des „Sedona Network“ festgelegt, in welchem Rhythmus<br />
die Zeitsynchronisierung erfolgen soll.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 29
Offline Engineering<br />
4 Offline Engineering<br />
In Fällen, in denen keine Verbindung zu einem Sedona-Controller besteht, kann das<br />
Engineering auch offline ausgeführt werden. Eine detaillierte Beschreibung zum<br />
Offline-Engineering finden Sie in der Hilfe „Doc Sedona Offline Eng“.<br />
4.1 Offline Applikationsprogrammierung<br />
Die Offline-Programmierung erfolgt in folgenden <strong>Schritte</strong>n:<br />
• Passend zum Sedona-Controller (platform) wird eine Applikationsdatei erzeugt<br />
• Auf dem Engineering-PC wird eine SVM (Sedona Virtual Machine) auf Basis der<br />
Applikationsdatei gestartet<br />
• Es wird eine SOX-Verbindung zwischen WorkPlace AX und SVM aufgebaut<br />
• Die Applikationsprogrammierung erfolgt identisch zur online-Programmierung<br />
• Die Applikationsdatei wird gespeichert und kann später mit dem Sedona-Tool<br />
„Application Manager“ in ein Sedona-Controller geladen zu werden.<br />
4.<strong>1.</strong>1 Applikationsdatei erzeugen<br />
Über das Menü „Tools > Sedona New App“ wird der „New App Manager“ gestartet.<br />
Geben Sie als Name „offline“ ein und bestätigen Sie mit „Next“.<br />
Im folgenden Dialog kann das Administrator-Kennwort sowie der SOX-Port definiert<br />
werden. Vergeben Sie ein Passwort, behalten Sie den Standard-Port bei und<br />
bestätigen Sie mit „Next“.<br />
30 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Offline Engineering<br />
Wählen Sie im nächsten Dialog den „Platform Service Type“<br />
„<strong>SysMik</strong>PlatIcs::IcsPlatformService“ aus und geben den „App Device Name“ „Demo“<br />
ein. Bestätigen Sie mit Finish.<br />
Die Applikationsdatei „offline.sax“ wird erzeugt und der Inhalt der Datei – also „App“<br />
angezeigt.<br />
4.<strong>1.</strong>2 SVM auf dem Engineering-PC starten<br />
Über das Menü „Tools > Sedona Device Simulator“ wird der „Device Simulator“<br />
gestartet.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 31
Offline Engineering<br />
Mit einem Klick auf das Verzeichnissymbol neben „Simulator App File“ starten Sie<br />
den File Browser im Sedona-verzeichnis. Wählen Sie „offline.sax“ aus dem Pfad<br />
„store/apps“. Über die Schaltfläche „Run“ starten Sie die SVM. Die startet zunächst<br />
mit Standard-Scode und Standard-Applikation. Automatisch wird der Scode<br />
passend zu „offline.sax“ erzeugt, die Applikation wird übersetzt und schließlich alles<br />
in die SVM geladen und diese dann neu gestartet.<br />
Die SVM läuft nun mit der neu erzeugten, fast leeren Applikation auf dem PC. Alle<br />
nativen Funktionen wie IO oder Modbus sind allerdings ohne Funktion.<br />
32 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Offline Engineering<br />
4.<strong>1.</strong>3 Verbindungsaufnahme zur SVM<br />
Das oberste Element im Navigationsbaum ist der Engineering-PC selbst. Wählen<br />
Sie im lokalen Menü dieses Elementes „Open Device“.<br />
Bestätigen Sie mit „OK“ und die Verbindung zur lokalen SVM ist erzeugt.<br />
4.<strong>1.</strong>4 Applikationsprogrammierung<br />
Expandieren Sie den Baum der lokalen SOX-Verbindung: er ist identisch zum Baum<br />
einer SOX-Verbindung eines Sedona-Controllers. Die Programmierung erfolgt<br />
absolut identisch. Erstellen Sie die Demo-Applikation noch einmal offline. Sie<br />
können natürlich auch den „Folder“ „Demo“ einfach über die Zwischenablage oder<br />
Drag & Drop aus der online erstellten Applikation kopieren.<br />
Speichern Sie die Applikation in der SVM über die Aktion „Save“ von „App“.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 33
Offline Engineering<br />
4.<strong>1.</strong>5 Applikationsdatei speichern<br />
Öffnen Sie den „Device Simulator“ über das Menü „Tools > Sedona Device<br />
Simulator“. Über die Schaltfläche „Stop“ wird die SVM gestoppt und die Applikation<br />
der SVM gespeichert.<br />
Wählen Sie als Dateinamen „offline.sax“ und Speichern Sie mit „Save“.<br />
Bestätigen Sie die Sicherheitsabfrage mit „Yes“.<br />
4.2 Offline Integration<br />
Auch die Integration eines Sedona-Controllers kann offline, d.h. ohne Verbindung zu<br />
dem Sedona-Controller erfolgen. Dazu kann man den laufenden „Device Simulator“<br />
wie einen Sedona-Controller einlesen und integrieren.<br />
Über das „Sedona Tool“ „Application Manager“ des Gerätes im „SedonaNetwork“<br />
kann man die Applikation im Dateisystem der Station speichern „Get“. Dabei wird<br />
die gespeicherte Datei dem Gerät im Slot „App File“ zugewiesen. Der Vorteil ist,<br />
dass ab diesem Zeitpunkt das Einlesen der Punkte mit „Discover“ im „Sedona Point<br />
Manager“ auch ohne Verbindung zum „Device Simulator“ oder zum Sedona-<br />
Controller über die Option „From App“ erfolgen kann.<br />
Um später in den Online-Betrieb zu wechseln, wird nur noch ein Sedona-Controller<br />
anschlossen, adressiert und über das „Sedona Tool“ „Application Manager“ die<br />
Applikation geladen. Im „SedonaNetwork“ muss die IP-Adresse des Gerätes an den<br />
Sedona-Controller angepasst werden.<br />
34 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Textuelle Sedona Programmierung<br />
5 Textuelle Sedona Programmierung<br />
Grafische Programmierung ist sehr einfach, stößt aber auch schnell an Grenzen.<br />
Einerseits werden grafische Umsetzungen komplexer Applikationen schnell<br />
unübersichtlich, andererseits ist die zyklische Abarbeitung großer Applikationen<br />
nicht sehr effektiv. Textuelle Sprachen sind dagegen komplexer, bieten aber<br />
Sprachmittel, um komplexe Algorithmen übersichtlich und effektiv umzusetzen.<br />
5.1 Toolbase<br />
Sedona Framework enthält eine Sprache „Sedona“ sowie einen Compiler „sedonac“<br />
für Sedona-Quellcode. Dadurch ist es möglich, eigene Kits mit<br />
anwendungsspezifischen Komponenten zu programmieren, die nachfolgend in<br />
Sedona-Applikationen eingefügt werden können. Die im Sedona Framework<br />
enthaltene Hilfe (sedona\doc\index.html) beschreibt alle Aspekte der Kitentwicklung<br />
sowie die Sedona Programmiersprache und den Umgang mit dem Compiler.<br />
Um komfortabel textuell programmieren zu können, empfiehlt sich der Einsatz eines<br />
Programmiereditors. Wir wollen dafür Eclipse, ein weit verbreitetes freies<br />
Programmierwerkzeug der Eclipse Foundation, verwenden.<br />
Da Eclipse auf Java basiert, muss das „Java Runtime Environment“ (JRE) auf dem<br />
PC installiert sein. Dieses erhalten Sie z.B. von www.java.com/de/download.<br />
Die aktuelle Version von Eclipse kann über www.eclipse.org/downloads geladen<br />
werden. Eclipse besitzt kein Setup; stattdessen wird das Archiv einfach in ein<br />
beliebiges Verzeichnis, z.B. „C:\“ ausgepackt.<br />
Der Start von Eclipse erfolgt über „C:\eclipse\eclipse.exe“.<br />
Es muss zunächst ein „Workspace“ ausgewählt werden. Ein Workspace dient der<br />
Gruppierung mehrerer Eclipse-Projekte und ist hier vorerst nicht relevant.<br />
Übernehmen Sie den vorgeschlagenen Pfad, markieren Sie „Use this as default and<br />
do not ask again“, um die Abfrage bei nachfolgenden Starts von Eclipse zu<br />
umgehen und bestätigen Sie mit „OK“.<br />
Öffnen Sie den „New Project Wizard“ über das Menü „File > New > Project“.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 35
Textuelle Sedona Programmierung<br />
Wählen Sie als Projekttyp „General > Project“ und bestätigen Sie mit „Next“.<br />
Geben Sie den Projektnamen „Sedona“ ein und wählen Sie das Sedona-Home-<br />
Verzeichis „sedona“ Ihrer Supervisor AX -Installation als Projektpfad aus. Mit „Finish“<br />
wird das Projekt erzeugt. Schließen Sie die „Welcome“-Seite.<br />
Eclipse kennt die Sedona-Programmiersprache nicht. Sedona ist aber der<br />
Programmiersprache Java sehr ähnlich. Legen Sie den Java-Editor als Editor für<br />
Sedona Quelltext fest. Wählen Sie im Menü „Windows > Preferences“ und im<br />
„Preferences“ Dialog „General > Editors > File Associations“.<br />
36 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Textuelle Sedona Programmierung<br />
Fügen Sie oben mit „Add“ den „File type“ „*.sedona“ hinzu und markieren den neuen<br />
„File type“ in der Liste. Fügen Sie nun unten mit „Add“ den „Java Editor“ als Editor<br />
für Sedona-Quelltext-Dateien hinzu. Bestätigen Sie mit „OK“.<br />
Nun soll noch der Compileraufruf konfiguriert werden, um die Übersetzung des<br />
Quelltextes aus Eclipse heraus mit Mausklick starten zu können. Dazu wird<br />
zunächst ein Kit-Quellverzeichnis angelegt, in welchem alle Sedona-Quelltexte des<br />
zu entwickelnden Kits zusammengefasst werden. Der Verzeichnisname soll dem<br />
Kit-Namen entsprechen. Der Kit-Name wiederum soll mit dem Firmennamen des<br />
Herausgebers des Kits beginnen, um Konflikten bei der Nutzung von Kits<br />
verschiedener Hersteller aus dem Wege zu gehen. Legen Sie im Sedona-Home-<br />
Verzeichnis „C:\Intesa\Supervisor…\sedona“ ein Verzeichnis „src“ und darin ein<br />
Verzeichnis „firmaDemo“ an. Wählen Sie im lokalen Menü des Projektes „Sedona“<br />
den Menüeintrag „Properties“. Wählen Sie „Builders“ und betätigen Sie die<br />
Schaltfläche „New“.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 37
Textuelle Sedona Programmierung<br />
Wählen Sie „Program“ und bestätigen Sie mit „OK“.<br />
Vergeben Sie den Namen „Sedonac firmaDemo“ und wählen Sie als „Location“ mit<br />
„Browse File System“ den Pfad zum Sedona-Compiler „sedonac.exe“ im<br />
Verzeichnis „sedona/bin“. Sedonac erwartet einen Parameter, über den das<br />
Quelltext-Verzeichnis des zu erzeugenden Kits angegeben wird. Wählen Sie als<br />
„Working Directory“ mit „Browse File System“ den soeben erstellten Ordner<br />
„firmaDemo“, schneiden den Inhalt von „Working Directory“ aus und fügen ihn als<br />
„Argument“ wieder ein. Schließen Sie alle offenen Dialoge mit „OK“.<br />
Über des Menü „Project > Build All“ kann der Compiler aufgerufen werden. Da das<br />
Quelltextverzeichnis noch leer ist, generiert der Compiler eine Fehlermeldung.<br />
38 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Textuelle Sedona Programmierung<br />
Im Sedona-Home-Verzeichnis existiert ein Archiv „src.zip“ mit allen Open-Source-<br />
Quelltexten des Sedona Framework. Entpacken Sie das Archiv in das erstellte „src“-<br />
Verzeichnis. Die Quelltexte der Kits stellen gute Codebeispiele dar.<br />
5.2 Sedona-Kit<br />
Die Quellen eines Sedona-Kits bestehen aus der Datei „kit.xml“, einer<br />
Konfigurationsdatei, in der Name, Beschreibung, Version und Abhängigkeiten des<br />
Kits definiert werden, sowie beliebig viele *.sedona-Dateien, die den Quelltext der<br />
Sedona-Komponenten enthalten.<br />
Erstellen Sie die Konfigurationsdatei „kit.xml“ unter „firmaDemo“ mit dem lokalen<br />
Menü „New > File“. Geben Sie folgenden Text ein:<br />
<br />
<br />
<br />
<br />
Danach kann das Kit mit „Project > Build All“ fehlerfrei übersetzt werden. Die<br />
Ergebnisse finden Sie unter „sedona\manifests\firmaDemo“ (Manifest) bzw. unter<br />
„sedona\kits\firmaDemo“ (Kit).<br />
5.3 Sedona-Komponente<br />
Wir wollen einen einfachen P-Regler zru Temperaturregelung programmieren. Eine<br />
Komponente wird eine Klasse dadurch, dass sie von „Component“ abgeleitet wird.<br />
Sie besitzt Properties mit verschiedenen Facetten (@). Die Funktion „execute“ von<br />
„Component“ wird zyklisch aufgerufen – sie wird überschrieben und nimmt den P-<br />
Regel-Algorithmus auf.<br />
Erstellen Sie eine Sedona-Quelltextdatei „TempCtrl.sedona“ und geben Sie<br />
folgenden Quelltext ein:<br />
class TempCtrl extends Component<br />
{<br />
@min=<strong>1.</strong>0 @max=100.0 @unit=Units.kelvin_degrees<br />
@config property float proportional = 3.0<br />
@min=5.0 @max=28.0 @unit=Units.celsius<br />
property float tempSetPoint = 22.0<br />
@min=-20.0 @max=50.0 @unit=Units.celsius<br />
property float roomTemp<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 39
Textuelle Sedona Programmierung<br />
}<br />
@unit=Units.percent<br />
@readonly property float out<br />
virtual override void execute ()<br />
{<br />
float tempDiff<br />
float actuate<br />
tempDiff = tempSetPoint - roomTemp<br />
actuate = tempDiff / proportional<br />
if (actuate > <strong>1.</strong>0)<br />
actuate = <strong>1.</strong>0<br />
if (actuate < 0.0)<br />
actuate = 0.0<br />
out := actuate * 100.0<br />
}<br />
Wieder wird das Kit mit „Project > Build All“ übersetzt.<br />
5.4 Provisioning<br />
Nun soll das neue Kit in der Sedona-Applikation verwendet werden. Dazu muss das<br />
Kit zunächst über das „Sedona Tool“ „Kit Manager“ des Sedona-Controllers<br />
bereitgestellt (provision), also installiert werden.<br />
40 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Textuelle Sedona Programmierung<br />
Markieren Sie das Kit „firmaDemo“, bestätigen Sie mit „Next“ und starten Sie den<br />
Installationsvorgang mit „Finish“.<br />
Wenn der Vorgang abgeschlossen ist, starten Sie die SVM des Sedona-Controllers<br />
mit „Restart Device“ neu. Dabei wird die SOX-Verbindung abgebrochen und Sie<br />
müssen diese erneut öffnen.<br />
Legen Sie unter „App“ einen „Folder“ „Room1“ an. Legen Sie in diesem Ordner eine<br />
Komponente „TempCtrl“ aus dem Kit „firmaDemo“ mit Namen „TCtrl“ an. Wechseln<br />
Sie in die View „Property Sheet“ von „TCtrl“.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 41
Textuelle Sedona Programmierung<br />
Beobachten Sie die Auswirkungen der Property-Facetten (@min, @max, @unit)<br />
und testen Sie den Regler-Algorithmus durch Variation der Raumtemperatur.<br />
42 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Weiterführende Hilfe<br />
6 Weiterführende Hilfe<br />
Die englischsprachige Online-Hilfe des WorkPlace AX enthält Dokumente, die das<br />
Engineering von Sedona-Controllern sowie deren Integration in Niagara AX<br />
beschreiben. Über das Menü „Help“ kann die Hilfe in einem eigenen Fester geöffnet<br />
werden. „Help > OnSite“ öffnet das zur aktiven View passende Hilfethema. Das ist<br />
nützlich, um schnell zur Hilfe von Tools zu gelangen.<br />
Über Das Menü „Window > Side Bars > Help“ wird die Hilfe integraler Bestandteil<br />
des Anwendungsfensters von WorkPlace AX . Hilfethemen werden als View<br />
angezeigt. Folgende Dokumente behandeln Sedona-Themen:<br />
Doc Sedona Installer<br />
Doc Sedona Tools<br />
Doc Sedona Networks<br />
Doc Sedona Offline Eng<br />
Doc Sedona Eng Notes<br />
Doc <strong>SysMik</strong> Sedona<br />
Installation von TXS-Paketen<br />
Sedona Tools<br />
Integration in Niagara AX<br />
Offline Engineering<br />
Manifest Manager<br />
Beschreibung aller Komponenten der <strong>SysMik</strong>-Kits.<br />
Die Komponenten haben eine View „<strong>SysMik</strong><br />
Sedona Help“, die die Hilfe zur Komponente<br />
anzeigt.<br />
Das Sedona-Home-Verzeichnis „sedona“ enthält einen Ordner „doc“. Hier finden Sie<br />
mit „index.html“ den Einstieg in die Hilfe des Open Source Sedona Frameworks.<br />
Diese gibt einen guten Überblick über das Sedona Framework, beschreibt die<br />
Sedona-Programmiersprache, den Sedona Compiler „sedonac“ sowie alle Klassen<br />
der Open-Source-Kits.<br />
Auf www.sedonadev.org findet man neben der aktuellsten Release des Open-<br />
Source Sedona Frameworks inkl. Dokumentation auch den Einstieg in<br />
Diskussionsforen um das Open-Source Sedona Framework.<br />
Fragen um das Engineering von Sedona-Controllern mit WorkPlace AX und die<br />
Integration von Sedona-Controllern in Niagara AX werden auf www.niagaracentral.com<br />
diskutiert.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 43
Anhang A: IO-Ansteuerung im ICS-500<br />
7 Anhang A: IO-Ansteuerung im ICS-500<br />
7.1 LocalIo<br />
Das ICS-500 ist ein modularer Sedona-Controller. Der Controller kann passend zur<br />
jeweiligen Aufgabenstellung mit IO-Klemmen zu einer Station erweitert werden. Es<br />
sind Klemmen mit analogen oder digitalen Eingängen bzw. Ausgängen mit<br />
unterschiedlicher Kanalzahl sowie Funktionsklemmen (DALI, S0-Zähler) verfügbar.<br />
Der Zugriff auf die IO in der Sedona-Applikation erfolgt über die Komponenten des<br />
Kit „<strong>SysMik</strong>LocalIo“. Eine detaillierte Beschreibung aller Komponenten finden Sie in<br />
der Hilfe „Doc <strong>SysMik</strong> Sedona“.<br />
Für den Zugriff muss eine Komponente „LocalIo“ wird in die Applikation eingefügt<br />
werden. Sie dient als Container für alle Klemmen-Komponenten, die hier in der<br />
Reihenfolge eingefügt werden, die der Klemmenreihenfolge der Station entspricht.<br />
Bei Bedarf kann die Reihenfolge der Komponenten über das lokale Menü von<br />
„LocolIo“ „Reorder“ dem tatsächlichen Aufbau der Station angepasst werden.<br />
„LocalIo“ berechnet die Länge der Station sowie die Stromaufnahme und adressiert<br />
alle untergeordneten Klemmenkomponenten. Über die Action „ReconfigIo“ werden<br />
Einstellungen der Klemmenkomponenten dem IO-Treiber des Controllers<br />
übergeben und die Station entsprechend konfiguriert.<br />
44 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Anhang A: IO-Ansteuerung im ICS-500<br />
7.2 Klemmen<br />
Für jede verfügbare Klemme existiert eine Komponente. Die Klemmen-<br />
Komponenten besitzen je Kanal ein Property, über welche die Eingangssignal<br />
gelesen bzw. Ausgangssignale geschrieben werden können.<br />
Einige Klemmen lassen zusätzlich kanalspezifische Konfigurationen zu; z.B. die<br />
Messbereichseinstellung der analogen Eingangskellen „AI…“.<br />
Eine zusätzliche View “Ics500 Clamp Manual“ zeigt Datenblatt der Klemme an.<br />
DALI-Klemmen geben Zugang zu DALI-Netzwerken. Zum Zugriff auf die DALI-<br />
Teilnehmer existieren Dali-Komponenten, die den DALI-Klemmen-Komponenten<br />
untergeordnet werden.<br />
Die Dali-Slave-Komponenten „DaliSCommand“, „DaliSLuxLevel“ und<br />
„DaliSPresence“ sind nur unterhalb der DALI-Multimaster-Klemme „DALIM__...“<br />
nutzbar, um Daten von DALI-Sensoren zugängig zu machen.<br />
7.3 Fehlererkennung<br />
Bei der Konfiguration der Station über die Action „ReconfigIo“ der „LocalIo“-<br />
Komponente werden die Daten der Applikation mit dem erkannten tatsächlichen<br />
Aufbau der Station verglichen: das Resultat der Prüfung steht am Property „Cfg<br />
Error“ von „LocalIo“ zur Auswertung bereit; das Property „Cfg Error Terminal“ gibt<br />
die Klemmennummer, auf die sich der Fehler bezieht, an. Wird ein Fehler erkannt,<br />
wird die IO-LED des ICS-500 gelb; ohne Fehler wird sie grün.<br />
Für den Betrieb der Station gibt es zwei Fehlererkennungs-Komponenten, die<br />
Fehler wie Kabelbruch, Messbereichsverletzungen, Gerätedefekte, DALI-Fehler<br />
usw. erkennen können. „IoErrorLocal“ kann „LocalIo“ direkt untergeordnet werden<br />
und gibt den ersten erkannten Fehler in der Station sowie die betroffene Klemmenund<br />
Kanalnummer aus.<br />
„IoErrorTerminal“ kann einer Klemmen-Komponente untergeordnet werden. Hier<br />
kann sogar ein einzelner Kanal der Klemme konfiguriert werden, für den die<br />
Fehlererkennung durchgeführt werden soll.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 45
Anhang B: Kommunikation<br />
8 Anhang B: Kommunikation<br />
8.1 Modbus<br />
Die Sedona-Controller können als Modbus TCP Server, Modbus TCP Client und als<br />
Modbus RTU Master betrieben werden. Jeder Controller hostet 10.000 Coils, 10.000<br />
Discrete Inputs, 10.000 Holding Register und 10.000 Input Register, die die Sedona-<br />
Applikation mit Komponenten des Kit „<strong>SysMik</strong>ModbusServer“ lesen und<br />
beschreiben kann. Es gibt Lese-Komponenten „Get“ und Schreib-Komponenten<br />
„Set“ für die verschiedenen Datenpunktarten. Es stehen auch Komponenten zur<br />
Verfügung, die Float bzw. Long-Daten in jeweils zwei benachbarten Registern<br />
abbilden können. Für alle Komponenten muss die Datenpunktadresse konfiguriert<br />
werden.<br />
Mit den Komponenten des Kit „SysmikModbusClient“ wiederum erhält die Sedona-<br />
Applikation Zugriff auf die Modbus-Datenpunkte anderer Modbus-Geräte. Die<br />
Kommunikation erfolgt dabei über das Modbus-Protokoll. Es gibt für alle Modbus-<br />
Datenpunkttypen „Get“-Komponenten und für Coils und Holding Register auch<br />
„Set“-Komponenten. Es stehen auch Komponenten zur Verfügung, die Float bzw.<br />
Long-Daten in jeweils zwei benachbarten Registern abbilden können. Für alle<br />
Komponenten muss eine IP-Adresse des Modbus-Servers, die Portnummer, die<br />
Unit-Id, die Datenpunktadresse sowie eine Zykluszeit konfiguriert werden. Ist die IP-<br />
Adresse „0.0.0.0“, dann erfolgt die Kommunikation serielle über Modbus RTU. Die<br />
Zykluszeit definiert das Polling-Intervall (Get) bzw. die Update-Zykluszeit (Set) an.<br />
Die Set-Komponenten lösen das Schreiben zusätzlich bei Werteänderungen – also<br />
ereignisgesteuert aus.<br />
8.2 intesaNet<br />
Sedona-Controller der intesa-Produktfamilie können über intesaNet miteinander<br />
kommunizieren. Die Komponenten des Kit „<strong>SysMik</strong>IntesaNet“ realisieren eine<br />
Treiber – Gerät – Punkt-Struktur zur Kommunikation über Modbus TCP.<br />
Die Komponente „IntesaNet“ ist Container für alle an der Kommunikation beteiligten<br />
Geräte bzw. Kommunikationspartner. Dies sind „LocalDev“ – das lokale/eigene<br />
Gerät und mehrere „RemoteDev“. Für die „RemoteDev“-Komponenten muss die IP-<br />
Adresse des Kommunikationspartners, die Portnummer, die Unit-Id sowie eine<br />
Zykluszeit konfiguriert werden.<br />
Nun können in „LocalDev“ und in den „RemoteDev“-Komponenten Datenpunkte<br />
angelegt werden. In „LocalDev“ werden die Datenpunktadressen automatisch<br />
beginnend bei 0 fortlaufend vergeben; manuelle Anpassungen sind jederzeit<br />
möglich. In „RemoteDev“-Komponenten muss die Datenpunktadresse manuell<br />
konfiguriert werden – passend zu den Datenpunkten in „LocalDev“ des entfernten<br />
Gerätes.<br />
46 Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2
Anhang B: Kommunikation<br />
Beispiel: Der Sedona-Controller mit der IP-Adresse 10.0.7.10 enthält eine<br />
Applikation mit einem Heizungsregler, der über IO ein Heizventil ansteuert und die<br />
Raumtemperatur misst. Der Sedona-Controller mit der IP-Adresse 10.0.7.11 gibt<br />
den Sollwert für die Heizungsregelung vor und überwacht die Raumtemperatur. Der<br />
Sollwert wird also von 10.0.7.11 nach 10.0.7.10 übertragen und die<br />
Raumtemperatur von 10.0.7.10 nach 10.0.7.1<strong>1.</strong><br />
Um kleine Reaktionszeiten bei geringem Kommunikationsaufkommen zu erreichen,<br />
ist es also empfehlenswert, ereignisorientiert zu schreiben und nicht zu pollen. Also<br />
legt man idealerweise ausgehende Daten (zu einem entfernten Gerät) in das<br />
„RemoteDev“ und Eingangsdaten (von einem anderen Gerät) in „LocalDev“.<br />
Der Sollwert wird<br />
• in 10.0.7.10 als „Float“ (nur lesen) im „LocalDev“ mit Datenpunktadresse 0<br />
angelegt; wird hier also gehostet<br />
• in 10.0.7.11 als „FloatWr“ (schreibbar) mit Datenpunktadresse 0 (passend zum<br />
Empfänger) im „RemoteDev“ mit der IP-Adresse 10.0.7.10 angelegt.<br />
Die Raumtemperatur wird<br />
• in 10.0.7.11 als „Float“ (nur lesen) im „LocalDev“ mit Datenpunktadresse 12<br />
angelegt; wird hier also gehostet<br />
• in 10.0.7.10 als „FloatWr“ (schreibbar) mit Datenpunktadresse 12 (passend zum<br />
Empfänger) im „RemoteDev“ mit der IP-Adresse 10.0.7.11 angelegt.<br />
Erste <strong>Schritte</strong> mit Sedona <strong>1.</strong>2 47