自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 论坛 (7)
  • 收藏
  • 关注

原创 C# / VB / LabVIEW / VC / Python 上位机使用S7-TCP协议与西门子PLC进行网口通信的教程 (Win/Linux)

现在越来越多的项目开始使用上位机了,在上位机实现数据存储、曲线绘制时,使用高级语言自行开发程序,比诸如组态王、inTouch等更加自由,更加强大。在进行上位机软件开发时,第一步就是要跟PLC取得通信,能够读写PLC内各数据区的变量值。 通常有两种办法来读写PLC内的变量: 1. OPC OPC可以同时兼容不同品牌的PLC,但OPC的缺点也是显而易见的...

2020-03-04 17:19:50 10126

原创 C# / VB / LabView /VC 上位机使用OPC方式与PLC进行通信的教程

OPC是一种跨不同品牌PLC的通信方式,OPC兼容许多品牌的PLC,同时对上位机软件开发人员提供了一系列标准接口。只要开发人员掌握了这组接口,那么就可以跟任何PLC进行通信。 但是由于OPC使用了微软的OLE技术(Object Link Embedded),其接口通过COM方式提供。COM技术是非常复杂的一个共享组件的技术,大部分程序员不能很好的掌握这项技术,在实际开发过程中,要...

2019-05-01 15:54:22 3417

原创 C# / VB / LabView / VC 上位机使用ModbusRTU / ModbusTCP进行通信的教程 (Win/Linux)

Modbus协议已成为工控领域中应用最广泛的协议,在各种控制系统、仪器仪表中几乎随处可见,例如各种PLC、变频器、温控器等等。开发上位机的第一步就要跟各种支持Modbus协议的设备实现通信,能够收发数据,所以稳定、准确地进行通信,是摆在程序员面前的第一道难关。 Modbus协议分为两种:Modbus-RTU,用于串行通信口(RS232 / RS485);以及Modbus-TCP,...

2019-03-28 17:34:16 1217

原创 Qt在msvc的release模式下可调试运行的方法

方法一:全局方法,针对Qt版本编辑QtVersion/mkspecs/common/msvc-desktop.conf1. 将QMAKE_CFLAGS_RELEASE改为与QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO一致。2. 将QMAKE_LFLAGS_RELEASE改为与QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO一致。最终效果:...QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMI

2020-06-22 14:59:44 113

原创 使用msvc2017/MinGW7.3.0静态编译Qt5.13.0

1. 准备工作1.1 下载安装Qt及源码在Qt官网(https://download.qt.io/archive/qt/5.13/5.13.0/)下载Qt安装包及源码,如下图:下载完毕后安装Qt。安装时选择要静态编译的版本所对应的组件,此处选择msvc2017 32/64位,MinGW 32/64位,如下图:如果要编译MinGW版本,需要选择安装编译器,如下图:...

2019-12-05 16:04:04 494

原创 树莓派3B+设置静态IP地址

1. 编辑/etc/dhcpcd.conf文件:sudo leafpad /etc/dhcpcd.conf2. 将静态IP实例中的两行取消注释:# Example static IP configuration:interface eth0static ip_address=192.168.1.10/24#static ip6_address=fd51:42f8:caae:d...

2019-06-21 21:34:20 6372

原创 树莓派3B+使用官方摄像头

1. 在raspi-config中开启摄像头sudo raspi-config2. 测试摄像头执行:raspistill -v -o test.jpg3. 方式一:openCV实际测试openCV在1080P模式下图像异常,原因不明。方法一(不推荐,openCV版本为2.4,太旧):执行:sudo apt-get install libo...

2019-06-20 14:34:22 2464

原创 树莓派3B+使用RS485 CAN HAT模块

1. 配置CAN接口编辑启动配置文件:sudo leafpad /boot/config.txt在最下面增加:dtparam=spi=on dtoverlay=mcp2515-can0,oscillator=8000000,interrupt=25,spimaxfrequency=1000000 然后重启:sudo reboot测试接口,执行:dmesg ...

2019-06-13 23:34:23 2824

原创 树莓派3B+使用RTC模块

1. 打开I2C接口在raspi-config中依次选择Interfacing Options - I2C - Yessudo raspi-config2. 检测RTC模块是否正常sudo i2cdetect -y 1出现68就是可以了:注:假如该地址不是显示 0x68 而是显示 UU 的话,卸载fake hwclock:sudo apt-...

2019-06-12 23:53:18 731 1

原创 树莓派使用Qt操作GPIO并设置开机启动

1. 编写程序在Qt中新建控制台程序,在pro中增加:QT += networkLIBS += -lwiringPimain.cpp代码为:#include <QCoreApplication>#include <QDebug>#include <QUdpSocket>#include <QNetworkDatagram>...

2019-05-29 09:10:31 1323

原创 树莓派SD卡镜像备份与还原

0.准备工作① 在树莓派上查看SD卡已用空间(或在PC上挂载后查看,然后卸载),然后确定备份文件的大小,执行:df -h如下图,已用3.6G,则备份文件的大小可定为4G。② 将SD卡接入PC,不要挂载。如果自动挂载的需要执行命令卸载:umount /dev/sdb1umount /dev/sdb21. 获得分区2的起始扇区号用fdisk查看扇区情况,执行:...

2019-05-23 10:59:33 3669

原创 在树莓派上编译Qt 5.13.2

1. 更换国内软件源某些软件或支持库需要更换国内源之后才能安装(如果不更换国内源,把#deb-src取消注释)。编辑/etc/apt/sources.list文件,改成如下内容:deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpideb-src http://mirrors...

2019-05-12 15:08:27 2310

原创 树莓派3B+上手

1. 下载Raspbian系统从树莓派官网下载Raspbian(https://www.raspberrypi.org/downloads/raspbian/)。本篇教程使用Raspbian Stretch with desktop。2. 格式化SD卡使用SD Card Formatter格式化SD卡,如下图。3.烧录Raspbian系统使用Win32DiskI...

2019-05-09 16:42:27 372

原创 交叉编译并部署Qt5.12.4到树莓派3B+

这个教程将指导你如何在电脑上交叉编译Qt 5.12.4并安装到树莓派。这样你就可以在电脑上用Qt Creator设计和编译树莓派的应用,然后直接在树莓派上运行和调试。硬件这篇教程使用树莓派3B+和Qt 5.12.4。电脑的操作系统是Linux(ubuntu 64位),树莓派的操作系统是Raspbian Stretch with desktop。准备工作在...

2019-05-09 15:34:41 6404 13

原创 使用Qt Installer Framework发布软件

-------------------------------------------准备工作----------------------------------------1.在Qt官网上下载Qt Installer Framework:https://download.qt.io/official_releases/qt-installer-framework/2.安装完成后将bina...

2019-03-28 15:44:17 785

原创 Qt中修改excel文件内容并另存的示例

1. pro文件中加入:QT += axcontainer需要引用的地方包含头文件:#include 2.用到的变量定义: QAxObject *pApplication = NULL; //Excel服务 QAxObject *pWorkbooks = NULL; //工作簿列表 QAxObject *pW

2017-12-05 13:59:18 1225

原创 静态编译OpenSSL并整合到Qt

MSVC版本:1. 下载OpenSSL源码 1.1 下载OpenSSL的源码:https://www.openssl.org/source/ 1.2 解压到C:\openssl-1.0.2l2. 编译OpenSSL源码 2.1 打开VS的命令工具: 32位: ...

2017-11-02 10:00:23 6464

原创 Qt:基于widget方式的窗口阴影边框的实现

两种方式实现无边框窗口的阴影效果。

2017-08-16 14:53:40 9201 1

原创 基于Qt 5.7.0的适合Window XP系统的应用开发

1. Qt库的编译 Qt官方对XP系统的支持止步于5.7.0版本,从5.7.1开始不再支持XP。但从官网上下载的5.7.0版本的安装包是不支持XP的,需要自己下载源码进行编译,编译的方法参照本博客另外一篇文章,configure命令参考: configure -confirm-license -opensource -debug-and-release -targe...

2017-03-29 10:42:18 7933 1

原创 Qt取得Windows系统管理员权限(UAC)的方法

涉及到往系统分区写入文件时,如果程序没有获得管理员权限,会出现新建文件成功但无法写入数据的问题。获取管理员权限的方法比较简单,只要在pro文件中加入:QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"

2017-03-14 14:58:04 5986 2

原创 用静态Qt库编译DLL的方法

问题1:用静态Qt库编译项目后没有生成dll文件,仅生成了lib文件。      答:在pro文件中加上 CONFIG += dll。问题2:dll中如果使用了QApplication或QWidget相关的类,报错误:QWidget: must construct a QApplication before a QWidget。      答:静态编译的dll与调用模块的QCo

2017-03-01 19:37:09 2021 3

原创 Qt 5.7.1/5.8.0/5.9.0 在 msvc2015/mingw32 方式下的静态编译过程

注:Qt5.9.0的操作过程除configure参数之外与5.8.0基本一致(mingw版5.9.0的qmake.conf文件中QMAKE_LFLAGS =-static这一行需要手动添加)。准备工作:1. 在Qt官网下载Qt库的源码。 Qt 5.7.1:https://download.qt.io/archive/qt/5....

2016-12-23 13:35:37 15019 7

原创 Qt5在VS下定义exe图标的方法

在资源视图中,右键 -> 添加 -> 资源,然后导入一个icon即可。问:如果资源中有多个ico,如何选择其中一个作为exe的图标呢?答:添加资源后,在生成的rc文件可以看到这样一个提示:// Icon with lowest ID value placed first to ensure application icon// remains consist...

2016-10-14 10:39:01 509

空空如也

对于GDI资源泄露的一些疑问,欢迎大家指教!

发表于 2016-06-24 最后回复 2017-07-15

用vs2015编译静态版的Qt 5.7.1时竟遇到了这个错误。。。

发表于 2016-12-21 最后回复 2017-06-19

用静态Qt库编译dll

发表于 2017-02-23 最后回复 2017-03-07

有调整系统显示字体大小的API吗?虚心求教

发表于 2016-04-26 最后回复 2016-05-16

一个关于绘图的问题,请懂的人指教

发表于 2016-04-14 最后回复 2016-04-19

请教大家一个关于StdAfx.h的问题,欢迎赐教

发表于 2015-11-16 最后回复 2015-11-18

请教大家一个关于浮点数的问题

发表于 2015-10-28 最后回复 2015-11-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除