SDO-Kommunikation aus der SPS
Für die SDO-Kommunikation aus der SPS heraus verwendet man die ADS-Bausteine. Mit diesen Bausteinen ist es möglich, SDO-Telegramme zu versenden und die Antwort des Slaves zu empfangen (ADSWRITE/ADSREAD).
Eingangsparameter | Beschreibung |
---|---|
NETID | ADS NetId des CAN Interface |
Port Nummer | 0x1000hex + NodeId (Slave Nummer) |
IDXGRP | SDO-Index |
IDXOFFS | SDO Subindex |
LEN | Länge der SDO-Daten (1...4) |
Manuelles Netzwerkmanagement
Der CANopen Status (STOPPED, PRE-OPERATIONAL, OPERATIONAL) eines CANopen-Slaves kann per ADS Write Control verändert werden. Dabei ist die AMS-Adresse wie bei der SDO-Kommunikation einzustellen, die anderen Parameter ergeben sich anhand der folgenden Tabelle:
ADS State | Device State | CANopen state transition |
ADSSTATE_RUN (5) | 0 | OP->PREOP |
ADSSTATE_RUN (5) | 1 | PREOP->OP |
ADSSTATE_STOP (6) | 0 | OP->STOP |
ADSSTATE_RUN (5) | 1 | STOP->OP (mit Reset Communication) |
ADSSTATE_RUN (5) | 3 | STOP->OP (ohne Reset Communication) |
ADSSTATE_STOP (6) | 0 | PREOP->STOP |
ADSSTATE_RUN (5) | 2 | STOP->PREOP (ohne Reset Communication) |
CAN-Interface neu Starten
Mit dem ADSWRTCTL Baustein kann das CAN-Interface gestoppt und neu gestartet werden. Führen Sie als erstes ein Stopp aus und als nächstes einen Start aus.
Eingangsparameter | Beschreibung |
---|---|
NETID | ADS NetId des CAN Interface |
Port Nummer | 200dez |
ADSSTATE | ADSSTATE_STOP, ADSSTATE_RUN |
DEVSTATE | 0 |
LEN | 0 |
SRCADDR | 0 |