A A A
| Sitemap | Kontakt | Impressum | Datenschutz
ETZ Logo VDE Verlag Logo

CAN-Geräte einfach in der S7-Welt abbilden

Bild 1. Schnittstellenblock (links) auf einer S7-Panel-SPS mit integriertem 3,5-Zoll-TFT-Touchpanel und Onboard-Peripheriemodulen

Bild 2. Konfigurierte Fremdperipherie als Bibliothekselement der Configstage

Bild 3. Zuordnung der S7-Operandenbereiche für Modbus-TCP-Server

Einige S7-Anwender würden ihre Automatisierungslösung gern um CANopen-Geräte erweitern. So mancher scheut jedoch die unbekannte Konfiguration unter Step7. Für sie hat Insevis ein kostenloses Tool entwickelt, das die Konfi­guration von CANopen-Slaves einfach ermöglicht. Darüber erfolgt die Festlegung der CANopen-Parameter und -Dienste und die Zuordnung der CAN­open-Prozessdaten zu den S7-Operanden.

Lange Zeit wurde CAN von der S7-Welt nicht ausreichend unterstützt. 2011 hat Insevis eine eigene ­S7-315-kompatible Steuerungsfamilie auf den Markt gebracht, die neben Ethernet und seriellen Schnittstellen auch immer eine CAN-Schnittstelle onboard hat. Damit wird neben Protokollen, wie RFC1006, TCP, UDP oder Modbus RTU/TCP, auch die Kommunikation via CAN­open möglich.
Bei der strategischen Produktplanung für seine neue S7-Automatisierungsplattform (Bild 1) verfolgte Insevis neben dem Ziel, eine Familie mit wirtschaftlichen S7-Kompaktsteuerungen zu etablieren, auch ­eine Erweiterung der S7-Welt mit einem anderen Feldbus als Profibus DP. Außerhalb der S7-Welt hat sich ­CAN­open bereits etabliert. Das Angebot an CAN­open-kompatiblen Geräten ist breit gefächert und reicht von digitalen und analogen Ein-/Ausgabemodulen über Dreh- und Positionsgeber bis zu komplexen Motion Con­trollern. Diese Produkte basieren vielfach auf Mikrocontrollern mit integrierter CAN-Schnittstelle.
Es gab bereits diverse Ansätze, die CANopen-Parameter und -­Funktionen mit der S7-Programmierwelt zu verknüpfen. Dabei wurde aber nicht immer eine optimale Bedienfreundlichkeit erreicht. Deshalb wurde ein kostenloses Tool mit intuitiver grafischer Bedienoberfläche für die Konfiguration seiner eigenen und fremder CAN-Peripheriegeräte entwickelt. Über dieses erfolgt die Festlegung der CANopen-Parameter und -Dienste sowie die Zuordnung der CAN­open-Prozessdaten zu den S7-Operanden. In einer Bibliothek lassen sich selbst- oder vordefinierte Einstellungen der CANopen-Geräte verwalten.

CANopen-Einbindung in Step7 ohne Expertenwissen
Nicht viele S7-Programmierer haben Erfahrung mit der CAN-Kommunikation unter Step7. Das liegt unter anderem daran, dass durch die bislang zusätzlich zur herkömmlichen Simatic S7 benötigte externe Hardware die Wirtschaftlichkeit nur eingeschränkt gegeben war und somit Profibus DP der Vorzug gegeben wurde.
Mit der kostenlosen Parametriersoftware Configstage lassen sich nun bis zu 127 CANopen-kompatible ­Slaves in der unter S7 gewohnten Art und Weise über einen Hardware­konfigurator per drag-and-drop ein-­binden.
Besonders profitiert die dezentrale Insevis-Peripherie von diesem Tool. Hier wird dezentrale CAN-Peripherie ohne sichtbare CAN-Parametrierung genauso konfiguriert wie die Onboard-Peripherie auf den S7-Steuerungen des Unternehmens abbilden. Für abgesetzte Lösungen unter S7 sind die 50 mm tiefen S7-Panel-SPS gut gerüstet.
Im Installationsumfang der Configstage finden sich zudem bereits vordefinierte Konfigurationen für einige intelligente Antriebsregler, deren Parametrierung fertig zugewiesen wurde und mit einem S7-Beispielprogramm abgestimmt ist. Bei einigen Motion Controllern existieren kostenlose Funktionsbausteine für Motion-Standardfunk­tionen, die einen Tausch der Antriebe quasi ohne Änderung des S7-Anwendungsprogramms ermöglichen. Die Bausteine werden in der zugehörigen Dokumentation beschrieben und in einem Beispielprogramm anschaulich eingesetzt.

Der Weg zum „eigenen“ CANopen-Slave
Um einen „eigenen“ CANopen-Slave zu erhalten, wird der neutrale CAN-Slave (CAN-Node) per drag-and-drop auf die CPU gezogen und dann manuell konfiguriert (Bild 2). In der Softwareoberfläche werden die Prozessdaten zu 8 Byte in CANopen-PDO gruppiert und je einem gewünschten S7-Operanden zugewiesen. Damit sind einfache Sen­soren und Aktoren transparent in den S7-Adressraum integriert. Statusabfragen, Fehlerhandling und Parametrierung zur Programmlaufzeit werden über Zusatzbausteine (SFB) aus der kostenlos mitgelieferten S7-Bibliothek realisiert.
Der neu entstandene CANopen-Slave wird nun zum Katalog hinzugefügt, beschrieben und auch mit Bildern hinterlegt und steht damit für die weitere Verwendung bereit.

Onboard Modbus RTU und Mod­bus TCP einfach konfigurieren
Mit demselben Tool sind auch die anderen Schnittstellen der Insevis-S7-Steuerungen konfigurierbar. Zum Beispiel bei der Anbindung von Modbus-RTU- und TCP-Partnern können die firmeneigenen S7-Steuerungen wahlweise als Master oder Slave fungieren. Für die Verwendung als Modbus-RTU/TCP-Master (Client) steht je ein S7-Treiberbaustein zum Datenaustausch mit einem Modbus-Server zur Verfügung. Für die Verwendung als Modbus-RTU/TCP-Slave (Server) werden in der Configstage mit einigen Klicks die Baudrate, das Datenformat und Knotennummer bzw. die TCP/IP-Verbindungsparameter eingestellt und die S7-Operandenbereiche den Eingangs- und Ausgangsbits und -wörtern zugeordnet (Bild 3).
Neben Modbus-TCP können die Insevis-S7-SPS auch via RFC1006, TCP und UDP kommunizieren. Auch hier werden die Verbindungsparameter in der Configstage eingetragen. Die Kommunikation erfolgt Siemens-kompatibel unter S7.

Fazit
Mit der kostenlosen Konfigurations­software Configstage ist die Parametrierung von CANopen-Slaves einfach möglich. Durch diese Direkt­anbindung von CANopen-Geräten an die Insevis-S7-Steuerungen lassen sich wirtschaftliche Komplettlösungen unter S7 auch durch CAN-Nichtfachleuten realisieren. Damit besteht für viele Anwender die Möglichkeit, mit einer Insevis-S7-SPS in technisch und wirtschaftlich neue Bereiche vorzudringen, ohne ihre angestammte S7-Programmierumgebung zu verlassen.

Der Beitrag als pdf

Autor: Jörg Peters ist Geschäftsführer der Insevis Gesellschaft für industrielle Systemtechnik und Visualisierung mbH in Erlangen.