当前位置: 首页 > news >正文

【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&#xff1a;配置IBGP和EBGP 实验目的 熟悉IBGP和EBGP的应用场景掌握IBGP和EBGP的配置方法 实验拓扑 实验拓扑如图5-1所示&#xff1a; 图5-1&#xff1a;配置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一般的多重继承&#xff08;非菱形继承&#xff09; 5.2…...

[答疑]经营困难时期谈建模和伪创新-长点心和长点良心

leonll 2022-11-26 9:53 我们今年真是太难了……&#xff08;此处删除若干字&#xff09;……去年底就想着邀请您来给我们讲课&#xff0c;现在也没有实行。我想再和我们老大提&#xff0c;您觉得怎么说个关键理由&#xff0c;这样的形势合适引进UML开发流程&#xff1f; UML…...

计算机基础知识

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

Java爬虫—WebMagic

一&#xff0c;WebMagic介绍WebMagic企业开发&#xff0c;比HttpClient和JSoup更方便一&#xff09;&#xff0c;WebMagic架构介绍WebMagic有DownLoad&#xff0c;PageProcessor&#xff0c;Schedule&#xff0c;Pipeline四大组件&#xff0c;并有Spider将他们组织起来&#xf…...

[软件工程导论(第六版)]第2章 可行性研究(复习笔记)

文章目录2.1 可行性研究的任务2.2 可行性研究过程2.3 系统流程图2.4 数据流图概念2.5 数据字典2.6 成本/效益分析2.1 可行性研究的任务 可行性研究的目的 用最小的代价在尽可能短的时间内确定问题是否能够解决。 可行性研究的3个方面 &#xff08;1&#xff09;技术可行性&…...

Mac下安装Tomcat以及IDEA中的配置

安装brew 打开终端输入以下命令&#xff1a; /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 搜索tomcat版本&#xff0c;输入以下命令&#xff1a; brew search tomcat 安装自己想要的版本&#xff0c;例…...

【Linux详解】——文件基础(I/O、文件描述符、重定向、缓冲区)

&#x1f4d6; 前言&#xff1a;本期介绍文件基础I/O。 目录&#x1f552; 1. 文件回顾&#x1f558; 1.1 基本概念&#x1f558; 1.2 C语言文件操作&#x1f564; 1.2.1 概述&#x1f564; 1.2.2 实操&#x1f564; 1.2.3 OS接口open的使用&#xff08;比特位标记&#xff09;…...

HomMat2d

1.affine_trans_region&#xff08;区域的任意变换&#xff09; 2.hom_mat2d_identity&#xff08;创建二位变换矩阵&#xff09; 3.hom_mat2d_translate&#xff08;平移&#xff09; 4.hom_mat2d_scale&#xff08;缩放&#xff09; 5.hom_mat2d_rotate&#xff08;旋转 &…...

Python3 JSON 数据解析

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

Homebrew 安装遇到的问题

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

Metasploit框架基础(二)

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

c++容器

1、vector容器 1.1性质 a&#xff09;该容器的数据结构和数组相似&#xff0c;被称为单端数组。 b&#xff09;在存储数据时不是在原有空间上往后拓展&#xff0c;而是找到一个新的空间&#xff0c;将原数据深拷贝到新空间&#xff0c;释放原空间。该过程被称为动态拓展。 vec…...

Vue.js如何实现对一千张图片进行分页加载?

目录 vue处理一千张图片进行分页加载 分页加载、懒加载---概念介绍&#xff1a; 思路&#xff1a; 开发过程中&#xff0c;如果后端一次性返回你1000多条图片或数据&#xff0c;那我们前端应该怎么用什么思路去更好的渲染呢&#xff1f; 第一种&#xff1a;我们可以使用分页…...

计算机网络复习(六)

考点&#xff1a;MIME及其编码&#xff08;base64,quoted-printable)网络协议http是基于什么协议&#xff0c;应用层到网络层基于什么协议6-27.试将数据 11001100 10000001 00111000 进行 base64 编码&#xff0c;并得到最后传输的 ASCII 数据。答&#xff1a;先将 24 比特的二…...

Redis进阶:布隆过滤器(Bloom Filter)及误判率数学推导

1 缘起 有一次偶然间听到有同事在说某个项目中使用了布隆过滤器&#xff0c; 哎呦&#xff0c;我去&#xff0c;我竟然不知道啥是布隆过滤器&#xff0c; 这我哪能忍&#xff1f;其实&#xff0c;也可以忍&#xff0c;但是&#xff0c;可能有的面试官不能忍&#xff01;&#…...

Java创建对象的方式

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

dom基本操作

1、style修改样式 基本语法&#xff1a; 元素.style.样式’值‘ 注意: 1.修改样式通过style属性引出 2.如果属性有-连接符&#xff0c;需要转换为小驼峰命名法 3.赋值的时候&#xff0c;需要的时候不要忘记加css单位 4.后面的值必须是字符串 <div></div> // 1、…...

如何将python训练的XGBoost模型部署在C++环境推理

当前环境&#xff1a;Ubuntu&#xff0c;xgboost1.7.4过程介绍&#xff1a;首先用python训练XGBoost模型&#xff0c;在训练完成后注意使用xgb_model.save_model(checkpoint.model)进行模型的保存。找到xgboost的动态链接库和头文件动态链接库&#xff1a;如果你在conda环境下面…...

About Oracle Database Performance Method

bottleneck&#xff08;瓶颈&#xff09;&#xff1a; a point where resource contention is highest throughput(吞吐量)&#xff1a; the amount of work that can be completed in a specified time. response time (响应时间)&#xff1a; the time to complete a spec…...

JavaScript 日期和时间的格式化大汇总(收集)

一、日期和时间的格式化 1、原生方法 1.1、使用 toLocaleString 方法 Date 对象有一个 toLocaleString 方法&#xff0c;该方法可以根据本地时间和地区设置格式化日期时间。例如&#xff1a; const date new Date(); console.log(date.toLocaleString(en-US, { timeZone: …...

【Python】缺失值可视化工具库:missingno

文章目录一、前言二、下载二、使用介绍2.1 绘制缺失值条形图2.2 绘制缺失值热力图2.3 缺失值树状图三、参考资料一、前言 在我们进行机器学习或者深度学习的时候&#xff0c;我们经常会遇到需要处理数据集缺失值的情况&#xff0c;那么如何可视化数据集的缺失情况呢&#xff1…...

【代码随想录二刷】Day18-二叉树-C++

代码随想录二刷Day18 今日任务 513.找树左下角的值 112.路径总和 113.路径总和ii 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树 语言&#xff1a;C 513.找树左下角的值 链接&#xff1a;https://leetcode.cn/problems/find-bottom-left-tree-va…...

制造业的云ERP在外网怎么访问?内网服务器一步映射到公网

随着企业信息化、智能化时代的到来&#xff0c;很多制造业企业都在用云ERP。用友U 9cloud通过双版本公有云专属、私有云订阅、传统软件购买三种模式满足众多制造业企业的需求&#xff0c;成为一款适配中型及中大型制造业的云ERP&#xff0c;是企业数智制造的创新平台。 用友U 9…...

zookeeper 复习 ---- 练习

zookeeper 复习 ---- 练习在同一节点配置三个 zookeeper&#xff0c;配置正确的是&#xff1f; A&#xff1a; zoo1.cfg tickTime2000 initLimit5 syncLimit2 dataDir/var/lib/zookeeper/zoo1 clientPort2181 server.1localhost:2666:3666 server.2localhost:2667:3667 serv…...

2023年全国最新道路运输从业人员精选真题及答案1

百分百题库提供道路运输安全员考试试题、道路运输从业人员考试预测题、道路安全员考试真题、道路运输从业人员证考试题库等&#xff0c;提供在线做题刷题&#xff0c;在线模拟考试&#xff0c;助你考试轻松过关。 11.在以下选项中关于安全生产管理方针描述正确的是&#xff08;…...

Java每日一练——Java简介与基础练习

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 文章目录 目录 系列文章目录 文章目录 前言 一、简述解释型语言与编译型语言 二、Java语言的执行流程 2.1、…...

解决Edge浏览器主页被篡改问题,或许可以帮你彻底解决

问题描述&#xff1a; 之前从一个第三方网站下载了一个不知名软件&#xff0c;接着电脑就各种下载360全家桶之类的软件&#xff0c;后来问题解决了&#xff0c;但是还残留了一些问题&#xff0c;前几天发现edge浏览器的主页被改成了360导航&#xff0c;就是那个该死的hao123&a…...

字符设备驱动基础(一)

目录 一、Linux内核对设备的分类 linux的文件种类&#xff1a; Linux内核按驱动程序实现模型框架的不同&#xff0c;将设备分为三类&#xff1a; 总体框架图&#xff1a; 二、设备号------内核中同类设备的区分 三、申请和注销设备号 四、函数指针复习 4.1、 内存四区 …...

英文企业网站建设/网站外链优化方法

原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处、作者信息和本声明。否则将追究法律责任。http://caoyameng.blog.51cto.com/4975863/1359732运维自动化是2010年开始炒得很热的一个概念&#xff0c;也让很多工程师、用人单位瞎激动了很久…...

wp网站怎么用插件做html网页/济南优化网站关键词

直接把下面代码复制到你要填写的url地址 <?php //定义常量token define(TOKEN,weixin); //检查标签function checkSignature(){//先获取到这三个参数$signature $_GET[signature]; $nonce $_GET[nonce]; $timestamp $_GET[timestamp]; //把这三个参数存到一个数组里面…...

蚌埠网站建设电话/百度知道入口

#include<stdio.h> //输出数组arr的数据 void Show(int arr[],int len) {for(int i0;i<len;i){printf("%d ",arr[i]);}printf("\n"); }//计算前缀和的方法1 void PreSum1(int arr[],int len)//arr是数组名,len是数组的长度 {//int brr[len];//err…...

买了域名后怎么建网站/竞价网络推广培训

当使用Qt进行开发时&#xff0c;qmake是一个非常常见的构建工具&#xff0c;可以通过一个简单的文本文件(.pro)来自动生成Makefiles文件&#xff0c;并将您需要的库和依赖项连接到最终生成的二进制文件中。以下是一些常见的、适用于初级程序员的qmake规则: SOURCES&#xff1a…...

自学做网站多久/商务网站如何推广

内存泄漏 memory leak 申请内存后&#xff0c;无法释放 内存溢出 out of memory 申请内存时&#xff0c;空间不够 关系 内存泄漏的堆积最终会导致内存溢出...

网站开发 技术路线/seo对各类网站的作用

很可能是因为来自DataInputStream的弃用方法readLine()。正如其注释中所述此方法无法将字节正确转换为字符。从JDK 1.1开始&#xff0c;读取文本行的首选方法是通过BufferedReader.readLine()方法。使用DataInputStream类读取行的程序可以通过替换表单的代码转换为使用Buffered…...