C++上位软件通过Snap7开源库访问西门子S7-200/合信M226ES数据块的方法
前言
上一篇文章中介绍了Snap7访问西门子S7-1200/S7-1500 DB块的方法,对于S7-200PLC是没有数据块访问的。S7-200PLC中Snap7只能通过访问MB块,VB块的方法进行和PLC之间的Snap7通信和数据交换。手头没有S7-200PLC故通过合信CTMC M226ES运动控制器进行测试,M226ES支持S7主站和从站协议。S7作为主站,S7-1200做为从站的通信也已经过测试。

M226ES简介

40点总线运动控制型CPU,支持16个EtherCAT总线轴,支持8/10路*200KH运控输出,24DI/16DO晶体管漏型输出,200KB+48KB+48KB程序空间/64KB数据空间,24VDC电源,2个PP和自由通讯口可切换,1个EtherNET通讯口1个EtherCAT总线通讯口(可配置成EtherNET),支持CAN、RS485和模拟量扩展板;支持Profinet智能从站;支持网口在线升级固件;支持C语言编程;支持Trace追踪功能;支持单轴运控(如定位、速度和回原等)功能;支持多轴多路直线/圆弧插补、连续插补、电子齿轮、电子凸轮和追飞剪功能;支持PLCopen标准指令库。

| 规格项目 | CPU M226EM | ||||||||||||||
| 综合特性 | |||||||||||||||
| 尺寸(宽×高×深) | 196×80×62 mm | ||||||||||||||
| 功耗 | 20W | ||||||||||||||
| 程序存储器 | 200KB+48KB+48KB | ||||||||||||||
| 数据存储器 | 64KB,永久保存 | ||||||||||||||
| 最大扩展模块数 | 7 | ||||||||||||||
| 最大数字量 | 128DI/128DO(扩展can扩展板最多640DI/640DO) | ||||||||||||||
| 最大模拟量 | 32AI/32AQ(扩展can扩展板最多194AI/194AQ) | ||||||||||||||
| 数据保存 | FlashROM(永久保存) | ||||||||||||||
| 电源特性 | |||||||||||||||
| 额定输入电压 | DC24V | ||||||||||||||
| 冲击电流 | 28.8VDC时12A | ||||||||||||||
| 隔离(现场与逻辑) | 无 | ||||||||||||||
| 保持时间(掉电) | 10ms以上 | ||||||||||||||
| +5V电源输出 | 扩展总线 | 1A | |||||||||||||
| BD扩展板总线 | 200mA(有开关控制) | ||||||||||||||
| 通信 | 10mA 100R电阻 | ||||||||||||||
| 传感器+24V电源输出 | 电压范围:20.4~28.8VDC | ||||||||||||||
| 额定电流:300mA | |||||||||||||||
| 纹波噪声:跟输入电源相关 | |||||||||||||||
| 隔离(传感器与逻辑):不隔离 | |||||||||||||||
| 电源告警 | 电源不足15V告警,报警位SM195.1 | ||||||||||||||
| 常规特性 | |||||||||||||||
| 定时器总数 | 2048 | ||||||||||||||
| 1ms | 36 | ||||||||||||||
| 10ms | 752 | ||||||||||||||
| 100ms | 1260 | ||||||||||||||
| 计数器 | 2048个 | ||||||||||||||
| 累加器 | 4个 | ||||||||||||||
| 内存存贮器位 | 8192位 | ||||||||||||||
| 内存存储位掉电保持时间 | 永久保持 | ||||||||||||||
| 局部存储区(L) | 64字节独立 | ||||||||||||||
| 顺序控制继电器(S) | 8192位 | ||||||||||||||
| 时间中断 | 2个1ms分辨率 | ||||||||||||||
| 边沿中断 | 10个上升沿和/或10个下降沿(I0.0,I0.7,I1.0,I1.1) | ||||||||||||||
| 布尔量运算执行时间 | ≤1.5µs | ||||||||||||||
| 浮点运算执行时间 | ≤6.2µs | ||||||||||||||
| 实时时钟 | 内置 | ||||||||||||||
| BD扩展板接口数 | 1个,支持RS485扩展板、CAN扩展板、模拟量扩展板 | ||||||||||||||
| 系统指示灯 | SF指示灯(红色) | ON:系统错误,OFF:正常 | |||||||||||||
| DIAG指示灯(橙色) | ON:程序控制,OFF:正常 | ||||||||||||||
| RUN指示灯(绿色) | ON:运行,OFF:停止 | ||||||||||||||
| STOP指示灯(橙色) | ON:停止,OFF:运行 | ||||||||||||||
| RMC指示灯(绿色) | ON:远程控制连接,OFF:远程控制断开 | ||||||||||||||
| LNK/ACT指示(绿色) | ON:以太网连接,闪烁:传输,OFF:断开 | ||||||||||||||
| 运行开关 | RUN/STOP | ||||||||||||||
| 外接电池接口 | 支持,电源不足2.0V,报警位SM195.0 | ||||||||||||||
| 编程卡 | 支持 | ||||||||||||||
| 存储卡 | 支持TF卡(预留) | ||||||||||||||
| 高级功能 | ⽀持Trace追踪功能;⽀持C语⾔编程。 | ||||||||||||||
| 运控功能 | ⽀持多轴多路直线/圆弧插补、连续插补、电⼦凸轮和追⻜剪功能;⽀持单轴运控(如定位、速度和回原等)功能。⽀持PLCopen标准指令库 | ||||||||||||||
| 集成的通信功能(PPI/自由口) | |||||||||||||||
| 通讯接口 | 2个通信口: | ||||||||||||||
| PORT0:PPI/自由口,标准RS485电平 | |||||||||||||||
| PORT1:PPI/自由口,标准RS485电平,在侧面引出 | |||||||||||||||
| 插上RS485扩展板并重新启动之后,PORT0固定为PPI口不可切换,自由口FPORT0配置到RS485扩展板。 | |||||||||||||||
| PPI波特率(baud) | 9.6k、19.2k和187.5k | ||||||||||||||
| 自由口波特率(baud) | 1.2k ~ 115.2k | ||||||||||||||
| 最大站点数 | 每段32个站,每个网络126个站 | ||||||||||||||
| 最大主站数 | 32 | ||||||||||||||
| 点到点(PPI主站模式) | 是(NETR/NETW),最多8个连接,每个连接最大通信200字节 | ||||||||||||||
| MPI连接 | 共8个(1PG/1OP),2个保留 | ||||||||||||||
| 每段最大电缆长度 | |||||||||||||||
| 使用隔离中继器 | 波特率为187.5k时1000米,38.4k时1200米 | ||||||||||||||
| 未使用隔离中继器 | 50米 | ||||||||||||||
| 以太网通信功能 | |||||||||||||||
| 通信接口 | 2个标配以太网口 | ||||||||||||||
| 通信标准 | 符合IEEE802.3 | ||||||||||||||
| 传输速度 | 10Mbps/100Mbps自适应 | ||||||||||||||
| 自适应交叉连接 | 支持 | ||||||||||||||
| 硬件接口 | RJ45 | ||||||||||||||
| 协议类型 | UDP,TCP/IP | ||||||||||||||
| 配置方式 | 通过编程软件MagicWorks PLC下载网络块进行配置 | ||||||||||||||
| 应用接口 | 支持MICO服务、UDP/PPI、TCP/Modbus、Socket,S7协议 | ||||||||||||||
| 最大连接数 | 8个UDP/PPI不分主从 | ||||||||||||||
| 8个TCP/Modbus不分主从 | |||||||||||||||
| 4个Socket连接,UDP和TCP各2个 | |||||||||||||||
| 8个S7协议,不分主从站 | |||||||||||||||
| EtherCAT接口最多支持16个从站连接 | |||||||||||||||
| 最大单次传输数据 | UDP/PPI每次操作最多200字节 | ||||||||||||||
| TCP/Modbus每次操作最多240字节 | |||||||||||||||
| Socket每次操作最多512字节 | |||||||||||||||
| S7协议每次操作最多200字节 | |||||||||||||||
| 网口启动时间 | 5~10秒,受网络环境影响。 | ||||||||||||||
| 指示灯 | RMC | 亮起:连接远程服务器成功 | |||||||||||||
| 熄灭:远程未连接或远程未使能 | |||||||||||||||
| LINK/ACT | 亮起:网口硬件已连接 | ||||||||||||||
| 闪烁:有数据交换 | |||||||||||||||
| 熄灭:网口硬件已断开 | |||||||||||||||
| 通信电缆长度 | 100M,电缆类型:CAT5e标准以上 | ||||||||||||||
| 隔离 | 通信口隔离 | ||||||||||||||
| IP地址复位功能 | 2秒内连续拨5次运行开关 | ||||||||||||||
| 升级固件功能 | 使用MagicWorks PLC及MiCo,通过以太网从公司服务器远程升级固件 | ||||||||||||||
| I/O特性 | |||||||||||||||
| 本机数字量输入点数 | 24 | ||||||||||||||
| 输入类型 | 漏型/源型 | ||||||||||||||
| 本机数字量输出点数 | 16 | ||||||||||||||
| 输出类型 | 漏型 | ||||||||||||||
| 数字I/O映象区 | 640DI/640DQ(含CAN通信专用映像区) | ||||||||||||||
| 模拟I/O映象区 | 194AI/194AQ(含CAN通信专用映像区) | ||||||||||||||
| 允许最大扩展I/O模块数 | 7 | ||||||||||||||
| 脉冲捕捉输入 | 不支持 | ||||||||||||||
| 高速计数器 | |||||||||||||||
| 总数 | 10 | ||||||||||||||
| 单相计数器 | 10×200KHz | ||||||||||||||
| AB相计数器 | 10×100KHz | ||||||||||||||
| 集成通信功能(CANopen)-扩展CAN通信板型号CTH2-CAN-01S2-EB时使用 | |||||||||||||||
| 通信接口 | 1个(8 Pin端子)”见CANopen通信接口表” | ||||||||||||||
| 传输率(kbps) | 1000 | 800 | 500 | 250 | 150 | 50 | 20 | ||||||||
| 最大长度(m) | 25 | 50 | 100 | 250 | 500 | 1000 | 2500 | ||||||||
| 最大站地址 | 127 | ||||||||||||||
| 站点地址范围 | 1-127 | ||||||||||||||
| 最大主站带从站数 | 32 | ||||||||||||||
| 配置方式 | CAN组态块和EDS文件 | ||||||||||||||
| 最大数字量访问 | 普通IO | CANopen专用IO | |||||||||||||
| 字节数 | 内存起始地址 | 字节数 | 内存起始地址 | ||||||||||||
| 输入 | 16 | IB0 | 输入 | 64 | IB16 | ||||||||||
| 输出 | 16 | QB0 | 输出 | 64 | QB16 | ||||||||||
| 最大模拟量访问 | 普通IO | CANopen专用IO | |||||||||||||
| 通道数 | 内存起始地址 | 通道数 | 内存起始地址 | ||||||||||||
| 输入 | 32 | AIW0 | 输入 | 162 | AIW64 | ||||||||||
| 输出 | 32 | AQW0 | 输出 | 162 | AQW64 | ||||||||||
| 集成通信功能(CANFree)-扩展CAN通信板时使用 | |||||||||||||||
| 通信协议 | CanFree | ||||||||||||||
| 使用方式 | 通过内部库指令支持 | ||||||||||||||
| 数字量输入特性 | |||||||||||||||
| 本机集成数字量输入点数 | 24 | ||||||||||||||
| 输入类型 | 漏型/源型 | ||||||||||||||
| 额定电压 | 24 VDC | ||||||||||||||
| 输入电压范围 | 20.4~28.8 VDC | ||||||||||||||
| 浪涌电压 | 35 VDC,持续0.5s | ||||||||||||||
| 逻辑1信号(最小) | 15 VDC,2.5mA | ||||||||||||||
| 逻辑0信号(最大) | 5 VDC,1mA | ||||||||||||||
| 连接2线接近开关传感器(BERO) | 1mA | ||||||||||||||
| 允许的漏电流(最大) | |||||||||||||||
| 输入滤波 | 可配置 | ||||||||||||||
| I0.0~I2.3支持以下参数: | |||||||||||||||
| 0.2us,0.4us,0.8us,1.6us,3.2us,6.4us,12.8us, | |||||||||||||||
| 0.2ms,0.4ms,0.8ms,1.6ms,3.2ms,6.4ms,12.8ms,默认为6.4ms | |||||||||||||||
| I2.4~I4.3支持以下参数: | |||||||||||||||
| 0.2ms,0.4ms,0.8ms,1.6ms,3.2ms,6.4ms,12.8ms,默认6.4ms | |||||||||||||||
| 隔离(现场与逻辑) | 500 VAC,1分钟 | ||||||||||||||
| 隔离组 | |||||||||||||||
| 同时接通的输入 | 24 | ||||||||||||||
| 最大电缆长度 | 500米(标准输入) | ||||||||||||||
| 屏蔽:50米(高速计数器输入);非屏蔽:300米(标准输入) | |||||||||||||||
| 数字量输出特性 | |||||||||||||||
| 本机集成数字量输出点数 | 16 | ||||||||||||||
| 输出类型 | 漏型 | ||||||||||||||
| 输出额定电压 | DC:24V | ||||||||||||||
| 输出电压范围 | DC:5~30V | ||||||||||||||
| 每个公共端最大电流 | 6A | ||||||||||||||
| 输出电流(最大) | 0.5A | ||||||||||||||
| 漏电流(最大) | 10uA | ||||||||||||||
| 浪涌电流 | 8A,100ms | ||||||||||||||
| 灯负载 | 5W | ||||||||||||||
| 导通电阻 | 典型值0.15Ω,最大0.32Ω | ||||||||||||||
| 输出延迟(最大) | 断开到接通: | ||||||||||||||
| 断开到接通/接通到断开 | 0.2us(16个Q点) | ||||||||||||||
| —— | |||||||||||||||
| 接通到断开: | |||||||||||||||
| 2us(16个Q点) | |||||||||||||||
| —— | |||||||||||||||
| 高速脉冲输出 | 8(Pulse/Dir)/10(Pulse)*200KHz | ||||||||||||||
| 输出频率(最大) | 200KHz(Q0.0到Q1.7) | ||||||||||||||
| 机械寿命(无负载) | 无 | ||||||||||||||
| 触点寿命(额定负载) | 无 | ||||||||||||||
| 同时接通的输出 | 16 | ||||||||||||||
| 两个输出并联 | 不支持 | ||||||||||||||
| 最大电缆长度 | 屏蔽 | 500米 | |||||||||||||
| 非屏蔽 | 150米 | ||||||||||||||
MagicWorksPLC简介
MagicWorksPLC支持梯形图编程、STL语言编程、C语言编程。详细的资料建议大家到合信官网进行学习。
https://www.co-trust.com/Products/Special1/Products/MagicWorks/PLC/desc.html
https://www.co-trust.com/Products/Special1/Products/MagicWorks/PLC/desc.html
下图为 MagicWorksPLC的基本界面和功能,包括硬件组态、通信调试、向导功能等,几乎和西门子编程软件一模一样。



M226ES 运动控制功能简介

M226ES运动控制功能非常强大,支持10轴脉冲输出、5个高速计数器、16个Ethercat从站。指令符合PLCOpen规则。并支持多种通信协议如S7、PN从站、UDP、UDP_PPI、ModbusTcp、Modbus RTU。M226es和当下最流行的汇川EASY系列PLC相比,M226ES的通信功能更为强大。基本所有功能都已经在项目中得到应用。





指令命名及状态机逻辑完全符合IC6613-3标准。下图为M226ES运动控制型PLC的运动控制指令列表,指令逻辑完全符合PLCopen运动控制指令标准。



介绍完了CPU之后就进入本文的主题,本文通过Snap7 开源库访问S7-200PLC MB存储区数据,并进行数据交互。有关snap7环境的搭建已经在上文中做了详细的介绍。感兴趣的可以到一下地址进行浏览。
https://blog.csdn.net/lzc881012/article/details/135345037?spm=1001.2014.3001.5502
https://blog.csdn.net/lzc881012/article/details/135345037?spm=1001.2014.3001.5502 将上文例程C++代买改为如下图所示,同时读取S7-1200PLC DB块和M226ES MB存储区数据。M226ES存储区数据起始地址为MB500,读取数量为100个Byte。

#include <iostream>
#include"snap7.h"
#include <ctime> using namespace std;unsigned char Snap7Rcv[100];
unsigned char Snap7RcvM226Es[100];
TS7Client* mClient;
void mSnap7GetDataFromS71200Db()
{mClient = new TS7Client;mClient->ConnectTo("192.168.2.202", 0, 1);mClient->DBRead(9,0,100,&Snap7Rcv);delete mClient;
}void mSnap7GetDataFromM226EsMbBlock()
{mClient = new TS7Client;mClient->ConnectTo("192.168.2.201", 0,0);mClient->MBRead(500,100, &Snap7RcvM226Es);delete mClient;
}
void Delay(int time)
{clock_t now = clock();while (clock() - now < time);
}
int main()
{while (true){mSnap7GetDataFromS71200Db();mSnap7GetDataFromM226EsMbBlock();Delay(1000);for (int i = 0; i < 100; i++){cout << "mSnap7GetDataFromS71200Db-Snap7DB.Snap7Byte" << "[" << i << "]" << "=" << (int)Snap7Rcv[i] << endl;cout << "mSnap7GetDataFromS71200Db-Snap7MB.MB" << "[" << 500 + i << "]" << "=" << (int)Snap7RcvM226Es[i] << endl;}}}
MagicWorksplc中可以看到PLC的机架号和槽位号。如下图所示。

本例程除了上位C++软件同时读取S7-1200plc DB数据和M226ES MB存储区数据外,S7-1200还作为从站和M226ES作为主站进行通信,S7-1200作为PN主站和M226ES作为PN从站进行通信,S7-1200和M226ES之间进行UDP通信,本例程包含多种通信同时进行。具体程序如下。UDP通信S7-1200PLC侧也要编写程序。
TIA硬件组态和UDP通信程序。






















在状态表中监控MB500-MB599存储区的数据。如下图所示。



气动C++程序进行数据读取测试,如下图所示可看到Snap7同时读取S7-1200PLC DB块和M226ES PLC MB块数据成功。



相关链接
Snap7:

https://snap7.sourceforge.net/
https://snap7.sourceforge.net/EtherCAT:

https://www.beckhoff.com/en-en/
https://www.beckhoff.com/en-en/PLCOpen:

https://www.plcopen.org/
https://www.plcopen.org/CanOpen:

https://www.can-cia.org/canopen/
https://www.can-cia.org/canopen/Cotrust:

https://www.co-trust.com/Company/Idea/index.html
https://www.co-trust.com/Company/Idea/index.htmlSiemens:
https://www.siemens.com/cn/zh.html
https://www.siemens.com/cn/zh.html
相关文章:
C++上位软件通过Snap7开源库访问西门子S7-200/合信M226ES数据块的方法
前言 上一篇文章中介绍了Snap7访问西门子S7-1200/S7-1500 DB块的方法,对于S7-200PLC是没有数据块访问的。S7-200PLC中Snap7只能通过访问MB块,VB块的方法进行和PLC之间的Snap7通信和数据交换。手头没有S7-200PLC故通过合信CTMC M226ES运动控制器进行测试&…...
通信及信号处理领域期刊影响因子、分区及期刊推荐-2024版
期刊名IF(202401)中科院分区(20231227)备注IEEE Journal on Selected Areas in Communications16.4计算机科学1区Top通信顶刊IEEE Transactions on Signal Processing5.4工程技术2区Top信号处理顶刊IEEE Transactions on Information Theory2.5计算机科学3区信息论顶刊IEEE Tra…...
cfa一级考生复习经验分享系列(十五)
备考背景: 本科211石油理科背景;无金融方面专业知识及工作经验;在职期间备考;有效备考时间2个月;12月一级考试10A。 复习进度及教材选择 首先说明,关于教材的经验分享针对非金融背景考生。 第一阶段&#x…...
如潮好评!优秀选手视角下的第二届粤港澳大湾区(黄埔)国际算法算例大赛
为发挥国家实验室作用、推动地区大数据与人工智能算法的生态体系建设,琶洲实验室(黄埔)受广州市黄埔区政府委托,于 2022 年创办粤港澳大湾区(黄埔)国际算法算例大赛,推动原始创新、赋能社会经济…...
软件测试之冒烟测试
一、什么是冒烟测试 这一术语源自硬件行业。对一个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过…...
NE555学习笔记-2024
实物图片 NE555引脚图 内部时序图 示列1,红外接收电路 红外接收电路的工作原理:在上述电路中,TSOP1738构成了该电路的主要组成部分,旨在检测来自任何来源的红外信号。这用于检测38 KHz范围的信号,因此命名为“TSOP173…...
记一次docker中安装redis的过程
1. Docker搜索redis镜像 docker search redis2. Docker搜索redis镜像 docker pull redis3.Docker挂载配置文件 挂载 redis 的配置文件挂载 redis 的持久化文件(为了数据的持久化)。 conf文件位置: /home/redis/myredis/redis.conf data文件…...
Matlab进阶绘图第37期—多色悬浮柱状图
多色悬浮柱状图是一种特殊的柱状图。 与常规柱状图相比,多色悬浮柱状图可以通过悬浮的矩形展示最小值到最大值的范围(或其他范围表达),并通过颜色进行美化/区分/附加信息。 本文使用自己制作的Floatingbar小工具进行多色悬浮柱状…...
【嵌入式】About USB Powering
https://www.embedded.com/usb-type-c-and-power-delivery-101-power-delivery-protocol/https://www.embedded.com/usb-type-c-and-power-delivery-101-power-delivery-protocol/ Type-C接口有多强?PD协议又是什么?-电子发烧友网由于Type-C接口自身的强…...
MySQL——事物
目录 一.发现问题 二.什么时事物 三.事务提交方式 四.事物的常规操作方式 五. 事务隔离级别 1.如何理解隔离性 2.隔离级别 3.查看与设置隔离性 4.读未提交【Read Uncommitted】 5.读提交【Read Committed】 6.可重复读【Repeatable Read】 7.串行化【serializabl…...
Windows搭建RTSP视频流服务(EasyDarWin服务器版)
文章目录 引言1、安装FFmpeg2、安装EasyDarWin3、实现本地\虚拟摄像头推流服务4、使用VLC或PotPlayer可视化播放器播放视频5、RTSP / RTMP系列文章 引言 RTSP和RTMP视频流的区别 RTSP (Real-Time Streaming Protocol)实时流媒体协议。 RTSP定义流格式&am…...
私域营销,让你的生意从线下到线上都火爆!
一、提高流量 获取流量的五个关键要素:目标受众、传播渠道、内容策略、短期利益和长期价值 在当今竞争激烈的市场环境中,获取流量是每个企业和个人都必须面对的挑战。为了有效地吸引潜在客户,我们需要关注五个关键要素:目标受众…...
MATLAB基本绘图操作(二维和三维绘图)
MATLAB基本绘图操作 文章目录 MATLAB基本绘图操作1、二维平面绘图1.1、线条(折线图)1.2、条形图1.3、极坐标图1.4、散点图 2、三维立体绘图2.1、三维曲面图2.2、三维曲线图(点图) 3、图片分区(子图) 1、二维…...
中国社科院与新加坡新跃社科联合培养博士—攻读在职博士的理由是什么?
当今社会,很多人已经深刻的意识到知识是改变自己命运的重要途径,在职教育的完善让很多在职人员选择此方式进修,那么为什么要选择攻读在职博士?中国社科院与新加坡新跃社科联合培养博士与您一起走进,在职博士。 那么其…...
T40N 君正智能处理器T40 BGA 芯片
T40N是一款智能视频应用处理器,适用于移动摄像机、安防等视频设备调查、视频聊天、视频分析等。该SoC引入了一种创新的体系结构满足高性能计算和高质量图像和视频编码的要求通过视频设备解决。T40N提供高速CPU计算能力,出色的图像信号过程中,…...
Profinet转Modbus使设备互联更简单
在工业自动化领域,为了使设备互联更加简单,可以将Modbus和Profinet相互转换。这样一来,设备之间的互联就变得更加方便和高效。通过Modbus转Profinet网关(XD-MDPN100/200),设备之间的通信变得更加灵活和可靠…...
Android 文字垂直排列,文字向右旋转90度
public class VerticalTextView extends View {private final int ROTATION_ANGLE 90; // 旋转角度,用于将文本垂直排列private String text; // 要显示的文本private TextPaint textPaint; // 用于绘制文本的画笔private Rect textBounds;// 文本边界float x, y;/…...
域名授权验证系统PHP源码,盗版追踪、双重授权和在线加密功能,附带安装教程
源码介绍 PHP域名授权验证系统是一个功能强大的系统,提供了多项功能来保护你的域名和软件的合法性。它包括盗版追踪、域名IP双重授权、在线加密等功能,同时还提供了PHP授权验证更新系统的完整版,方便你进行一键更新和生成自助授权。 盗版追…...
Qt线程封装FFmpeg播放器类
介绍 工作开发中需要处理的文件很多并无音频,针对这一场景,这里分享工作中自己封装使用的类库。精简的代码实现了播放、暂停、停止、快进、快退、进度跳转、倍速播放功能。直接放代码,方便后期复制使用。 代码 头文件 /*** file videopla…...
git 常用命令 修改 远程仓库 默认分支
git remote set-head origin -a 将 origin/HEAD 指向 远程仓库的 默认分支(-a 即 --auto) git remote set-head origin dev 将 origin/HEAD 指向 (origin/dev) git remote set-head origin -d 删除 origin/…...
Qt QColumnView实战:手把手教你打造一个macOS Finder风格的文件浏览器
Qt QColumnView实战:从零构建macOS风格文件浏览器 在桌面应用开发中,文件浏览器的实现一直是开发者面临的经典挑战。传统方案往往采用QTreeView或QListView,但它们难以还原macOS Finder那种优雅的列式导航体验。这正是QColumnView的用武之地—…...
嵌入式与半导体年度技术趋势:从RISC-V、Matter到EDA 2.0与软件定义汽车
1. 从年度回顾看嵌入式与半导体行业的技术脉搏又到年底复盘时,各大技术媒体都在梳理过去一年的重磅内容。最近看到EE Times整理其编辑Nitin Dahad的2022年度六大精选故事,感触颇深。这六篇文章,像六个精准的切片,生动勾勒了过去一…...
uniapp发开微信小程序处理手机物理按键逻辑
注意:wx.enableAlertBeforeUnload 需要微信小程序基础库 2.32.3 及以上版本如果版本不够,会发 fail 回调,在onLoad里面使用wx.enableAlertBeforeUnload开启物理返回键拦截在onUnload里面处理确认逻辑,wx.disableAlertBeforeUnload关闭物理返回键拦截监听…...
从玩具到生产:基于run-llama/rags构建模块化RAG系统的工程实践
1. 项目概述:从“玩具”到“生产力”的RAG系统构建如果你最近在关注大语言模型的应用落地,那么“RAG”这个词一定高频出现在你的视野里。RAG,即检索增强生成,它试图解决大模型“一本正经胡说八道”和“知识陈旧”两大核心痛点。简…...
FPGA/CPLD数字系统设计实战:从器件选型到调试验证的工程指南
1. 从一则行业趣闻聊起:FPGA厂商的“江湖地位”与我们的设计选择前几天翻看一些老旧的行业资料,偶然间又看到了这篇2012年来自EE Times的“陈年旧文”。文章作者Clive Maxfield用他标志性的幽默笔调,聊了一个看似无厘头的话题:将科…...
别再到处找DEM了!手把手教你用ArcGIS Pro + Python脚本,从NASA官网免费下载并拼接出完整的中国90米高程数据
从NASA获取中国90米高程数据的自动化解决方案 在GIS和遥感研究领域,获取高质量的数字高程模型(DEM)数据是许多项目的基础工作。然而,对于中国区域的完整覆盖、高精度且免费可用的DEM数据,研究者们常常面临获取困难。本文将介绍如何利用ArcGI…...
独立语音AI创业必读,ElevenLabs Independent计划全链路解析:从白名单内测→额度扩容→月度用量审计→续期失败预警
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs Independent计划的战略定位与生态价值 ElevenLabs Independent 计划并非单纯的技术授权项目,而是面向独立开发者、开源创作者与小型 AI 应用团队构建的可持续协作基础设施。其核…...
量化研究实战:从数据到策略的Python框架与机器学习应用
1. 从零到一:量化研究实战框架搭建心路如果你和我一样,对金融市场既着迷又敬畏,总想用理性和数据去解读那些看似随机的价格波动,那么“量化研究”这个词对你来说一定不陌生。它听起来高大上,仿佛是高学历精英们在华尔街…...
从‘仿真’到‘半虚拟化’:一文读懂VMware虚拟网卡(E1000/E1000E/VMXNET3)的工作原理与演进史
从仿真到半虚拟化:虚拟网卡技术演进与设计哲学深度解析 虚拟化技术已经成为现代计算架构的基石,而网络虚拟化则是其中最为关键的组成部分之一。在虚拟化环境中,虚拟网卡作为连接虚拟机与外部世界的桥梁,其设计理念直接影响着整个…...
论文AI率太高怎么救?答辩前1周降AI率完整攻略+不延期方案!
论文AI率太高怎么救?答辩前1周降AI率完整攻略不延期方案! 导师周一通知答辩、周五查出来知网 AIGC 检测 67%——这种倒计时场景每年 3-5 月毕业季都会上演几千次。 这种场景下选工具,最关键的不是「单价便宜」是「降不下来怎么办」。1 周时间…...

