- 博客(96)
- 资源 (2)
- 收藏
- 关注
原创 博途 SinaPos 设置回参考点
本文介绍了SinaPos功能块的输入输出变量及操作步骤。输入变量包括ModePos(需设为5)、EnableAxis(设为true使能轴)和ExecuteMode(上升沿触发执行)。输出变量AxisRef会在操作成功后变为true。操作流程为:先设置模式,使能轴,再触发执行命令。文中配有相关参数截图和博图帮助文档说明,展示了完整的参考点设置过程。
2025-12-23 17:01:25
26
原创 博途中用 SCL 实现 T 触发器
本文介绍了在TIA Portal中创建SCL功能块T_Trigger的方法。通过添加新块并选择SCL语言,设置块名称为T_Trigger。在变量声明编辑器中定义输入/输出变量和内部变量,在逻辑编辑器中编写触发翻转逻辑:当检测到输入上升沿时,输出值取反。该功能块可实现输入端每产生一个上升沿,输出端值就翻转一次的功能,无需手动创建DB块,系统会自动生成。
2025-12-22 15:25:07
122
原创 V90 伺服的DI, DO
摘要:V90伺服系统的数字输入(DI)和数字输出(DO)引脚支持功能自由分配。DI引脚可配置多种输入功能,DO引脚也可灵活设置不同输出功能。系统提供相关参数配置选项,通过参数设置实现引脚功能的个性化定义。这种灵活的I/O配置方式增强了伺服系统的适应性和可扩展性。
2025-12-19 15:47:59
116
原创 西门子报文 111 的加速度倍率、减速度倍率的基准是什么
既然是倍率,总要乘上一个什么基准的值才能得到有意义的加速度、减速度。这个基准值在 V90 伺服说明书中有写。
2025-12-17 16:16:21
256
原创 sina_pos 取消和暂停任务与报文控制字的关系
摘要:sina_pos模块的暂停和取消任务功能通过输入端引脚实现,这些引脚值直接映射到报文111控制字(STW1)的bit4和bit5位。具体表现为暂停任务对应bit4,取消任务对应bit5,实现了硬件信号与控制指令的直接关联。这种设计简化了任务控制流程,使外部操作能快速转换为内部控制指令。
2025-12-17 15:56:04
282
原创 西门子V90 参考点挡块信号来源
回原点功能需要REF信号(参考点挡块信号),该信号可通过两种方式获取:一是使用西门子报文111或110时,报文中的控制位指示信号状态;二是使用报文7或9时,需依赖V90伺服的数字输入引脚。两种方式分别适用于不同报文类型,确保参考点挡块信号的可靠检测。
2025-12-17 14:34:50
115
原创 西门子报文 111 选择 JOG1,JOG2 信号源
摘要:西门子V90伺服在EPOS模式下,STW1的bit8和bit9用于选择JOG1/JOG2信号源。JOG1和JOG2分别对应两套可独立设置的点动参数:JOG1/JOG2速度参数控制速度点动模式下的运行速度,JOG1/JOG2增量参数决定位置增量点动模式下的移动距离。通过选择不同的JOG信号源,可灵活切换使用预设的两组点动参数。
2025-12-17 10:54:56
100
原创 西门子报文 111 控制软限位、硬限位功能的启用和禁用
本文介绍了数控设备中两种限位功能的设置方法。硬限位功能通过物理挡块和限位开关实现,提供机械保护;软限位功能则通过软件参数设定运动范围,作为辅助保护。两种限位方式相互配合,共同确保设备运行安全,防止机械部件超出允许行程范围造成损坏。
2025-12-17 10:28:04
231
原创 禁止 vscode 启动时自动打开辅助侧边栏
VSCode最新更新默认自动打开AI聊天侧边栏,挤占编辑空间。解决方法:进入设置搜索"sidebar",将辅助侧边栏选项改为"hidden"即可关闭。该功能不仅占用宝贵编辑区域,而且VSCode本身也不支持多窗口功能,给用户带来不便。
2025-11-13 23:26:34
392
1
原创 禁用vscode的任务结束提示
vscode不知道从哪个版本的更新后,运行 task.json 的任务结束后会闪烁任务栏图标,同时任务栏图标旁边多了一个黑色的圈圈,此外还会弹出windows的通知消息,非常烦人。按照下图所示的步骤,设置 -1 即可禁用通知。
2025-10-31 14:48:18
270
原创 stm32h743iit6 USB FS 启用 VBUS 或 BCD 前后的区别
摘要:在STM32CubeMX中启用VBUS检测功能后,PA9引脚会被自动配置为输入模式,相关初始化代码会增加对PA9引脚的配置。同时,USB_OTG_FS初始化结构体中的vbus_sensing_enable和battery_charging_enable参数会从DISABLE变为ENABLE。类似地,启用BCD功能也会产生相同的配置变化。通过VSCode差异编辑器可以直观查看这些修改内容。
2025-09-25 11:47:38
230
原创 keil 离线安装开发包
本文介绍了如何下载并安装STM32H743的固件包。首先在Bing搜索"STM32H743"找到官方固件下载页面,点击下载链接获取文件包。下载完成后,解压并双击安装程序即可完成安装。整个过程简单明了,适合开发者快速获取STM32H743的开发资源。
2025-09-24 11:20:37
157
原创 USBD_malloc 禁止替换成 malloc 函数
STMC32的CDC虚拟串口库使用静态内存分配方案,通过USBD_static_malloc函数在中断中分配固定大小的内存块。由于中断中禁止使用动态内存分配(如malloc或FreeRTOS的内存管理函数),该库采用预分配的静态数组作为解决方案。当前设计存在两种优化方向:1)重构为中断发送信号量+线程处理模式;2)自定义中断专用内存池。对于单一虚拟串口的简单应用,建议保持CubeMX生成的静态分配方案,既安全又高效。
2025-09-20 22:31:05
217
原创 禁用 vscode 的终端的粘滞滚动
VS Code更新后自动启用了终端的"粘滞滚动"功能,导致命令提示行固定在顶部,影响滚动流畅度和显示空间。解决方法:在设置中搜索"sticky"关键字,取消勾选该选项即可恢复正常的终端滚动效果。
2025-09-13 19:52:19
274
原创 stm32 链接脚本没有 .gcc_except_table 段也能支持 C++ 异常
但是也能支持 C++ 异常。能够正确调用 try 块内的对象的析构函数,能够正确调用抛出的异常对象的析构函数。stm32 使用 cubemx 生成的 gnu ld 链接脚本没有。
2025-09-09 11:54:49
278
原创 vscode launch.json 中使用 cmake tools 扩展的命令获取可执行文件目标文件名
本文介绍了如何在VS Code中使用CMake扩展获取构建目标文件名的方法。首先需要安装CMake扩展并使用CMake作为构建系统,然后在launch.json配置文件中通过${command:cmake.getLaunchTargetFilename}命令获取可执行文件路径,并展示了如何将其嵌入到GDB调试命令中的示例。该方法简化了调试配置过程,适用于使用CMake构建的C++项目开发。
2025-09-04 10:12:59
319
原创 使用 C 模仿 C++ 模板的拙劣方法
该代码实现了一个基于宏模板的C语言循环双端队列容器。通过宏定义__template_cb_circle_deque_element_type和__template_cb_circle_deque_size可配置元素类型和队列大小。提供了队列初始化、判空、获取元素数量、前后端插入/删除等操作。由于使用宏定义模板,该实现限制在源文件中使用,头文件中会出现宏冲突。队列采用循环数组实现,通过记录首尾指针和满标志来管理元素存储。
2025-09-02 23:21:23
304
原创 浮点型的位结构和表示的值
浮点数存储结构解析:float和double类型均由符号位、指数部分和尾数部分组成。符号位表示正负,指数部分采用移码表示,但存在特殊处理:当全0时表示非规格化数(float指数为-126,double为-1022),当全1时表示特殊值(NaN或无穷)。规格化数计算公式涉及指数偏移(float-127,double-1023)和隐含的1加上尾数小数部分,而非规格化数直接使用尾数小数部分。特殊值包括:尾数非零的全1指数为NaN,尾数零的全1指数根据符号位表示正负无穷。
2025-08-24 12:29:00
535
原创 stm32h743iit6 配置 USART1 引脚复用功能时应该选择 GPIO_AF4_USART1 还是 GPIO_AF7_USART1
STM32芯片中USART1外设的引脚复用功能选择取决于具体使用的物理引脚。PA9/PA10引脚对应使用GPIO_AF7_USART1,而PB14/PB15引脚则需选择GPIO_AF4_USART1。当常规引脚被占用时,可选用备用引脚PB14/PB15。具体配置需参考ST官方提供的引脚复用功能表(可在STM32H743产品文档中找到),该表格详细列出了各引脚对应的复用功能编号。开发者应根据实际硬件连接选择正确的AF编号进行初始化配置。
2025-08-20 17:19:04
333
原创 原码表示法、反码表示法、移码表示法、补码表示法
计算机中负数的表示方法主要有原码、反码和补码三种。原码用最高位表示符号位,其余位表示数值,但存在正负零的冗余问题。反码则是将负数对应的正数按位取反,同样存在双零问题。补码通过数轴调整的方式,解决了双零问题,使加减运算更统一。移码通过整体下移数值范围来表示负数,但转换不便。补码是目前计算机最常用的有符号数表示方法,能高效处理加减运算和符号转换。
2025-08-16 23:10:23
909
原创 用数学函数表示整型
本文介绍了8位无符号整型(u8)和有符号整型(s8)的周期函数特性。u8从0递增到255后溢出归零,形成周期性;s8则在-128到127之间循环。展示了u8和s8函数的自复合特性,以及两者复合函数的行为模式。这些函数在计算机系统中具有重要应用,特别是在处理数据溢出和环形缓冲区等场景。
2025-08-14 00:58:58
195
原创 std::vector 和 std::deque 的 insert 方法对于随机访问迭代器能够计算出 last - first 进而一次性移动元素
摘要:本文探讨了std::vector和std::deque的insert方法对随机访问迭代器的优化处理。通过自定义容器和迭代器实现,验证了当迭代器类型标记为random_access_iterator_tag时,insert方法会先计算last-first的距离,一次性移动元素后再迭代插入。测试结果显示,vector和deque都调用了迭代器的减法运算符确定插入范围,随后进行高效插入操作,而非随机访问迭代器则无法获得这种优化。实验通过打印运算符调用信息直观展示了这一机制。
2025-08-08 01:01:21
111
原创 QTableView 头部插入或删除行后调整滚动条,保证视窗内的行不发生移动
本文介绍了在QTableView中处理头部插入/删除行时保持滚动位置稳定的方法。当在表头插入或删除行时,会导致现有行位置偏移,需要手动调整滚动条位置。对于头部插入行,计算插入前后行的像素位置差(delta_position),将滚动条当前位置加上该偏移量;对于头部删除行,则减去偏移量。通过QTimer::singleShot延迟执行滚动条调整,确保在表格重绘后进行操作。代码实现了精确控制滚动位置,避免用户视窗内容意外移动。
2025-08-05 13:56:12
236
原创 将 qt 构建为静态库
本文介绍了使用PowerShell脚本配置和构建Qt静态库的方法。主要内容包括:1)使用ps1脚本设置编译器环境变量并跳过部分模块;2)配置静态构建的关键选项;3)静态链接时需要手动添加多个系统库;4)在可执行文件中导入QWindowsIntegrationPlugin插件,并解释了其实现原理,强调应只在最终可执行文件的一个翻译单元中包含该代码。通过这些步骤可以实现Qt的静态链接,不再需要动态库插件。
2025-07-30 22:26:14
310
MSP430F5xx_6xx_DriverLib_Users_Guide-2_91_13_01.pdf
2020-08-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅