Я работаю над чтением и записью ПЛК Mitsubishi с помощью приложения C#.
Мне нужно прочитать дату и время из ПЛК и отобразить их в представлении datagridview в моем приложении. Если я сохраню дату как год, месяц и день в D111, D112, D113, то я смогу успешно прочитать дату, но проблема в том, что год хранится в D111, месяц и день хранятся в D112, байтах 0–7 и байтах 8–15. Если я прочитаю D111 и D112, дата будет отображаться как «2022/0309», но мне нужно «2022/03/09».
Как я могу прочитать байты 0–7 и 8–15 отдельно?
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();
}
Подробнее здесь: https://stackoverflow.com/questions/714 ... pplication
Как прочитать бит переключения ПЛК в приложении С# ⇐ C#
Место общения программистов C#
-
Anonymous
1764857012
Anonymous
Я работаю над чтением и записью ПЛК Mitsubishi с помощью приложения C#.
Мне нужно прочитать дату и время из ПЛК и отобразить их в представлении datagridview в моем приложении. Если я сохраню дату как год, месяц и день в D111, D112, D113, то я смогу успешно прочитать дату, но проблема в том, что год хранится в D111, месяц и день хранятся в D112, байтах 0–7 и байтах 8–15. Если я прочитаю D111 и D112, дата будет отображаться как «2022/0309», но мне нужно «2022/03/09».
Как я могу прочитать байты 0–7 и 8–15 отдельно?
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();
}
Подробнее здесь: [url]https://stackoverflow.com/questions/71403184/how-to-read-the-bit-of-switch-of-plc-in-c-sharp-application[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия