MFreiberger
Level-3
- Beiträge
- 3.275
- Reaktionspunkte
- 923
-> Hier kostenlos registrieren
Moin Zusammen,
irgendwie sehe ich grade die Ursache meines Problems nicht. Hoffentlich könnt ihr meinen Gedankenfehler eleminieren
Eckdaten:
Programmierumgebung: TIA V16 Upd 6
zwei Steuerungen:
1. 1515F-2 PN V2.8 515-2FM01-0AB0
2. 1515F-2 PN V2.9 515-2FM02-0AB0
Die Steuerungen sind über iDevice (1. Steuerung ist Device; 2. Steuerung ist Controller) gekoppelt.
Zur Prüfung der Kommunikation habe ich ein toggle-Bit vorgesehen.
Das Schreiben des ausgehenden toggle-Bits in der Steuerung 2 funktioniert nicht so, wie ich mir das vorstelle.
Das toggeln des Bits funktioniert sowohl bei "Signaltoggle 1", als auch bei "Signaltoggle 2".
ABER: in beiden Fällen nur, wenn ich das Toggeln (manche werden sich schon bzgl. des Codes gewundert haben) doppelt programmiere.
Die IF-Abfrage (Signaltoggle 2) habe ich tatsächlich nur versuchsweise programmiert, macht aber natürlich das gleiche, wie die einfache Zuweisung (Signaltoggle 1). Aber in beiden Fällen muss ich die Codezeilen doppelt programmieren. Wahrscheinlich bin ich einfach nur zu dösig, um die Ursache zu finden. Programm komplett überzetzen/laden habe ich schon gemacht.
Wer kann den Finger in die Wunde legen und mir schnell sagen, warum es nicht funktioniert?
VG
MFreiberger
irgendwie sehe ich grade die Ursache meines Problems nicht. Hoffentlich könnt ihr meinen Gedankenfehler eleminieren

Eckdaten:
Programmierumgebung: TIA V16 Upd 6
zwei Steuerungen:
1. 1515F-2 PN V2.8 515-2FM01-0AB0
2. 1515F-2 PN V2.9 515-2FM02-0AB0
Die Steuerungen sind über iDevice (1. Steuerung ist Device; 2. Steuerung ist Controller) gekoppelt.
Zur Prüfung der Kommunikation habe ich ein toggle-Bit vorgesehen.
Das Schreiben des ausgehenden toggle-Bits in der Steuerung 2 funktioniert nicht so, wie ich mir das vorstelle.
Code:
IF
"STAWfromRBG1".ND_toggle_TELE <> "RBG1_DATA_DB".ND_toggleMem_TELE
THEN
"RBG1_DATA_DB".ND_toggleMem_TELE := "STAWfromRBG1".ND_toggle_TELE;
// Zur Signalprüfung
//
// "CTRLtoRBG1".DR_toggle_TELE :=
// "CTRLtoRBG1".DR_toggle_TELE;
// Signaltoggle 1
//
// "CTRLtoRBG1".DR_toggle_TELE :=
// NOT "CTRLtoRBG1".DR_toggle_TELE;
// "CTRLtoRBG1".DR_toggle_TELE :=
// NOT "CTRLtoRBG1".DR_toggle_TELE;
// Signaltoggle 2
IF
"CTRLtoRBG1".DR_toggle_TELE
THEN
"CTRLtoRBG1".DR_toggle_TELE := false;
ELSE
"CTRLtoRBG1".DR_toggle_TELE := true;
END_IF;
IF
"CTRLtoRBG1".DR_toggle_TELE
THEN
"CTRLtoRBG1".DR_toggle_TELE := false;
ELSE
"CTRLtoRBG1".DR_toggle_TELE := true;
END_IF;
END_IF;
// Signalprüfung 2
"CTRLtoRBG1".DR_toggle_TELE := "CTRLtoRBG1".DR_toggle_TELE;
Das toggeln des Bits funktioniert sowohl bei "Signaltoggle 1", als auch bei "Signaltoggle 2".
ABER: in beiden Fällen nur, wenn ich das Toggeln (manche werden sich schon bzgl. des Codes gewundert haben) doppelt programmiere.

Die IF-Abfrage (Signaltoggle 2) habe ich tatsächlich nur versuchsweise programmiert, macht aber natürlich das gleiche, wie die einfache Zuweisung (Signaltoggle 1). Aber in beiden Fällen muss ich die Codezeilen doppelt programmieren. Wahrscheinlich bin ich einfach nur zu dösig, um die Ursache zu finden. Programm komplett überzetzen/laden habe ich schon gemacht.
Wer kann den Finger in die Wunde legen und mir schnell sagen, warum es nicht funktioniert?
Armin Maiwald: "Ist doch klar!"
VG
MFreiberger