[西门子] 【告一段落】C#与西门子S7-200smart&s7-1200&s7-1500采集数据并做...

[复制链接]
查看93610 | 回复0 | 6 天前 | 显示全部楼层 |阅读模式
【1】前言

       为了实时监视餐厨垃圾处理厂的现场三台PLC(S7-1200,S7-1500,S7-200 smart)数据,经过几天的C#编程,现在基本能满足数据监视功能。

【2】具体程序可以参考

实测c#与S7-1500的数据读取

S7-200 Smart读取温湿度控制器,测试c#

C#采集S7-1500 and S7-1200数据显示及存access数据库

c#与西门子S7-1500&S7-1200采集数据存access并查询

测试C#如何将datagridview数据导出excel格式

【3】测试情况

(1)总览



(2)部分说明

通过combobox选择不同的PLC数据。







数据导出到excel表格



做了导出完成的提示



查看导出的数据:



采用office自带的数据库access,便于移植管理。







【4】部分核心代码

①线程

Thread xc2;//定义线程

private void button8_Click(object sender, EventArgs e)//连续读取

{

     if (plc2.IsConnected)

     {

         xc2 = new Thread(dataR2);

         xc2.Start();//启动线程

         this.button8.BackColor = Color.Gainsboro;

         this.button8.Text = "连续读取中...";

     }   

}

void dataR2()//建立线程执行程序

{

     while (plc2.IsConnected)

     {

   //沼气流量

  float value1 = ((uint)plc2.Read(textBox53.Text)).ConvertToFloat();

   textBox55.Text = value1.ToString("F3") + "m³/h";

   //厌氧罐液位

  float value2 = ((uint)plc2.Read(textBox54.Text)).ConvertToFloat();

   textBox56.Text = value2.ToString("F3") + "m";

   //厌氧罐温度

  float value3 = ((uint)plc2.Read(textBox57.Text)).ConvertToFloat();

  textBox59.Text = value3.ToString("F3") + "℃";

   //沼液罐液位

   float value4 = ((uint)plc2.Read(textBox58.Text)).ConvertToFloat();

         textBox60.Text = value4.ToString("F3") + "m";

     }

}

=====允许跨线程===

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则