VisualStudio2010-C#跟西门子1200(Sharp7)-简单上位机界面⑩-IO
上期回顾(上期主要是对读取PLC的IO状态进行了调试测试,可以看到当PLC有输入输出时,相应点位会显示绿色指示灯,这样就实现了IO的监控)
本期将做一个手动强制输出的功能,让C#界面能够手动控制PLC的各种输出
1.0 切换到窗口界面,左上角的工具箱,选择button添加一个,然后修改参数,
(Name) = Q0_0_EN
Size = 75,23
Text = 打开/关闭
像这样的依次做8个,按钮名称对应需要控制的输出点,这样容易看清楚
2.0 双击按钮,生成代码,首先建立通讯,跟之前差不多
private void Q0_0_EN_Click_1(object sender, EventArgs e)
{
var client = new S7Client();//建立通讯
int comectionResult = client.ConnectTo("192.168.0.1", 0, 1);//接受来次通讯的结果
3.0 建立读写缓存区
var writeBuffer = new byte[1];//新建一个字节的writeBuffer输出缓冲区,
4.0 判断现在输出Q点的状态,然后置反,这里我们用的是字节来手动输出Q点
if (Q0_0.BackColor == Color.Green)
{
S7.SetByteAt(writeBuffer, 0, 0);
client.DBWrite(3, 0, writeBuffer.Length, writeBuffer);
client.Disconnect();//断开
}
else
{
S7.SetByteAt(writeBuffer, 0, 1);
client.DBWrite(3, 0, writeBuffer.Length, writeBuffer);
client.Disconnect();//断开
}
}
5.0 这样我们强制PLC输出的代码就写好了