Empfangen von SDO-Daten in der SPS
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 den CAN Device (CX8051) 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 |