Hallo,
ich habe folgendes Problem: Ich kann nur Integer aus meiner SPS auslesen.
Für meine Aufgabenstellung benötige ich aber auch das Auslesen von BYTES, WORD, STRUCTS, BOOLEAN usw.
Also habe ich es mit dem ReadAny versucht.
So sieht mein Code in der SPS aus:
usw...
So sieht mein Code für Integer auslesen aus:
SPS:
Visual C#:
das klappt auch alles mit Integer.
Jetzt muss ich das selbe mit den anderen Daten machen. Dazu habe ich gelesen, man kann ReadAny benutzen. Schön und gut, aber klappt nicht so wie ich es will.
So sieht mein Code aus:
SPS:
Visual C#:
Die Fehlermeldung gibt nur aus: "Es gibt ein paar falsche Argumente".. und bei Beckhoff werd ich auch nicht schlauer.
ich habe folgendes Problem: Ich kann nur Integer aus meiner SPS auslesen.
Für meine Aufgabenstellung benötige ich aber auch das Auslesen von BYTES, WORD, STRUCTS, BOOLEAN usw.
Also habe ich es mit dem ReadAny versucht.
So sieht mein Code in der SPS aus:
Code:
PP3_Stoermeldungen :ARRAY[0..28] OF BYTE;
PP3_PollBereich :ARRAY[0..6] OF WORD;
PP3_Fenster :WORD;
PP3_Fensterwechsel :BOOL;
So sieht mein Code für Integer auslesen aus:
SPS:
Code:
PP3_Stoermeldungen :ARRAY[0..28] OF INT;
Code:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private int int_stoermeldungen;
....
tcClient = new TcAdsClient();
tcClient.Connect(801);
try
{
int_stoermeldungen = tcClient.CreateVariableHandle(".PP3_Stoermeldungen");
....
Jetzt muss ich das selbe mit den anderen Daten machen. Dazu habe ich gelesen, man kann ReadAny benutzen. Schön und gut, aber klappt nicht so wie ich es will.
So sieht mein Code aus:
SPS:
Code:
PP3_Stoermeldungen :ARRAY[0..28] OF BYTE;
Code:
public Form1()
{
InitializeComponent();
}
private int int_stoermeldungen;
byte[] byte_stoermeldungen;
...
int_stoermeldungen = tcClient.CreateVariableHandle(".PP3_Stoermeldungen");
byte_stoermeldungen = tcClient.ReadAny(int_stoermeldungen, typeof(byte[]), new byte[] { 4 });