第7章_低成本 Modbus 传感器的实现

news2024/10/5 18:25:51

文章目录

  • 第7章 低成本 Modbus 传感器的实现
    • 7.1 硬件资源介绍与接线
    • 7.2 开发环境搭建
    • 7.3 创建与体验第 1 个工程
      • 7.3.1 创建工程
      • 7.3.2 配置调试器
      • 7.3.3 配置 GPIO 操作 LED
    • 7.4 UART 编程
      • 7.4.1 使用 STM32CubeMX 进行配置
        • 1.UART1
        • 2.配置 RS485方向引脚
      • 7.4.2 封装 UART
      • 7.4.3 上机实验
        • 1. 硬件连接
        • 2. STM32H5 程序改造
        • 3.STM32F030程序调试
    • 7.5 libmodbus 移植
      • 7.5.1 移植 libmodbus
      • 7.5.2 使用 modbus 控制设备
      • 7.5.3 上机实验
    • 7.6 传感器设计
      • 7.6.1 设计思路
      • 7.6.2 三款传感器功能及所用引脚
      • 7.6.3 点表设计
        • 1.开关量模块(SWITCH)
        • 2. 环境监测模块(ENV_MONITOR)
      • 7.6.4 开关量传感器程序设计
      • 7.6.5 环境监测传感器程序设计
        • 1. 硬件电路
        • 2. 配置 GPIO 和 ADC
        • 3. 读取 ADC 的关键代码
      • 7.6.6 温湿度传感器程序设计
        • 1. 硬件电路与操作方法
        • 2. 配置 I2C
        • 3. 读取温湿度关键代码

第7章 低成本 Modbus 传感器的实现

7.1 硬件资源介绍与接线

我们的 Modbus 传感器开发套件共有三个, 三个板子的使用的主控方案是 STM32F030芯片,硬件接口资源如下图所示:

img

开关量模块

img

温湿度变送器模块

img

环境检测模块

7.2 开发环境搭建

在前面我们已经安装了 Keil MDK、STM32CubeMX、STM32CubeProgrammer、ST-Link 驱 动、 CH340 驱动。因此在这里我们只需给 Keil MDK 安装 STM32F030 对应的 PACK 即可对改 芯片进行编码开发。

安装 PACK 的方法有两种:

  • 第一种方法:双击运行开发板配套资料中的 Pack 安装包,随后弹出安装界面,按照默 认选项进行安装即可。:

img

  • 第二种方法,在线安装, 下面演示如何在线安装。

打开Keil之后, 点击如下按钮启动“Pack Installer”:

使用 “Pack Installer” 可 以 方 便 的 对 Pack 安 装 和 管 理 。 在 左 上 角 搜 索 框 输 入 “STM32F030”,展开搜索结果,可以看到STM32F030CC,点击右边的简介链接即可跳转 到Pack下载页面,如下图所示。

img

如果跳转网页无法打开,可直接打开 Pack 下载总入口(www.keil.com/dd2/Pack/)。 进入 Pack 下载总入口后,搜索“STM32F030”,找到“STM030CCT”点击, 如下图所示(实 测部分网络环境打开该链接无 Pack 列表,请尝试换个网络环境测试,仍旧不行则使用配 套资料 Pack)。

img

点击会跳转到 pack 包界面,点击右上角的”STM32F0xxDFP“即可跳转到 pack 包下载界面,点击右上角”STM32F0xxDFP“处即可下载 pack 包,如下图所示。

img

img

下载完成得到“Keil.STM32F0xx_DFP.2.1.1.pack”,直接双击该文件,随后弹出安装界 面,按照默认选项进行安装即可。

7.3 创建与体验第 1 个工程

7.3.1 创建工程

启动 STM32CubeMX 后,点击如下图标开始选择 MCU:

img

如下图输入型号“STM32F030CCT”,双击找到的芯片, 开始创建工程:

img

调高 CPU 频率:

img

配置工程, 如下操作:

img

指定代码生成方法, 如下:

img

7.3.2 配置调试器

新建的工程要配置调试器,参考《2.2.3 配置调试器》 。

然后就可以编译程序、烧写运行了。

7.3.3 配置 GPIO 操作 LED

打开位于“5_硬件资料\01_开发板原理图\STM32F030CCT6_SWITCH_V11.pdf”的原理图 文件。

根据开发板原理图可以看到 F030的LED 引脚图如下:

img

可以双击打开工程中如下文件进入STM32CubeMX进行配置:

img

然后如下配置 PB11 、PB12 、PB13 为输出引脚:

img

点击右上角的 “GENERATE CODE”按钮后打开工程。

在main函数的循环里, 增加如下代码:

/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
    /* set LED output high */
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11, GPIO_PIN_SET); //LED1
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET); //LED2
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_SET); //LED3
    HAL_Delay(500);
    /* set LED output low */
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_11, GPIO_PIN_RESET);//LED1
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET); //LED2
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_RESET); //LED3
    HAL_Delay(500);
}

最后编译、烧写、运行, 可以看到开发板的 LED 闪烁。

7.4 UART 编程

7.4.1 使用 STM32CubeMX 进行配置

本节源码为“3_程序源码\01_视频配套的源码\7-5_STM32F030串口编程\demo”。 RS4385接口原理图如下:

img

需要在STM32CubeMX里配置UART1,并且配置PA8为输出引脚。

1.UART1

先使能 UART1:

img

然后使能中断:

img

在前面STM32H5的UART程序里使用了DMA,本节故意不使用DMA而使用纯中断来 实现UART,多学一种编程方法。

2.配置 RS485方向引脚

STM32H5主控板上使用的RS485转换芯片是MAX13487EESA,它会自动切换发送、 接收方向,无需程序进行方向的控制。使用STM32F030制作的“廉价传感器”里,使用 的RS485转换芯片是SIT3088ETK,它需要使用一个GPIO来控制方向,如下图所示:

img

上图中,RS485_CTRL使用的引脚是PA8,所以还需要把它配置为输出引脚,输出低 电平(让SIT3088ETK默认为接收状态) 。如下配置:

img

7.4.2 封装 UART

本节源码为“3_程序源码\01_视频配套的源码\7-5_STM32F030串口编程\demo”。 现场编程。

7.4.3 上机实验

本节源码为“3_程序源码\01_视频配套的源码\7-6_STM32F030 串口测试”,里面有 2 个程序:h5_demo、f030_demo。

要测试 STM32F030 的串口, 只需要把它的 485 接口连接到 PC 去就可以了,但是我们没 有 PC 上使用的“USB 转 485”模块,所以使用 STM32H5 来实现一个“USB 转 485 模块”:

  • 它从 USB 串口读到数据,再从 485 接口发送出去;

  • 它从 485 接口读到数据,再从 USB 串口发送给 PC。

1. 硬件连接

img

2. STM32H5 程序改造

本节源码为“3_程序源码\01_视频配套的源码\7-6_STM32F030串口测试\h5_demo”。

3.STM32F030程序调试

本节源码为“3_程序源码\01_视频配套的源码\7-6_STM32F030串口测试\f030_demo”。

7.5 libmodbus 移植

本节源码为“3_ 程序源码\01_ 视频配套的源码\7-7_STM32F030 上libmodbus 移植 \f030_demo”。

7.5.1 移植 libmodbus

把“7-6_STM32F030串口测试\h5_demo\demo\Middlewares\Third_Party\libmodbus”整 个目录复制到f030_demo中。

在Keil工程中添加代码, 如下:

img

7.5.2 使用 modbus 控制设备

STM32F030作为从设备(sever),编写“Core\Src\freertos.c”:

7.5.3 上机实验

7.6 传感器设计

7.6.1 设计思路

上位机(PC 软件)或中控(STM32H5)通过 modbus 协议访问 STM32F030 传感器时,读 写的是 STM32F030 分配出来的 4 个类型的缓冲区。这里需要解决 2 个问题:

  • 这 4 个类型的缓冲区起始地址、大小分别是多少? 这根据传感器的功能来设置。比如有 2 个按键,那么就可以分配 2 个“只读的位寄存器”(DI)。

  • 这些寄存器的值, 如何跟硬件对应? 比如上位机读 DI 寄存器时, 谁提供这些值?传感 器的程序应该读取按键值,填充 DI 寄存器。

第 1 个步骤,被称为“点表设计”。

7.6.2 三款传感器功能及所用引脚

这 3 款传感器的原理图在网盘如下目录里:

img

它们控制外设所用的引脚,列表如下:

功能使用的引脚描述寄存器类别
ENV_MONITOR 环境监测模块BEEP1PB15高电平发声DO
BEEP2PB14高电平发声DO
LED1PB11低电平发光DO
LED2PB12低电平发光DO
LED3PB13低电平发光DO
OPTO_ADCPA1电压值跟光强成反比AI
RES_ADCPA2电压值跟可调电阻成反比AI
SWITCH开关量模块KEY1PA3低电平表示被按下DI
KEY2PA4低电平表示被按下DI
KEY3PA5低电平表示被按下DI
K1_CTRLPB5高电平使能继电器DO
K2_CTRLPB4高电平使能继电器DO
LED1PB11低电平发光DO
LED2PB12低电平发光DO
LED3PB13低电平发光DO
TEMP_HUMI温湿度模块BEEP1PB15高电平发声DO
BEEP2PB14高电平发声DO
LED1PB11低电平发光DO
LED2PB12低电平发光DO
LED3PB13低电平发光DO
I2C1_SCLPB6可以读到温度、湿度 AIAI
I2C2_SDAPB7可以读到温度、湿度 AIAI

7.6.3 点表设计

所谓点表, 就是一个 modbus 设备,它的地址是什么? 它里面 4 类寄存器的地址、功能 是什么。

在查看点表时,经常碰到“遥测、遥信、遥控、遥调”的概念。它们实质上就是前面 讲解 modbus 时引入的“AI、DI、DO、AO”。这些概念起源于电力系统。

电力领域中四遥系统是指遥测、遥信、遥控、遥调功能系统, 四遥功能是电力监控系 统最基本最重要的功能。具体来说:

  • 遥测(遥测信息,AI):远程测量;远方测量显示诸如电流、电压、功率、压力、温度等 模拟量;

  • 遥信(遥信信息,DI):远程信号;远方监视各类电气开关和设备、机械设备的工作状态 和运转情况状态等;

  • 遥控(遥控信息,DO):远程控制;接受并执行遥控命令,远方控制或保护电气设备及电 气机械化的分合起停等工作状态;

  • 遥调(遥调信息,AO):远程调节;接受并执行遥调命令,远方设定及调整所控设备的工 作参数、标准参数;四遥遥测、遥信、遥控、遥调常常被简称为 AI、DI、DO、AO。

AI、DI、DO、AO 都是英文名称的首字母缩写,A 的英文全称 Analog (模拟量)、D 的英 文全称 Digital (数字量) 、I 的英文全称 Input (输入)、O 的英文全称 Output (输出)。 因此, AI 表示的是模拟信号输出, AO 是模拟信号输入,DI 是数字信号输入, DO 是数字信 号输出。

随着技术不断地进步,现在也有五遥的说法, 即在四遥的基础上加上遥视, 遥视指的 是指利用包括电子技术、计算机技术、自动化技术等监视并记录设备运行情况和环境安全 情况。因此伴随着技术发展, 电力系统中从一遥(遥信 DI)阶段、发展到二遥(遥信 AI、 遥测 DI)、三遥(遥信 AI、遥测 DI 和遥控 DO)、四遥(遥信 AI、遥测 DI、遥控 DO 和遥 调 AO);现在开始四遥向五遥过渡。

原文链接:https://blog.csdn.net/LuohenYJ/article/details/106027626

在阅读点表时,还会碰到下表中的“PLC/组态地址”,或者表中的简称“0x、1x、4x、 3x”, 它们的本质都是用来分辨“AI、AO、DI、DO”四类寄存器:

寄存器种类PLC/组态地址Modbus 寄存器地址范围简称读写状态
线圈状态00001~099990000H~FFFFH0x可读可写
离散输入状态~10001 199990000H~FFFFH1x只读
保持寄存器40001~499990000H~FFFFH4x可读可写
输入寄存器~30001 399990000H~FFFFH3x只读

点表的设计,是完全由开发人员自行定义的。

1.开关量模块(SWITCH)

寄存器说明:

设备地址寄存器地址寄存器类别用途描述
01H0000HDI读取按键 KEY11-被按下
0001HDI读取按键 KEY21-被按下
0002HDI读取按键 KEY31-被按下
0000HDO控制继电器 11-吸合
0001HDO控制继电器 21-吸合
0002HDO控制 LED11-亮
0003HDO控制 LED21-亮
0004HDO控制 LED31-亮
2. 环境监测模块(ENV_MONITOR)

寄存器说明:

设备地址寄存器地址寄存器类别用途描述
02H0000HDO控制蜂鸣器 11-响
0001HDO控制蜂鸣器 21-响
0002HDO控制 LED11-亮
0003HDO控制 LED21-亮
0004HDO控制 LED31-亮
0000HAI读取光敏电压0xfff 对应 3.3V12 位精度
0001HAI可调电阻器电压0xfff 对应 3.3V12 位精度
  1. 温湿度模块(TEMP HUMI)
设备地址寄存器地址寄存器类别用途描述
03H0000HDO控制蜂鸣器 11-响
0001HDO控制蜂鸣器 21-响
0002HDO控制 LED11-亮
0003HDO控制 LED21-亮
0004HDO控制 LED31-亮
0000HAI读取温度单位 0.1 摄氏度 16 位有符号整数
0001HAI读取湿度单位 0.1%RH16 位有符合整数

7.6.4 开关量传感器程序设计

继电器原理图如下:

img

继电器对外的信号有 3 个:

  • COM:公共端,通常是中间的触点, 与常开或常闭触点相连
  • NC(Normally Closed): 常闭接口,继电器吸合前与 COM 连接, 吸合后悬空
  • NO(Normally Open): 常开接口, 继电器吸合前悬空, 吸合后与 COM 连接

开路即通路、断路,闭合指的是开关闭合,也就是说, 在没有任何上电之类的动作时, NC 和 COM 端相当于已经连通。

本节源码为“ 3_ 程 序源 码\01_ 视 频配套 的 源 码\7-9_ 开 关 量 传 感 器 程序 设 计 \f030_demo”。

7.6.5 环境监测传感器程序设计

1. 硬件电路

光敏电路如下, 光照越强,U6 阻值越低,OPTO_ADC 电压值就越低:

img

可调电阻器如下,R33 阻值越大,RES_ADC 电压值越小:

img

本节源码为“3_ 程序源码\01_ 视频配套的源码\7-10_ 环境监测传感器程序设计 \f030_demo”。

2. 配置 GPIO 和 ADC

先在STM32CubmeMX里配置GPIO和ADC 引脚,使能“Discontinuous Conversion Mode ”:

img

3. 读取 ADC 的关键代码
// 1. 检验
HAL_ADCEx_Calibration_Start(&hadc) ;

// 启动、读2次数值
for (int i = 0; i < 2; i++)
{
    HAL_ADC_Start(&hadc);
    if (HAL_OK == HAL_ADC_PollForConversion(&hadc, 100))
    {
    	mb_mapping->tab_input_registers[i] = HAL_ADC_GetValue(&hadc); 
    }
}

7.6.6 温湿度传感器程序设计

本节源码为“ 3_ 程序源码\01_ 视频配套 的源码\7-11_ 温湿度传感器程序设计 \f030_demo”。

1. 硬件电路与操作方法

原理图如下:

img

AHT20 芯片资料在网盘如下目录:

img

AHT20 操作方法如下:

img

详解如下:

  • 发送测量命令:传感器的 VDD 上电后需等待 5ms, 发送写测量命令 0x70 0xAC 0x330x00, 等待 80ms 测量完成;

  • 获取温湿度校准数据: 在等待 80ms 测量完成后, 发送 0x71 读传感器,可获取状态字 Status、温湿度校准数据 SRH[19:0]、ST[19:0]以及校准字 CRC;

  • 根据公式计算温湿度:

img

计算检验码的函数如下:

//**********************************************************//
//CRC校验类型:  CRC8
//多项式:  X8+X5+X4+1
//Poly:0011 0001 0x31
unsigned char Calc_CRC8(unsigned char *message,unsigned char Num)
{
    unsigned char i;
    unsigned char byte;
    unsigned char crc =0xFF;
    for (byte = 0;byte<Num;byte++)
    {
        crc^=(message[byte]);
        for(i=8;i>0;--i)
        {
            if(crc&0x80)
            crc=(crc<<1)^0x31;
            else
            crc=(crc<<1);
        }
    }
    return crc;
}//
**********************************************************//
2. 配置 I2C

img

3. 读取温湿度关键代码

读取一次温湿度值, 耗时至少 80ms。不可能在接收到modbus 请求后再去读温湿度。而 是使用另一个任务不断读取温湿度。

HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout) ;

HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout) ;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1877282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

memory动态内存管理学习之weak_ptr

此头文件是动态内存管理库的一部分。std::weak_ptr 是一种智能指针&#xff0c;它持有对被 std::shared_ptr 管理的对象的非拥有性&#xff08;“弱”&#xff09;引用。在访问所引用的对象前必须先转换为 std::shared_ptr。std::weak_ptr 用来表达临时所有权的概念&#xff1a…

快速应用开发(RAD):加速软件开发的关键方法

目录 前言1. 快速应用开发的概念1.1 什么是快速应用开发&#xff1f;1.2 RAD与传统开发方法的对比 2. 快速应用开发的实施步骤2.1 需求分析与规划2.2 快速原型开发2.3 用户评估与反馈2.4 迭代开发与改进2.5 最终交付与维护 3. 快速应用开发的优点与应用场景3.1 优点3.2 应用场景…

24级中国科学技术大学843信号与系统考研分数线,中科大843初复试科目,参考书,大纲,真题,苏医工生医电子信息与通信工程。

(上岸难度&#xff1a;★★★★☆&#xff0c;考试大纲、真题、经验帖等考研资讯和资源加群960507167/博睿泽电子信息通信考研咨询&#xff1a;34342183) 一、专业目录及考情分析 说明: ①复试成绩:满分100分。上机满分50分&#xff0c;面试满分150分&#xff0c;复试成绩(上机…

Llama 3 模型微调的步骤

环境准备 操作系统&#xff1a;Ubuntu 22.04.5 LTS Anaconda3&#xff1a;Miniconda3-latest-Linux-x86_64 GPU&#xff1a; NVIDIA GeForce RTX 4090 24GStep 1. 准备conda环境 创建一个新的conda环境&#xff1a; conda create --name llama_factory python3.11激活刚刚创…

线性代数--行列式1

本篇来自对线性代数第一篇的行列式的一个总结。 主要是行列式中有些关键点和注意事项&#xff0c;便于之后的考研复习使用。 首先&#xff0c;对于普通的二阶和三阶行列式&#xff0c;我们可以直接对其进行拆开&#xff0c;展开。 而对于n阶行列式 其行列式的值等于它的任意…

系统运维面试题总结(网络基础类)

系统运维面试题总结&#xff08;网络基础类&#xff09; 网络基础类第七层&#xff1a;应用层第六层&#xff1a;表示层第五层&#xff1a;会话层第四层&#xff1a;传输层第三层&#xff1a;网络层第二层&#xff1a;数据链路层第一层&#xff1a;物理层 类似面试题1、TCP/IP四…

Django 配置静态文件

1&#xff0c;DebugTrue 调试模式 Test/Test/settings.py DEBUG True...STATICFILES_DIRS [os.path.join(BASE_DIR, static),] STATIC_URL /static/ 1.1 创建静态文件 Test/static/6/images/Sni1.png 1.2 添加视图函数 Test/app6/views.py from django.shortcuts impor…

使用Java实现通用树形结构转换工具类:深入解析TreeUtil和TreeNode接口

文章目录 一、TreeNode接口设计二、TreeUtil工具类设计三、示例&#xff1a;实现TreeNode接口的节点类四、示例&#xff1a;使用TreeUtil构建树形结构五、总结 &#x1f389;欢迎来到Java学习路线专栏~探索Java中的静态变量与实例变量 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1…

落石滑坡监测报警系统:创新保障高速公路安全

​ ​​在现代交通建设中&#xff0c;高速公路的安全性和稳定性至关重要。特别是易发生落石区域&#xff0c;如何有效预防和应对落石滑坡带来的事故成为了一项关键性挑战。为此&#xff0c;落石滑坡监测报警系统应运而生&#xff0c;它通过先进的技术手段&#xff0c;为高速…

汇聚荣拼多多运营好吗?

在当前电商行业竞争激烈的背景下&#xff0c;拼多多凭借其独特的商业模式和市场定位迅速崛起&#xff0c;成为众多商家和品牌争相入驻的平台。对于“汇聚荣拼多多运营好吗?”这一问题&#xff0c;答案是肯定的。拼多多不仅提供了一个广阔的市场空间&#xff0c;还通过其创新的…

C++输出彩色方块

1.使用方法 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xab); ———————————————————————————————————————— 0 黑色 1 蓝色 2 绿色 3 湖蓝色 4 红色 5 紫色 6 黄色 7 白色 8 灰色 9 …

linux下安装kkFileView4

kkFileView为文件文档在线预览解决方案&#xff0c;该项目使用流行的spring boot搭建&#xff0c;易上手和部署&#xff0c;基本支持主流办公文档的在线预览&#xff0c;如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等 安装kkFileView前需要安装LibreOffic…

HarmonyOS开发:应用完整性校验

简介 为了确保应用的完整性和来源可靠&#xff0c;OpenHarmony需要对应用进行签名和验签。 应用开发阶段&#xff1a; 开发者完成开发并生成安装包后&#xff0c;需要开发者对安装包进行签名&#xff0c;以证明安装包发布到设备的过程中没有被篡改。OpenHarmony的应用完整性校…

推理之巅 超云为先|2024中国智算中心全栈技术大会,超云引领AI算力新趋势

在AI技术日新月异的浪潮中&#xff0c;算力作为推动数字经济发展的关键力量&#xff0c;正迎来全新的发展机遇。 6月25日至27日&#xff0c;以“AI赋能&#xff0c;重构未来”为主题的2024中国智算中心全栈技术大会、第5届中国数据中心绿色能源大会暨第10届中国&#xff08;上…

在本地和Linux之间传输文件

1.打开本地的cmd窗口 2. 然后按这个链接的说法在cmd中远程连接Linux&#xff08;技术|如何在 Linux 中使用 sFTP 上传或下载文件与文件夹&#xff09; 3. 看这个链接里面的sftp命令进行本地和Linux之间的文件互传 &#xff08;https://www.cnblogs.com/niuben/p/13324099.htm…

【机器学习】阿里Qwen-VL:基于FastAPI私有化部署你的第一个AI多模态大模型

目录 一、引言 二、Qwen-VL 介绍 2.1 Qwen-VL 特点 2.2 Qwen-VL 原理 2.3 Qwen-VL 模型结构 三、FastAPI封装Qwen-VL大模型服务接口 3.1 FastAPI 极简入门 3.1.1 FastAPI 3.1.2 uvicorn 3.1.3 pydantic 3.2 QwenVL-API服务端 3.2.1 代码示例 3.2.2 代码详解 3.…

机器人控制系列教程之关节空间运动控制器搭建(1)

机器人位置控制类型 机器人位置控制分为两种类型&#xff1a; 关节空间运动控制—在这种情况下&#xff0c;机器人的位置输入被指定为一组关节角度或位置的向量&#xff0c;这被称为机器人的关节配置&#xff0c;记作q。控制器跟踪一个参考配置&#xff0c;记作 q r e f q_{re…

WordPress Quiz Maker插件 SQL注入漏洞复现(CVE-2024-6028)

0x01 产品简介 WordPress Quiz Maker插件是一款功能强大的测验生成工具,旨在帮助用户轻松、快速地构建复杂的测验和考试。插件支持多种问题类型,包括单选框(MCQ)、复选框(MCQ)、下拉列表(MCQ)、文本、短文本、数字、日期等。还支持横幅(HTML)显示信息性消息、填空题…

权限维持-域环境单机版---映像劫持(多)

目录 映像位置: 测试&#xff1a;执行 notepad 成 cmd 配合GlobalFlag隐藏-->执行正常关闭后触发 映像位置: 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe 测试&#xff1a;执行 notepad 成 cmd…