【SCL】1200案例:天塔之光数码管显示液体混合水塔水位
使用scl编写天塔之光&数码管显示&液体混合&水塔水位
文章目录
目录
文章目录
前言
一、案例1:天塔之光
1.控制要求
2.编写程序
3.效果
二、案例2:液体混合
1.控制要求
2.编写程序
三、案例3:数码管显示
1.控制要求
2.编写程序
3.效果
四、案例4:水塔水位
1.控制要求
2.编写程序
总结
前言
这里将剩余的四个小案例:天塔之光&数码管显示&液体混合&水塔水位,写在这里,比较简单易懂,大家可以自己编写一下!
一、案例1:天塔之光
1.控制要求
按下启动按钮,L10 亮 0.5S 后灭→L9 亮 0.5S 后灭→L1 亮 0.5S 后灭→L2、L3、L4、L5
亮 0.5S 后灭→L6、L7、L8、L9 亮 0.5S 后灭→L10 亮 0.5S 后灭,以此循环下去.........
按下停止,全部灯灭
2.编写程序
这一个比较简单,我们继续使用脉冲和case语句就可以啦!
//停止
IF #OFF THEN#S := 0;#ZJ1 := 0;#ZJ2 := 0;#L1 := 0;#L2 := 0;#L3 := 0;#L4 := 0;#L5 := 0;#L6 := 0;#L7 := 0;#L8 := 0;#L9 := 0;#L10 := 0;
END_IF;//定时器
#T[0].TON(IN := #ZJ1 & NOT #ZJ2,PT := T#1s,Q => #ZJ2);IF #ZJ1 THEN#P[0](CLK := #ZJ2);
END_IF;
IF #P[0].Q THEN#S := #S + 1;
END_IF;//启动接通中继
IF #ON THEN#ZJ1 := 1;#L10 := 1;
END_IF;//指示灯运行部分
CASE #S OF1:#L10 := 0;#L9 := 1;2:#L9 := 0;#L1 := 1;3:#L1 := 0;#L2 := 1;#L3 := 1;#L4 := 1;#L5 := 1;4:#L2 := 0;#L3 := 0;#L4 := 0;#L5 := 0;#L6 := 1;#L7 := 1;#L8 := 1;#L9 := 1;5:#L6 := 0;#L7 := 0;#L8 := 0;#L9 := 0;#L10 := 1;6:#L10 := 0;#S := 1;
END_CASE;
3.效果
二、案例2:液体混合
1.控制要求
S1、S2、S3 为液面传感器,液体 1、2 阀门与混合液阀门由电磁阀 Y1、Y2、Y3 控制,
M 为搅动电机,控制要求如下:
按下启动按钮, 液体 Y1 阀门打开,液体 1 流入容器。当液面到达 S2 时,Y2 接通,关
闭液体 1 阀门,打开液体 Y2 阀门。液面到达 S1 时,关闭液体 Y2 阀门,搅动电机 M 开始
搅动。搅动电机工作 6 秒后停止搅动,混合液体阀门 Y3 打开,开始放出混合液体。当液面
下降到 S3 时,再过 2 秒后,容器放空,混合液阀门关闭,开始下一周期。
按下停止按钮,停止操作。
2.编写程序
这个也是可以用case语句来完成的!
//停止按钮
IF #OFF THEN#Y1 := 0;#Y2 := 0;#Y3 := 0;#M := 0;#BSF1 := 0;#BSF2 := 0;#X := 0;
END_IF;//两个定时器
#T[0].TON(IN := #BSF1,PT := T#6s);
#T[1].TON(IN := #BSF2,PT := T#2s);//流程步
CASE #X OF0:IF #ON THEN#X := 1;END_IF;1:#Y1 := 1;IF #S2 THEN#Y1 := 0;#Y2 := 1;#X := 2;END_IF;2:IF #S1 THEN#Y2 := 0;#M := 1;#BSF1 := 1;#X := 3;END_IF;3:IF #T[0].Q THEN#M := 0;#BSF1 := 0;#Y3 := 1;#X := 4;END_IF;4:IF #S3 THEN#BSF2 := 1;#X := 5;END_IF;5:IF #T[1].Q THEN#Y3 := 0;#X := 6;END_IF;6:#BSF1 := 0;#BSF2 := 0;#X := 1;
END_CASE;
三、案例3:数码管显示
1.控制要求
按下开关 ON,LED 灯显示 1→2→3→4→5→6→7→8→9→0→1→2......依次循环下去,
按下开关 OFF,灯全灭。
2.编写程序
以数字1来举例,只要f,e 得电,就显示数字1,那么后面的数字都是用相应的字母的灯表示就可以啦!
IF #OFF THEN#a := 0;#b := 0;#c := 0;#d := 0;#e := 0;#f := 0;#g := 0;#h := 0;#KS1 := 0;#K := 0;
END_IF;#T.TON(IN := #KS1 & NOT #SC1,PT := T#1s,Q => #SC1);
#P(CLK := #SC1);
IF #P.Q THEN#K := #K + 1;
END_IF;CASE #K OF0:IF #ON THEN //数字1#KS1 := 1;#f := 1;#e := 1;END_IF;1: //灭1亮2#f := 0;#e := 0;#a := 1;#b := 1;#g := 1;#e := 1;#d := 1;2: //灭2亮3#a := 0;#b := 0;#g := 0;#e := 0;#d := 0;#a := 1;#b := 1;#g := 1;#c := 1;#d := 1;3: //灭3亮4#a := 0;#b := 0;#g := 0;#c := 0;#d := 0;#f := 1;#g := 1;#b := 1;#c := 1;4:#f := 0;#g := 0;#b := 0;#c := 0;#a := 1;#f := 1;#g := 1;#c := 1;#d := 1;5:#a := 0;#f := 0;#g := 0;#c := 0;#d := 0;#a := 1;#f := 1;#g := 1;#c := 1;#d := 1;#e := 1;6:#a := 0;#f := 0;#g := 0;#c := 0;#d := 0;#e := 0;#a := 1;#b := 1;#c := 1;7:#a := 0;#b := 0;#c := 0;#a := 1;#b := 1;#c := 1;#d := 1;#e := 1;#f := 1;#g := 1;8:#a := 0;#b := 0;#c := 0;#d := 0;#e := 0;#f := 0;#g := 0;#a := 1;#b := 1;#c := 1;#d := 1;#f := 1;#g := 1;9:#a := 0;#b := 0;#c := 0;#d := 0;#f := 0;#g := 0;#a := 1;#f := 1;#e := 1;#d := 1;#c := 1;#b := 1;10:#a := 0;#f := 0;#e := 0;#d := 0;#c := 0;#b := 0;11:#f := 1;#e := 1;12:#K := 1;
END_CASE;
3.效果
四、案例4:水塔水位
1.控制要求
当水池水位低于水池低水位界(S4 为 OFF 表示),阀 Y 打开进水(Y 为 ON)定时器
开始定时,5 秒后,如果 S4 还不为 ON,那么阀 Y 指示灯闪烁,表示阀 Y 没有进水,出现
故障。
S3 为 ON 后,阀 Y 关闭(Y 为 OFF)。当 S4 为 ON 时,且水塔水位低于水塔低水位界
时 S2 为 OFF,电机 M 运转抽水。当水塔水位高于水塔高水位界时 S1 为 ON 电机 M 停止。
2.编写程序
IF #OFF THEN#BZ1 := 0;#BZ2 := 0;#BZ3 := 0;#M := 0;#P := 0;
END_IF;#Y := #BZ2 OR #BZ3 & "Clock_1Hz" ;#T[1].TON(IN := #BZ2,PT := T#3s);IF #ON THEN#BZ1 := 1;#BZ2 := 0;#BZ3 := 0;#M := 0;
END_IF;CASE #P OF0:IF #BZ1 THEN#P := 1;END_IF;1:IF #S4 = 0 THEN#BZ2 := 1;END_IF;IF #T[1].Q & #S4 = 0 THEN#BZ2 := 0;#BZ3 := 1;#P := 2;END_IF;2:IF #S3 THEN#BZ3 := 0;#BZ2 := 0;#P := 3;END_IF;3:IF #S4 & #S2 = 0 THEN#M := 1;#P := 4;END_IF;4:IF #S1 THEN#M := 0;#P := 5;END_IF;5:#BZ2 := 0;#BZ3 := 0;#M := 0;#P := 0;#P := 0;
END_CASE;
总结
上面就是这四个小案例的所有内容啦!
相关文章:

【SCL】1200案例:天塔之光数码管显示液体混合水塔水位
使用scl编写天塔之光&数码管显示&液体混合&水塔水位 文章目录 目录 文章目录 前言 一、案例1:天塔之光 1.控制要求 2.编写程序 3.效果 二、案例2:液体混合 1.控制要求 2.编写程序 三、案例3:数码管显示 1.控制要求 2.编写程序 3…...

5.1配置IBGP和EBGP
5.2.1实验1:配置IBGP和EBGP 实验目的 熟悉IBGP和EBGP的应用场景掌握IBGP和EBGP的配置方法 实验拓扑 实验拓扑如图5-1所示: 图5-1:配置IBGP和EBGP 实验步骤 IP地址的配置 R1的配置 <Huawei>system-view Enter system view, return …...

c++中超级详细的一些知识,新手快来
目录 2.文章内容简介 3.理解虚函数表 3.1.多态与虚表 3.2.使用指针访问虚表 4.对象模型概述 4.1.简单对象模型 4.2.表格驱动模型 4.3.非继承下的C对象模型 5.继承下的C对象模型 5.1.单继承 5.2.多继承 5.2.1一般的多重继承(非菱形继承) 5.2…...

[答疑]经营困难时期谈建模和伪创新-长点心和长点良心
leonll 2022-11-26 9:53 我们今年真是太难了……(此处删除若干字)……去年底就想着邀请您来给我们讲课,现在也没有实行。我想再和我们老大提,您觉得怎么说个关键理由,这样的形势合适引进UML开发流程? UML…...

计算机基础知识
计算机网络的拓扑结构 一、OSI 7层网络模型是指什么? 7层分别是什么?每层的作用是什么? OSI7层模型是 国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。 每层功能:(自底向上) 物理层:建立、…...

Java爬虫—WebMagic
一,WebMagic介绍WebMagic企业开发,比HttpClient和JSoup更方便一),WebMagic架构介绍WebMagic有DownLoad,PageProcessor,Schedule,Pipeline四大组件,并有Spider将他们组织起来…...

[软件工程导论(第六版)]第2章 可行性研究(复习笔记)
文章目录2.1 可行性研究的任务2.2 可行性研究过程2.3 系统流程图2.4 数据流图概念2.5 数据字典2.6 成本/效益分析2.1 可行性研究的任务 可行性研究的目的 用最小的代价在尽可能短的时间内确定问题是否能够解决。 可行性研究的3个方面 (1)技术可行性&…...

Mac下安装Tomcat以及IDEA中的配置
安装brew 打开终端输入以下命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 搜索tomcat版本,输入以下命令: brew search tomcat 安装自己想要的版本,例…...

【Linux详解】——文件基础(I/O、文件描述符、重定向、缓冲区)
📖 前言:本期介绍文件基础I/O。 目录🕒 1. 文件回顾🕘 1.1 基本概念🕘 1.2 C语言文件操作🕤 1.2.1 概述🕤 1.2.2 实操🕤 1.2.3 OS接口open的使用(比特位标记)…...
HomMat2d
1.affine_trans_region(区域的任意变换) 2.hom_mat2d_identity(创建二位变换矩阵) 3.hom_mat2d_translate(平移) 4.hom_mat2d_scale(缩放) 5.hom_mat2d_rotate(旋转 &…...

Python3 JSON 数据解析
Python3 JSON 数据解析 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。 Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数: json.dumps(): 对数据进行编码。json.loads(): 对数据进行解码。 在 json 的编解码…...

Homebrew 安装遇到的问题
Homebrew 安装遇到的问题 例如:第一章 Python 机器学习入门之pandas的使用 文章目录Homebrew 安装遇到的问题前言一、安装二、遇到的问题1.提示 zsh: command not found: brew三、解决问题前言 使用 Homebrew 能够 安装 Apple(或您的 Linux 系统&#…...

Metasploit框架基础(二)
文章目录前言一、Meatsplooit的架构二、目录结构datadocumentationlibmodulesplugins三、Measploit模块四、Metasploit的使用前言 Metasploit是用ruby语言开发的,所以你打开软件目录,会发现很多.rb结尾的文件。ruby是一门OOP的语言。 一、Meatsplooit的…...

c++容器
1、vector容器 1.1性质 a)该容器的数据结构和数组相似,被称为单端数组。 b)在存储数据时不是在原有空间上往后拓展,而是找到一个新的空间,将原数据深拷贝到新空间,释放原空间。该过程被称为动态拓展。 vec…...
Vue.js如何实现对一千张图片进行分页加载?
目录 vue处理一千张图片进行分页加载 分页加载、懒加载---概念介绍: 思路: 开发过程中,如果后端一次性返回你1000多条图片或数据,那我们前端应该怎么用什么思路去更好的渲染呢? 第一种:我们可以使用分页…...
计算机网络复习(六)
考点:MIME及其编码(base64,quoted-printable)网络协议http是基于什么协议,应用层到网络层基于什么协议6-27.试将数据 11001100 10000001 00111000 进行 base64 编码,并得到最后传输的 ASCII 数据。答:先将 24 比特的二…...

Redis进阶:布隆过滤器(Bloom Filter)及误判率数学推导
1 缘起 有一次偶然间听到有同事在说某个项目中使用了布隆过滤器, 哎呦,我去,我竟然不知道啥是布隆过滤器, 这我哪能忍?其实,也可以忍,但是,可能有的面试官不能忍!&#…...

Java创建对象的方式
Java创建对象的五种方式: (1)使用new关键字 (2)使用Object类的clone方法 (3)使用Class类的newInstance方法 (4)使用Constructor类中的newInstance方法 (5&am…...

dom基本操作
1、style修改样式 基本语法: 元素.style.样式’值‘ 注意: 1.修改样式通过style属性引出 2.如果属性有-连接符,需要转换为小驼峰命名法 3.赋值的时候,需要的时候不要忘记加css单位 4.后面的值必须是字符串 <div></div> // 1、…...
如何将python训练的XGBoost模型部署在C++环境推理
当前环境:Ubuntu,xgboost1.7.4过程介绍:首先用python训练XGBoost模型,在训练完成后注意使用xgb_model.save_model(checkpoint.model)进行模型的保存。找到xgboost的动态链接库和头文件动态链接库:如果你在conda环境下面…...

工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...