西门子PLC常用底层逻辑块分享_单/双输出电磁阀

文章目录

  • 前言
  • 一、功能概述
  • 二、单输出电磁阀程序编写
    • 1.创建自定义数据类型
    • 2.创建FB功能块“单输出电磁阀”
    • 3.编写程序
  • 三、双输出电磁阀程序编写
    • 1.创建自定义数据类型
    • 2.创建FB功能块“双输出电磁阀”
    • 3.编写程序


前言

本文分享一个自己编写的电磁阀控制逻辑块。


一、功能概述

  1. 手动状态、自动状态、机旁状态、强制状态、检修状态自由切换;
  2. 具有开阀超时、关阀超时报警功能;
  3. 手动状态下,按开阀按钮开阀,按关阀按钮关阀;
  4. 自动状态下,根据程序联锁要求自动开阀关阀;
  5. 强制状态下,跳过允许开阀关阀条件,直接开阀或关阀;
  6. 检修状态下,自动关阀,且按下开阀按钮不允许开阀。

二、单输出电磁阀程序编写

1.创建自定义数据类型

在这里插入图片描述

2.创建FB功能块“单输出电磁阀”

建立如下引脚变量:
在这里插入图片描述

3.编写程序

代码如下:
1.赋值

#HMI.Ready_DI := #Ready_DI;
#HMI.Locally_DI := #Locally_DI;
#HMI.Open_DI := #Open_DI;
#HMI.Close_DI := #Close_DI;
#Open_DO := #HMI.Open_DO;

2.时间转换、启动超时判断、故障复位

#HMI.#Fault_ALL := #Fault OR #HMI.#Open_Time_Out OR #HMI.#Close_Time_Out OR #HMI.#Limit_Fault; //故障赋值
#HMI.#Lcl_DO := #Locally_DI AND #HMI.#HMI_Lcl; //有就地信号,且按下机旁允许按钮,才会显示机旁允许状态#Open_Time := DINT_TO_TIME(REAL_TO_DINT(#HMI.#Open_T_Set * 1000.0)); //输入1表示1S
#Close_Time := DINT_TO_TIME(REAL_TO_DINT(#HMI.#Close_T_Set * 1000.0));#Open_IEC(IN := #Open_DO AND NOT #HMI.#HMI_Close AND NOT #Open_DI AND NOT #HMI.#Limit_Fault,PT := #Open_Time); //开阀延时
#Close_IEC(IN := NOT #Open_DO AND NOT #HMI.#HMI_Open AND NOT #Close_DI AND NOT #HMI.#Limit_Fault,PT := #Close_Time); //关阀延时
#Limit_IEC(IN := #Open_DI AND #Close_DI,PT := #Limit_Time); //限位超时IF #Open_IEC.Q THEN#HMI.#Open_Time_Out := 1;#HMI.#Open_DO := 0;
END_IF; //开阀超时输出
IF #Close_IEC.Q THEN#HMI.#Close_Time_Out := 1;#HMI.#Open_DO := 0;
END_IF; //关阀超时输出
IF #Limit_IEC.Q THEN#HMI.#Limit_Fault := 1;#HMI.#Open_DO := 0;
END_IF; //限位故障输出IF #HMI.#HMI_Rst THEN#HMI.#Fault_ALL := 0;#HMI.#Limit_Fault := 0; //复位限位故障输出#HMI.#Open_Time_Out := 0; //复位开阀超时输出#HMI.#Close_Time_Out := 0; //复位关阀超时输出
END_IF;

3.检测信号上升沿

#P_HMI_Lcl(CLK := #HMI.#HMI_Lcl);
#P_HMI_EmgManual(CLK := #HMI.#HMI_EmgManual);
#P_HMI_Pause(CLK := #HMI.#HMI_Pause);

4.手动状态显示

IF #HMI.#HMI_Manual = 1 AND NOT #HMI.#HMI_Auto AND NOT #HMI.#HMI_EmgManual AND NOT #HMI.#HMI_Pause AND NOT #HMI.#Lcl_DO THEN#HMI.#Manual_DO := 1;#HMI.#Auto_DO := 0;#HMI.#EmgManual_DO := 0;
END_IF;
//默认手动状态
IF NOT #HMI.#Auto_DO AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #HMI.#EmgManual_DO THEN#HMI.#Manual_DO := 1;#HMI.#Auto_DO := 0;#HMI.#EmgManual_DO := 0;
END_IF;

5.自动状态显示

IF #HMI.#HMI_Auto = 1 AND NOT #HMI.#HMI_Manual AND NOT #HMI.#HMI_EmgManual AND NOT #HMI.#HMI_Pause AND NOT #HMI.#Lcl_DO THEN#HMI.#Manual_DO := 0;#HMI.#Auto_DO := 1;#HMI.#EmgManual_DO := 0;
END_IF;

6.强制状态显示

IF #HMI.#HMI_EmgManual = 1 AND NOT #HMI.#HMI_Manual AND NOT #HMI.#HMI_Auto AND NOT #HMI.#HMI_Pause AND NOT #HMI.#Lcl_DO THEN#HMI.#Manual_DO := 0;#HMI.#Auto_DO := 0;#HMI.#EmgManual_DO := 1;#HMI.#HMI_Pause := 0;
END_IF;
IF #HMI.#HMI_EmgManual = 0 THEN#HMI.#EmgManual_DO := 0;
END_IF;

7.休止状态显示

IF #HMI.#HMI_Pause = 1 AND NOT #HMI.#HMI_Manual AND NOT #HMI.#HMI_Auto AND NOT #HMI.#HMI_EmgManual AND NOT #HMI.#Lcl_DO THEN#HMI.#Manual_DO := 0;#HMI.#Auto_DO := 0;#HMI.#EmgManual_DO := 0;#HMI.#Pause_DO := 1;#HMI.#HMI_EmgManual := 0;
END_IF;
IF #HMI.#HMI_Pause = 0 THEN#HMI.#Pause_DO := 0;
END_IF;

8.手动状态下开阀、关阀

IF #Ready_DI AND #HMI.#HMI_Open AND #HMI.#Manual_DO AND NOT #HMI.#HMI_Close AND NOT #HMI.#Limit_Fault AND NOT #HMI.#Open_Time_Out AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #Fault THEN#HMI.#Open_DO := 1;
END_IF;
IF #Ready_DI AND #HMI.#HMI_Close AND #HMI.#Manual_DO AND NOT #HMI.#HMI_Open AND NOT #HMI.#Limit_Fault AND NOT #HMI.#Close_Time_Out AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #Fault THEN#HMI.#Open_DO := 0;
END_IF;

9.自动状态下开阀、关阀

IF #Ready_DI AND #Auto_Open AND #HMI.#Auto_DO AND NOT #HMI.#HMI_Close AND NOT #HMI.#Limit_Fault AND NOT #HMI.#Open_Time_Out AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #Fault THEN#HMI.#Open_DO := 1;
END_IF;
IF #Ready_DI AND #Auto_Close AND #HMI.#Auto_DO AND NOT #HMI.#HMI_Open AND NOT #HMI.#Limit_Fault AND NOT #HMI.#Close_Time_Out AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #Fault THEN#HMI.#Open_DO := 0;
END_IF;

10.强制状态下开阀、关阀

IF #HMI.#EmgManual_DO AND #HMI.#HMI_Open AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #HMI.#Limit_Fault AND NOT #HMI.#Open_Time_Out AND NOT #Fault THEN#HMI.#Open_DO := 1;
END_IF;
IF #HMI.#EmgManual_DO AND #HMI.#HMI_Close AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #HMI.#Limit_Fault AND NOT #HMI.#Close_Time_Out AND NOT #Fault THEN#HMI.#Open_DO := 0;
END_IF;

11.休止状态下关阀

IF #HMI.#Pause_DO AND NOT #HMI.#HMI_Lcl AND NOT #HMI.#Lcl_DO THEN#HMI.#Open_DO := 0;
END_IF;

12.按钮互锁

IF #HMI.#HMI_Lcl AND #P_HMI_EmgManual.Q THEN#HMI.#HMI_EmgManual := 0;
END_IF;
IF #HMI.#HMI_Lcl AND #P_HMI_Pause.Q THEN#HMI.#HMI_Pause := 0;
END_IF;IF #HMI.#HMI_EmgManual AND #P_HMI_Lcl.Q THEN#HMI.#HMI_Lcl := 0;
END_IF;
IF #HMI.#HMI_EmgManual AND #P_HMI_Pause.Q THEN#HMI.#HMI_Pause := 0;
END_IF;IF #HMI.#HMI_Pause AND #P_HMI_Lcl.Q THEN#HMI.#HMI_Lcl := 0;
END_IF;
IF #HMI.#HMI_Pause AND #P_HMI_EmgManual.Q THEN#HMI.#HMI_EmgManual := 0;
END_IF;

13.按钮自复位

IF NOT "AlwaysFALSE" THEN#HMI.#HMI_Open := 0;#HMI.#HMI_Close := 0;#HMI.#HMI_Manual := 0;#HMI.#HMI_Auto := 0;#HMI.#HMI_Rst := 0;
END_IF;

三、双输出电磁阀程序编写

1.创建自定义数据类型

同单输出电磁阀。

2.创建FB功能块“双输出电磁阀”

建立如下引脚变量:
在这里插入图片描述

3.编写程序

代码如下:
1.赋值

#HMI.Ready_DI := #Ready_DI;
#HMI.Locally_DI := #Locally_DI;
#HMI.Open_DI := #Open_DI;
#HMI.Close_DI := #Close_DI;
#Open_DO := #HMI.Open_DO;
#Close_DO := #HMI.Close_DO;

2.时间转换、启动超时判断、故障复位

#HMI.#Fault_ALL := #Fault OR #HMI.#Open_Time_Out OR #HMI.#Close_Time_Out OR #HMI.#Limit_Fault; //故障赋值
#HMI.#Lcl_DO := #Locally_DI AND #HMI.#HMI_Lcl; //有就地信号,且按下机旁允许按钮,才会显示机旁允许状态#Open_Time := DINT_TO_TIME(REAL_TO_DINT(#HMI.#Open_T_Set * 1000.0)); //输入1表示1S
#Close_Time := DINT_TO_TIME(REAL_TO_DINT(#HMI.#Close_T_Set * 1000.0));#Open_IEC(IN := #HMI.#Open_DO AND NOT #HMI.#HMI_Close AND NOT #HMI.#Open_DI AND NOT #HMI.#Limit_Fault,PT := #Open_Time); //开阀延时
#Close_IEC(IN := #HMI.#Close_DO AND NOT #HMI.#HMI_Open AND NOT #HMI.#Close_DI AND NOT #HMI.#Limit_Fault,PT := #Close_Time); //关阀延时
#Limit_IEC(IN:=#HMI.#Open_DI AND #HMI.#Close_DI,PT:=#Limit_Time); //限位超时IF #Open_IEC.Q THEN#HMI.#Open_Time_Out := 1;#HMI.#Open_DO := 0;
END_IF; //开阀超时输出
IF #Close_IEC.Q THEN#HMI.#Close_Time_Out := 1;#HMI.#Close_DO := 0;
END_IF; //关阀超时输出
IF #Limit_IEC.Q THEN#HMI.#Limit_Fault := 1;#HMI.#Open_DO := 0;#HMI.#Close_DO := 0;
END_IF; //限位故障输出IF #HMI.#HMI_Rst THEN#HMI.#Fault_ALL := 0;#HMI.#Limit_Fault := 0; //复位限位故障输出#HMI.#Open_Time_Out := 0; //复位开阀超时输出#HMI.#Close_Time_Out := 0; //复位关阀超时输出
END_IF;

3.检测信号上升沿

#P_HMI_Lcl(CLK := #HMI.#HMI_Lcl);
#P_HMI_EmgManual(CLK := #HMI.#HMI_EmgManual);
#P_HMI_Pause(CLK := #HMI.#HMI_Pause);

4.手动状态显示

IF #HMI.#HMI_Manual = 1 AND NOT #HMI.#HMI_Auto AND NOT #HMI.#HMI_EmgManual AND NOT #HMI.#HMI_Pause AND NOT #HMI.#Lcl_DO THEN#HMI.#Manual_DO := 1;#HMI.#Auto_DO := 0;#HMI.#EmgManual_DO := 0;
END_IF;
//默认手动状态
IF NOT #HMI.#Auto_DO AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #HMI.#EmgManual_DO THEN#HMI.#Manual_DO := 1;#HMI.#Auto_DO := 0;#HMI.#EmgManual_DO := 0;
END_IF;

5.自动状态显示

IF #HMI.#HMI_Auto = 1 AND NOT #HMI.#HMI_Manual AND NOT #HMI.#HMI_EmgManual AND NOT #HMI.#HMI_Pause AND NOT #HMI.#Lcl_DO THEN#HMI.#Manual_DO := 0;#HMI.#Auto_DO := 1;#HMI.#EmgManual_DO := 0;
END_IF;

6.强制状态显示

IF #HMI.#HMI_EmgManual = 1 AND NOT #HMI.#HMI_Manual AND NOT #HMI.#HMI_Auto AND NOT #HMI.#HMI_Pause AND NOT #HMI.#Lcl_DO THEN#HMI.#Manual_DO := 0;#HMI.#Auto_DO := 0;#HMI.#EmgManual_DO := 1;#HMI.#HMI_Pause := 0;
END_IF;
IF #HMI.#HMI_EmgManual = 0 THEN#HMI.#EmgManual_DO := 0;
END_IF;

7.休止状态显示

IF #HMI.#HMI_Pause = 1 AND NOT #HMI.#HMI_Manual AND NOT #HMI.#HMI_Auto AND NOT #HMI.#HMI_EmgManual AND NOT #HMI.#Lcl_DO THEN#HMI.#Manual_DO := 0;#HMI.#Auto_DO := 0;#HMI.#EmgManual_DO := 0;#HMI.#Pause_DO := 1;#HMI.#HMI_EmgManual := 0;
END_IF;
IF #HMI.#HMI_Pause = 0 THEN#HMI.#Pause_DO := 0;
END_IF;

8.手动状态下开阀、关阀

IF #Ready_DI AND #HMI.#HMI_Open AND #HMI.#Manual_DO AND NOT #HMI.#HMI_Close AND NOT #HMI.#Limit_Fault AND NOT #HMI.#Open_Time_Out AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #Fault THEN#HMI.#Open_DO := 1;#HMI.#Close_DO := 0;
END_IF;
IF #Ready_DI AND #HMI.#HMI_Close AND #HMI.#Manual_DO AND NOT #HMI.#HMI_Open AND NOT #HMI.#Limit_Fault AND NOT #HMI.#Close_Time_Out AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #Fault THEN#HMI.#Open_DO := 0;#HMI.#Close_DO := 1;
END_IF;

9.自动状态下开阀、关阀

IF #Ready_DI AND #Auto_Open AND #HMI.#Auto_DO AND NOT #HMI.#HMI_Close AND NOT #HMI.#Limit_Fault AND NOT #HMI.#Open_Time_Out AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #Fault THEN#HMI.#Open_DO := 1;#HMI.#Close_DO := 0;
END_IF;
IF #Ready_DI AND #Auto_Close AND #HMI.#Auto_DO AND NOT #HMI.#HMI_Open AND NOT #HMI.#Limit_Fault AND NOT #HMI.#Close_Time_Out AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #Fault THEN#HMI.#Open_DO := 0;#HMI.#Close_DO := 1;
END_IF;

10.强制状态下开阀、关阀

IF #HMI.#EmgManual_DO AND #HMI.#HMI_Open AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #HMI.#Limit_Fault AND NOT #HMI.#Open_Time_Out AND NOT #Fault THEN#HMI.#Open_DO := 1;#HMI.#Close_DO := 0;
END_IF;
IF #HMI.#EmgManual_DO AND #HMI.#HMI_Close AND NOT #HMI.#Pause_DO AND NOT #HMI.#Lcl_DO AND NOT #HMI.#Limit_Fault AND NOT #HMI.#Close_Time_Out AND NOT #Fault THEN#HMI.#Open_DO := 0;#HMI.#Close_DO := 1;
END_IF;

11.休止状态下关阀

IF #HMI.#Pause_DO AND NOT #HMI.#HMI_Lcl AND NOT #HMI.#Lcl_DO THEN#HMI.#Open_DO := 0;#HMI.#Close_DO := 1;
END_IF;

12.开关到位后,开阀关阀不再输出

IF #HMI.#Open_DI THEN#HMI.#Open_DO := 0;
END_IF;
IF #HMI.#Close_DI THEN#HMI.#Close_DO := 0;
END_IF;

13.按钮互锁

IF #HMI.#HMI_Lcl AND #P_HMI_EmgManual.Q THEN#HMI.#HMI_EmgManual := 0;
END_IF;
IF #HMI.#HMI_Lcl AND #P_HMI_Pause.Q THEN#HMI.#HMI_Pause := 0;
END_IF;IF #HMI.#HMI_EmgManual AND #P_HMI_Lcl.Q THEN#HMI.#HMI_Lcl := 0;
END_IF;
IF #HMI.#HMI_EmgManual AND #P_HMI_Pause.Q THEN#HMI.#HMI_Pause := 0;
END_IF;IF #HMI.#HMI_Pause AND #P_HMI_Lcl.Q THEN#HMI.#HMI_Lcl := 0;
END_IF;
IF #HMI.#HMI_Pause AND #P_HMI_EmgManual.Q THEN#HMI.#HMI_EmgManual := 0;
END_IF;

14.按钮自复位

IF NOT "AlwaysFALSE" THEN#HMI.#HMI_Start := 0;#HMI.#HMI_Stop := 0;#HMI.#HMI_Manual := 0;#HMI.#HMI_Auto := 0;#HMI.#HMI_Rst := 0;
END_IF;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/746286.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【代码随想录】【二叉树】补day21:二叉搜索树的最小绝对差 、二叉搜索树中的众数 、二叉树的最近公共祖先

最小绝对差 1.申请一个数组,比较两两之间最小的差值 def getresult3(self,node:TreeNode):self.nums[]self.getMinimumDifference(node)mindifferencefloat(inf)for i in range(len(self.nums)-1):mindself.nums[i1]-self.nums[i]if mindifference>mind:mindiff…

每日一面——C++11的新特性

写前声明:参考链接 C面经、面试宝典 等 ✊✊✊每日一面——C11的新特性 一、C11有哪些新特性?二、说一说了解的Lambda函数的全部知识三、C中的NULL和nullptr的区别?四、auto、decltype和 decltype(auto)的用法五、说说C中的智能指针和指针的区…

流程控制 JAVA语言基础

任何简单或复杂的算法都可以由三种基本结构组成:顺序结构,选择结构,循环结构。 顺序结构 比较一般的结构,程序从上到下执行。 选择结构 我们从最简单的单路选择开始,符合条件的进入语句序列,不符合条件的…

virsh管理虚拟机的命令行工具

virsh是一个管理虚拟机的命令行工具,提供了丰富的命令来查看、创建、管理虚拟机。以下是一些常用的virsh命令: 查看帮助和版本: virsh --help:查看virsh命令的帮助信息。virsh -version:查看virsh的版本信息。 查看虚…

【C++map和set容器:AVL树、红黑树详解并封装实现map和set】

[本节目标] map和set底层结构 AVL树 红黑树 红黑树模拟实现STL中的map和set 1.底层结构 前面对map/multimap/set/multiset进行了简单的介绍,在其文档介绍中发现,这几个容器有个 共同点是:其底层都是按照二叉搜索树来实现的,但…

提高分类或者预测模型的准确度

模型融合(Ensemble):尝试将多个模型的预测结果进行融合,可以通过投票、加权平均等方式。这通常可以提高模型的鲁棒性和性能。 自适应学习率调整:使用自适应学习率调整方法,如AdamW中的自适应学习率&#x…

【PostgreSQL的变长字段数据超过多少会写入到TOSAST表】

通常PostgreSQL里如果一个元祖的变长字段的数据量,超过2KB,则PostgreSQL会尝试进行压缩,把元组控制在2KB之内,如果不能满足2KB之内的需求,就需要独立的toast表来存储了。 一、toast表相关的列存储参数 这个是否尝试压…

高并发缓存策略大揭秘:面试必备的缓存更新模式解析

在高并发场景中,缓存能抵挡大量数据库查询,减少数据库压力,对于缓存更新通常有以下几种模式可以选择: cache asideread/write throughwrite behind caching cache aside模式 Cache-aside模式是一种常用的用于管理缓存的模式。它…

RocketMQ学习笔记四(黑马)

课程地址: 1.Rocket第二章内容介绍_哔哩哔哩_bilibili (视频35~88,搭建了一个电商项目) 待学,待完善。

瑞_23种设计模式_策略模式

文章目录 1 策略模式(Strategy Pattern)★1.1 介绍1.2 概述1.3 策略模式的结构1.4 策略模式的优缺点1.5 策略模式的使用场景 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK源码解析(Comparator) &#x1f64a…

mysql中用逗号隔开的某字段,如何判断其他表的字段值是否在这个字段中

因为要增加需求,需要将线上表中老数据,修改为新数据的规则。 线上两张表,sequence_number中is_use有3作废、2到期状态,需要根据这个状态和school_ai_authorization中的is_deleted修改新增的state字段。 sequence_number表结构&…

温暖如初春:新生儿脸红小贴士

引言: 新生儿脸红是许多父母热切期待的瞬间之一。这种可爱的现象不仅令人陶醉,还可能是宝宝良好健康的标志。然而,在欣喜之余,父母也需要留意脸红背后的可能原因和注意事项,以确保宝宝的舒适和健康。 1. 探寻原因&…

通天星CMSV6 车载视频监控平台 信息泄露漏洞

漏洞描述 通天星CMSV6车载视频监控平台 StandardLoginAction getAlser.acion接口处存在信息泄露漏洞 fofa语句 body"/808gps/" 漏洞复现 打开页面 构造payload POST /808gps/StandardLoginAction_getAllUser.action HTTP/1.1 Host: User-Agent: Mozilla/5.0 (…

ASP.NET区域检验云LIS平台源码 标本全生命周期管理

目录 一、云LIS系统功能亮点 二、收费项目管理 三、检验项目管理 系统功能 云LIS系统源码是一款全面的实验室信息管理系统源码,其主要功能包括样本管理、检测项目管理、质控管理、报告管理、数据分析、两癌筛查等多个方面。具有独立的配套SaaS模式运维管理系统&…

轻量级内网穿透服务-nps

1. NPS概述: NPS(内网穿透代理服务器)是一款由TalentYoung开发的轻量级、高性能的内网穿透代理服务器。它的设计目标是简单易用、功能强大,可以帮助用户在公网上访问内网服务。 NPS支持TCP、UDP、HTTP等多种协议,并提…

翻转时钟效果

时分秒三个部分结构功能完全一致&#xff0c;均有四块构成&#xff0c;上下各两块。 正面可见&#xff0c;背面不可见&#xff0c;同时需要调整翻转过程中的z-index。 初始状态card2为已经翻转状态。 calendar.html <!DOCTYPE html> <html lang"en">&…

非常有用的Python 20个单行代码

有用的 Python 单行代码片段&#xff0c;只需一行代码即可解决特定编码问题&#xff01; 在本文中&#xff0c;云朵君将分享20 个 Python 一行代码&#xff0c;你可以在 30 秒或更短的时间内轻松学习它们。这种单行代码将节省你的时间&#xff0c;并使你的代码看起来更干净且易…

H5 带网站测速引导页源码

源码名称&#xff1a;带网站测速引导页源码 源码介绍&#xff1a;一款带网站测速功能的引导页源码 需求环境&#xff1a;H5 下载地址&#xff1a; https://www.changyouzuhao.cn/10717.html

H5 机器人插件官网源码

源码名称&#xff1a;机器人插件官网源码 源码介绍&#xff1a;一款H5自适应机器人插件官网源码&#xff0c;可自行修改用于各种机器人插件官网。 需求环境&#xff1a;H5 下载地址&#xff1a; https://www.changyouzuhao.cn/10774.html

基于单片机的直流电机调速系统设计

摘 要 在电子机械行业快速发展的今天&#xff0c;各类电子机械类产品以飞快的步伐进入到人们的视野中。为人们的生活带来极大的便利。同时也以各种不同的方式解放着生产力。在这些电子机械领域&#xff0c;电机无疑占着举足轻重的位置。现在各类工厂里的自动化生产线&#xff…