博图软件(电脑和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"
或者整个项目完成后,将其打包
然后重新生成解决方案
之后的应用程序也在保存文件夹/bin/Release里面。
总结:这是一个简单的上位机控制西门子1200的程序,实现起来非常简单,之后想实现其他的功能,在这个基础上面也能扩展,等项目里面需要上位机后再记录下来一个完整的上位机和西门子1200的通信
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!