Anwendungshinweis Speicherprogrammierbare Steuerung XC100/XC200 Kopplung mehrerer autarker Steuerungen (CAN-Device) über CANopen 08/03 AN2700K20D Moeller GmbH, Bonn BU - Automatisierung Autor: P. Roersch XSystem@Moeller.net Alle Marken- und Produktnamen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Titelhalter. Alle Rechte, auch die der Übersetzung, vorbehalten. Kein Teil dieses Anwendungshinweises darf in irgendeiner Form (Druck, Fotokopie, Mikrofilm oder einem anderen Verfahren) ohne schriftliche Zustimmung der Firma Moeller GmbH, Bonn, reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden. Änderungen vorbehalten.
Inhaltsverzeichnis 1.0 Übersicht... 3 2.0 Konfigurationsablauf... 4 3.0 Konfiguration der XC100... 4 3.1 Zielsystem einstellen... 4 3.2 Deklaration der Variablen, die über CANopen versendet werden sollen... 5 3.3 Integration der Variablen in das Objektverzeichnis... 5 3.4 Bibliotheksdateien für CANopen hinzufügen... 6 3.5 Steuerung in die Konfiguration einfügen... 6 3.6 Einfügen der Sende- und Empfangs-PDOs... 7 3.7 Mappen von Objekten in die PDOs... 9 3.8 Programmerstellung... 9 4.0 Konfiguration des Masters... 10 5.0 Programmerstellung für den Master... 12 6.0 Anhang... 13 6.1 Spannungsversorgung und Verbindung zum PC... 13 6.2 CANopen Anschluß und Verbindungskabel zwischen den SPSen... 14 Moeller GmbH AN2700K20D 2
1.0 Übersicht Dieser Anwendungshinweis zeigt auf, wie Sie zwei speicherprogrammierbare Steuerungen XC100 und XC200 über den Feldbus CAN miteinander verbinden können. Der Anschluss weiterer Teilnehmer an den Bus ist grundsätzlich möglich. In diesem Fall ist das folgende Beispiel zu erweitern. In dem Beispiel wird die XC200 als CAN-Master und die XC100 als CAN-Device-Gerät konfiguriert. Beide Steuerungen arbeiten autark und tauschen die Daten über PDO s (Prozess Daten Objekte) aus. So kann die XC100-Steuerung PDO s (Prozess Daten Objekte) senden oder empfangen. In Verbindung mit dem Master sind folgende Funktionen möglich: Der Master kann: -die Steuerung konfigurieren und starten. -mittels SDO-Transfer auf die Steuerung zugreifen (Die Steuerung kann von sich aus allerdings keinen SDO- Transfer starten, sie fungiert lediglich als SDO-Server) Es werden folgende Themen behandelt: - Konfiguration der Steuerungen - Erstellung des Programms - Verbindung PC - Steuerung - CANopen Verbindungskabel Hard- und Software-Voraussetzungen XC100: Hardware V01 V02 Betriebssystem V1.3 V2.0 XC200: Hardware V01 Betriebssystem V1.00 Software: Xsoft V2.3.1 Moeller GmbH AN2700K20D 3
2.0 Konfigurationsablauf Erstellen Sie zunächst die Konfiguration der XC100. Bei der Abspeicherung der Daten wird eine EDS-Datei erzeugt, die die spezifischen Daten des Teilnehmers enthält. Danach konfigurieren Sie die XC200. In der Konfiguration der XC200 binden Sie die XC100 mit ein, indem Sie den Projektnamen! des XC100-Projekts auswählen. Der Projektname ist indirekt mit der EDS-Datei verknüpft. Aufgrund der EDS-Daten kann die XC200 die Kommunikation mit der XC100 aufbauen. 3.0 Konfiguration der XC100 Öffnen Sie eine neue Datei. Wählen Sie im Fenster Zielsystem Einstellungen den Typ der Steuerung aus, z.b. XC- CPU101-C128K-... Wechseln Sie zum Register Netzfunktionen und füllen Sie die Indexbereiche gemäss der folgenden Abbildung 1 aus. ( Dieser Punkt wird in Zukunft entfallen, da hier dann Standardwerte eingetragen werden.) 3.1 Zielsystem einstellen Abbildung 1: Einstellung des Zielsystems Bestätigen Sie mit ok. Wählen Sie Bausteinart und Sprache aus. Moeller GmbH AN2700K20D 4
3.2 Deklaration der Variablen, die über CANopen versendet werden sollen Wechseln Sie in das Register Ressourcen. Wählen Sie im Ordner Globale Variable das Verzeichnis Globale Variable an. Erstellen Sie die Deklaration gemäss der Abbildung 2. Abbildung 2: Erstellung der Deklaration (Parameter, die über CAN versendet werden sollen, werden in einen Ordner für globale Variablen eingetragen.) 3.3 Integration der Variablen in das Objektverzeichnis Öffnen Sie den Ordner: Parameter-Manager im Register Ressourcen. Klicken Sie das Register Variable an so erscheint der markierte Begriff Standard Variable OD (OD: Object dictionary = Objektverzeichnis) Tragen Sie in den rechten Feldern die Parameter für Index, Subindex, Zugriff, Attribut und Variable (siehe Begriff Variable S.6) gemäss Abbildung 3 ein. Die Variable M_IN soll einen Wert darstellen, der vom Master empfangen wird. Deshalb erhält die Variable das Attribut read only. M_OUT erhält das Attribut write only, da M_OUT vom Master gesendet wird. Die Vergabe des Subindex ist beliebig. Abbildung 3: Variablen festlegen Anmerkung: Die Attribute sind aus der Sicht des Masters einzutragen Moeller GmbH AN2700K20D 5
Für jede Variable / jeden Parameter, der in das Objektverzeichnis eingebunden werden soll, muß eine Zeile im Parameter-Manager ausgefüllt werden. (Zur Öffnung einer 2. Zeile setzen Sie den Cursor in die erste Zeile, betätigen Sie die rechte Maustaste und wählen Sie aus dem Menü Zeile einfügen aus.) - Index: gültiger Eintrag aus den Indexbereichen; Index für Variablen Start: 2001 1) - Subindex:gültiger Eintrag aus dem Subindexbereich; 1-100 1) - Zugriff: low / middle / high, derzeit keine Unterscheidung - Attribut: read-only / write-only / read-write, Eintrag je nach Verwendung - Variable: Namen eintragen: markieren Sie das Feld unter Index betätigen Sie die Funktionstaste F2 (es öffnet sich das Fenster Eingabehilfe mit dem Ordner Watch Variable ) Öffnen Sie das Verzeichnis Globale Variablen Markieren Sie den Namen der Variablen und bestätigen Sie mit ok (Der Variablenname wird übertragen. Der Variablenname beginnt mit einem Punkt!) 1) Index-Bereiche sind unter Zielssystem Einstellungen definiert (-> Abbildung 1). Schließen Sie den Parameter-Manager. ( Zur Übernahme der Daten unbedingt erforderlich.) 3.4 Bibliotheksdateien für CANopen hinzufügen Wechseln Sie zum Verzeichnis Bibliotheksverwalter im Register Ressourcen. Fügen Sie zur bestehenden Bibliotheksverwaltung aus dem Ordner Lib_CPU101 die Datei 3S_CANopenDevice.lib hinzu. Die Dateien 3S_CANopenManager.lib, 3S_CANDrv.lib und Syslibcallback.lib werden automatisch nachgezogen. 3.5 Steuerung in die Konfiguration einfügen - Klicken Sie in der Steuerungskonfiguration im Register Ressourcen das Feld Configuration XC-CPU101-... mit der rechten Maustaste an. - Wählen sie Unterelement anhängen -> CANDevice - Füllen sie die Felder gemäss der Abbildung 4 aus. Tragen Sie im Register Grundeinstellungen den Namen der EDS-Datei und den Pfad ein, wo die Datei abgepeichert werden soll. C:\Programme\Xsoft V2.3\Library\PLCConf\Silo3.EDS Moeller GmbH AN2700K20D 6
Abbildung 4: Steuerungskonfiguration erstellen Im Register CAN-Einstellungen tragen Sie die NodeID, Baudrate und Nodeguarding (Startwerte) ein. Aktivieren Sie Automatisch starten. Die Heartbeat -Funktionen (nicht dargestellt) sind nicht aktiv 3.6 Einfügen der Sende- und Empfangs-PDOs Wechseln Sie zum Register Default PDO-Mapping Es wird das Register mit den bestehenden Objekten angezeigt Abbildung 5: Anzeige bestehender Objekte Moeller GmbH AN2700K20D 7
Im rechten Feld werden die PDOs angezeigt. (Siehe Abbildung 6) Ordnen sie den PDOs die Eigenschaften zu: - Markieren sie das Feld PDO 16#1400 - Klicken sie die Taste Eigenschaften an - Füllen Sie die Felder gemäss Abbildung 6 aus - Bestätigen Sie mit ok. Verfahren Sie ebenso mit der PDO 16#1800 (COB-ID: NodeID+384) Abbildung 6: PDO Eigenschaften Weitere Informationen finden Sie in der Dokumentation AWB2700-1437 Programmiersoftware XSoft im Kapitel Konfiguration von CAN Modulen. Moeller GmbH AN2700K20D 8
3.7 Mappen von Objekten in die PDOs Stellen Sie die Verbindung zwischen Variablennamen und PDO her: (M_IN (Master empfängt) PDO 16#1800 (Slave sendet) (M_OUT (Master sendet) PDO 16#1400 (Slave empfängt) - Markieren Sie sowohl den Variablennamen z.b. M_IN und die PDO 16#1800. - Klicken Sie auf die Taste >>. Verfahren Sie ebenso mit der Variablen M_OUT und PDO 16#1400 Das Fenster hat nun den Inhalt: Abbildung 7: PDO Mapping Speichern Sie die Konfiguration ab. 3.8 Programmerstellung Erstellen Sie das Programm, z.b.: PROGRAM PLC_PRG VAR Test: BYTE; END_VAR Test := M_OUT; M_IN := Test +1; Speichern Sie das Programm ab und übersetzen Sie das Programm. Beim Übersetzungsvorgang wird die EDS-Datei erstellt. Moeller GmbH AN2700K20D 9
4.0 Konfiguration des Masters Öffnen Sie eine neue Datei und wählen Sie eine Steuerung aus, z.b. XC200. Wechseln Sie zum Register Netzfunktionen und aktivieren Sie die Funktion Parameter-Manager unterstützen. (Siehe 3.1) Bestimmen Sie die Bausteinart und Sprache. Fügen Sie die Datei 3S_CanOpenMaster.lib in den Bibliotheksverwalter ein. Erweitern Sie die Konfiguration um einen Can Master: Wechseln Sie zum Fenster Steuerungskonfiguration. Klicken Sie mit der rechten Maustaste Configuration XC-CPU201-.. an. Wählen Sie Unterelement anhängen -> CAN Master an. Klicken Sie auf CanMaster[VAR] -> Unterelement anhängen. Wählen Sie aus der Liste den Projektnamen! (nicht den EDS-Dateinamen) des Slave aus, z.b. slave200candev(silo3.eds) Abbildung 8: EDS-Datei einbinden Die Steuerungskonfiguration wird erweitert: Abbildung 9: Erweiterte Steuerungskonfiguration Moeller GmbH AN2700K20D 10
Kontrollieren Sie die CAN-Parameter: Abbildung 10: CAN Parameter (Master) Abbildung 11: CAN Parameter (Slave) Speichern Sie die Konfiguration ab. Moeller GmbH AN2700K20D 11
5.0 Programmerstellung für den Master PROGRAM PLC_PRG VAR count: USINT; Transmit AT%QB2:USINT; RECEIVE AT%IB6:USINT; AUSGABE AT%QB0:USINT; END_VAR count:=count+1; Transmit:=count; AUSGABE:=RECEIVE; Speichern Sie das Programm ab. Moeller GmbH AN2700K20D 12
6.0 Anhang 6.1 Spannungsversorgung und Verbindung zum PC Schließen Sie die Steuerungen an eine 24VDC Spannungsversorgung an. Zur Programmierung wird die Steuerung mit dem PC ( COM-Schnittstelle) verbunden. Verwenden Sie hierzu das Programmierkabel XT-SUB-D/RJ45. Netzteil 24VDC 24 V 0V Abbildung 12: Anschluß der Steuerungen an den PC und an die Spannungsversorgung Moeller GmbH AN2700K20D 13
6.2 CANopen Anschluß und Verbindungskabel zwischen den SPSen Die CANopen Feldbusschnittstelle besteht aus einem 6-poligen Klemmenblock. An diesem Klemmenblock sind die CANopen Leitungen CAN_H, CAN_L und GND zweifach ausgeführt (internes T-Stück ), um den CANopen Bus zu weiteren Teilnehmern zu führen. Ist die Steuerung der erste oder der letzte Teilnehmer, so muß an dem Klemmenblock (Klemme 4 und 5) ein Abschlusswiderstand (120 Ohm) angeschlossen werden. Abbildung 12 zeigt das selbst zu erstellende CANopen Verbindungskabel. Abbildung 13: CANopen Kemmenblock-Anschluß 1 - CAN_H 2 - CAN_L 3 - GND 1 - CAN_H 2 - CAN_L 3 - GND Abbildung 14: CANopen Verbindungskabel zwischen den Steuerungen Moeller GmbH AN2700K20D 14