提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、问题分析:
  • 二、模拟运行
  • 三、还有没有更简单的

前言

PLC 面试经典题目,一键启动功能:单个按钮按下一次控制灯亮起,再次按下按钮控制灯熄灭,如何实现?如何利用最少的组件实现?


一、问题分析:

一键启停是开放性的题目,可能的解法很多,每个人都有不同的理解,可以试下自己的想法。

下面介绍个人解法,仅供参考:
将问题实现为按钮控制灯熄灭的实际问题,
首先通过分析下这个问题过程看在这个过程中按钮经历了几种状态,然后再分析下灯经历了几种状态:

  1. 按钮按下:灯点亮
  2. 按钮松开:灯继续亮
  3. 按钮再次按下:灯熄灭
  4. 按钮再次松开:灯熄灭

分析后发现,在这个过程中按钮经历了四次状态变化,而灯经历了两种状态变化,而在按钮状态变化的上下阶段又是相互关联的,通过按钮的状态变化阶段我们可以分别实现:

  1. 第一阶段:按钮按下:灯点亮

状态表示,有功能输出:将按钮按下状态输出到灯打开状态

阶段关联:优化程序段1,在按钮松开时灯能够保持常亮,利用灯状态将灯状态保持:


2. 第二阶段:按钮松开:灯继续亮:

状态表示:通过分析第二阶段,基作为第1阶段与第三阶段之间的桥接,在第三阶段再次按下时其中间必定是有关联的,没有第二阶段按钮松开第三阶段就不可能实现,换言之第二阶段的状态我们也需要表示出来,其状态是按钮松开状态和灯常亮,通过取M点的状态表示出来,并且在按钮状态改变时能够保持:

  1. 第三阶段: 按钮再次按下:灯熄灭:

状态表示: 在第三阶段下按钮是按下状态,且加上第二阶段状态,输出为中间寄存器点位%M1.2,如下:

阶段关联:

  1. 打破第一阶段,灯熄灭:在第三阶段还需要实现功能输出:将灯熄灭,我们查看下灯点亮状态程序,需要将灯状态保持打破,所以优化第一阶段代码:
  2. 通过打破第一阶段同时将第二阶段状态复位
  1. 第四阶段: 按钮再次按下:灯熄灭:

状态表示: 在第四阶段的状态就是所有触点都复位到最初状态,分析以上阶段,只剩下第三阶段状态
按钮松开,解除第三种状态:通过分析第三阶段程序,将按钮常开触点加入到保持线路中,当按钮松开后,第三种状态自动复位,在第四阶段之后,所有状态又回复到最初的状态;

二、模拟运行

初始阶段:

  1. 第一阶段:按钮按下:灯点亮

  2. 第二阶段:按钮松开:灯继续亮:

  3. 第三阶段: 按钮再次按下:灯熄灭:

  4. 第四阶段: 按钮再次按下:灯熄灭:


三、还有没有更简单的

如果你有更好的想法,不妨试试,多动手总是有好处的,谢谢观看!

特斯拉面试,工控经典PLC题目:一键启动功能实现解法分析,少个坑,给自己多个机会相关推荐

  1. 工控软件/PLC的信息远传的简单解决方案

    工控软件/PLC的信息远传的简单解决方案 针对现在的物联网趋势,很多小伙伴想迈出工控信息远传这一步,但是又会出于对软件行业的陌生而望而却步.本人有10年工控经验以及物联网平台开发.对接经验,这里分享一 ...

  2. 工控安全PLC固件逆向三

    之前我们详细分析了bootram和Vxworks的基本启动流程,这篇文章中我们把视线转到plc的网络部分,同时来复现我们第一个.第二个工控安全漏洞. 一.VxWorks的网络设备驱动 一般我们说有三种 ...

  3. 1、零基础学工控——初识plc

    ☞☞☞点击查看更多优秀工控PLC博客☜☜☜ 大家好我是你们的朋友JamesBin,从今天开始我们将一起学习西门子的PLC这个自动化工具,这节课就让我们来一起看看什么是PLC吧! 初识plc 什么是PL ...

  4. 工控安全PLC固件逆向一

    在工控领域,我们会遇到许多协议,为了进行安全研究,经常需要对协议的具体内容进行探索,今天我们就来聊聊关于工控协议逆向的问题. 接下来会简单介绍一下常用的协议逆向方法并配合一些实战,当然,从未知到已知的 ...

  5. 对于大量工控软件,IFIX 组态王等的深层解密分析,曲线

    mcgs6.2通用网路版破解(经典)  开物2000破解(经典)  力控3.62组态软件完全破解  力控5.0破解  世纪星7.10破解(经典) ifix40授权解密2228年  InTouch9.0 ...

  6. 工控安全要避开传统IT安全思路的几个“暗坑”

    很多人都在讲工控系统安全与互联网安全或者办公网的安全又很大的不同. 具体有哪些不同呢? 其实NIST的SP800-82的工控系统安全指南里面讲了10大类. 作为目前我们看到的比较系统的工控系统安全的标 ...

  7. 嵌入式C语言方面面试、笔试经典问题/题目

    转自:https://blog.csdn.net/ffmxnjm/article/details/51519976:感谢博主:ffmxnjm整理 第一部分:基本概念及其它问答题 3 1.关键字stat ...

  8. 工控系统设计(八)组态功能开发

    八.组态功能开发 如果要做出一款通用.功能强大的组态软件,那需要的人力物力必定是巨大的.但如果实现组态软件最核心.最常用的功能,则不是一件困难的事情. 组态功能,无非是一种数据的展示和控制方式.通过拖 ...

  9. JamesBin专属工控PLC博客导航

    hello大家好,我是你们的朋友JamesBin,这篇文章主要是为了给大家进行博客导航的,方便大家的查找,下面是博客的全部连接,当然博客还在持续更新中,我会把最新的博客放到本博客中,希望大家能够关注我 ...

最新文章

  1. 重磅!教育部:不得将发论文和物质奖励挂钩,防止高额奖励论文
  2. sqlu8多阶级层次bom_男性比女性多3164万:性别比例失衡,为何还有那么多剩女?...
  3. FoxPro 常用内部函数
  4. no acceptable C compiler found in $PATH
  5. mysql的分库分表
  6. 主题:的中间层框架 第一节
  7. 小android模拟器,小姚Android模拟器工作室版本v6.2.7.0正式版
  8. Everyday is an Opportunity
  9. 智慧交通day02-车流量检测实现01:总览
  10. python docs库_python库之_thread
  11. android开发 方式有哪些,Android开发从入门到精通
  12. 简记:我的Scala学习之路
  13. python 微信模块_Python实现清理微信僵尸粉功能示例【基于itchat模块】
  14. java list随机取_java list随机抽取元素的案例
  15. 【渝粤教育】电大中专电商运营实操 (24)作业 题库
  16. ⅰsee是什么意思_see是什么意思
  17. odoo16外部api接口
  18. 用Python制作好玩的小游戏
  19. P2916 [USACO08NOV]Cheering up the Cow G 题解
  20. docker国内镜像加速配置

热门文章

  1. 一份关于IT学子的2020年度报告
  2. Laravel结合wangEditor3富文本编辑器实现文章发布、多图片上传
  3. 色盲测试,没人能过6关!
  4. C语言经典100例---实例九:输出国际象棋棋盘
  5. 论做游戏外挂,Python 输过谁?
  6. 出售视频聊天室源码 功能类似 YY 齐秀
  7. 【sql注入教程】SQL注入是什么?我们如何去玩转它
  8. 求两点之间的距离(C++语言)
  9. Nissi商城首页(一):仿唯品会的自定义头部导航栏(完美)
  10. 向量空间模型(VSM)算法