自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你

只分享实用知识干货,绝无半句废话。期待能切实帮到大家,恳请各位多多支持,你们的支持是我持续输出的最大动力。

  • 博客(98)
  • 资源 (19)
  • 收藏
  • 关注

原创 VS2022相对于VS2019有哪些新功能

64位架构:VS2022是64位应用程序,能使用更多内存,处理大项目时性能更优,而VS2019是32位应用程序,在处理超大型项目时受内存限制。- 调试功能强化:核心调试器通过提供更易读的逐步调试、条件断点和火焰图,简化代码反编译,帮助程序员定位本地和远程代码问题。- .NET支持更新:全面支持.NET 6,带来现代化的应用程序构建方式和多平台支持能力,而VS2019不具备。- C++支持增强:包含C++20的全套工具,有更好的Intellisense功能、更强大的调试和分析能力。容器化与版本控制方面。

2025-04-10 08:32:17 47

原创 Debⅰan12.10有哪些新功能

安全与稳定更新:对内核与关键组件如glibc、Linux内核、curl等进行修复,提高系统稳定性和数据完整性;修复了MariaDB、Python - Django、Nginx等常用软件包的安全漏洞;修补了Vim、OpenSSH、Redis等关键系统工具的漏洞,减少安全隐患。- 安装程序更新:更新了Debian安装程序,包含了所有相关修复,使全新安装体验更加顺畅。- 软件包调整:移除了因安全维护不足或兼容性问题的软件包,如kanboard、libnet - easytcp - perl等。

2025-04-10 08:16:38 45

原创 使用UltraISO制作Debian12安装盘

2. 将U盘插入电脑,选择“启动”->“写入硬盘映像”。在弹出的窗口中,选择要制作成安装盘的U盘,写入方式选择“USB - HDD+”,然后点击“写入”按钮。3. 等待写入完成,制作时长根据U盘读写速度不同,一般为5 - 10分钟。出现刻录成功提示,即制作U盘启动盘成功。选择“文件”->“打开”,找到下载好的Debian 12 ISO文件。可以从国内镜像源下载,如中国科学技术大学开源镜像站。也可以从官方网站下载。从UltraISO官方网站下载并安装该软件。下载并安装UltraISO。

2025-04-09 21:25:17 80

原创 在 Debian 系统中使用 dd 命令复制整个可启动的 Debian 安装盘

确认 U 盘设备名:打开终端,使用 lsblk 或 sudo fdisk -l 命令查看系统中所有存储设备信息,确定源 U 盘和目标 U 盘对应的设备名,如 /dev/sdb 和 /dev/sdc。复制过程:复制过程中,系统可能会变得响应缓慢,这是正常现象,不要中断复制操作,否则可能导致复制的 U 盘无法正常使用。设备名确认:在执行 dd 命令前,务必仔细确认源 U 盘和目标 U 盘的设备名,避免误操作导致数据丢失。插入 U 盘:将源 Debian 安装盘 U 盘和目标 U 盘插入计算机的 USB 接口。

2025-04-09 15:51:02 311

原创 modbus tcp 协议格式介绍

Modbus TCP 是一种基于 TCP/IP 协议的通信协议,用于在工业自动化领域中实现设备之间的通信。// 功能码 + 起始地址 + 数量。// 构建 Modbus 请求。// 构建 Modbus TCP 请求报文。// 解析 Modbus TCP 响应报文。

2025-04-09 09:51:29 700

原创 modbus rtu 协议结构介绍

Modbus RTU 是一种串行通信协议,常用于工业自动化领域,通过主从方式进行通信,主站发起请求,从站响应请求。

2025-04-08 08:44:57 418

原创 基于windows平台vs2010 下libjpeg-turbo3.1.0的编译

通过以上步骤,你就可以在 VS2010 项目中成功编译和使用 libjpeg - turbo 3.1.0 库。此命令会在当前目录下生成一系列的 Visual Studio 项目文件(使用 WinRAR 或者 7 - Zip 等工具将下载的。解压到指定目录,例如。

2025-04-08 08:41:41 327

原创 通libnodave 库访问西门子s7协议设备

/ 等待 5 秒后尝试重新连接。3. 在 while 循环中,不断检查连接状态,若连接丢失则尝试重新连接,连接成功后进行读写操作,然后每隔 5 秒重复此过程。// 这里简单通过尝试一个小操作(如读取一个字节)来判断连接是否有效。// 用于存储读取和写入数据的缓冲区。// 连接到 PLC。

2025-04-07 06:32:30 1477

原创 西门子s7协议包结构,有校验吗

写入值(Write Var 0x05):S7comm的结构在作业请求时,Data的结构包含Return code(返回代码)、Transport size(确定变量的类型和长度)、Length(写入值的数据长度)、Data(写入的值)、Fill byte(填充字节)。- COTP连接包:也就是S7Comm的握手包,其头结构为:PDU typ(1字节),协议数据单元类型,包含Source TSAP(源设备的TSAP)、Destination TSAP(目的设备的TSAP)等信息。

2025-04-07 06:22:04 571

原创 使用 Qt 开发自定义控件

1. CustomWidget 类继承自 QWidget ,通过重写 paintEvent 函数来绘制一个圆形,重写 mousePressEvent 函数来处理鼠标点击事件并改变圆形颜色。下面是一个使用 Qt 自定义控件的简单示例,创建一个继承自 QWidget 的自定义控件,该控件可以在内部绘制一个圆形,并在鼠标点击时改变圆形的颜色。// 重写鼠标点击事件处理函数。// 重写绘制事件处理函数。

2025-04-06 06:59:36 326

原创 使用 C++ 开发 OPC UA 客户端

请注意,以上代码只是一个简单的示例,实际应用中你可能需要根据具体的需求进行更多的错误处理、节点操作(如写入值、订阅数据变化等)。4. 处理读取到的值并打印(这里假设是一个整数类型,实际应用中需要根据节点的数据类型进行处理)。3. 尝试读取一个节点的值(这里使用了一个示例节点 ID,你需要替换为实际的节点 ID)。// 打印读取到的值,这里假设是一个整数类型,你需要根据实际情况处理。// 这里使用一个示例节点 ID(你需要替换为实际的节点 ID)// 示例:读取一个节点的值。

2025-04-06 06:56:46 381

原创 清明怀念父亲:父亲给我上了一课

父亲用满茧的双手,把最朴素的哲理刻进我血液:有些路看似沉重,扛住了,才能走向更远的天地。在稻田里,他弯腰捆扎沉甸甸的草头,我跟着抱谷穗递给他。又想起多年前那次,我从学校放假回家时,垂头丧气地对父亲说考试失利不想读书了,觉得读书太苦,甚至打算外出打工。肩膀火辣辣地疼,好几次想扔下担子,可看着父亲被冲担压弯却始终挺直的脊梁,又咬牙攥紧冲担。后来才懂得,那些没说出的话,都藏在他特意让我挑的草头里:读书的苦,怎比得过一辈子面朝黄土的艰辛?春风拂过新翻的泥土,恍惚又看见他转身换肩时,投向我的那道深沉目光。

2025-04-05 20:59:21 195

原创 使用asio库,创建TCP客户端

在上述代码中, "127.0.0.1" 是服务器的IP地址, "12345" 是端口号,你可以根据实际情况修改为对应的服务器地址和端口。1. 创建 asio::io_context 对象,用于管理异步I/O操作。6. 使用 asio::read_until 接收服务器的响应数据。3. 使用 tcp::resolver 解析服务器的地址和端口。4. 通过 asio::connect 连接到服务器。// 创建io_context对象。// 解析服务器地址和端口。// 创建TCP套接字。// 接收服务器响应。

2025-04-05 04:52:18 301

原创 在windows上使用asio库

1. 安装asio库:asio是头文件库,下载后解压,将包含头文件的目录添加到编译器的包含路径中。也可以使用vcpkg( vcpkg install asio )安装。3. 包含头文件:在代码中包含asio头文件,如 #include <asio.hpp>。2. 创建项目:打开Visual Studio或其他开发工具,创建一个C++项目。5. 编译运行:配置好项目属性,添加asio库路径,编译并运行项目。使用asio库时,注意处理异步操作的错误和资源管理。

2025-04-05 04:48:37 391

原创 QThread  类来实现多线程编程

下面是一个使用 QThread 类实现多线程编程的简单例子,在这个例子中,主线程创建并启动一个子线程,子线程会执行一个耗时的任务(这里简单模拟为延时一段时间并输出信息),并通过信号与槽机制将结果传递回主线程。1. 定义了一个 Worker 类,继承自 QObject ,包含一个 doWork 槽函数用于执行具体任务,以及一个 resultReady 信号用于发送任务完成的结果。// 自定义的工作类,继承自 QObject,用于在子线程中执行任务。// 任务完成后,发送结果信号。

2025-04-04 18:40:58 312

原创 用VC++写MQTT程序客户端

下面是一个使用 VC++(基于 Windows 平台,借助 paho-mqtt-cpp 库)编写的简单 MQTT 客户端示例代码,它实现了连接到 MQTT 代理服务器、订阅主题以及接收消息的功能。// MQTT 代理服务器地址。1. messageArrived 函数是消息回调函数,当客户端接收到消息时会调用此函数,用于处理接收到的消息内容并输出到控制台。// 连接到 MQTT 代理服务器。

2025-04-04 18:33:06 278

原创 使用  paho-mqtt-cpp  库编写C++ MQTT 客户端

/ MQTT 代理服务器地址。2. 在 main 函数中,创建了 MQTT 客户端对象,设置连接选项并连接到 MQTT 代理服务器。以下示例代码实现了连接到 MQTT 代理服务器、订阅主题以及接收消息的功能。// 连接到 MQTT 代理服务器。// 创建 MQTT 客户端对象。// 模拟运行一段时间,接收消息。// 等待并处理消息。

2025-04-04 18:28:09 212

原创 VC十十中如何使用Snαp7开发西门子S7协议程序

std::cerr << "连接失败,错误码: " << connectResult << std::endl;std::cerr << "读取数据块失败,错误码: " << result << std::endl;std::cerr << "写入数据块失败,错误码: " << result << std::endl;3. 成功连接后,调用 ReadDataBlock 函数读取数据块中的数据,并将读取到的数据输出到控制台。std::cout << "写入数据成功" << std::endl;

2025-04-04 05:28:54 485

原创 Qt中开发OPENGL

这只是一个基础的示例,实际开发中你可以进一步扩展,例如使用顶点数组对象(VAO)、顶点缓冲对象(VBO)来更高效地管理数据,以及实现更复杂的图形渲染效果。使用 Qt Creator 创建一个新的 Qt Widgets Application 项目,选择合适的项目名称和路径。这个函数用于初始化 OpenGL 环境,例如初始化 OpenGL 函数指针和设置清除颜色。这个函数负责执行实际的 OpenGL 绘制操作,这里绘制了一个简单的三角形。构建并运行 Qt 项目,你应该能看到一个窗口,其中显示了绘制的三角形。

2025-04-04 05:16:47 390

原创 VC++对话框程序开发OPENGL步骤

例如,在对话框类(假设为 CMyDlg )中添加一个 HGLRC 类型的成员变量用于存储 OpenGL 渲染上下文,以及一个 HDC 类型的成员变量用于存储设备上下文。- 链接 OpenGL 库文件,在项目属性的“链接器”->“输入”->“附加依赖项”中添加 opengl32.lib 、 glu32.lib 、 glaux.lib。- 可以在对话框类中添加一个 OnPaint 函数(处理 WM_PAINT 消息),在其中进行 OpenGL 绘制操作。// 创建渲染上下文。

2025-04-04 05:12:25 384

原创 解决tcp粘包一例

4. receiveData 函数模拟接收方,维护接收缓冲区,检查并处理完整的数据包,将剩余数据保留用于下次解析。2. bigEndianToInt 函数将大端字节序的4字节数组转换回整数,用于解析消息头中的长度字段。1. intToBigEndian 函数将整数转换为大端字节序的4字节数组,用于填充消息头的长度字段。实现方式:在消息头中定义长度字段(如4字节表示数据体长度)。// 将int类型数据转换为大端字节序的4字节数组。// 将大端字节序的4字节数组转换为int类型数据。

2025-04-03 13:32:34 283

原创 std::move功能

容器操作:当向容器中插入元素时,如果元素类型支持移动语义, std::move 可以将元素移动到容器中,避免拷贝。- 函数返回值:在函数返回对象时,可以使用 std::move 将局部对象的资源移动到函数外部,而不是进行拷贝。std::move 是C++ 中的一个函数,其功能是将对象的资源所有权进行转移,以实现移动语义,减少不必要的拷贝,提高程序性能。在上述代码中,通过 std::move 将 str 移动到 vec 中, str 的资源被转移,其内容变为空字符串。// 输出vector中的字符串。

2025-04-03 10:09:22 251

原创 vc++ 基于libzplay库实现的音乐播放器

vc++ 基于libzplay库实现的音乐播放器,实现顺序、随机、单曲循环播放、播放列表导入/导出 歌曲查找、文件信息查看。

2025-04-03 08:19:23 190

原创 什么是预编译?何时需要预编译?

预编译是在正式编译(将源代码转换为目标机器可执行的机器码)之前进行的一个处理阶段,主要负责处理以 # 开头的预处理指令,如 #include (文件包含)、 #define (宏定义)、 #ifdef 、 #ifndef 、 #endif (条件编译)等。1. 使用宏定义时:当代码中大量使用宏来定义常量、函数等,通过预编译的宏展开,可以方便地实现代码的替换和复用,提高代码的可维护性。预编译的文件包含功能可以将头文件内容整合到源文件中,使后续编译能正确处理头文件中声明的函数、类型等。

2025-04-03 06:26:07 514

原创 volatile常见用法

在 C 和 C++ 等编程语言中, volatile 关键字是一个类型修饰符,它告诉编译器,被该关键字修饰的变量的值可能会在编译器无法预测的情况下被改变。也就是说,编译器在优化代码时,不能因为认为变量的值不会改变而将其从内存中缓存,每次使用该变量时都需要从内存中重新读取。在这个例子中, port 指向一个硬件寄存器,硬件可能会随时修改这个寄存器的值,或者程序对这个寄存器的写入操作需要立即生效,所以使用 volatile 修饰,以确保每次读写都是对实际的硬件寄存器进行操作。// 线程修改共享变量。

2025-04-03 06:23:38 472

原创 如何避免头文件被重复包含?

上述代码中, #ifndef 检查 MYHEADER_H 是否未定义,如果未定义则执行后续代码,并使用 #define 定义该宏。#pragma once 相对 #ifndef 等宏定义的方式更简洁,不过在一些较老的编译器上可能不支持,而 #ifndef 这种方式兼容性更好。2. #pragma once :这是一种较新的避免头文件重复包含的方法,它告诉编译器该头文件只被包含一次。通过将声明放在命名空间内,可以更好地组织代码,并且与宏定义等方法结合,能有效避免重复包含带来的问题。

2025-04-02 07:47:36 426

原创 数组和链表的区别

在链表中插入和删除元素,只需要修改指针的指向,时间复杂度为O(1)(不考虑查找插入或删除位置的时间)。链表的内存是动态分配的,每个节点的内存是单独分配的,节点之间通过指针连接,不需要预先指定整体大小。cout << "访问链表元素: " << current->val << endl;cout << "访问数组元素: " << arr[2] << endl;cout << "数组示例:" << endl;cout << "插入元素后链表: ";cout << "删除元素后链表: ";

2025-04-02 07:44:26 613

原创 STL中的stack用法

3. 底层容器限制:指定底层容器时,必须支持 back() 、 push_back() 、 pop_back() 操作( vector 、 deque 、 list 均满足)。// 1. 底层容器为 vector(需满足 back()、push_back()、pop_back())cout << "栈中元素个数:" << s.size() << endl;cout << "弹栈后栈顶:" << s.top() << endl;cout << "栈顶元素:" << s.top() << endl;

2025-04-01 14:53:28 289

原创 字符串的反转

一个函数,实现字符串的反转。

2025-04-01 13:09:05 102

原创 Squirrel语言代码的缺少分号检测

控制语句(`return/break/continue`)必须显式分号。- 变量声明(`local/const`)必须显式分号。// 控制结构单行语句。// 类成员函数定义。// 分词模块(支持Squirrel运算符)// 检查组合运算符。// 处理双引号字符串。// 处理单引号字符串。// 跟踪类定义上下文。// 预处理模块(处理注释和字符串)// 检测字符串开始。// 控制流语句检查。// 表达式语句检查。

2025-04-01 11:58:45 573

原创 CString 中的Compare 和CompareNoCase

CString类中的Compare和函数都是用于比较字符串的,但它们在比较方式上有所不同。Compare。

2025-03-31 17:37:54 525

原创 GetTickCount64 用法举例

要统计一次运行超过50天的程序已运行时间,由于 GetTickCount 等32位表示时间的函数存在回绕问题(大约49.71天就会回绕),所以不适合,可采用GetTickCount64函数,请注意, GetTickCount64 函数仅在Windows系统下可用,并且其返回的时间值在系统休眠或睡眠时间调整时可能会产生不连续的情况。std::cout << "经过的时间(毫秒): " << elapsedTime << std::endl;// 模拟执行一些操作,这里简单让程序睡眠3秒。

2025-03-30 17:52:43 222

原创 基于OpenCV的机器人视觉标定一例

一个为9个圆圆心坐标(points_camera),一个为9个圆心对应的机械手坐标(points_robot)。针对机械手的视觉标定,首先,我们使用到的是OpenCv中的estimateRigidTransform 函数。之后我们把检测得到的图像坐标(t_px,t_py)代入,就可以得到与之相对应的机械手坐标(t_rx,t_ry)3、将标定板放到相机下方,位置区域要与机械手工作的区域一样,包括高度必须尽量一致,这是标定准确度的关键。得出来的6个double类型的参数,就是我们此次标定最终得到的标定参数了。

2025-03-30 16:11:28 237

原创 给一个字符串,判断是否为合法标识符

判断一个给定的字符串是否为合法的标识符。1. 由字母(包括大写和小写)、数字和下划线组成。// 检查其余字符是否为字母、数字或下划线。// 检查首字符是否为字母或下划线。// 检查是否为 C++ 关键字。3. 不能是 C++ 中的关键字。2. 必须以字母或下划线开头。// C++ 关键字数组。

2025-03-30 09:35:07 327

原创 实现一个快速排序算法,并分析其时间复杂度

因为每次划分后,问题规模变为原来的一半,总共需要 \log n 次划分,每次划分需要 O(n) 的时间来遍历数组进行比较和交换操作。2. 最坏情况:当数组已经有序(升序或降序)时,每次选择的基准都是数组的最大值或最小值,导致一次划分后,一边没有元素,另一边有 n - 1 个元素。综上所述,快速排序在平均和最好情况下具有较好的性能,时间复杂度为 O(n \log n),但在最坏情况下时间复杂度为 O(n^2)。3. 平均情况:在平均情况下,快速排序的时间复杂度也是 O(n \log n)。

2025-03-30 08:37:30 339

原创 通过 UDP 广播搜索局域网内设备

创建一个 UDP 套接字,设置为广播模式,然后向指定的广播地址发送搜索消息,并等待接收来自局域网内设备的响应。3. 这里只是简单的示例,实际应用中可能需要更复杂的逻辑处理,如多线程处理多个设备的响应等,多网卡。// 自定义的端口号。2. 确保程序运行时具有足够的权限来进行广播操作。// 创建 UDP 套接字。// 设置套接字为广播模式。

2025-03-30 08:31:53 361

原创 qt中调用外部DLL一例

将libzplay.dll 文件复制到D:\qt_project\build-lxxplayer-Desktop_Qt_5_9_1_MinGW_32bit-Release\release。点下一步,这样外部DLL就加入到工程中了。单击播放按钮,播放成功!

2025-03-29 17:03:20 140

原创 clean code编码习惯

如多个地方都有计算税费的逻辑,可将其提取为一个公共的计算税费函数。- 层次清晰:代码的组织结构要有层次,如按照业务逻辑的不同层次进行分层,表现层、业务逻辑层、数据访问层等,各层之间的调用关系要明确。- 明确错误处理:在代码中对可能出现的错误进行明确的处理,如使用 try - catch 块捕获异常,并给出合理的错误提示信息。- 模块划分:将代码按照功能划分为不同的模块或类,每个模块有明确的职责,模块之间的耦合度要低,内聚性要高。- 及时更新:当代码发生修改时,及时更新相应的注释,确保注释与代码的一致性。

2025-03-29 12:25:27 318

原创 在软件开发中常用的版本控制系统是什么?

推送本地分支到远程仓库:先执行 git push origin <本地分支名> ,将本地分支的代码推送到远程仓库。- 回退到上一个版本,使用 git reset --hard HEAD^ ,回退到上上个版本则使用 git reset --hard HEAD^^ ,回退到前100个版本可使用 git reset --hard HEAD~100。- 提交文件到本地仓库:执行 git commit -m "提交说明" ,将暂存区的文件提交到本地仓库, -m 后面的参数是对此次提交的描述。

2025-03-29 07:48:28 339

原创 分享一个工具AStyle3.6.4

AStyle 3.6.4 是一款广泛使用的开源代码格式化工具,专注 C、C++、C# 和 Java 等编程语言。它不仅能大幅提升代码可读性,助力团队开发协作,而且配置灵活,使用方便。参数:--style=allman -n -p -U -S -K $(ItemFileName)$(ItemExt)接下来就可以在VS2022中使用了,针对某个文件直接菜单【工具】->【Astyle】 进行美化。2)在VS2022中菜单【工具】->【外部工具】 新建。命令:D:\AStyle.exe。

2025-03-29 07:10:11 235

qt开发的上位机程序源码。

一个基于QT的简单的上位机,实现的功能很简单:上位机通过串口来控制开发板上的一个LED的亮灭。· 自动列出所有串口,包括 上位机界面设计。 上位机逻辑代码编写。 添加上位机图标。 上位机程序的打包。 上位机测试验证。

2022-02-28

智商超高的中国象棋(VC++编写)

智商超高的中国象棋,VC++编写,单机版,支持人机对抗,支持步数记录,支持悔棋、支持音效。大家休息时可以玩一把,看能否打败电脑。

2022-01-23

OpenCV2.4.10+VS2010开发环境配置

以OpenCV2.4.10、VS2010和WIN10 64位开发环境为例进行配置并写测试程序验证,详细的步骤,图文并茂

2022-01-13

基于TCPIP协议实现上位机对UR机器人的远程控制.rar

本文介绍了上位机对UR机器人远程控制的实现方法。UR机器人上具有特定功能的TCP/IP端口,并给出上位机示例程序

2022-01-11

ABB机器人与相机视觉通讯

ABB机器人与相机视觉通讯,主要包括: 1. socket通讯建立及收发数据 2. 数据关键信息的提取 3. 提取信息与机器人位置的转化

2022-01-11

上甑机器人在白酒固态蒸馏中的应用现状与探讨.rar

本文结合在某白酒企业自动化生产线的工作经历,对当前市场上应用较多的抖动式上甑机器人和旋转式机器人展开了应用性研究,并剖析了其问题产生的原因

2022-01-10

基于OpenCv的机器人九点标定法

基于OpenCv的机器人九点标定法,建立相机坐标系和机械手坐标系之间的关系,即给机械手装上眼睛,让它去哪就去哪,给出c++ 代码

2022-01-10

ABB机器人第六轴与示教旋转角度互补问题.rar

针对 ABB 工业机器人旋转角度与示教角度不一致,而是两个角度互补的情况,通过分析找出不一致的原因在于第六轴配置参数的差别,采取两种方法解决。

2022-01-10

简单串口调试助手,简单,实用,界面与当前流行的串口调试工具基本相同。使用方便,而且可以自定义串口速率,由状态显示内容。

设置串口号、波特率、校验位、数据位和停止位等(支持COM10以上); 支持ASCII/Hex两种模式的数据收发,支持自动发送,支持发送和接收字节数统计 支持串口状态监控

2021-12-27

Linux下控制GPIO.docx

Linux系统中控制GPIO,编译内核时使能GPIO,系统中使用GPIO,操作例子,给出典型的命令,一个小例子

2020-08-05

优傲中国培训计划.pdf

e-learning入门培训,视频课程:专业培训,核心(基础)课程 高级培训,服务和故障处理课程,高级培训,应用培训

2020-08-05

智能制造前沿观察与智能工厂规划策略-黄培-光迅会议-2019年5月11日.pdf

数字化转型与智能制造的大潮已经来临,智能工厂的规划、设计与应用需要实践和探索。它需要工业自动化技术 、先进制造技术 、人工智能技术、现代企业管理、信息与通信技术。

2019-05-14

FPGA烧程序步骤

FPGA烧程序步骤,图文并茂,详细的一个操作实例

2015-07-02

MOTOMAN__HP6机器人的正解、逆解及仿真分析

MOTOMAN HP6的位姿矩阵的计算,建立坐标系,确定参数,matlab计算程序,姿态矩阵逆解

2015-05-26

基于MRDS的工业机器人仿真研究

目前MRDS 在工业领域的应用研究较少。本文以ABB 的工 业机器人IRB140 建立了仿真模型,搭建了相应的虚拟仿真环 境。在MRDS 平台上,开发了工业机器人运动学和动力学方面的 算法,对其轨迹规划、实时碰撞检测等应用问题进行了研究。为 MRDS 在工业机器人控制方面的应用奠定了基础

2013-06-27

关节式工业机器人仿真及上位机控制软件研究

工业机器人是集机械和电子技术于一体的高技术产品,是一种最为典型的 机电一体化设备。随着机械、电子、控制、传感器等多学科先进技术的不断进 步,其应用范围越发广泛。尤其是近年来,工业机器人技术的不断进步对社会 生产和发展起着更为突出的推动作用。在此背景下,工业机器人技术的研究就 显得越来越重要。 本文在分析 Cincinnati 机器人本体结构的基础上,用 D-H 参数法建立了该 机器人的运动学模型,推导了其运动学正逆问题算法公式。在 MATLAB 环境 下,仿真绘制了该关节式机器人的工作空间,验证了该机器人运动学模型的正 确性。分析了关节空间下机器人轨迹规划的算法,并以此为理论指导规划该机 器人的轨迹,进行了关节空间下的轨迹规划仿真,比较了几种规划方法的优劣。 在 Pro/E 环境下,建立了该机器人的三维实体模型,并应用虚拟样机技术, 将该实体模型转换成为该机器人的虚拟样机模型。从运动学层面对该虚拟样机 模型进行了仿真分析,验证了其正确性。从动力学层面讨论了该机器人虚拟样 机操作臂的动力学性能,得到了可视化的参数曲线,为该机器人的运动提供了 动力学理论指导。 在 OpenGL 和 Visual C++环境下,开发了一套上位机控制软件,主要实现 了两种功能,第一,能够在 PC 机上模拟该机器人的关节运动,直观的显示出 该机器人的技术参数;第二,实现了对本已由于各种原因不能动作的 Cincinnati 机器人的关节运动控制,从 PC 机向下位机发送数据,即可控制该机器人腰、 肩和肘关节的运动。 在实际工况下,利用本文开发的控制软件进行实验,检测了该机器人的关 节运动,验证了该控制软件的正确性,并通过软件测试验证了该软件的开放性 和其良好的可扩展性,达到了课题的研究目的。

2013-06-27

基于D-H法的挖掘机工作装置运动学分析

本文以三自由度机械手为研究对象,用机器人运动学中常用的D-H法建立运动学数学模 型,进行正反向运动学分析。另外,结合挖掘机工作装置的机构学分析,理清工作装置各参数变量与斗 齿位姿的关系,确定工作装置运动过程中的控制规律。从而为运动学软件仿真模块提供较为合理的输入 参数,并可验证仿真结果的正确性

2013-06-27

Astyle3.6.4 可执行文件

AStyle 3.6.4 是一款广泛使用的开源代码格式化工具,专注 C、C++、C# 和 Java 等编程语言。它不仅能大幅提升代码可读性,助力团队开发协作,而且配置灵活,使用方便。凭借快速稳定特性,深受开发者喜爱,能有效提升代码整理效率 。

2025-03-29

squirrel语言源码

Squirrel是一种较新的程序设计语言,它从著名的LUA语言继承了很多特性,适用的范围也与LUA语言相似。

2025-03-27

boost::asio 库源码1.30.2

asio 是boost库中优秀的网络库。asio是一个异步的io库,支持以同步或异步的方式处理事件,也可以用于基于tcp或udp的网络通信。 (1)可移植到windows(完成端口实现)、linux(epoll实现)、FreeBSD、UNIX(kqueue实现)。 (2)可扩展性。 (3)效率很高。 (4)易使用,类 Socket API 编程模型。 支持同步、异步通信方式。

2025-03-27

C++11 引入的范围基 for 循环(Range-based for loop),测试代码

C++11 引入的范围基 for 循环(Range-based for loop)是一种简洁而强大的语法,用于遍历容器(如数组、向量、列表、集合等)。它不仅提高了代码的可读性和可维护性,还减少了常见的错误,本代码将深入探讨范围基 for 循环的语法、用法、优缺点、适用场景以及一些实际应用示例

2025-03-27

基于OpenGL和SolidWorks的机械系统运动仿真原理及实现

为了规划机械系统的运动轨迹, 优化设计 参数, 以及开发上位机监控界面, 研究了一个运动仿 真系统. 三维模型基于三维 CA D 软件 SolidWorks 建立, 用 OpenGL 作为三维图形的接口, 运动仿真 软件以 Window s 操作系统为开发平台, 采用 Visual C+ + 的 MFC 为开发环境. 详细讨论了实现运 动仿真的一些关键技术, 并开发了仿真软件. 仿真结 果证明了这种方法的可行性, 对其它动态过程的三 维仿真也有一定的意义

2024-12-11

一个有10年工作经验的工程师对modbus协议总结 包括ModbusASCII 、ModbusRTU、ModbusTcp 报文

ModbusASCII 、ModbusRTU、ModbusTcp 协议,包括存储区分类、存储区代号、存储区范围、功能码、协议分类、报文格式、调试软件等多方面的总结。

2024-07-04

qt5.7windows下开发环境搭建和一个例子

我用的是Qt5.7,因此本次总结是基于Qt5.7.0的。我在自学的时候使用的IDE是Qt自带的Qt creator,上手简单,配置属于自己顺手的设置很方便,此外,如果进行Linux下的Qt开发也不用熟悉其他IDE了,还有一个好处就是它完全可以作为一个可以进行交叉编译开发的IDE,再加上它对vim的支持,对于我这种Windows和Linux等多种环境下开发的人来说,它不仅是开发QT的IDE,进行需要交叉编译的项目时也可以拿来用的

2024-06-28

优傲机器人(Universal Robot)使用笔记

优傲机器人(Universal Robot)使用笔记,包括坐标系,DH参数,UR系列DH参数

2024-06-28

UR机器人模拟软件URsim

UR机器人模拟软件URsim,非常好用,包含UR3、UR5 、UR10,效果与示教器一样

2024-06-28

MD5-AES 源码 c++,开源

MD5-AES 源码 c++,开源

2024-06-28

中国象棋源码( vs2010) 界面、音效、算法、人机对抗

支持多种棋盘,支持人机对战,支持走棋音效,支持悔棋,人工智能 vs2010 编写

2024-06-28

UR5机械臂的TCP/IP控制

最近研究了一下UR5机械臂的控制,由于供应商提供的实物是用自带的示教器来编程控制,感觉很不方便。于是我研究了一下UR5机械臂的资料,决定用Qt写个控制软件,将示教器上面的控制界面移植过来,这样就可以用电脑通过无线网络远程控制机械臂了

2024-04-07

基于TCPIP协议实现上位机对UR机器人的远程控制源码

c#写的上位机对UR机器人远程控制的代码。实现xyz平移控制、单轴旋转控制、速度控制、加速度控制、寄存器测试

2024-03-27

一款和电脑对弈的象棋软件,内置棋艺超强的象棋智能引擎,实现人机对弈 界面美观,容易上手,有音效、悔棋等功能

经典的中国象棋程序

2024-03-05

Windows平台上达梦数据库的ODBC驱动包(64位)

达梦数据库没有单独的ODBC驱动包,ODBC驱动在数据库的安装文件中,而数据库安装文件很大(1.2G),有时客户端只需安装一个odbc驱动,我做了这个单独安装包60多MB

2023-11-17

Windows平台上达梦数据库的ODBC驱动包(32位)

达梦数据库没有单独的ODBC驱动包,ODBC驱动在数据库的安装文件中,而数据库安装文件很大(1.2G),有时客户端只需安装一个odbc驱动,我做了这个单独安装包60多MB

2023-11-16

如何让Editplus支持squirrel语言

经过一段时间使用发觉squirrel 的开发工具比较少。网上有几个但是都用过感觉一般。决定用EditPlus。配置完实现关键字、函数、高光代码自动完成、代码调试。压缩包中包含nut.stx,nut.acp 文件

2022-05-22

空空如也

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

TA关注的人

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