[西门子] 实测c#与S7-1500的数据读取

[复制链接]
查看239 | 回复0 | 2024-11-21 07:51:16 | 显示全部楼层 |阅读模式
>

(1)界面设计

(2)代码设计

   ①利用NuGet加载安装S7.NET驱动

  using s7.net

  ② 连接西门子S7-1500PLC

 #region 链接

 private void button1_Click(object sender, EventArgs e)//连接S7-1500控制器

 {

     plc1 = new Plc(CpuType.S71500, textBox1.Text, 0, 1);

     plc1.Open();

     if (plc1.IsConnected)

     {

         MessageBox.Show("s71500连接成功");

         this.button1.BackColor = Color.Green;

         this.button1.Text = "已连接S71500";

     }

     else

     {

         MessageBox.Show("连接失败");

     }

 }

③单次读取数据

④连续读取

首先要建立一个线程xc

  Thread xc;//定义线程

其次要允许跨线程操作

第三 编写连续读取

        #region 连续读取

        private void button3_Click(object sender, EventArgs e)//线程连续读取

        {

            if (plc1.IsConnected)

            {

                xc = new Thread(dataR);

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

            }

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

            {

                while (plc1.IsConnected)

                {

                    double value = ((uint)plc1.Read(textBox6.Text)).ConvertToDouble();

                    textBox2.Text = value.ToString("F3");

                    double value2 = ((uint)plc1.Read(textBox7.Text)).ConvertToDouble();

                    textBox4.Text = value2.ToString("F3");

                }

            }

        }

        #endregion

⑤ 关闭退出

(3)测试效果


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

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

本版积分规则