要使用C#读取西门子PLC1200的数据,你需要使用TIA Portal V17提供的PLC通信接口进行数据通信。以下是一个基本的步骤:
- 1.在TIA Portal V17中创建一个新的项目,并添加一个PLC1200到你的项目。
- 2.在PLC1200中创建一个新的数据块,并添加两个变量Bool1和Int1。
- 3.在TIA Portal V17中打开PLC1200的属性,并转到“通信”选项卡。
- 4.在“通信”选项卡中,选择“S7协议”作为通信协议。
- 5.在“S7协议”选项卡中,配置您的PLC的IP地址和端口号。
- 6.在C#代码中,您需要使用TIA Portal V17提供的API来与PLC进行通信并读取数据。以下是一个基本的示例代码:
// 导入必要的命名空间
using S7.Net;
// 创建PLC通信对象
Plc myPlc = new Plc(CpuType.S71200, "192.168.190.150", 0, 1);
// 打开PLC连接
myPlc.Open();
// 读取Bool1变量的值
bool bool1= myPlc.Read("DB1.DBX0.0").GetBit(0);
// 读取Int1变量的值
int int1= myPlc.Read("DB1.DBB2.0").GetInt(0);
// 关闭PLC连接
myPlc.Close();
- DB1代表数据块1,是PLC中存储数据的基本单位,可以存储各种类型的数据,如整数、浮点数、字符串等。DBX0.0和DBB2.0则代表数据块中的具体位地址。
- DBX0.0表示数据块中的第0位地址,而DBB2.0则表示数据块中的第2字节的地址。
在上面的代码中,我们首先创建了一个PLC通信对象,指定了PLC的IP地址和CPU类型。然后,我们使用
Open()
方法打开了与PLC的连接。接下来,我们使用Read()
方法读取数据块DB1中的变量Bool1和Int1的值。最后,我们使用Close()
方法关闭了与PLC的连接。请注意,上面的代码仅是一个示例,你需要根据你的实际情况进行修改和调整。
小工具
我做了一个小工具,设置好IP和端口就可以直接和西门子PLC1200系列通信,进行数据的读写。
写入
支持原始报文的读写
支持的CPU型号
- CPU 1211C AC/DC/Rly
- CPU 1211C DC/DC/DC
- CPU 1211C DC/DC/Rly
- CPU 1212C AC/DC/Rly
- CPU 1212C DC/DC/DC
- CPU 1212C DC/DC/Rly
- CPU 1214C AC/DC/Rly
- CPU 1214C DC/DC/DC
- CPU 1214C DC/DC/Rly
- CPU 1215C AC/DC/Rly
- CPU 1215C DC/DC/DC
- CPU 1215C DC/DC/Rly
- CPU 1217C DC/DC/DC
- CPU 1212FC DC/DC/DC
- CPU 1212FC DC/DC/Rly
- CPU 1214FC DC/DC/DC
- CPU 1214FC DC/DC/Rly
- CPU 1215FC DC/DC/DC
- CPU 1215FC DC/DC/Rly
小工具下载地址:https://pan.baidu.com/s/1hWIOSCVLFCT8zpZvaPJpnA?pwd=1234