S7NETPLUS与西门子PLC通讯

S7NETPLUS是一款开源的程序库,用于与西门子PLC通讯,这里使用的是西门子S71200。

PLC需要做设置,允许上位机访问


添加一个数据块,取消”优化块的访问”


S7NET下载地址

链接:https://pan.baidu.com/s/1aAVIRIhUtcorQjlz9qWmOA

提取码:4b7d

C#编程,添加S7NET的引用


使用对象浏览器,查看要用到的几个函数





源代码如下

using System;

using System.Windows.Forms;

using S7.Net;

 
 

namespace WindowsFormsApplication5

{

public
partial
class
Form1 : Form

{

public Form1()

{

InitializeComponent();

}

 
 

Plc plc = null;

 
 

private
void Form1_Load(object sender, EventArgs e)

{

 
 

plc = new
Plc(CpuType.S71200,“192.168.1.12”,0,1);

try

{

plc.Open();

}

catch(Exception ex)

{

MessageBox.Show(错误信息:+ex.Message);

}

}

 
 

private
void Form1_FormClosed(object sender, FormClosedEventArgs e)

{

plc.Close();

}

 
 

private
void btnRead_Click(object sender, EventArgs e)

{

Object obj = plc.Read(“DB1.DBW0”);

if(obj==null)

{

MessageBox.Show(数据读取错误!);

}

else

{

MessageBox.Show(Convert.ToInt16(obj).ToString());

}

}

 
 

private
async
void btnReadAsync_Click(object sender, EventArgs e)

{

Object obj = await plc.ReadAsync( DataType.DataBlock,1,0,VarType.Int,1 );

if (obj == null)

{

MessageBox.Show(数据读取错误!);

}

else

{

MessageBox.Show(obj.ToString());

}

}

 
 

private
void btnWrite_Click(object sender, EventArgs e)

{

plc.Write(“DB1.DBW0”,Convert.ToInt16(textBox1.Text));

}

}

}

2021年9月23日

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注