自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Eplan中PLC部件的创建和使用

本文介绍了PLC部件创建与使用的完整流程:1.部件创建包括填写产品组、编号、制造商等常规数据,以及安装尺寸;2.宏文件创建包含安装板宏、总览宏和原理图宏的制作规范,重点说明了接口定义和变量设置方法;3.详细说明了自动生成宏的两种方式;4.最后介绍了部件使用方法,包括总览图创建和IO口调用。全文系统性地阐述了PLC部件从创建到应用的全过程操作指南。

2025-12-25 09:29:09 370

原创 Eplan中电缆部件的创建和使用

本文介绍了在EPLAN软件中创建和使用电缆部件的详细流程。首先阐述了电缆部件的创建步骤,包括产品组选择、部件编号规则、属性设置(如电缆型号、线芯数量、截面积等)以及功能模板定义。接着说明了如何将创建的电缆部件应用到具体连接线上,并绑定对应部件。最后介绍了电缆部件报表的导出方法,重点讲解了通过F09_004模板生成电缆图表的过程。全文通过图文结合的方式,系统性地展示了从电缆部件创建到实际应用再到报表输出的完整工作流程。

2025-11-08 15:50:06 708

原创 初始断路器、接触器、继电器

本文介绍了三类电气控制元件的分类与区别:断路器(含空开)主要用于电路保护,通过热脱扣和电磁脱扣自动断开故障电路;接触器作为大功率负载的控制开关,需配合断路器使用,适用于电机等设备;继电器则用于信号转换,以小电流控制其他电路。三者的核心区别在于:断路器具有保护功能且通断能力最强,接触器侧重大功率控制,继电器专用于信号传递。文章还详细说明了各类元件的原理和典型应用场景。

2025-11-06 10:46:09 434

原创 CODESYS 中变量的使用

文章摘要: CODESYS变量系统详解,按作用域分为局部变量(临时计算)、全局变量(共享数据)、输入/输出变量(交互参数)和持久变量(断电保存)。按数据类型涵盖基本类型、数组、结构体和枚举。使用时应遵循命名规范,合理初始化,最小化作用域,并注意持久变量的存储支持。典型应用包括传感器数据处理、设备状态记录和结构化编程示例。

2025-10-30 13:49:45 1328

原创 卷积的理解

本文通过一个3x3灰度图像示例,演示了卷积核如何检测图像边缘。使用一个3x3边缘检测卷积核(左侧1,中间0,右侧-1)对明暗分界明显的图像进行卷积计算:对应位置相乘再求和,最终得到-570的显著负值,表明成功检测到明暗边缘。当图像扩大到5x5时,卷积核会滑动计算3x3=9次。卷积的本质是用小矩阵(卷积核)在大矩阵(图像)上滑动计算,提取特定特征(如边缘、纹理等)。

2025-10-23 11:01:34 455

原创 Avalonia中的类处理程序(Class Handlers)

摘要: 本文对比了WPF和Avalonia框架中**类处理程序(Class Handlers)**的实现差异。类处理程序是为控件类注册的全局事件逻辑,在实例事件前执行。WPF要求静态方法和显式sender参数,通过EventManager.RegisterClassHandler注册;而Avalonia采用实例方法和强类型设计,通过事件的AddClassHandler方法直接绑定到当前实例,省去类型转换。两者功能相同,但Avalonia的语法更简洁、类型更安全,降低了开发复杂度。核心区别在于处理程序类型、参

2025-10-17 16:00:27 449

原创 WPF中的DataTemplate

WPF数据模板(DataTemplate)用于定义数据在UI上的显示方式。示例展示了如何为Student类创建卡片式显示模板,通过DataType指定类型并定义UI结构。模板通常放在Resources中,可自动匹配对应数据类型。支持单个数据(ContentControl)和列表数据(ListBox)展示,实现数据与UI样式解耦。WPF模板仅精确匹配具体类,不支持接口或派生类自动匹配。

2025-10-17 13:42:26 576

原创 Avalonia中的Style和ControlTheme

Avalonia 对 WPF 样式系统进行了优化,将样式功能拆分为 Style 和 ControlTheme 两个独立概念。Style 专注于装饰性修改(如颜色、字体),必须放在 Styles 集合,支持 CSS 式的类名应用;ControlTheme 则负责定义控件基础结构,需放在 ControlThemes 集合。相比 WPF 中样式功能混杂的设计,Avalonia 的分离方案更清晰:Style 类似 CSS 装饰器,ControlTheme 则相当于控件骨架。这种分工配合 StyleClasses 的

2025-10-17 13:06:48 694

原创 单片机中的TVS管

TVS管(瞬态电压抑制器)是一种高效过压保护器件,能在纳秒级响应瞬态高电压冲击(如雷击、静电放电),通过快速钳位将电压限制在安全范围(VC),保护敏感电子元件。其核心优势是响应速度快(<1ns)、钳位精度高、可重复使用,适用于电源接口、信号传输、汽车电子等场景。与压敏电阻、气体放电管相比,TVS管更适合精密电路的精细保护,是现代电子设备防过压的关键组件。

2025-10-14 16:29:12 1131

原创 C语言中的关键字

C语言有32个标准关键字,分为四类:数据类型(如int、char)、控制语句(如if、for)、存储类(如static、extern)和其他(如sizeof)。这些保留字具有特定功能,不能用作变量名。常见用法包括定义变量类型、控制程序流程和声明变量作用域。关键字均为小写,C11标准新增了带下划线前缀的扩展关键字。正确使用这些关键字是C编程的基础。

2025-09-03 13:59:35 1124

原创 C语言中的参数传递

C语言参数传递核心总结 C语言采用值传递机制:实参的值会被复制给形参。关键结论如下: 基本类型/结构体:传递副本,修改形参不影响原数据。 数组/指针:传递地址副本,通过解引用(如*p、b[0])可修改原数据;但修改指针本身(如p++)不影响原指针。 判断依据:是否通过形参操作了原数据的内存地址。 示例: a=10(基本类型)❌不影响 *p=10(指针解引用)✅影响 b[0]=10(数组)✅影响 p++(指针自增)❌不影响 本质:地址也是一种值,只有通过地址访问内存才能修改原数据。

2025-09-03 09:23:39 591

原创 C语言中的运算符

摘要:本文系统介绍了单片机C语言编程中的9类核心运算符及其应用。重点包括:算术运算符的整数处理与溢出风险;赋值运算符的简化写法;关系与逻辑运算符的条件判断技巧;位运算符在寄存器控制中的关键作用(置位、清零等);三目运算符的条件简化;指针运算符的内存地址操作;以及sizeof的动态内存计算。特别强调位运算符在底层硬件控制中的高频使用,并提醒注意数据类型差异对运算的影响。这些知识是嵌入式开发的基础,需结合具体单片机型号灵活运用。

2025-09-03 08:59:40 512

原创 WPF中的静态资源和动态资源

本文对比了WPF中静态资源(StaticResource)与动态资源(DynamicResource)的核心区别:静态资源在加载时解析且不更新,适合固定资源;动态资源在运行时解析且可自动更新,适合可变资源。通过主题切换示例展示了两种资源的不同行为:动态资源会随主题变化自动更新,而静态资源保持不变。建议优先使用静态资源以获得更好性能,仅在需要动态更新时使用动态资源。

2025-09-02 10:46:46 688

原创 WPF中的ref和out

本文对比了C#中ref和out关键字的使用场景与差异。ref要求参数预先初始化,主要用于修改引用类型指向、返回多个结果或优化大型值类型传递;out无需初始化,强调返回操作状态和结果数据,常用于TryXXX模式。核心区别在于ref支持双向数据流,而out主要用于输出。在WPF中需注意UI绑定更新问题,并建议合理选用或改用元组等替代方案。

2025-08-30 15:43:54 579

原创 傅里叶变换

傅里叶变换是一种将信号从时域转换到频域的数学工具,其核心思想是将信号分解为不同频率的正弦波叠加。傅里叶变换与傅里叶级数密切相关,但适用于非周期性信号。关键性质包括线性性、时移性、频移性和卷积定理。典型应用示例包括:单位冲激信号的频域为常数(包含所有频率);矩形脉冲的频域呈抽样函数特征,脉宽与带宽成反比;正弦信号的频域为两个冲激函数;指数衰减信号的频域为复数形式。这些特性在信号处理、通信系统等领域有重要应用价值。

2025-08-27 14:26:02 5780

原创 CS架构和BS架构

BS架构和CS架构是两种主流软件架构模式,核心差异在于客户端形态和功能分工。CS架构需安装专用客户端软件,业务逻辑由客户端和服务器共同处理,适合高体验、离线操作的场景如ERP系统和专业工具软件。BS架构通过浏览器访问,业务逻辑集中在服务器端,具有跨平台、易维护的优势,适用于电商网站、在线办公等广访问场景。两者选择取决于具体需求:追求高性能和离线能力选CS,注重便捷性和跨平台选BS。随着Web技术进步,BS架构正在弥补自身短板,两者呈现互补发展趋势。

2025-08-26 13:53:22 1473

原创 单片机中的按键防抖

按钮抖动是机械触点弹跳导致的电信号不稳定问题,会造成单片机误判。解决方法分为硬件和软件两种:硬件采用RC滤波电路或专用芯片直接过滤抖动信号;软件通过延时检测(10-20ms)或定时器中断来确认稳定状态。典型软件实现包括简单延时法(适合单任务)、定时器中断法(不阻塞主程序)和状态机法(可识别复杂操作)。其中定时器中断法通过周期性检测按键持续时间来判断稳定状态,兼顾实时性和准确性,是推荐方案。

2025-08-23 10:27:00 1741

原创 WPF中BindingList<T>和List<T>

BindingList<T> 和 List<T> 是 C# 中两种常用的集合类,主要区别在于数据绑定支持。List<T> 是基础泛型集合,仅用于数据存储而不支持自动界面更新;BindingList<T> 则专为数据绑定设计,通过ListChanged事件实现UI自动同步,还能监听元素属性变化。List<T>性能更高,适合后台数据处理;BindingList<T>更适合需要实时UI交互的WPF/WinForms场景。开发者应根据是否需要自

2025-08-18 15:58:38 1322

原创 ARM+OpenPLC 组合详解及经典示例

摘要: ARM+OpenPLC组合为工业控制提供了一种高性能、低成本的解决方案。ARM处理器(如Cortex-A系列)提供强大的计算能力和丰富的工业接口,而开源软件OpenPLC支持IEC 61131-3标准编程,具备灵活性和扩展性。该方案优势包括:1)低成本(仅为传统PLC的1/3-1/5);2)兼容传统PLC开发;3)支持边缘计算和物联网集成。以智能仓储传送带控制为例,通过ARM硬件运行OpenPLC,实现物料分拣逻辑(结构化文本编程)、传感器数据处理及云端通信。这种"开放硬件+开源软件&qu

2025-08-15 10:25:19 1180 1

原创 WPF中使用InputBindings进行快捷键绑定

WPF中的InputBindings用于将键盘或鼠标输入与命令绑定,支持MVVM模式。核心组件包括KeyBinding(键盘快捷键)和MouseBinding(鼠标操作),需配合ICommand实现类(如RelayCommand)使用。典型应用包括:在Window中定义全局快捷键(如Ctrl+S保存)、为控件设置专属快捷键(如Button的Delete键),以及通过MouseBinding实现鼠标手势(如中键刷新)。支持动态绑定修改和参数传递(静态值或绑定控件属性),既能声明式配置也能代码动态调整。该机制是

2025-08-15 10:06:46 1186

原创 WPF中Command传递多个参数

将事件处理方法封装为ICommand命令形式,实现参数化传递(支持 int、string 等类型),并在命令中执行组件方法,符合 MVVM 模式。

2025-08-08 16:22:03 694

原创 WPF中使用iconfont图标

阿里巴巴云图标矢量库即 iconfont,以下是从该库下载资源并在 WPF 项目中使用的方法

2025-08-01 17:58:36 617

原创 三极管、MOS 管、CMOS 管的特点、属性及综合对比

文章对比分析了三极管(BJT)、MOS管和CMOS管三种半导体器件。三极管是电流控制型器件,输入阻抗低、开关速度中等,适合模拟放大电路;MOS管为电压控制型,具有高输入阻抗和快速开关特性,适用于高频功率控制;CMOS管由互补MOS结构组成,静态功耗极低、集成度高,是数字集成电路的核心技术。三者各有特点:三极管驱动复杂但线性好,MOS管驱动简单但抗静电差,CMOS集成度高且功耗最低。选择器件需根据应用场景的需求权衡速度、功耗和集成度等因素。

2025-07-29 16:17:12 1892

原创 单片机中的三极管

三极管是一种由两个PN结组成的半导体器件,具有电流放大和开关控制功能。其核心结构包括发射极、基极和集电极,通过小电流控制大电流实现信号放大或开关操作。三极管分为NPN和PNP两种类型,工作状态包括截止、放大和饱和三种模式。根据不同材料、结构和用途可分为硅管/锗管、小/中/大功率管等类别。选型时需关注电流放大倍数、最大允许电流、反向击穿电压等关键参数。三极管广泛应用于信号放大、开关控制、电压稳压等电子电路中,使用时需注意引脚识别、电源极性和散热等问题。

2025-07-26 09:28:11 1399

原创 单片机中GPIO常用的输入和输出类型

本文详细介绍了GPIO(通用输入输出)的各类工作模式及其应用场景。主要分为输出类型(推挽、开漏、开集)和输入类型(浮空、上拉、下拉、模拟),并对比了它们的驱动能力、默认电平和典型应用。文章还阐述了特殊复用模式及使用注意事项,为硬件开发中GPIO配置提供了实用参考。不同模式适用于不同场景,如推挽输出适合驱动LED,开漏输出适用于I2C总线,模拟输入则可连接ADC模块。正确选择GPIO模式对系统稳定性和功能实现至关重要。

2025-07-26 08:22:36 1324

原创 Eplan API Parts Management Extension

摘要 EPLAN API部件管理扩展功能允许用户向部件数据库添加自定义信息,这些信息无需设置为标准属性。该功能通过注册插件实现,支持在部件管理树的各个节点事件中触发自定义操作,包括创建/打开/关闭数据库、选择/保存/删除部件、导入导出操作等。插件可控制选项卡显示,处理部件与项目间的数据同步,并通过特定属性存储自定义数据。系统提供了20多种"action"调用类型,每种都有特定的输入输出参数,使开发者能够精细控制部件管理流程。

2025-07-24 11:24:25 632

原创 Eplan API Parts Selection Interface

EPLAN API部件选择接口使用指南 EPLAN提供API部件选择接口,允许用户在部件选择时调用自定义API动作。该接口支持多种操作模式(选择、读取、创建、检查存在性),通过ActionCallingContext传递参数。设置步骤包括:在EPLAN配置中启用API部件选择、创建匹配名称的动作、处理输入输出参数。关键参数包括对象ID、分隔符、部件数量等,开发者可通过这些参数获取部件信息并返回选择结果。此方案适用于需要自定义部件选择逻辑的场景,但不能完全替代传统部件管理数据库。

2025-07-24 09:46:27 2017

原创 Eplan API Locking

本文介绍了EPLAN API中的锁定机制及其应用。锁定是同步访问资源的关键技术,分为自动锁定(如项目数据、选定元素)和手动锁定模式。SafetyPoint类提供自动锁定功能,而LockingStep用于资源释放管理。文章详细说明了不同对象的锁定方法(如项目、页面、设备),并强调了多用户环境下的锁定策略。同时对比了插件与离线API的锁定实现差异,以及验证方法和服务功能中的锁定注意事项。最后提到可通过Project类的CurrentUsers属性获取当前项目用户信息。这些机制确保了EPLAN在多用户协作时的数据

2025-07-24 09:14:50 1146

原创 HandyControl 中 Window.NonClientAreaContent 的用法

HandyControl 中的 Window.NonClientAreaContent 属性允许开发者自定义窗口的非客户区(标题栏区域)。通过该属性,可以替换默认标题栏,添加菜单、按钮等控件。使用步骤包括:1)将窗口设置为控件窗口;2)在 XAML 中定义 NonClientAreaContent 并添加自定义内容。示例展示了如何在非客户区创建包含用户登录、主题切换、帮助等功能的菜单系统,支持绑定命令和样式自定义。该功能适用于需要个性化窗口界面的 WPF 应用程序开发。

2025-07-22 13:32:09 882

原创 HandyControl 的 Growl.GrowlParent 详解

在 XAML 中添加一个。

2025-07-22 10:03:20 795

原创 CODESYS 中变量声明和存储属性

通过合理选择变量声明方式和存储属性,可以优化PLC程序的性能、可靠性和可维护性。不同PLC品牌(如西门子、三菱、禾川)对IEC 61131-3标准的实现可能略有差异,建议参考具体设备的编程手册。在CODESYS中,变量声明方式及存储属性用于定义变量的作用域、生命周期和存储位置。

2025-07-22 09:27:03 1101

原创 Eplan API Transactions

同时使用 API 交易和内部交易可能会引发问题。在这种情况下,内部事务会被视为外部事务的操作之一。

2025-07-16 16:47:59 503

原创 Eplan API Project Settings

【代码】Eplan API Project Settings。

2025-07-16 16:29:49 188

原创 Eplan API Properties

EPLAN 中的属性是有类型的。

2025-07-15 17:57:34 414

原创 Eplan API SQL

在“功能”、“连接”或“项目”中对特定部件的引用由“Eplan.EplApi.DataModel.ArticleReference”类来表示。使用当前的部件数据源,会将主数据中的所有(已配置的)文章数据加载到嵌入部件中。成功加载时返回“true”。若要为某个部分添加新的引用,您可以使用“Project”、“Function”或“Connection”对象上的“AddArticleReference”方法。同时,也会将“Article”添加到该对象中,但前提是被引用的部分已在系统或项目数据库中存在。

2025-07-15 16:59:44 696

原创 Eplan API Creating projects or pages

在“Eplan.EplApi.DataModel”命名空间中,最重要的对象是“项目”。要能够对其进行操作,必须在 EPLAN 中打开该项目。在插件中,您通常会与用户通过图形用户界面交互式打开的项目进行工作。可以通过““获取当前选择””主题中描述的“选择集”对象获取当前被用户选中的项目。然而,您也可能希望通过 API 在 EPLAN 中打开或创建项目——对于离线程序来说,这种情况肯定会出现。

2025-07-14 17:22:26 462

原创 Eplan API Applications

如果您想要访问其他程序的数据,那么该应用程序就需要具备相应的接口。由于 EPLAN 插件是用托管代码(C# 或 VB.NET)编写的,所以您需要能够设置对其他程序的引用。要么其他应用程序已经将其接口以.NET 程序集的形式公开出来,要么.NET 框架会从 COM 类库创建一个互操作程序集。Excel 将其功能以 COM 接口的形式呈现出来。在您添加了引用之后,开发环境会生成一个互操作程序集。本节内容介绍了如何在您的 EPLAN API 插件中使用其他应用程序,例如 Microsoft Excel。

2025-07-14 16:58:38 1281

原创 Eplan API Add-ins

该编译器位于.NET 框架的目录中,例如 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727。如果编译过程中没有出现任何问题,那么您现在会在“SimpleCSharpAddIn”文件夹中找到名为“EPLAN.EplAddin.SimpleCSharp.dll”的动态链接库文件。csc /目标:库 /引用:…\bin\Eplan.EplApi.AFu.dll /输出:EPLAN.EplAddin.SimpleCSharp.dll AddinModule.cs。

2025-07-12 11:28:24 1836

原创 Eplan API Scripts

通过命令行启动 EPLAN 时,若要运行脚本,第一个参数应为要执行的操作名称。此操作接受“/ScriptFile”参数,用于指定要运行的脚本文件名。任何其他参数(、、 等)都是可选的,并将传递给脚本的启动函数(即标记有[Start]属性的函数)。在以下示例中,它们简单地称为“Param1”、“Param2”和“Param3”,但您也可以根据实际需求为参数赋予有意义的名称,例如“Textmodule1”、“projectName”等等。然而,只有在启动脚本时能够传递参数的情况下,这种功能才有意义。

2025-07-12 10:21:59 702

原创 WPF中自定义消息弹窗

一、XAML 布局设计文件:MessageInfo.xaml-- 窗口图标 -- > Title="Message" Height="200" Width="350" <!-- 标题、尺寸 --> WindowStartupLocation="CenterScreen"> <!-- 窗口居中 --> < Grid Background = " #FF333333 " > <!

2025-05-29 14:21:05 801

WPF中预览pdf文档

WPF中预览pdf文档

2024-08-24

WPF中的多语言切换资源

一个非常好用的多语言切换控件,使用环境为WPF,使用时引入该项目即可,绑定自己的资源文件即可使用,不会用的可以看我“WPF-AI对话”中的“WPF中的多语言切换”,里面有对应的使用方法。

2024-07-23

空空如也

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

TA关注的人

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