前言
近期使用200smart替代1200plc联合c#进行自动化项目,1200plc使用博图而200smart使用的是STEP 7-MicroWIN SMART。c#中使用的动态库还是xktComm,没有太大变化。对于微型的自动化工程使用200smart即可。
提示:以下是本篇文章正文内容,下面案例可供参考
一、smart200设置
1.smart200下载后是这样的图标:
2.打开软件在主要栏中选择CPU ST20双击打开
3.系统块设置IP
4.IP设置完毕后进行安全设置,访问限制不可以勾选否则无法对输入输出或中间进行访问
二、c#程序
c#程序无法对输入的 I 进行读写,可以加M,对M进行读写即可。
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 xktComm;
using xktComm.Common;
using xktComm.PLC;
using System.Text.RegularExpressions;
namespace 西门子plc连接
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
xktComm.SiemensS7 ss = new SiemensS7();//实例化
public bool a;
public bool b;//西门子链接
private void btncon_Click(object sender, EventArgs e)
{
bool blnTest;
Regex regex = new Regex("^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$");
blnTest = regex.IsMatch(txtIP.Text);
if (blnTest)
{
string[] strTemp = this.txtIP.Text.Split(new char[] { '.' });
for (int i = 0; i < strTemp.Length; i++)
{
if (Convert.ToInt32(strTemp[i]) > 255)
{ //大于255则提示,不符合IP格式
MessageBox.Show("不符合IP格式");
return;
}
}
}
else
{
//输入非数字则提示,不符合IP格式
MessageBox.Show("不符合IP格式");
return;
}
string address = txtIP.Text;
//CPU_Type cpu = CPU_Type.S71200;
CPU_Type cpu = CPU_Type.S7200SMART;
b = ss.Connect(address, cpu, 0, 1);
if (b)
{
MessageBox.Show("链接成功");
}
else
{
MessageBox.Show("链接失败");
}
}
private void btnread_Click(object sender, EventArgs e)
{
textBox2.Text = ss.Read(textBox1.Text, 0).ToString();
}
private void btnwrite_Click(object sender, EventArgs e)
{
ss.Write(textBox3.Text, Convert.ToBoolean(textBox4.Text));
}
}
}