Windows10、VS2013下的libmodbus的上位机环境配置

最近做modbus的学习,网上有一点资料,在此总结了一下教程,但是细节部分还不够详细,所以我来把它补全一下吧。

第一步是大佬的虚拟接口环境配置:

https://blog.csdn.net/starelegant/article/details/72782946

其中的各种软件工具链接如下:

VSPD:Virtual Serial Port Driver Pro(兼容win10) V9.0.270 专业破解版https://www.jb51.net/softs/618416.html

Modbus Poll v6.3.1免费版  http://www.onlinedown.net/soft/978634.htm

modbus slave 6.0.2破解版 附注册码http://www.ddooo.com/softdown/70166.htm

libmodbus:去github下载:https://github.com/stephane/libmodbus

当然,我把他们都整理好了,包括libmodbus\poll\slave\VSPD,里面有安装方法,有1个积分的可以来这里

https://download.csdn.net/download/qq_23670601/10629250

第二步是VS环境配置,参考这位大佬的文章:https://blog.csdn.net/starelegant/article/details/74590951

然后解压缩,此处参考:https://blog.csdn.net/qq_37769473/article/details/80783228

打开libmodbus-master\src\win32\configure.js,显示:

打开libmodbus-master\src\win32\modbus-9.sln,用VS2013打开,切换到release版本编译,显示:

可能有其他奇怪的错误提示但是不用管。会生成lib和dll文件,等下用。

然后新建一个win32控制台空项目,在此命名为modbus通讯,然后把 \libmodbus-master\src下的所有 .h文件添加到工程文件的头文件中

其中的config.h文件在 \libmodbus-master\src\win32 下找。

然后把刚才生成的 \libmodbus-master\src\win32\modbus.lib 复制到对应的项目文件夹下,注意不是解决方案的文件夹!以我的为例,我的解决方案和项目都是modbus通讯,那么就把它复制到这里:

然后建一个main.cpp,这里借用了开头大佬的程序。

#include <iostream>
#include "libmodbus/modbus.h"
#pragma comment(lib,"modbus.lib")  //这一步也可以通过Project->properties->linker-
 //>input->additional additional dependencies添加用到的lib

using namespace std;
int main()
{
	modbus_t *mb;
	uint16_t tab_reg[10] = { 0 };

	mb = modbus_new_rtu("COM2", 9600, 'N', 8, 1);   //相同的端口只能同时打开一个 
	modbus_set_slave(mb, 1);  //设置modbus从机地址 

	modbus_connect(mb);

	struct timeval t;
	t.tv_sec = 0;
	t.tv_usec = 1000000;   //设置modbus超时时间为1000毫秒 
	modbus_set_response_timeout(mb, (int)&t.tv_sec, (int)&t.tv_usec);


	for (int i = 0; i < 10; i++)
	{
		int regs = modbus_read_registers(mb, 0, 5, tab_reg);
		std::cout << "modbus recevie " << i << ":" << tab_reg[0] << " " << tab_reg[1] << " " << tab_reg[2] << " "
			<< tab_reg[3] << " " << tab_reg[4] << " " << tab_reg[5] << std::endl;
		Sleep(500);
	}
	system("pause");
	return 0;
}

编译运行一下,会提示找不到dll文件,此时,把之前生成的\libmodbus-master\src\win32\modbus.dll 复制到Debug文件夹下,如图:

再次运行成功:

整理的VS2013程序打包给我自己留个档案:https://download.csdn.net/download/qq_23670601/10629272

还是不会的直接下载我这个就ok了。

猜你喜欢

转载自blog.csdn.net/qq_23670601/article/details/82112875