Visual Studio 2010--C#跟西门子1200(Sharp7)窗体控制⑥--循环读取

Visual Studio 2010--C#跟西门子1200(Sharp7)窗体控制⑥--循环读取

 

上期回顾(上期完成了,循环读取Dint变量的,功能代码的主要编写):

image.png

本期将完成启动和定时器计数,然后调试,基本上就好了

1.0 因为我们需要他,当窗体开启时定时器就循环响应,一直刷新来自PLC的数据,因此,我们只需要当窗体开启后,直接启动定时器,后面也不用关,启动代码直接加载Form1里面

public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

            timer1.Start();

        }

}

image.png

2.0 下面在写个定时器的扫描计数,方便调试,很简单,先声明下 

//定时器计数

        int time_num = 0;

image.png

3.0 就在定时器响应程序timer1_Tick中,加上代码,变量time_num自加1,,然后输出到Lable中显示,Lable就把刚才做的OK的Lable复制一个好了,看下什么名字就行,这里是Lable5

private void timer1_Tick(object sender, EventArgs e)

        {

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

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

            var buffer = new byte[38];

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

            client.DBRead(1, 0, buffer.Length, buffer);

 

            int db1da16 = S7.GetDIntAt(buffer, 8);

            OK.Text = db1da16.ToString();

 

           // int db1da20 = S7.GetDIntAt(buffer, 12);

           // label4.Text = db1da20.ToString();

 

            time_num = time_num + 1;

            label5.Text = time_num.ToString();

 

            client.Disconnect();//断开

        }

4.0 这里代码就都写完了,接下来保存,按F5调试,如下图,PLC监控数据为6666,实际我们监控到的也是6666,如果你更改后,C#也会更改,并且定时器响应次数会以200MS一次的速度一直计数,这样你的数据就读取成功了

image.png

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老王工控笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值