目录
- 前言
- 一、四川零点
-
- [1.1 实验图](#1.1 实验图)
- [1.2 配置软件](#1.2 配置软件)
- [1.3 Modbus Poll进行测试](#1.3 Modbus Poll进行测试)
- [1.4 连接和测试代码](#1.4 连接和测试代码)
- 更新时间
前言
参考文章:
记录下四川零点的Modbus-TCP产品的使用。
一、四川零点
1.1 实验图
下面的A、B、C槽、D槽是哪个,是查看具体的配置得知的。
1.2 配置软件
默认的IP地址是:192.168.1.100
这里比较方便的方式是按照下面的方式进行连接上其产品。
模块中对应的数值需要进入"过程数据"中进行查看【如下图:】
1.3 Modbus Poll进行测试
这个应该是比较通用的测试工具。三家产品的使用书中有两家用这个进行线上测试。
1.4 连接和测试代码
这是自己采用HslCommunication包进行编写的该产品的连接和读取的代码。【这里比较神奇的是:前两家对02功能码可以用ReadInt进行读取,但是这家不行,但可以用ReadBool获得True和False值】。
最终代码如下:
csharp
public partial class Form1 : Form
{
//Fields
private ModbusTcpNet modbusTcp = new ModbusTcpNet("192.168.1.100", 502);
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
bool DI_value = modbusTcp.ReadBool("x=2;0").Content;//这个是正确的读取
label1.Text = DI_value.ToString();
int AI_value = modbusTcp.ReadInt16("x=4;0").Content;//这里x=4代表的是4号功能码。
label2.Text = AI_value.ToString();
// 这个0.19是和实际的偏差值
double value = ((AI_value *10.0) / 4094.0);//这个4094.0,是测出来的手持电流电压输入器,在电压值为10V时,对应的模拟量。
label3.Text = value.ToString("F2");
}
}
更新时间
- 2024.09.30:创建。
- 2024.10.09:完善。