SDO-Daten in der SPS empfangen
SDO-Daten, die der CANopen Teil der Software nicht kennt und nicht selbstständig bearbeitet, werden in die SPS weitergeleitet und können hier per ADS-Notification ausgewertet und beantwortet werden.
Hierfür muss im System Manager untern dem CAN-Gerät der ADS-Port freigeschaltet werden.
SDO Read request
Daten, die gelesen werden sollen, müssen mit einem ADSREADIND empfangen werden und mit ADSREADRES beantwortet werden.
Eingangsparameter ADSREADIND | Beschreibung |
---|---|
NETID | NetID der CAN-Schnittstelle |
Port Nummer | 0x1000hex + Node Nummer |
IDXGRP | 16#8000_0000 + SDO Index (IDXGRP.31 = ADS-Notification) |
IDXOFFS | SDO Subindex |
LEN | wird nicht beim Lesen benötigt |
Nun müssen Sie auf das ADS-Indication antworten mit einem ADS Read Response.
Eingangsparameter ADSREADRES | Beschreibung |
---|---|
NETID | NetID der CAN-Schnittstelle |
Port Nummer | 0x1000hex + Node Nummer |
INVOKEID | INVOKEID des ADSREADIND Bausteins |
RESULT | Fehler <> 0, fehlerfrei = 0 |
LEN | Länge der Daten |
SDO Write request
Daten, die geschrieben werden sollen, müssen mit einem ADSWRITEIND empfangen werden und mit ADSWRITERES beantwortet werden.
Ausgangsparameter ADSWRITEIND | Beschreibung |
---|---|
NETID | NetID der CAN-Schnittstelle |
Port Nummer | 0x1000hex + Node Nummer |
IDXGRP | 16#8000_0000 + SDO Index (IDXGRP.31 = ADS Notification) |
IDXOFFS | SDO Subindex |
LEN | Anzahl des empfangenden Daten in BYTE |
Nun müssen Sie auf das ADS-Indication antworten mit einem ADS Write Response.
Eingangsparameter ADSWRITERES | Beschreibung |
---|---|
NETID | NetID der CAN-Schnittstelle |
Port Nummer | 0x1000hex + Node Nummer |
INVOKEID | INVOKEID des ADSWRITEIND Bausteins |
RESULT | Fehler <> 0, fehlerfrei = 0 |