VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑤-数据

VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑤-数据

 

上期回顾(上期主要是对PLC数据块DB1的OK计数和NOK技术数据,读取到电脑上,在C#上显示,上期主要是做了界面)

image.png

本期将对上次做的界面控件,赋予生命,写代码

1.0 双击定时器timer1,在定时器响应程序中,添加代码

//******************************

            var buffer3 = new byte[8];

            //读取DB1的从地址16开始的8个字节的数据,读到buffer

            client.DBRead(1,16, buffer3.Length, buffer3); //PLC的输出读取

//把缓冲区前4个字节,显示到OK控件文本上

            int db1da16 = S7.GetDIntAt(buffer3, 0);

            OK_A.Text = db1da16.ToString();

//把缓冲区的后4个字节32位,显示到NOK控件文本上

            int db1da20 = S7.GetDIntAt(buffer3, 4);

            NOK_A.Text = db1da20.ToString();

image.png

2.0 这里要补充一句,在这个定时器响应程序的前面,是要先建立通讯的,这里我们是把这个定时器响应程序,当成PLC跟C#的循环通讯响应程序,具体的源代码如下:

private void timer1_Tick(object sender, EventArgs e)

        {

            var client = new S7Client();//创建S7客户端对象

            client.ConnectTo("192.168.0.1", 0, 1);//接受来次通讯的结果

        }

image.png

3.0 保存,按F5调试,正常你应该就能读取到PLC的数据了,这里要注意,PLC的目标数据块以及地址,读取的字节

 

 

 

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页