自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深度解析ST语言字符串指令---第5篇

本文摘要:介绍了5种PLC数据转换指令功能:1)BCDDA将BCD码(0-9999)转为ASCII码;2)DABCD实现ASCII字符串到BCD码的转换;3)$LEN计算字符串长度;4)$FSTR将浮点数转为字符串,可设置小数/指数格式及总位数;5)$FVAL将字符串转为浮点数。测试结果显示各指令均能正确执行转换功能,但需要注意数据格式和范围限制(如BCD码必须为0-9)。这些指令为PLC数据处理提供了便捷的转换工具。

2025-12-11 16:00:15 217

原创 深度解析ST语言字符串指令---第4篇

摘要:本文介绍了两种PLC字符串转换指令:HABIN和DHABIN。HABIN指令用于将16位ASCII字符串(如"12AB")转换为16进制BIN数据,支持最大4位转换(0000~FFFF)。DHABIN是32位版本,可将8位ASCII字符串(如"1234ABCD")转换为32位BIN数据(00000000~FFFFFFFF)。两种指令分别对应不同位宽的数据处理需求,在测试中均能正确执行转换功能。指令说明包含了对源数据格式、长度限制及转换范围的详细描述。

2025-12-11 13:52:31 168

原创 深度解析ST语言字符串指令---第3篇

摘要:BINHA和DBINHA指令用于将十六进制BIN值转换为ASCII码。BINHA为16位指令,处理4位BIN值(16#0000-16#FFFF),结果存入3个Word;DBINHA为32位指令,处理8位BIN值(16#00000000-16#FFFFFFFF),结果存入5个Word。两者均支持SM690标志控制字符串终止符:SM690=OFF时自动添加结束符16#0000,ON时保持原值。测试显示指令能正确将十六进制数(0-9,A-F)转换为对应ASCII码,适用于PLC字符串处理需求。

2025-12-11 11:59:53 238

原创 深度解析ST语言字符串指令---第2篇

本文介绍了两种PLC指令:DABIN和DDABIN,用于ASCII与十进制数之间的转换。DABIN是16位指令,将3个WORD数组中的有符号十进制ASCII码转换为二进制数;DDABIN是32位指令,支持更大数值范围转换。测试显示,两种指令都能正确执行转换,但数组初始化方式受限,需逐个元素赋值。ASCII码需符合0-9范围,符号位用"2D"表示负号。BINDA与DABIN互为反向操作指令,分别用于串口通信时的数据转换需求:发送时十进制转ASCII,接收时ASCII转十进制。

2025-12-11 09:09:24 152

原创 深度解析ST语言字符串指令---第1篇

本文详细测试了台达PLC DVP28SV3的字符串指令功能。首先探讨了字符串在PLC中的存储方式,指出字符串通过首地址依次保存,ST语言中"+"可用于字符串拼接但不支持索引访问。重点测试了BINDA和DBINDA指令,前者将16位有符号十进制数(-32768~32767)转换为ASCII,后者处理32位有符号数(-2147483648~2147483647)。测试验证了指令参数范围及转换功能,为PLC字符串处理提供了实用参考。

2025-12-10 22:18:15 258

原创 台达ST:自定义串行通讯传送与接收指令COMRS程序范例七

本文介绍了模式参数6在PLC通信中的应用,通过ST语言实现特定长度数据的收发功能。在8位模式下,PLC严格按设定长度(8字节)接收数据,超出部分被忽略;16位模式下,高低字节分别处理,每16位寄存器存储2字节数据。范例展示了数据发送(4字节)和接收(8字节)的完整流程,包括参数设置、标志位控制及不同模式下的数据处理差异,验证了模式参数6对数据长度的严格管控作用。

2025-12-02 09:13:34 655

原创 台达ST:自定义串行通讯传送与接收指令COMRS程序范例六

本文介绍了PLC与DVP-ES2设备采用模式5进行数据通信的配置过程。该模式通过设定特定开始字符(16#3A)和结束字符(16#0A)来标识数据帧边界。实验显示,PLC发送17字节数据后,外部设备返回15字节数据(含特定字符)。值得注意的是,即使返回数据超过15字节,PLC仍仅接收15字节数据,验证了模式5按特定字符边界截取数据的特性。文中还提供了完整的ST程序实现,并指出当未收到边界字符时SM104标志位会置ON。该范例清晰展示了模式5通信中数据帧边界处理的关键作用。

2025-12-02 08:40:41 292

原创 台达ST:自定义串行通讯传送与接收指令COMRS程序范例五

本文介绍了PLC通讯模式4(特定开始字符+不连续时间设定)的应用范例。程序设定8位处理模式,通过D10/D11寄存器配置开始字符为0x3A、不连续时间为15ms。发送4字节数据后,外部设备返回7字节数据,但PLC仅接收6字节,因模式4会忽略首个非指定开始字符(0x30)。接收完成后SM100置ON,需手动复位才能再次发送。文中还解释了15ms超时机制:收到字符会重置计时器,超时则判定接收完成。该范例清晰展示了模式4的工作流程和注意事项。

2025-12-01 20:44:10 398

原创 台达ST:自定义串行通讯传送与接收指令COMRS程序范例四

本文介绍了PLC与DVP-ES2外部设备通信的配置过程。采用模式参数3(以特定字符0D0A结尾)和16位处理模式,通过ST程序实现数据收发。程序设定了17字节发送数据(包含ASCII码"0106106412343FCRLF"),并配置了通信端口、数据长度等参数。当触发M0时,PLC发送数据并等待接收。外部设备返回相同数据后,PLC成功接收17字节数据,SM100标志置ON。如需再次通信,需手动复位SM100标志。文中详细说明了数据格式、寄存器配置及通信状态监控方法,为类似通信应用提供了参

2025-12-01 20:18:49 414

原创 台达ST:自定义串行通讯传送与接收指令COMRS程序范例三

摘要:本文介绍PLC程序范例三的接收模式参数2(特定字符结尾)的实现方法。通过设定D10=16#0002(模式参数2)和D11=16#000A(结尾字符),在8位处理模式下,PLC不发送数据直接进入接收状态。当外部设备发送以0A结尾的数据后,PLC将接收数据存入D201-D203,并置位SM100标志。程序演示了如何通过ST语言实现该功能,包括端口设置、参数配置和接收处理流程,最终通过串口助手验证了该模式的正确性。

2025-12-01 19:59:09 198

原创 台达ST:自定义串行通讯传送与接收指令COMRS程序范例二

本文介绍了PLC通讯程序范例,使用模式参数1(16位处理模式)实现数据收发功能。程序设定发送数据长度4字节(D100=3231,D101=3433),不连续时间300ms(D11=300)。当M0触发时执行COMRS指令发送数据,接收完成标志SM100置ON后可读取接收数据(D200=5,D201=3635等)。关键注意事项:M0触发条件不能立即清除,否则会导致发送失败;每次传送前需手动复位SM100。程序验证显示PLC成功发送"31323334"并接收"3536373839&

2025-12-01 17:42:45 314

原创 台达ST:自定义串行通讯传送与接收指令COMRS程序范例一

本文介绍了使用COMRS函数实现串行通讯自定义协议的方法。通过PLC的COM1端口(RS485)示例,演示了8位和16位两种处理模式下的数据传输差异。在8位模式下仅传输数据的低8位,高8位被忽略;而在16位模式下会同时传输高8位和低8位数据。程序示例展示了如何设置通讯参数、数据内容和传输长度,并说明需要手动重置完成标志SM100才能重复发送。测试结果表明:8位模式下发送"31,32,33,34",16位模式下发送"31,00,32,00"。这为开发者选择合适的数据处理

2025-12-01 14:55:10 358

原创 4.2 多线程实例

这段代码演示了PySide6中使用QThread实现多线程的完整流程。通过继承QThread类创建WorkerThread工作线程,重写run()方法执行耗时任务(模拟5秒进度更新)。主界面ThreadExample包含开始按钮和进度标签,点击按钮启动线程后禁用按钮防止重复点击。线程通过Signal信号与主线程通信:progress_signal发送进度值,finished_signal通知任务完成。关键点在于将耗时操作放在子线程的run()中,通过信号机制实现安全线程间通信,避免GUI界面卡顿。这为GUI

2025-11-18 10:46:01 410

原创 4.1 自定义信号

本文介绍了PySide6中自定义信号的使用方法。主要内容包括: 自定义信号类需继承QObject,通过Signal()定义带参数信号 主窗口类继承QWidget,创建信号实例并通过connect()连接信号与槽 界面布局使用QVBoxLayout,按钮clicked信号连接到发送方法 通过emit()发射信号,槽函数接收参数处理消息 关键点: QObject是信号机制的基础类 Signal定义时必须指定参数类型 connect()建立信号与槽的连接 emit()触发信号时传递参数 示例演示了从按钮点击到自定

2025-11-05 19:49:04 297

原创 3.1 常用布局管理器

这篇代码示例展示了PySide6中三种常用布局管理器的使用方法:QVBoxLayout(垂直布局)、QHBoxLayout(水平布局)和QGridLayout(网格布局)。演示了如何通过嵌套布局实现复杂界面,水平布局横向排列按钮1-3,网格布局将按钮按2x2矩阵排列。文中还总结了布局管理器的常用方法,包括添加控件/子布局、设置间距和边距等。通过实践成功实现了预期效果,体现了PySide6布局管理器在GUI开发中的灵活性和实用性。

2025-11-04 15:01:23 203

原创 2.2 常用控件

这篇教程展示了如何使用PySide6创建包含多种常用控件的图形界面。代码示例中演示了QLabel标签、QLineEdit文本框、QPushButton按钮、QCheckBox复选框、QRadioButton单选按钮和QComboBox下拉框的使用方法。通过QVBoxLayout垂直布局将这些控件组织在一个窗口中,形成一个完整的GUI应用。教程强调重点在于自定义类的实现,特别是setup_ui方法中各种控件的创建和配置。虽然部分代码与之前示例类似,但突出了各种新控件类的使用方法,为PySide6的GUI开发提

2025-11-03 22:07:31 218

原创 继续啃代码:自定义的类

摘要:本文解析了一个使用PyQt5创建GUI窗口的Python代码示例。MyWindow类继承自QWidget,通过__init__方法初始化窗口并设置标题。setup_ui方法创建垂直布局(QVBoxLayout)和按钮(QPushButton),并使用信号槽机制将按钮点击事件(clicked信号)连接到自定义槽函数on_button_clicked。当点击按钮时,该槽函数会在控制台打印提示信息。文章重点解释了PyQt的核心机制——信号与槽,说明信号是事件发出的通知(如按钮点击),槽是响应信号的函数。通过

2025-10-31 15:33:41 311

原创 信号与槽机制

信号与槽机制:这是 Qt 的核心概念,用于对象间的通信。不懂,害,先装懂一下!不过,不过,还是要多看几遍,太多新概念了!看起来还非常的重要!回答的太好了,才看一遍,已经知道个大概了!就是对按钮进行响应!按照教程,这部分好像有点难!貌似大部分看不懂,怎么办呢?不过,有点像纸老虎,拿下!直接拷贝代码进行验证。

2025-10-30 15:25:04 278

原创 第一个 PySide6 程序

按照deepseek的学习教程,我们来看第一个pyside6的程序。因为通过参数的修改,就可以编程我们自己的程序了!有部分代码很陌生,不过没关系,

2025-10-30 15:02:12 216

原创 安装 PySide6

快捷键:Windows+R,打开终端,输入:pip install pyside6。接线来就按照教程来学习吧!输入:pip list。

2025-10-30 14:43:57 210

原创 deepseek提供的pyside6学习教程

本文提供了PySide6的完整学习路径,分为五个阶段:1)环境搭建和基础概念,包括安装和创建第一个窗口程序;2)核心概念学习,涵盖信号与槽机制及常用控件的使用;3)布局管理,介绍多种布局方式;4)高级功能,如自定义信号和多线程处理;5)实战项目开发,演示如何创建一个简单的文本编辑器。教程通过代码示例逐步引导,适合新手系统学习PySide6的GUI开发。

2025-10-30 14:36:03 227

原创 跟着deepseek学习PySide6

deepseek大家都老熟了吧,通过deepseek来掌握一门全新的知识,大家想尝试一下吗?看看到底我能学到什么程度?我也很期待!!!

2025-10-30 14:28:42 343

原创 深度总结AD(Altium Designer)SCH设计常用快捷键-汇总

F11Properties属性面板ESC退出当前命令Del删除T+P打开系统参数。此命令原理图和PCB设计是一样的。R+I生成BOM表PgUp放大PgDn缩小Ctrl+S保存Ctrl+O打开文件Ctrl+Z撤销之前操作Ctrl+Tab切换窗口P+P放置器件P+RPort放置P+N网络标号放置P+W放置导线Ctrl+W放置导线J+C跳转到器件D+M生成原理图库T+C交叉探针X/YX/Y轴镜像Ctrl+F查找Alt+单击网络。

2025-07-22 15:55:50 753

原创 深度总结AD(Altium Designer)PCB设计常用快捷键-汇总

按下TC之后,点击某各元件,则会自动在原理图上高亮显示这个元件。通过此操作可以非常快速的找到原理图中对于的元件。对选中的元件在指定范围进行自动布局。通常通过自定义快捷键,更加的方便。需要注意的是:要先选中元件。在走线的过程中,如果按+/-会快速的放一个过孔,并切换到TOP层/BTM层。跳转到某个字符串的位置。字符串可以是自定义的字符串,也可以是元件的位号。也可以进行参数的加载。跳转到指定位号的元件。通过这个操作可以非常方便的找到某个位号元件的位置。对选中的铺铜进行重新铺铜操作。对所有铺铜进行重新铺铜操作。

2025-07-22 14:28:44 425

原创 深度总结AD(Altium Designer)PCB设计常用快捷键6

比如当我们在单层显示的时候,想切换到其他层,可以按+/-来切换。也可以ctrl+shift+鼠标滑轮来切换。如下图通过ctrl+M测量2个焊盘之间的间距时,通过shift+E可以抓取到焊盘的圆心。先要选中要多跟走线的焊盘或者走线。通常结合亮度调节按钮“[” 和“]”。“[”:降低亮度,“]”:增加亮度。比如当高亮选择某个走线的时候,可以通过shift+C进行清除。R+M:测量中心的间距。也可以通过ctrl+M。在3D模式下检查PCB经常会使用到。在走线和检查线路的时候经常会用到。R+P:测量边缘的间距。

2025-07-22 12:08:56 490

原创 深度总结AD(Altium Designer)PCB设计常用快捷键5

按下之后单位在mil和mm之间进行切换。此界面就是默认的pcb layout时的界面。通过此界面可以查看PCB 3D。通常在检查pcb孔,丝印的时候使用。在 Altium Designer 中,​​ 功能(通常快捷键E→A)用于​(如网络名、元件位号、规则等),解决普通粘贴导致的重复网络/位号冲突问题。如下图,正常的复制针点的时候,会发现复制的焊盘没有网络。而使用特殊粘贴会复制时,网络依然保留。操作步骤:首先要选中要粘贴的元件,然后ctrl+C复制,再按快捷键E+A。

2025-07-21 14:55:57 651

原创 深度总结AD(Altium Designer)PCB设计常用快捷键4

按下键盘S后,弹出以下快捷菜单。这里我们挑常用的做重点介绍。注意: 以上2个快捷键,需要先选择对象。

2025-07-18 16:22:16 1084

原创 深度总结AD(Altium Designer)PCB设计常用快捷键3

J+S:跳转到某个字符串的位置。字符串可以是自定义的字符串,也可以是元件的位号。J+C:跳转到指定位号的元件。通过这个操作可以非常方便的找到某个位号元件的位置。J+O:跳转到原点为止。就是我们通过E+O+S设置的原点位置。J+P:跳转到某个焊盘。比如跳转到P1的PIN2。J+A:跳转到绝对坐标位置。J+N:跳转到某个网络。

2025-07-17 16:18:36 347

原创 深度总结AD(Altium Designer)PCB设计常用快捷键2

DRC后或者设计PCB时,由于一些不太重要的规则导致某些地方会报错,但这个错误实际上没有什么影响。此时为了方便,可以按TM消掉这些绿色的报错。按下TC之后,点击某各元件,则会自动在原理图上高亮显示这个元件。通过此操作可以非常快速的找到原理图中对于的元件。注意:参数设置完毕之后可以进行保存。也可以进行参数的加载。T+O+L:对选中的元件在指定范围进行自动布局。需要注意的是:要先选中元件。T+D+R:DRC检查。的铺铜进行重新铺铜操作。铺铜进行重新铺铜操作。T+P:系统参数设置。此操作用于模块化布局。

2025-07-17 15:55:23 513

原创 深度总结AD(Altium Designer)PCB设计常用快捷键1

这里需要注意:如果封闭的区域里面还有一个封闭的区域,则会优先使用里面的封闭区域。当我们全选之后,按下DSD,则会以里面的圆形区域作为板框。当你打开一个PCB,但是没有对应PCB库文件,可以通过DP创建一个PCB库。E+O+S:放置参考原点。比如当我们在板框左下角放置原点后,这个点就是我们的参考原点。如下图,我们选择外面的矩形之后,按DSD快捷键后就会创建PCB的板框。D+M+R:可以放置一个矩形room。注意:在菜单中,字母有下划线 "_" 的,就是快捷键命令。D+S+D:快速定义板框。

2025-07-17 14:18:20 725

原创 AD软件如何切换到中文界面?

摘要:进入参数设置界面有两种方法:点击右上角“设置系统参数”按钮或使用快捷键“T+P”(适用于原理图和PCB界面)。设置中文需按图示选择后重启AD软件即可生效。全文简明介绍了系统参数设置的操作步骤。

2025-07-08 17:07:29 986

原创 Python菜鸟进阶之路18:面向对象:类的继承

1. 多继承2. 递归

2020-07-07 15:48:28 214

原创 Python菜鸟进阶之路19:正则表达式

1. 使用正则表达式需要import re2. 常用函数(1)findall()点的使用str1 = 'abcdef'list1 = string1.findll('a.',str1)#返回的是一个列表print(list1)“.”表示字符串后的点表示任意1为字符点的使用...

2020-07-06 17:29:55 241

原创 Python菜鸟进阶之路17:面向对象:静态属性与实例属性,静态方法与实例方法

1.静态属性和实例属性有些属性是一个类公用的属性,我们可以定义为静态属性。有些属性是一个类的某个实例所特有的属性,可以可以定义为实例属性。例如我们下面定义的一个学生类。假设所有学生都在class1,则class1就可以定义为静态属性。对每个学生而言各自的名字、年龄、体重又是不一样的,我们就可以定义为实例属性。当每个实例化对象产生的时候,我们就给他赋一个其自身的属性。#创建一个类class Student(): # 定义类静态属性, 所有学生都在class1班 grand =

2020-07-03 13:34:49 319

原创 SLG46110

一、芯片的概述逻辑和混合信号电路供电:1.8 V(±5%)至5v(±10%)操作温度范围:-40℃至85℃封装:STQFN: 1.6 x 1.6 x 0.55 mm, 0.4 mm间距二、应用领域个人电脑和服务器PC外围设备消费类电子产品数据通信设备手持和便携式电子产品三、内部框图四、引脚描述...

2020-07-03 09:41:27 267

原创 Python菜鸟进阶之路16:面向对象:对象、类

1. 对象和类的概念我们所见的万物都是对象,也就是一切皆为对象。类=属性+方法。属性就是我们能到摸到的东西。如一个人他具有的属性有:身高、年龄、体重等。方法就是一个对象所具有的功能。如一个人他具有的方法有:会唱歌、会跳舞、会开车等。2. 类的定义和实例化(1)类的定义。这里我们定义一个学生类,具有learn的方法。class Student(): def learn(self): print('我会学些')(2)类的实例化。这里我们实例化一个.

2020-07-02 16:21:02 123

原创 Python菜鸟进阶之路15:如何使用pip安装和卸载第三方库

1. pip的使用(1)使用pip安装第三方库 如安装selenium:pip install selenium 指定版本安装:pip install selenium==3.0.1 更新:pip install selenium -u 注意: 第三方库安装后的地址C:\Python36\lib\site-packages(2)使用pip卸载第三方库 如卸载selenium:pip uninstall selenium(3)查看...

2020-07-01 15:43:46 1337

原创 Python菜鸟进阶之路14:模块、包

1. 什么是模块和包。 (1)模块:就是一个Python文件。 (2)包:存放着若干个模块且有一个自带的__init__.py文件的文件夹。 __init__.py文件:当调用某个包的时候,会自动执行一次此文件里面的内容。因此通常我们可以用来进行一些初始化数据或者加载一些需要使用到的包。 通过包我们也可以避免一些重复命名的模块。 (3)包和文件夹的区别: 包:新建的时候要使用python package,有一个__init__.py文件。 ...

2020-07-01 14:27:21 177

原创 一起掌握常用IC:浅谈LM22676

一、芯片的基本概述 1. 输入电压范围:4.5V~42V 2. 输出电压选项: -ADJ:可调输出,最低到1.285V -5.0:固定5V输出 3. 工作结点温度:-40℃~125℃ 4. 反馈参考精度:±1.5% 5. 开关频率:500KHz二、封装 有以下两种封装类型:PSOP-8 和TO-263三、引脚 这里以PSOP-8...

2020-07-01 11:36:46 6135 1

原创 Python菜鸟进阶之路13:pycharm的调试、调试logo

1. 调试运行。 (1)开始调试运行。 在文件空白处右击,然后选择如下debug,则文件会进如调试运行模式。会根据后续的调试操作和断点的位置进行运行。 (2) step over:快捷键是F8。 每次运行一行代码,遇到函数会把函数时,不会进入函数体内部,而是直接运行该函数。 (3) step into:快捷键是F7。 每次运行一行代码,遇...

2020-06-29 21:45:43 319

空空如也

空空如也

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

TA关注的人

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