
工业控制
文章平均质量分 80
mrzhaoy
这个作者很懒,什么都没留下…
展开
-
frp内网穿透硬盘录像机的设置
一、概述 通过云服务器端的公网IP穿透公司内网的硬盘录像机IP地址,实现远程视频查看功能,具体是下载frp软件frp_0.37.1_windows_amd64.zip,在云服务器上部署frp Sever,公司内网的某一台电脑上(与硬盘录像机IP地址在同一网段)部署frp Client,从而实现网络穿透访问公司硬盘录像机。二、frp Sever端设置1、frps.ini文件修改在云服务器端将frp里面的文件frps.ini文件修改如下:[common]bind_port =...原创 2021-09-05 19:36:38 · 2249 阅读 · 0 评论 -
西门子PLC接收的ModbusRTU数据帧中IEEE754 格式4字节数据转为浮点数转换程序
一、需求 在项目中遇到Smart S7-200PLC读取某厂家的涡街流量计的数据,通过ModbudsRTU协议得知,接收的流量计数据为: 32单精度浮点数SINGLE格式为IEEE754,折合4字节,排列顺序为3-4-1-2 因此PLC无法直接对数据字节的对调处理,求得流量计浮点数数据,而需要对接收的4字节数据进行解析处理,才能求得32位单精度浮点数。二、IEEE754浮点数的表示方法上述计算公式也可写为:,其中S为最高位第31位,E...原创 2021-07-01 21:00:35 · 15279 阅读 · 7 评论 -
手机APP软件通过蓝牙通讯实现对stm32单片机的待机与唤醒功能
一、需求为了降低stm32单片机在非工作状态下的功耗,需要实现通过手机端软件,tong'g二、硬件电路三、软件四、实现效果原创 2021-06-07 23:06:01 · 5278 阅读 · 4 评论 -
Qt for android 画面中部分区域增加背景色功能总结
一、实现功能 Qt for android 下,画面里面要实现最下面图标的背景颜色与上面Widget画面背景颜色作以区分,具体如下图所示,红色框中的背景颜色与上面画面widget不同。二、实现步骤:1、在画面.h文件里面 QRect deskRect; QDesktopWidget *pDesktopWidget; void paintEvent(QPaintEvent *event);2、在.cpp文件里面 void Measure...原创 2021-04-27 11:34:51 · 476 阅读 · 0 评论 -
Qt for Android 程序实现对华为mate30手机文件的导入打开
一、概述 用新建AndroidFileDialog类对于打开华为mate手机文件,由于无法显示出“文件管理”,所以无法实现文件的导入打开,本文在参考了博客《Qt Android 调用系统文件管理》,后决定按照文中提供的方法通过Qt中嵌入Android的系统文件ExtendsQtNative.java和ExtendsQtWithJava.java,再通过Qt调用Java接口函数QAndroidJniObject::callStaticMethod调用ExtendsQtWithJava.java...原创 2020-12-11 15:50:53 · 1766 阅读 · 6 评论 -
Qt for Android 程序实现对手机文件的导入打开与导出保存
一、概述 在Qt for Android下程序要实现这样的功能:对创建的数据以txt文件格式保存导出到手机内部存储器,并且可以随时的加载,导入到手机上运行的程序中。但是在Qt for Android下不同于Windows系统,不能直接用QFileDialog::getOpenFileName()函数实现,必须要调用Android系统程序打开文件,Android的Activity用来完成打开文件的工作,进入到Android打开文件对话框下,进行文件的选择与导入。保存导出相对简单,用Qt自带的Q...原创 2020-12-11 11:39:47 · 3943 阅读 · 4 评论 -
基于QOpenGLWidget显示的三维模型移植在Qt for Android平台时“shader program is not linked”问题处理总结
I QtCore : StartI Qt : qt startedI Adreno : QUALCOMM build : 89f10b9, I3d0e3ac366I Adreno : Build Date : 12/25/18I Adreno : OpenGL ES Shader Compiler Version: EV031.25.14.03I Adreno : Local Branch :I Adreno : Remote Branch :I Adreno : Remote原创 2020-10-26 22:56:57 · 2081 阅读 · 0 评论 -
STM32F103CBT6单片机I2C接口读取锂电池电量计LC709203F数据
一、基本情况 LC709203F是一款适用于单节锂离子/聚合物电池应用的电量计,通过HG-CVR算法来测量电池的RSOC(相对电荷状态)。精确的RSOC数据有助于改善便携式设备的运行时间和合理使用。 利用单片机的I2C口与LC709203F通讯,实现对其电池温度、电池电压、电池剩余电量(RSOC)等锂电池重要数据的采集。单片机管脚PB10(I2C2_SCL)连接LC709203F的第8脚SCL,单片机管脚PB11(I2C2_SDA))连接LC709203F的第7脚SDA。...原创 2020-09-25 22:16:56 · 6365 阅读 · 1 评论 -
Qt for android下通过手势事件对Chart曲线图缩放和平移的实现
一、功能要求 对Qt5.14开发的手机APP中绘制的曲线,进行触摸操作,实现对曲线的缩放和坐标轴平移,还需实现缩放和平移后的坐标复原。二、实现过程实现过程总体比较曲折,具体如下:第一次:参考例子程序zoomlinechart,采用event,gestureEvent以及mousePressEvent、mouseMoveEvent、mouseReleaseEvent实现,但是发现存在两个问题:1)只识别到PinchGesture,通过“捏”动作实现Chart图缩放,但是不能检测到panG.原创 2020-07-23 17:49:11 · 1207 阅读 · 1 评论 -
Qt5下串口对高频率自发性数据的接收及处理方法
在项目中需要用Qt5.9采集仪表中的数据,仪表是以200Hz的频率主动向外连续发送数据,发送频率很高,而且主动发送,不需要软件发送一次,再读取一次,而是软件直接读取。这种直接连续读取,有两个关键点:1)如何从接收buffer里面查找出所需的数据帧;2)每次接收的数据buffer里面会有很多帧,如何存起来,每一帧的去解析,处理。 整个程序分为:1)主程序下串口接收信号与串口接收函数connect部分;2)串口定时器启动函数serial_timerstart();3)串口读取函数部...原创 2020-06-19 12:11:24 · 8685 阅读 · 6 评论 -
Qt5下串口编程中“QIODevice::write (QSerialPort): device not open”问题的分析处理总结
一、实现功能说明:在主窗口中先配置好串口并“打开串口”,在菜单中点击“测量”子窗口,进入子窗口画面,点击子窗口的“测量”按钮,实现读取传感器指令的数据发送。二、程序说明:主窗口:1、MainWidget.h:定义类MainWidget,构造函数Mainwidget,公有变量 Qserialport serial,公有函数 void serial_write(const char *buf); 2、MainWidget.cpp中,有serial_init(),ser...原创 2020-05-15 17:06:27 · 19102 阅读 · 4 评论 -
stm32程序中串口发送以及VC++后台软件接收浮点数所遇到问题的处理总结
一、stm32程序通过查找网络资料,决定采用函数转换的方式,实现float数转换成char数,再送入modbus寄存器。首先,在头文件.h中定义:void float_char(float f,u8 *s);其次,在源文件.c中增加float_char子函数:void float_char(float f,u8 *s) { u8 *p; p=(u8*)&f; *s=*p; *(s+1)=*(p+1); *(s+2)...原创 2020-05-09 17:14:47 · 1108 阅读 · 0 评论 -
static变量在处理stm32单片机程序报错“Error: L6200E: Symbol cntdata multiply defined (by timer.o and main.o”问题的应用
一、原程序及错误提示1)头文件timer.h:#ifndef _TIMER_H#define _TIMER_H#include "sys.h"u8 cntdata=0;void TIM3_Int_Init(u16 arr,u16 psc);#endif2)timer.c中,定时器中断服务程序:void TIM3_IRQHandler(void){ i...原创 2020-05-07 09:49:10 · 8598 阅读 · 2 评论 -
s7-200PLC自由口通讯只接收数据不发送数据程序写法
s7-200PLC在使用过程中,当只需要从某些485接口设备接收其数据时,可以按照以下程序在P0口初始化的基础上,按照上述程序,即可实现接收的数据存储在从VB6701开始的寄存器内。S7-200的CPU串口端子图如下串口调试工具或其他485设备与CPU串口接线时需注意: CPU串口3脚接串口调试工具或其他485设备的485+; CPU串口8脚接串口调试...原创 2019-10-15 17:17:15 · 2690 阅读 · 0 评论