博图软件(电脑和PLC用网线连接)
1、创建组态,设置IP地址和勾选PUT/GET访问
2、简单的启保停电路
博图软件上的所有操作完成了。
VS代码编写
我使用的软件为
1、创建Windows窗体应用,点击下一步一直到完成,保存位置自己设定。
2、在工具箱里面搜索Button,然后双击,自动会建立一个button按钮,然后再复制一个一样的
3、同样在工具箱里面搜索PicureBox,单机添加进去,用来显示电机的运行情况
然后再搜索timer,单击添加,添加之后要使能timer。
4、双击启动按钮,打开程序,下载S7netplus
然后复制下面代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using S7.Net;
namespace 启保停电路
{
public partial class Form1 : Form
{
Plc plc_1200;//定义PLC
public Form1()
{
InitializeComponent();
plc_1200 = new Plc(CpuType.S71200, "192.168.0.1", 0, 1);//对象实例化
plc_1200.Open();//打开PLC
}
private void button2_Click(object sender, EventArgs e)
{
//停止电机
plc_1200.Write("M11.0", true);
}
private void button1_Click(object sender, EventArgs e)
{
//启动电机
plc_1200.Write("M10.0", true);
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void button1_MouseUp(object sender, MouseEventArgs e)
{
//按钮松开执行的命令,M10.0按下启动,点动开关
plc_1200.Write("M10.0", false);
}
private void button2_MouseUp(object sender, MouseEventArgs e)
{
//按钮松开执行的命令,M11.0按下停止,点动开关
plc_1200.Write("M11.0", false);
}
private void timer1_Tick(object sender, EventArgs e)
{
//读取Q0.0的数值
object q0_0 = plc_1200.Read("Q0.0");
if ((bool)q0_0)
{
pictureBox1.BackColor = Color.Lime;
}
else
{
pictureBox1.BackColor = Color.FromArgb(244, 244, 244);
}
}
}
}
点击运行之后就可以直接控制PLC了
最后是一些简单代码的意思,前面有完整的,复制下来到VS里面粘贴就好
记得IP地址在建立对象时候要和在博图里面设置的一致
生成 EXE
在 VS Code 里按 `Ctrl + ``(键盘左上角那个 ~ 键),打开终端。
然后执行下面的命令:
生成的EXE文件在:保存项目的位置\启保停电路\bin\Release\net8.0-windows\win-x64\启保停电路.exe"
总结:这是一个简单的上位机控制西门子1200的程序,实现起来非常简单,之后想实现其他的功能,在这个基础上面也能扩展,等项目里面需要上位机后再记录下来一个完整的上位机和西门子1200的通信
求关注