VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面③-按钮

VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面③-按钮

 

上期回顾(上期主要是对启动,停止,复位,清零按钮等进行了代码功能的编写,功能简单,但是实现的比较复杂)

image.png

本期将对上面讲过的复杂的代码进行瘦身,用一个更简单的代码来替代,是代码的可读性更强

1.0 这里我们可以能够新建一个方法,然后调用方法来解决代码臃肿的问题,这样就简单一点,怎么写呢?代码差不多,就是换个门头,具体源代码如下:

大概解释下,首先这个门头,我们新建一个无返回值的的方法,因为我们现在建立一个针对按钮的方法,我们就命名buttton,然后看里面,建立通讯这个不变,最起码在这个程序中肯定不会太会变,所有不用参数替代,再看第三行,缓冲区,字节数因为我们仅针对按钮,所以个字节一般都够了,所以也不设参数了,再往下第四行,这里要给这个字节的具体位写入具体值了,这里就需要用参数bit_num,和vale来分别替代具体值,第五行,这里是写目标的数据块和地址,每个按钮肯定不一样的,所以这里我们用db_num和IP_num来代替

public void button(int bit_num,bool vale,int db_num,int IP_num)//string[] args

        {

            var client = new S7Client();//建立通讯

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

            var writeBuffer = new byte[1];//新建一个字节的writeBuffer输出缓冲区,

            S7.SetBitAt(ref writeBuffer, 0, bit_num, vale);

            //输出给PLC的DB数据块1,从地址0开始的,一个字节的传输

            int writeReswlt = client.DBWrite(db_num, IP_num, writeBuffer.Length, writeBuffer);

            client.Disconnect();//断开

}

3.0 就用启动来说,具体的引用如下图,一行就写完了

 private void button1_Click(object sender, EventArgs e)

        {

            button(0,true,1,14);

        }

image.png

4.0 如上所示,其他的复位,停止,清零都可以用这个替代

image.png

5.0 保存,按F5调试,这时候结果应该是一样的

图片处理软件简单c#public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Pen p = new Pen(Color.Black, 3); Graphics g = this.CreateGraphics(); g.DrawEllipse(p, 100, 100, 300, 300); } private void button2_Click(object sender, EventArgs e) { SolidBrush b = new SolidBrush(Color.Red); Graphics g = this.CreateGraphics(); g.FillEllipse(b,20,20,150,150); } private void button3_Click(object sender, EventArgs e) { TextureBrush b = new TextureBrush(new Bitmap(@"E:\壁纸\叶子.jpg")); Graphics g = this.CreateGraphics(); g.FillEllipse(b, 50, 50, 150, 150); } private void button4_Click(object sender, EventArgs e) { TextureBrush b = new TextureBrush(new Bitmap(@"E:\壁纸\叶子.jpg")); Pen p = new Pen(b, 5); Graphics g = this.CreateGraphics(); g.DrawRectangle(p,150,150,50,50); } bool zt = false; bool bi= false; Pen p1; Point z1, z2; private void button5_Click(object sender, EventArgs e) { p1 = new Pen(Color.Black, 5); if (bi) { bi = false; } else { bi = true; } } private void Form2_MouseDown(object sender, MouseEventArgs e) { if (bi) { zt = true; z2 = this.PointToClient(Control.MousePosition); z1 = this.PointToClient(Control.MousePosition); } } private void Form2_MouseUp(object sender, MouseEventArgs e) { if (bi) { zt = false; } } private void Form2_MouseMove(object sender, MouseEventArgs e) { if (zt) { z2= this.PointToClient(Control.MousePosition); Graphics g = this.CreateGraphics(); g.DrawLine(p1,z1,z2); z1 = z2; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

老王工控笔记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值