自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 收藏
  • 关注

原创 c# 文件编译的过程

整个流程的核心思路是:.NET 用把"写代码"和"跑代码"这两件事解耦开来。你写的 C# 代码(.cs文件)通过csc.exe编译器,翻译成一种叫做的中间产物,最终打包成.exe或.dll文件。这一步在你的开发机上完成,IL 不是机器码,任何 CPU 都还不能直接执行它。VB.NET、F# 等语言也有自己的编译器,但最终都会生成,这就是 .NET 能做到"跨语言互调"的根本原因。当用户在自己的机器上运行这个.exe时,启动,其中的。

2026-04-12 17:16:27 468

原创 c#文件结构

你可以把你在写的上位机软件想象成一家**“公司”**。代码文件(.cs):就像是公司里的**“员工”**,每个人负责写一段具体的代码(比如有人负责画按钮,有人负责算数据)。项目(Project,.csproj文件):就像是公司里的**“部门”**(比如销售部、技术部)。把一群功能相关的员工(代码文件)组合在一起,就成了一个部门。你刚才生成的.exe文件,就是一个项目(部门)的产出。解决方案(Solution,.sln文件):这就相当于**“整个公司”**的大框架(或者说是一个大文件收纳箱)。

2026-04-12 14:12:16 322

原创 linux命令

命令作用核心参数ls列文件-l(ll), -acd切目录.., /, ~mkdir建目录-ptouch建文件cat看文件cp复制-r(目录)mv移动 / 重命名rm删除-rf(强制删目录,高危!find找文件-namegrep过滤内容-itail看尾部-f(实时)echo输出>>追加。

2026-04-11 17:58:54 297

原创 mysql体系结构

sql-- 查看 MySQL 支持的所有存储引擎-- 查看某张表当前使用的存储引擎-- 建表时指定存储引擎MySQL 支持十几种存储引擎,但实际开发中最常用的就是三种:InnoDB、MyISAM 和 Memory。特性InnoDBMyISAMMemory事务支持不支持不支持外键支持不支持不支持锁粒度行锁表锁表锁崩溃恢复支持弱数据丢失索引B+Tree 聚簇B+Tree 非聚簇Hash持久化磁盘磁盘内存适合场景通用(默认选择)

2026-04-10 00:18:26 169

原创 mysql中的事务

事务(Transaction)是一组 SQL 操作的集合,这些操作要么全部成功执行,要么全部回滚,不允许只执行一半。经典例子就是银行转账——A 扣钱和 B 加钱必须同时成功或同时失败。维度要点ACID原子/一致/隔离/持久,A靠undo log,D靠redo log并发问题脏读 > 不可重复读(行值变)> 幻读(行数变)隔离级别默认,InnoDB用MVCC解决幻读控制语句BEGIN→ 操作 →COMMITROLLBACK保存点SAVEPOINT支持部分回滚自动提交。

2026-04-09 21:04:53 463

原创 Mysql中的子查询,标量子查询,行子查询,列子查询,表子查询

子查询(Subquery)是指嵌套在另一条 SQL 语句中的 SELECT 语句,也叫内层查询。外层包含它的语句叫主查询或外层查询。基本结构:sql。

2026-04-09 08:58:29 1043

原创 UNION 和 UNION ALL 作用

联合查询 union ,union all对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果集。select 字段列表 from 表A ,,,select 字段列表 from 表B .....

2026-04-08 17:49:09 66

原创 mysql中的多表查询

多表查询就是同时从 2 张及以上的表中查询数据,核心是通过 ** 关联条件(ON 子句)** 把表连接起来,避免「笛卡尔积」错误。

2026-04-08 10:26:47 347

原创 mysql外键

外键是 MySQL 中用来NULLempdept_iddeptid删除主表中的数据,必须保证存有外键的子表中的相关数据都要被删除之后才能删除主表中的数据,从而保证了数据的完整性。

2026-04-07 23:36:23 419

原创 mysql 约束

约束是作用于表中字段上的规则。目的:限制存储在表中的数据,确保数据的正确。时机:在创建表()或修改表()时添加。这个字段必须填值,不能为空(NULL)这个字段的值,整张表里不能重复不填这个字段时,自动给一个默认值一张表只能有一个主键非空 + 唯一双重保证用来唯一标识每一行数据主键数字不用自己填,数据库自动往上加 1、2、3...规定字段值必须在某个范围里两张表绑在一起,子表数据必须依赖主表外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。

2026-04-06 22:47:59 391

原创 一、什么是 MySQL 函数?

不用自己写复杂逻辑,直接用函数 = 一行搞定。sql2. 数值函数(处理数字)3. 日期函数(处理时间)4. 流程函数(判断逻辑)① IF (条件,成立值,不成立值)sql② CASE WHEN(多条件判断)搜索式 CASE(CASE WHEN)例子1:例子2:例子3:✅ 语法规则: 后面不能跟字段名 后面的 可以写任意条件表达式(>、<、>=、AND、OR 等) 逻辑:从上到下判断条件,第一个满足的就返回对应结

2026-04-06 18:46:38 174

原创 数据库中的DCL

DCL 全称,用于管理数据库用户的权限:给谁授予什么权限,或者收回谁的权限。谁能做什么,谁不能做什么。

2026-04-06 12:51:39 181

原创 SQL分组Group By

分组查询GROUP BY就是。比如你emp表有gender。

2026-04-05 23:35:25 349

原创 查询语句select

你原来的语句:sql别名AS条件WHERE模糊查询LIKE %排序ORDER BY分页LIMIT统计分组GROUP BY。

2026-04-03 23:47:42 243

原创 数据的DML语句

② 不加 WHERE 的风险(⚠️ 极度危险),是核心的写操作之一,使用时要格外谨慎!,生产环境中是严重事故!,表还在,数据全没。

2026-04-03 23:04:31 185

原创 数据库的命令

切换数据库desc emp;

2026-03-27 11:03:28 59

原创 数据库的数据类型

需求推荐类型示例存储完整日期(含月日)DATE只存储年份,且需要数值计算SMALLINT1890只存储年份,且主要用于显示CHAR(4)'1890'如果你需要在 1890 年之前(比如公元 1 年),MySQL 的DATE仍然支持(从1000-01-01开始),但更早的年份就需要用其他方式(比如整数存储儒略日或自定义编码)。不过针对 1890 年,直接用DATE或SMALLINT就能完美解决。

2026-03-26 09:33:41 29

原创 伪彩色色条简介(Color Bar / Color Scale)

伪彩色色条(Color Bar / Color Scale)这是一个,在 Smart3D(尤其是激光扫描 / 三维测量类的 Smart3D 软件,如扫描激光测振仪或三维形貌测量系统)中,它的核心作用是将抽象的数值(如高度、位移、振动幅值等)映射为直观的颜色,方便你快速理解三维数据的分布。

2026-02-26 13:51:29 407

原创 c#特性自定义以及如何使用

Obsolete]:标记成员已过时,编译器可发出警告或错误。csharp[Obsolete("请使用新方法 NewMethod")]:标记类可以被序列化。csharp:标记字段在序列化时忽略。csharp// 不参与序列化:根据预处理符号决定方法调用是否被编译。csharp(在单元测试框架中):标记一个方法是测试方法。要创建自定义特性,你需要定义一个继承自的类,并可以指定它的使用范围(通过特性是 C# 中扩展元数据的核心工具,它让代码更简洁、更具声明性。

2026-02-25 11:41:05 627

原创 c#反射复习

反射常用于读取附加到类型或成员的自定义特性。// 定义特性set;​// 应用特性​// 读取特性​也可以使用获取所有特性。反射是 C# 中极为灵活的特性,允许在运行时探索和操作类型信息。掌握反射可以帮助你构建更动态、更可扩展的应用程序,但也要权衡性能和安全性。通过TypeAssemblyMethodInfo等类,你可以实现很多高级功能。希望这份复习对你有帮助!

2026-02-25 10:22:48 606

原创 宁德时代动力电池的诞生

6.64 WZz:/ P@X.Zz 01/12 探访宁德时代生产幕后,见证一块动力电池的诞生!# 宁德时代 # 电池 # 电动车 # 保密单位 # 工厂复制此链接,打开Dou音搜索,直接观看视频!这个视频三元锂电池的核心生产工艺是一套横跨材料学、电化学、机械工程的精密体系,全程需经过协同配合,核心分为三大环节,每个环节的工艺参数、精度控制直接决定电池的能量密度、安全性和循环寿命。

2026-02-24 17:47:02 998

原创 多边缘提取(Multi-Edge Extraction)锂电池台阶检测缝隙为什么利用三条边缘线?

如果你只设两个ROI找两根线,光影稍微一变,算法一会儿抓到倒角上沿,一会儿抓到下沿,测量数值就会在 $0.1mm - 0.2mm$ 之间跳变,导致误报警。比如这一批次的工件边缘倒角大了一点,导致线2抓到了倒角边缘而非缝隙底部,线3就会根据距离阈值自动切换,确保测量精度。如果发现线1到线3的距离明显大于线1到线2,且超过了设定的阈值,算法就会“恍然大悟”——“哦!在锂电池台阶缝隙检测中,一般我们认为 检测缝隙只是缝隙左边一条边缘线,右边一条边缘线,直接这两条边缘线的距离就好了。它是**“真相确认者”**。

2026-02-24 10:15:54 701

原创 AppDomain

在传统的 Windows 编程中,一个应用程序对应一个进程,进程之间是天然隔离的,一个进程崩了不会影响另一个。比如,你可以创建一个“沙箱域”来运行从网络下载的不受信任的插件,限制它不能读写硬盘、不能访问注册表,从而保护主程序的安全。:虽然比跨进程通信快,但通过代理跨域调用对象方法,仍然比直接调用有性能损耗,因为涉及参数和返回值的序列化/反序列化(按引用传递的对象除外)。你可以创建一个新的域,在里面加载并执行一些程序集(比如一个插件),当不再需要时,可以。的概念仍然存在,且是运行时的基石。

2026-02-19 19:35:14 540

原创 P/Invok执行时的搜索顺序

你的情况是否需要手动处理路径?推荐方案DLL 放在exe 同目录❌ 不需要直接DLL 放在System32或PATH路径❌ 不需要直接DLL 放在自定义目录,且位置固定✅ 需要方案3(绝对路径)或方案4(LoadLibrary)DLL 路径由配置/用户指定✅ 必须处理方案4(LoadLibrary)你在写NuGet 包,需打包本地DLL⚠️ 需特殊处理使用.targets文件将 DLL 复制到输出目录。

2026-02-13 17:10:16 406

原创 C#库文件调用逻辑

你平时写的 C# 代码,运行在.NET 运行时(CLR)之上。内存分配、回收、类型检查都由 CLR 帮你打理,这叫托管环境。优点:安全、开发快;缺点:被“保护”起来,不能直接操作内存或硬件。Windows 操作系统本身是用 C/C++ 写的,编译后直接变成CPU指令,没有中间层。这些代码不依赖 .NET,直接运行,叫做非托管代码。它们被封装在.dll文件里(如user32.dll),通过导出函数对外提供服务。

2026-02-13 17:01:32 641

原创 单例模式代码理解

只是排除自身,不是决定返回的唯一条件。必须同时满足“不是自己” + “路径相同”才会认为“已存在另一个实例”,并返回该进程。遍历是全数组扫描,不是只检查第一个。如果所有进程都不满足条件,最终返回null,表示“我是唯一实例,可以启动”。

2026-02-13 14:29:23 586

原创 C# 中 Assembly 类详解

方法说明获取程序集上定义的所有自定义特性。获取指定类型的特性。获取特性数据(不创建实例,适用于仅反射场景)。// 获取程序集的 AssemblyTitle 特性.Title);Assembly类是 .NET 反射机制的核心入口之一。掌握它,你就能动态地探索和操作程序集,实现插件系统、依赖注入、模块化设计、资源提取等功能。关键要理解如何获取程序集对象、查询元数据、创建实例和访问嵌入资源,同时注意性能和安全陷阱。通过Assembly。

2026-02-13 11:42:41 724 1

原创 C#中Process类详解

Process类是 C# 中与操作系统进程交互的万能钥匙。理解它的启动方式、重定向、事件和常用查询方法,能让你轻松实现许多系统级编程任务。通过合理运用,你可以精细控制外部进程的行为,并安全地与它们交换数据。掌握Process,就掌握了 .NET 进程管理的核心。

2026-02-12 17:53:06 1044 1

原创 追踪变量中有哪些变量

bRegulatorOn:调节器开启(注意文件中已有bRegulatorRealState,可能类似,但bRegulatorOn更常用)多种加速度曲线选择,梯形是直线加速度过程,Sin、二次方等是S曲线加速方式,加速过程比较平缓。bHomingDone:回零完成(注意文件中有bHomed,可能类似):回零完成标志(注意文件中有bHomed,可能是类似的):轴状态字(通常是一个16位的字,包含多个状态位):控制字(通常是一个16位的字,用于控制轴)fMaxAcceleration:最大加速度。

2026-02-11 16:27:31 380

原创 PLC轴的单位换算

运动特点:轴的运动轨迹是来回往复的,电机末端运动限定在固定范围内(如0-1000脉冲)位置特性:trace显示位置值周期性变化(0-360°循环)适用场景:建议用于需要往复运动的场合,如直线导轨、传送带等。运动特点:轴持续单向旋转,默认360°为一个周期。周期设置:可自定义旋转周期值(如改为650脉冲)参数设置:S型曲线需要设置加加速度(Jerk值)S型曲线:包括Sin、二次方等,加速过程更平缓。定义:电机实际位置使用的量纲(mm、度等)可选单位:脉冲、毫米、微米、纳米、度、英寸。

2026-02-11 14:21:41 379

原创 九点标定背后的相关问题

如何让机器人知道相片里的像素点(Pixel)对应现实世界中的哪个位置(mm)。这张图通过类比初中数学的一次函数,将复杂的仿射变换(Affine Transformation)通俗化了:图中提到 y = kx。x(输入):相机的图像坐标(像素单位),即你在 Smart3 软件里识别出的特征中心点。y (输出):机器人的世界坐标(毫米单位),即 PLC 最终需要的物理坐标。k (结果):这就是九点标定求出的“转换算子”(一个包含旋转、平移和缩放的矩阵)。旋转与缩放 (R):解决相机装歪了、或者像素与毫米比例不一

2026-02-11 11:21:02 1128

原创 三维点云数据 平面度的数值含义

三维点云是在三维坐标系中,对物体或环境表面进行密集采样的结果。它是一大群“点”的集合,其中每个点都包含了至少一组三维坐标(X, Y, Z),共同勾勒出目标的空间轮廓。数字化的沙雕:用无数颗细沙(点)来堆砌出一个物体的形状。3D版的像素:普通照片是二维像素(带颜色)的网格,而点云是空间中的、带有深度信息的“体素”集合。三维点云是物理世界的三维数字骨架,它将连续的表面离散化为海量的空间点。它既是高精度测量的基础,也是机器理解三维环境的核心感知数据。

2026-02-09 15:36:22 727

原创 轮廓匹配算子总结

参数核心影响调优策略最短轮廓抗干扰杂质多就调大,特征细微就调小。角度步长速度/精度默认 3° 即可,高精度测量可设为 1°。贪婪系数容错率找不到目标时降低该值。重合度重叠目标识别防止多个结果重叠,一般设为 50。最小得分漏检/误检宁可设低一点防止漏检,再通过其他逻辑过滤。

2026-02-07 15:14:23 741

原创 检测阈值 匹配阈值分析 金字塔

图像金字塔是指通过对原始图像进行不断的下采样(缩小)而产生的一系列分辨率逐渐降低的图像集合。原始图像,分辨率最高,细节最丰富。经过多次缩小后的图像,分辨率低,看起来很模糊,但保留了物体的轮廓特征。底层(Level 0) > 高层(Level N)。高层(Level N) > 底层(Level 0)。并不是金字塔层数设得越高越好。如果你的产品本身就很小(比如只有 20x20 像素),层数设得太高会导致物体在顶层直接“消失”,从而产生漏检。

2026-02-07 15:00:07 312

原创 传统二值化和变量二值化对比

在你的项目里,如果遇到材料表面反光不均,或者激光烧蚀后的边缘焦糊导致对比度很差,用这个“变量二值化”会比普通的二值化稳定得多。绝对亮度(0-255)。相对亮度差(偏移量 $m$)。

2026-02-05 08:59:50 836

原创 smart3学习

项目运行是显示项目界面的模式模式是否判断逻辑执行概率典型用途总是否100%强制顺序执行、流程闭环回跳条件是视运行结果而定异常处理、合格/不合格分流子流程:1 事件设置:菜单--方案--事件设置--选择激活事件状态2 添加子流程:点击流程图上方右侧的加号3 选择触发事件:点击子流程接收信号的图标,在属性选择触发流程事件。总是模式:方案运行则运行子流程事件模式:通过事件触发子流程运行同步方法:触发子流程后,主流程等待子流程异步方法:触发子流程后,主流程不等待子流程。

2026-02-05 06:40:54 691

原创 一、流水灯样例快速编程上手

/定义变量为计时器类型 in_byte : BYTE := 16#1;//定义变量为byte类型并赋初始值 程序变量声明区 n : BYTE := 1;IF TON_1.Q THEN //计时器时间到输出 int_byte := ROL(int_byte, n);in_byte:BYTE:=16#1:8位输出变量,初始值为1。变量值按1→2→4→8→16→32→64→128→1的规律变化。

2026-01-31 17:15:02 713

原创 real数值转换的真实过程

今天看这个PLC的类型的时候看到了REAL,想起来了计算机组成原理的数值。REAL 在某些系统中也称为 FLOAT 用途存储单精度浮点数,既可以表示非常大或非常小的小数值。绝大多数遵循 IEC 61131-3 标准的 PLC 平台都支持 REAL 类型,它采用标准。

2026-01-31 10:43:21 176

原创 PDO和SDO的对比,IO映射

功能通过SDO配置(你现在的界面)通过PDO映射(之前的界面)控制模式设置0x6060的值为8(决定“怎么动”)映射0x607A目标位置到RxPDO(提供“动到哪里”的数据)回零功能设置方法(0x6098)、速度(0x6099)等(定义“回零的规则”)映射0x6040控制字的“启动回零”位(发出“开始回零”的命令)限幅保护设置最大速度(0x607F)、扭矩限值(0x60E0)等(设定“安全围栏”)(通常不通过PDO映射,属于静态参数)通信建立不直接建立通信。

2026-01-30 10:11:08 763

原创 InProshop中PDO解释

输入(字节): 32.0”:指从驱动器输入到控制器的总数据量,即激活的发送PDO(0x1A00)的总长度(32字节)。这是控制器需要接收的数据。“输出(字节): 18.0”:指从控制器输出到驱动器的总数据量,即激活的接收PDO(0x1600)的总长度(18字节)。这是控制器需要发送的数据。这两个数字直接决定了EtherCAT通信周期的最小数据负载和带宽占用,对于性能优化至关重要。你应该这样看这张图:首先看底部摘要:了解当前通信的总数据量(输入32字节,输出18字节)。然后找“编辑”标志:锁定当前生效。

2026-01-30 09:44:28 667

空空如也

空空如也

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

TA关注的人

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