So lesen Sie das Schalterbit der SPS in einer C#-AnwendungC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 So lesen Sie das Schalterbit der SPS in einer C#-Anwendung

Post by Anonymous »

Ich arbeite daran, die Mitsubishi-SPS über eine C#-Anwendung zu lesen und zu schreiben.
Ich muss Datum und Uhrzeit aus der SPS lesen und sie in der Datagrid-Ansicht meiner Anwendung anzeigen. Wenn ich ein Datum als Jahr, Monat und Tag in D111, D112, D113 speichere, kann ich das Datum erfolgreich lesen, aber das Problem besteht darin, dass das Jahr in D111 gespeichert ist, Monat und Tag in D112, Bytes 0-7 und Bytes 8-15. Wenn ich D111 und D112 lese, wird das Datum wie „2022/0309“ angezeigt, aber ich brauche „2022/03/09“.
Wie kann ich die Bytes 0-7 und 8-15 separat lesen?

Code: Select all

int count;
plc.GetDevice("D22", out count);
int result;
plc.GetDevice("D22", out result);
int read_;
plc.GetDevice("D22", out read_);
int read1;
plc.GetDevice("D22", out read1);
int year;
plc.GetDevice("D220", out year);
int month;
plc.GetDevice("D221", out month);
int day;
plc.GetDevice("D222", out day);
int hour;
plc.GetDevice("D223", out hour);
int minute;
plc.GetDevice("D224", out minute);
int second;
plc.GetDevice("D225", out second);
SqlCommand cmd;

cmd = new SqlCommand("insert into [Table](date,time,count,tool,up,down) values(@date,@time,@count,@tool,@up,@down)", con);
con.Open();
{
cmd.Parameters.AddWithValue("@date", year.ToString() + "/" + month.ToString() + "/" + day.ToString());
cmd.Parameters.AddWithValue("@time", hour.ToString() + ":" + minute.ToString() + ":" + second.ToString());
cmd.Parameters.AddWithValue("@count", count.ToString());
cmd.Parameters.AddWithValue("@tool", read1.ToString());
cmd.Parameters.AddWithValue("@up", result.ToString());
cmd.Parameters.AddWithValue("@down", read_.ToString());
cmd.ExecuteNonQuery();
con.Close();
DisplayData();
ClearData();
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post