mazoellner
Level-1
- Beiträge
- 33
- Reaktionspunkte
- 0
a200[0] := CPX_PS4:I.Data[0];
cps(CPX_MCP1:I.Data[0].0, a200[0],8);
cps(CPX_MCP1:I.Data[0], a200[0],8);
CPS hatte ich auch schon angedacht, aber
funktionieren auch beide nicht. Die Syntax an für sich sollte ja stimmen, oder?Code:cps(CPX_MCP1:I.Data[0].0, a200[0],8); cps(CPX_MCP1:I.Data[0], a200[0],8);
Gibt es denn noch weitere Möglichkeiten? Ich hatte noch das Bitfeld probiert, aber bei dem meckert er auch, wegen unpassendem Typ.
Gruß
Matthias
memcpy(adr(Ziel), adr(Quelle), sizeof(Ziel)); ?
Da bleibt wohl nur das manuelle Zerlegen übrig.
Also vielleicht nochmal kurz zu dem Hintergrund meines Problems. Ich habe von EPLAN generierte E/A Bezeichnungen, z.B. E5.40. Das E5 steht in dem Fall für ein bestimmtes Gerät, also eigentlich so etwas wie ein Ortskennzeichen. Die Überlegung war jetzt diese Eingänge auch irgendwie so ähnlich in der SPS zu benennen. Also entweder direkt mit dem E5.40 oder als Alternative E5[40] <-- Darum auch das bool Array.
Eigentlich ja noch kein Problem, aber jetzt müsste ich natürlich noch die Variablen aus den Peripherie Abbildern auf die entsprechenden Arrays legen und genau das ist mein Problem.
Gruß
Matthias
// Lokale Karten umkopieren
PIN.I00 := Local:1:I.Data;
PIN.I01 := Local:2:I.Data;
PIN.I02 := Local:3:I.Data;
PIN.I03 := Local:4:I.Data;
PIN.I04 := Local:5:I.Data;
PIN.I05 := Local:6:I.Data;
// INSEL A30 +PP1
PIN.I30.0 := A30:1:I.0; //Kommentar
PIN.I30.1 := A30:1:I.1;
PIN.I30.2 := A30:2:I.0;
PIN.I30.3 := A30:2:I.1;
PIN.I30.4 := A30:3:I.0;
PIN.I30.5 := A30:3:I.1;
PIN.I30.6 := A30:4:I.0;
PIN.I30.7 := A30:4:I.1;
// Lokale Karten umkopieren
Local:7:O.Data := POUT.O00;
Local:8:O.Data := POUT.O01;
Local:9:O.Data := POUT.O02;
Local:10:O.Data := POUT.O03;
Local:11:O.Data := POUT.O04;
Local:12:O.Data := POUT.O05;
// INSEL A30
A30:18:O.0 := POUT.O30.0;
A30:18:O.1 := POUT.O30.1;
A30:19:O.0 := POUT.O30.2;
A30:19:O.1 := POUT.O30.3;
A30:20:O.0 := POUT.O30.4;
A30:20:O.1 := POUT.O30.5;
A30:21:O.0 := POUT.O30.6;
A30:21:O.1 := POUT.O30.7;
Diese Mölichkeit kam mir auch in den Sinn, allerdings hatte ich da bedenken wegen der Zykluszeit. Es handelt sich ja um lauter Bitzugriffe. Vielleicht sollte ich noch erwähnen das ich relativ viele E/A's habe. Insgesamt ungefähr 100 Byte.
Sind die Zykluszeitkosten so gering, das diese nicht ins Gewicht fallen, oder ist von so einer Lösung dann generell Abstand zu nehmen?
Gruß
Matthias
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?