自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (3)
  • 收藏
  • 关注

原创 OPC UA S7-1500客户端学习

OPC UA。

2024-07-16 15:57:48 347

原创 OB块认知

按功能编写FC/FB,每个程序块对应一种功能,OB中分别调用所编写的FC/FB程序块。

2024-07-12 16:20:09 111

原创 西门子TIA 数据变换指令认知

SCALE缩放,例如将AI模块采集的数值缩放至0-100℃。HI_LIM :为缩放数据的最大值 100摄氏度。BIPOLAR =1输入数据为双极性,反之单极性。在“OUT”处填写转换后存放的变量地址。LO_LIM:为缩放数据的最小值 0。”处选择要转换的数据类型。在“IN”填写要求转换的变量地址。

2024-07-12 15:46:21 130

原创 数据类型及数据块认知

程序中表现形式,IX.X/QX.X;IWX/QWX-访问的是CPU输出输入过程映像区。优化访问,会先把大的数据类型放在块的开始,比如int和bool,int会放在前面。另一种形式IWX:P/QWX:P-访问的是信号端口地址,直接绕过CPU。bool位会以一个字节的形式存放,以达到快速访问目的。在非优化情况下,存储方式为高位低存。其中梯形图和功能块图可以相互转换。DBx.yy(yy为变量的名称)存储器76543210位置排列。MTC可以设置掉电保持功能。西门子STEP7编程语言。

2024-07-09 20:55:25 158

原创 分布式IO模块软件配置

配置名称和IP地址都下载在CPU里,当更新完设备名称后,设备名称和IP唯一对应,CPU会根据设备名称分配设备IP。先找到设备名称再找到更新列表的设备,然后点击分配。关于IO地址分配,需要建立好子网通信后,在主机上配置。3、双击ET200SP的图片,进入从站配置。可以选择具体的口,进行连接,同实物一样。设备与控制器的Profinet连接。会将实际设备的接口都表示出来。2、拖拽出ET200SP。可以看到IP 和设备名。总线适配器的组态更换。

2024-07-09 19:26:44 176

原创 下载程序到仿真

PLCSIM Advanced高级仿真,可以在电脑虚拟与外界通信。需要注意的是,分配地址的范围,是CPU决定的。cpu的ip地址设置完成后,打开仿真下载。在项目标题右键,点击设置全部勾选上。一般安装好博图会自带。PLCSIM普通仿真。

2024-07-08 17:07:22 145

原创 分布式I/O从站的认知

IO模块订货号末尾后两位为与基座的后两位匹配即可,其中io模块后两位为A1的可以兼容为A0的基座。当PLC与控制机构距离过远时,远距离会带来信号干扰,分布式I/O从站只需要一个网络线缆连接。在PROFINET中主站被称为IO控制器,从站为IO设备。有带CPU功能的,安装在35mmDIN导轨。如何在工业现场中布置分布式I/O从站。基座单元的种类很多,按型号类型的种类。是否带辅助连接端子(AUX)POF/PCF光纤电缆。RJ485标准及街头。体积紧凑、功能强大。考虑工业现场整体布局。

2024-07-08 15:43:10 282

原创 关于模拟数字模块认知

PLC控制系统主要是电信号电信号分为数字信号和模拟信号PLC系统中有数字量模块DO/DI,模拟量AO/AI。(O为输出,I为输入)在模块应用中,注意前连接器要和冷压端子相匹配。前连接器可理解为接插件,一端接线,另一端连接模块。

2024-07-07 20:33:06 175

原创 PLC的CPU认知

CPU1511\CPU1512等等CPU1511C\CPU1512C等等CPU1513F、CPU1517F等等CPU1515T等CPU1515R等。

2024-07-07 19:55:36 143

原创 PLC电源模块

电源模块认知学习

2024-07-07 19:01:32 366

原创 初入山门,识得DSP

DSP比普通MCU的运算更快,但大部分mcu比如STM32F334系列(一般arm-cortex m4及往上的架构都具有DSP)都集成DSP-作为外设,简而言之,如果需要嵌入算法,需要高速复杂信号处理的最好使用DSP,一般简单信号处理,速度要求不高的场合,会选择MCU。

2023-12-29 22:18:27 886

原创 类型转换Union共同体;

内部变量公用同一空间,可以轻松的实现类型转化。存在问题:类型转化数组有大小端区分,注意顺序,解决办法:新建数组转换顺序。

2023-10-06 22:26:35 152

原创 stm32f334timer15-17

TIM15/TIM16/TIM17计时器由一个由可编程预分频器驱动的16位自动重新加载计数器组成。它们可用于各种目的,包括测量输入信号的脉冲长度(输入捕获)或生成输出波形(输出比较、PWM、具有死区插入的互补PWM)。脉冲长度和波形周期可以使用定时器预分频器和RCC时钟控制器预分频器从几微秒调制到几毫秒。TIM15/TIM16/TIM17计时器完全独立,不共享任何资源。TIM15可以按照第20.4.21节:定时器同步(TIM15)中的描述进行同步。

2022-11-20 21:38:59 812 1

原创 STM32F334timer6-7

时基单元包括:•计数器寄存器(TIMx_CNT)•预分频器寄存器(TIMx.PSC)•自动重新加载寄存器(TIMx-ARR)自动重新加载的寄存器是预加载的。根据TIMx_CR1寄存器中的自动重新加载预加载启用位(ARPE),预加载寄存器的内容被永久地或在每次更新事件UEV时转移到影子寄存器中。CEN(在TIMx_CR1寄存器中)和UG位(在TIMx_EGR寄存器中)是实际控制位,只能通过软件进行更改(UG保持自动清除除外)。计数器、自动重新加载寄存器和预分频器寄存器可以由软件写入或读取。

2022-11-19 22:15:42 506

原创 INA226编程学习

当从设备读取时,通过写入操作存储在寄存器指针中的最后一个值决定在读取操作期间读取哪个寄存器。通过发出R/W位为低的从属地址字节,后跟寄存器指针字节来完成此写入。下一个字节由从设备发送,是寄存器指针指示的寄存器的最高有效字节。主机发送的下一个字节是写入数据的寄存器的地址。接下来的两个字节被写入寄存器指针寻址的寄存器。访问INA226上的特定寄存器是通过将适当的值写入寄存器指针来完成的。寄存器指针的值(如图25所示)是在R/W位低的从属地址字节之后传输的第一个字节。对设备的每次写入操作都需要寄存器指针的值。

2022-11-19 18:39:12 1246

原创 高精度定时器学习(通过官方手册学习)

f HRTIM:主HRTIM时钟。所有后续时钟都是派生的,并与该源同步。f HRCK:高分辨率等效时钟。考虑到f HRTIM时钟周期除以32,它相当于144 x 32=4.608 GHz的频率。f DTG:死区时间发生器时钟。为方便起见,本文档中仅使用了t DTG周期(t DTG=1/f DTG)。f CHPFRQ:斩波级时钟源。f 1STPW:定义斩波器模式下初始脉冲长度的时钟源。为方便起见,本文件中仅使用t 1STPW周期(t 1STSW=1/f 1STPW)。

2022-11-16 20:53:19 2190

原创 INA226学习

INA226是一款数字电流感测放大器,具有I2C-和SMBus兼容接口。它提供精确控制系统中精确决策所需的数字电流、电压和功率读数。可编程寄存器允许灵活配置测量分辨率以及连续的Versus触发操作。INA226提供与I2C和SMBus接口的兼容性。I2C和SMBus协议基本上彼此兼容。本数据表中使用I2C接口作为主要示例,仅当讨论两个系统之间的差异时才指定SMBus协议。两条线路(SCL和SDA)将设备连接到总线。SCL和SDA都是开漏连接。

2022-11-14 19:38:41 12641 2

原创 STM32F334高分辨率定时器寄存器描述

MCMP1[15:0]:主定时器比较1值此寄存器保存主定时器比较值1。比较值必须大于或等于fHRTIM时钟的3个周期,即,如果CKPSC[2:0]=0,则为0x60;如果CKPSC[2:0]=1,则为0x30;周期值必须大于或等于f HRTIM时钟的3个周期,即,如果CKPSC[2:0]=0,则为0x60;此位启用半占空比模式:当写入HRTIM_MPER寄存器时,HRTIM_CMP1xR活动寄存器会自动更新为HRTIM_PER/2值。MREP[7:0]:主计时器重复周期值此寄存器保存主计数器的重复周期值。

2022-11-11 23:57:21 1458

原创 stm32f334高级定时器与通用计时器寄存器描述与区别

时钟分频因子 这2位定义在定时器时钟(CK_INT)频率、死区时间和由死区发生器与数字滤波器(ETR,TIx)所用的采样时钟之间的分频比例。这3位用于选择在主模式下送到从定时器的同步信息(TRGO)。OIS3N:输出空闲状态3(OC3N输出)。OIS2N:输出空闲状态2(OC2N输出)。OIS1N:输出空闲状态1(OC1N输出)OIS4:输出空闲状态4(OC4输出)。OIS3:输出空闲状态3(OC3输出)。OIS2:输出空闲状态2(OC2输出)。OIS1:输出空闲状态1(OC1输出)TI1S:TI1选择。

2022-11-06 21:46:32 542

原创 STM32F334高级定时器时钟选择

该计时器具有一个外部触发器输入ETR。它可用作:外部时钟触发从属模式PWM逐循环电流调节复位输入下面描述了ETR的输入条件反射。输入极性是用TIMxSMCR寄存器中的ETP位来定义的。该触发器可以用由ETPS[1:0]位字段编程的分频器进行预缩放,并使用ETF[3:0]位字段进行数字过滤。

2022-11-04 00:33:09 835

原创 TIM1计数模式

设置TIMx_CR1寄存器中的UDIS位,可以禁止更新事件;此外,如果设置了TIMx_CR1寄存器中的URS位(选择更新请求) ,设置UG位将产生一个更新事件UEV但不设置UIF标志(因此不产生中断和DMA请求),这是为了避免在发生捕获事件并清除计数器时,同时产生更新和捕获中断。此外,如果设置了TIMx_CR1寄存器中的URS位(选择更新请求) ,设置UG位将产生一个更新事件UEV但不设置UIF标志(因此不产生中断和DMA请求),这是为了避免在发生捕获事件并清除计数器时,同时产生更新和捕获中断。

2022-11-03 00:11:57 974

原创 stm32f334高级定时器TIM1

高级控制计时器(TIM1)由一个由可编程的预调节器驱动的16位自动重载计数器组成。它的功能包括测量输入信号的脉冲长度(输入捕获)或产生输出波形(输出比较、PWM、带有死时插入的互补PWM)。脉冲长度和波形周期可以使用RCC时钟控制器预调器将脉冲长度和波形周期从几微秒调制到几毫秒。高级控制(TIM1)和通用(TIMy)计时器是完全独立的,并且不共享任何资源。疑问(待查证普通TIMy之间的关联)

2022-11-02 23:28:55 1783

原创 stm32f334定时器配置详细解释

stm32cubemx的htimer1配置了解

2022-08-05 15:05:15 2773

原创 认识MOS

MOSFET学习记录MOSFET基础MOSFET小知识MOSFET的结构MOSFET基础MOSFET小知识MOSFET是一个电压驱动器件,具有更高的导通阈值电压,但其栅极是呈电容性的,因此需要大的瞬态电流来实现快速开关。在MOSFET中没有电导率调制,所以通态电压降是有限的导通电阻RDS引起的,随着电流的增加而增加,而关断时,只需要极短的反向恢复时间。大多数应用于较低的开关速度场合,新材料似乎有很大的发展潜力,如碳化硅(SIC)。MOSFET的结构漏极接触在图中右上方的n+区域,并且穿过它达

2022-04-21 19:55:59 301

原创 python做实验数据处理 代码

import pandas as pdimport matplotlib.pyplot as pltimport numpy as npimport torchimport osbase = r'C:\Users\Fan\PycharmProjects\pythonProject2\数据\wew'base1 = r'C:\Users\Fan\PycharmProjects\pythonProject2\数据\wewe'def findAllFile(base): list = []

2021-11-27 22:58:44 351

原创 python遍历文件夹下的所有文件

os.walk返回的是一个3个元素的元组 (root, dirs, files) ,分别表示遍历的路径名,该路径下的目录列表和该路径下文件列表。os.path.join(root, f)是路径拼接函数for root, ds, fs in os.walk(base): for f in fs: fullname = os.path.join(root, f) print(fullname)将所有的路径放在一个链表下for root, ds, fs in os

2021-11-27 21:00:54 1173

原创 pytorch中excel数据的准备

pytorch中excel数据的准备打开excel并读出数据数据转换打开excel并读出数据pandas处理excel的数据数据转换首先,我们要把Pandas中的dataframe格式转成numpy中的arraynpdata = np.array(data1)然后,再把array转换成tenserX = torch.tenser(npdata )这样,就能把excel的数据放进我们定义的模型中训练了...

2021-11-17 14:42:21 2285

原创 pandas导入excel

pandas导入excel添加头文件导入目标数据指令和形式读取行和列列行其他添加头文件import pandas as pd导入目标数据file_name = "文件所在路径"data1 = pd.read_excel(file_name)指令和形式读取行和列列data1 = pd.read_excel(file_name,usecols = 'A')data1 = pd.read_excel(file_name,usecols = 'A:C')data1 = pd.read_ex

2021-11-17 12:54:35 3678 1

原创 Python之操作excel

Python之操作excel工具包使用导入工具包获取工作表获取数据工具包python中有一个模块是专门读取excel的安装方法pip install openpyxl使用导入工具包 from openpyxl import load_workbook wd = load_workbook('plotter.xlsx')load_workbook 是加载工作表的方法wd 是加载的内容获取工作表sh1 = wd[‘sheet1’]获取数据data =sh1['A2'].

2021-11-16 20:34:51 112

原创 pytorch之数据的导入

pytorch之数据的导入一级目录二级目录三级目录一级目录二级目录三级目录

2021-11-16 16:25:35 1208

原创 Matplotlib之 bar柱状图操作

Matplotlib之 bar柱状图操作import matplotlib.pyplot as pltimport numpy as npn = 12X = np.arange(n)Y = (1-X/float(n))*np.random.uniform(0.5, 1.0, n)plt.bar(X, Y,facecolor=’#9999ff’)plt.show()facecolor指的是柱形的颜色如图

2021-11-16 15:22:15 1160

原创 Matplotlib之 scatter散点图

Matplotlib之 scatter散点图数据生成生成scatter图像美化图像数据生成n = 1024X = np.random.normal(0, 1, n)Y = np.random.normal(0, 1, n)np.random.normal 生成n个0到1之间的正态分布的数据参考学习生成scatter图像plt.scatter(X, Y)plt.show()效果图美化图像T = np.arctan2(X, Y)//这个公式可以是任意的,只是为了生成不同的颜色plt.s

2021-11-16 15:08:13 2412

原创 Matplotlib之annotate(注释曲线的操作)

标记曲线上一点plt.annotate(r'$3x+1=%s$'%y0,xy=(x0,y0),xycoords='data',xytext=(+30,-30),textcoords='offset points',fontsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))r’3x+1=3x+1=%s3x+1=’%y0 字符的内容xy=(x0,y0),xycoords=‘data’ 确定要标记的点x

2021-11-15 20:25:02 2119

原创 Matplotlib之如何描述曲线(Legned)

Matplotlib之如何描述曲线方法一方法二方法一plt.plot(x, y1, color=‘red’, linestyle=’:’, linewidth=3.0, label=‘banana’)plt.plot(x, y2, color=‘green’, linewidth=3.0, label=‘apple’)plt.legend()plt.show()效果方法二l1,=plt.plot(x, y1, color=‘red’, linestyle=’:’, linewidth=3.

2021-11-15 19:38:25 414

原创 Matplotlib之数据轴的操作

Matplotlib之x轴的操作更改轴的大小更改轴的标签更改轴的精度将字符代替轴上的数更改轴的大小plt.xlim((-1,3))plt.ylim((-1,4))更改轴的标签plt.xlabel(“apple”)plt.ylabel(“slep”)更改轴的精度变为小数点后两位new_ticks = np.linspace(-1,3,50)plt.xticks(new_ticks)将字符代替轴上的数plt.yticks([-2,0,5],[‘bad’,‘normal’,‘good’])

2021-11-15 17:32:49 361

原创 Matplotlib之Figure的使用

Matplotlib之Figure的使用意义实现方法代码实例现象拓展(图像参数设置)图像的展现曲线的展现代码及现象意义figure是画图的窗口,本文主要解决我们想多个窗口显示多样的数据时的问题实现方法代码实例下面展示一些 内联代码片。import numpy as npimport torchimport matplotlib.pyplot as pltimport numpyx = np.linspace(-1, 1, 50)y1 = 2*x+1y2 = x**2+1plt.f

2021-11-15 16:59:20 4153

原创 Matplotlib学习

Matplotlib学习导入Matpoltlib的包制作数据np.linspace()函数绘图导入Matpoltlib的包import matplotlib.pyplot as plt我们主要使用分模块的内容制作数据x = np.linspace(-1,1,50)y = 2*x+1np.linspace()函数它类似于排列功能。但是, 它不允许我们在语法中指定步长。取而代之的是, 它仅返回指定时间段内均匀分隔的值。系统隐式计算步长。x的输出:[-1. -0.959183

2021-11-15 16:22:20 77

原创 pytorch线性回归函数解惑

pytorch线性回归函数解惑定义模型损失函数优化函数训练模型验证环节定义模型class LinearRegression(nn.Module):在pytorch中,不管是自定义层、自定义块、自定义模型,都是通过继承Module类完成的。在定义网络的时候,需要重新构建 _ init _ 和 forward 函数损失函数criterion = nn.MSELoss()优化函数optimizer = torch.optim.SGD(model.parameters(), lr=lear

2021-10-02 18:47:56 131

原创 git咋上传文件到码云

1新建文件夹2初始化本地仓库3建立远程仓库连接auto是自定义名称4通过git add . git commit -m “备注” 给仓库添加文件,git push -f是本地强制覆盖上传云端

2021-08-19 00:33:36 130

原创 STM32F767读取sd卡

配置直接默认即可,记得配置rcc和sys在这里一定要配置初始化函数,不配置的话不可以用。HAL_SD_CardInfoTypeDef SDCardInfo; //SD卡信息结构体HAL_SD_GetCardInfo(&hsd1,&SDCardInfo);//获取内存卡信息函数发送和接收i=HAL_SD_WriteBlocks(&hsd1, uuu1, 0x00, 1,0xfffff); B=HAL_SD_ReadBlocks(&hsd1, uu.

2021-08-16 16:29:35 207

stm32高精度定时器 四路双PWM 移向 触发ADC采样

stm32高精度定时器 配置四路双PWM 通过更改主定时器的几个比较器,达到移向效果。在PWM规定的占比触发ADC采样,再通过DMA传输。

2022-12-01

3个ne555搭建的spwm波的h桥电路,实现了逆变的效果

ne555做逆变电路,只是自己无聊的想法,可以吧DC50v转变为AC25V,Protues仿真

2021-11-15

bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu7~20.04.3_amd64.deb

联想e431的linux下wifi驱动 网卡为bcm43142

2021-08-07

2015升级版5529_AY-MSE_KIT_例程.zip

电机驱动、人机接口知识点在内的多个模拟应用模块, 面向电子电气、电信通信、计算机、机电控制等专业的本科教学、课外实践。兼顾MCU的开发学习和模拟知识的理解与应用。套件提供图文并茂的实验指导书、注释详尽的代码例程,便于用户学习与操作。

2020-01-03

空空如也

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

TA关注的人

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