derkleinefrank
Level-2
- Beiträge
- 11
- Reaktionspunkte
- 3
-> Hier kostenlos registrieren
Hallo,
ich darf nach wenig Erfahrung mit S7 Classic nun eine Anlage mit TIA V17 Save programmierren.
Dazu muss ich eine Lastmesseinrichtung von BROSA, gekoppelt über Profinet/Profisave im F-Teil der Steuerung auswerten.
Die Lastmesseinrichtung sendet 16 Bytes:
0-1: High-Bytes Messwert
2-3: Low-Bytes Messwert
(...)
In der Hardware habe ich die GSD-Datei des Sensors eingebunden und die folgenden Adressen eingestellt:
Safety E/A: E-Adresse: 700..715
A-Adresse: 700..703
In den PLC-Variablen habe ich die Variable 76PS01_SW11_X als DINT mit der Adresse %ED700 definiert.
Will ich nun im Sicherheitsprogramm auf diese Variable zugreifen, erhalte ich die Meldung "Peripheriezugriff '76PS01_SW11_X' stimmt nicht mit der Kanalstruktur der F-Peripherie überein".
Definiere ich die Variable in der PLC-Variablentebelle als INT mit der Adresse %EW700, kommt kein Fehler. Scheint also damit zusammenzuhängen, das ich DINT zwar in der PLC-Variablentabelle mit Peripheriezugriff definieren, im Sicherheitsprogramm aber nicht damit arbeiten kann?
Wenn das tatsächlich so ist und ich nicht nur irgendeinen blöden Fehler mache, wie bekomme ich dann aus den vier Low- und High-Bytes, in denen die Lastmessung den Istwert sendet, einen richtigen Wert als DINT?
Gibt da zwar den Baustein "Convert", aber der wandelt nur einen INT-Wert nach DINT, etwas anderes habe ich nicht gefunden.
Bin ich da ganz falsch unterwegs? Bitte um Hilfe
dkf
ich darf nach wenig Erfahrung mit S7 Classic nun eine Anlage mit TIA V17 Save programmierren.
Dazu muss ich eine Lastmesseinrichtung von BROSA, gekoppelt über Profinet/Profisave im F-Teil der Steuerung auswerten.
Die Lastmesseinrichtung sendet 16 Bytes:
0-1: High-Bytes Messwert
2-3: Low-Bytes Messwert
(...)
In der Hardware habe ich die GSD-Datei des Sensors eingebunden und die folgenden Adressen eingestellt:
Safety E/A: E-Adresse: 700..715
A-Adresse: 700..703
In den PLC-Variablen habe ich die Variable 76PS01_SW11_X als DINT mit der Adresse %ED700 definiert.
Will ich nun im Sicherheitsprogramm auf diese Variable zugreifen, erhalte ich die Meldung "Peripheriezugriff '76PS01_SW11_X' stimmt nicht mit der Kanalstruktur der F-Peripherie überein".
Definiere ich die Variable in der PLC-Variablentebelle als INT mit der Adresse %EW700, kommt kein Fehler. Scheint also damit zusammenzuhängen, das ich DINT zwar in der PLC-Variablentabelle mit Peripheriezugriff definieren, im Sicherheitsprogramm aber nicht damit arbeiten kann?
Wenn das tatsächlich so ist und ich nicht nur irgendeinen blöden Fehler mache, wie bekomme ich dann aus den vier Low- und High-Bytes, in denen die Lastmessung den Istwert sendet, einen richtigen Wert als DINT?
Gibt da zwar den Baustein "Convert", aber der wandelt nur einen INT-Wert nach DINT, etwas anderes habe ich nicht gefunden.
Bin ich da ganz falsch unterwegs? Bitte um Hilfe
dkf