逻辑设计法:数字电路在PLC编程中的体现
2021.11.07
——
参考文献
[1]罗庚兴.浅谈用PLC改造继电器控制系统的方法.煤矿机械,2006,27(7):159-161.
[2]清华大学电子学教研组. 数字电子技术基础简明教程[M]. 第三版. 北京:高等教育出版社, 2006.
1逻辑代数
在提到一般教科书都会记载,但实际上较少使用的逻辑设计法之前,有必要先回顾一下贯穿整本数电课本的逻辑代数(Logic
Algebra)这一知识点。
逻辑代数,或称布尔代数(Bool Algebra),是按一定的逻辑关系进行运算的代数,其基本逻辑运算有与(AND)、或(OR)、非(NOT)。
- 与运算: Y=A⋅BY=A·BY=A⋅B
- 或运算: Y=A+BY=A+BY=A+B
- 非运算: Y=A‾Y=\overline{A}Y=A
在逻辑代数中,使用英文字母表示变量,称为逻辑变量,其取值为0或1;上式1-3被称为逻辑表达式,式中A、B称为输入逻辑变量,Y称为输出逻辑变量;字母上面无反号的称为原变量,有反号的称为反变量。
当Y=F(A,B,…)时,称Y是A、B、…的逻辑函数。
逻辑函数在各个变量之间存在互相制约关系,则称之为约束,该逻辑函数称为有约束的逻辑函数,这些变量称为一组有约束的变量。
2 PLC的逻辑设计法
2.1电路->逻辑代数
逻辑代数是分析和综合开关电路的重要数学工具,因此又称为开关代数。
下图所示的三类电路,可用于反应与、或、非三种基本逻辑关系:
根据继电器电路图推导逻辑函数表达式,遵循原则见下:
- 电器开关的逻辑函数以线圈作为输出逻辑变量,以触点作为输入逻辑变量;
- 线圈得电为 “1”,线圈断电为“0“;
- 常开触点用原变量表示,常闭触点用反变量表示 ;触点动作为“1”,不动作为“0”;
- 时间继电器的线圈与其延时动作触点的逻辑状态不一致 ,并且时间继电器的触点有4种状态(延时断开、延时闭合、瞬动断开、瞬动闭合),需要作特殊处理 。
PLC梯形图(称作继电器梯形图)程序编程原理与开关电路设计原理相同,因此方法相同,可以参照前文方法来设计程序。
以使用继电器为核心的起保停电路为例:
扩展到一般对象,其逻辑代数表示为:
Fk=(X开+K)⋅X‾关F_k=(X_开+K)·\overline{X}_关Fk=(X开+K)⋅X关
X开X_开X开——控制对象开启信号
X关X_关X关——控制对象关断信号
KKK——输出对象的常开触点
在实际应用中,X开X_开X开和X关X_关X关会带有约束条件,防止启停信号误动作的影响,保障系统可靠性:
其逻辑函数为:
Fk=(X开⋅X开约+K)⋅(X‾关+X‾关约F_k=(X_开·X_{开约}+K)·(\overline{X}_关+\overline{X}_{关约}Fk=(X开⋅X开约+K)⋅(X关+X关约)
2.2逻辑代数->梯形图
对于PLC梯形图编程,在没有约束条件下,典型输出控制对象的基本逻辑函数可表示为:
Fk=(X开+K)⋅X‾关F_k=(X_开+K)·\overline{X}_关Fk=(X开+K)⋅X关
X开X_开X开——启动条件
X‾关\overline{X}_关X关——关断条件
KKK——控制对象的当前状态
FKF_KFK——控制对象的下一个状态值
其对应程序如下:
约束条件下,典型输出控制对象的基本逻辑函数可表示为:
Fk=(X开⋅X开约+K)⋅(X‾关+X‾关约)F_k=(X_开·X_{开约}+K)·(\overline{X}_关+\overline{X}_{关约})Fk=(X开⋅X开约+K)⋅(X关+X关约)
其对应的PLC程序如下:
逻辑设计法的基本使用方法即为:把各种已知信号带入上式中,写出控制对象的逻辑函数,再根据逻辑函数,结合一般设计原则,编写PLC程序。
3实例一则
现在尝试用逻辑设计法解一道题,这是我从网络上搜索到的,不过我学习PLC时也按经验法写过类似的题目。题目和原链接相比有改动,倒不是原题做不来,是我写完了以后发现题目和我写的有差别( ̄▽ ̄)"。
某企业承担了小车往返控制系统的设计任务。要求小车在A、B、C三点之间来回移动(A、B、C三点在一条路线上),一个周期的工作过程为:原位在A点,按下启动按钮后,小车从A点前进至B点,碰到行程开关SQ1后返回至A点,碰到行程开关SQ2后又前进,经过B点不停直接运行到C点,碰到行程开关SQ3返回至A点,完成一个周期后循环。按下停止按钮时,小车即刻停止。
因为牵扯到动作时序,用步进梯形图会容易很多,否则逻辑会比较复杂,但为了体现逻辑代数的优越性,现在我们反其道而行之,并使用逻辑设计法解这道题。
基本逻辑函数见下:
Y前进=(X开+Y前进+XA⋅Y后退下降沿)⋅(XB‾⋅XB约‾+XC‾⋅XC约)⋅X关‾Y_{前进}=(X_开+Y_{前进}+X_A·Y_{后退下降沿})·(\overline {X_B}·\overline {X_{B约}}+\overline {X_C}·X_{C约})·\overline {X_关}Y前进=(X开+Y前进+XA⋅Y后退下降沿)⋅(XB⋅XB约+XC⋅XC约)⋅X关
Y后退=(Y前进下降沿⋅(XB+XC)+Y后退)⋅XA‾⋅X关‾Y_{后退}=(Y_{前进下降沿}·(X_B+X_C)+Y_{后退})·\overline {X_A}·\overline {X_关}Y后退=(Y前进下降沿⋅(XB+XC)+Y后退)⋅XA⋅X关
上述逻辑函数的格式为启动条件⋅完成条件⋅停止条件启动条件·完成条件·停止条件启动条件⋅完成条件⋅停止条件
为了防止同时输出前进和后退信号,加入了XB约束条件XB约X_{B约}XB约和XC约束条件XC约X_{C约}XC约,XB约X_{B约}XB约为真的条件是本循环已抵达B点;XC约X_{C约}XC约为真的条件是本循环已抵达A点和B点;循环结束后会对约束条件进行复位。
将逻辑函数改写为梯形图,见下:
4利用逻辑表达式实现梯形图程序对数字电路的模拟
4.1对1位数值比较器的模拟
实际上我们可以根据逻辑表达式来编写梯形图程序,模拟一类数字电路。
例如以1位数值比较器为例,其逻辑表达式为:
Li=AiB‾iL_i=A_i\overline B_iLi=AiBi
Gi=A‾iB‾i+AiBiG_i=\overline A_i\overline B_i+A_iB_iGi=AiBi+AiBi
Mi=A‾iBiM_i=\overline A_i B_iMi=AiBi
根据上述逻辑表达式可编写如下梯形图程序:
其真值表如下:
AiA_iAi | BiB_iBi | LiL_iLi | GiG_iGi | MiM_iMi |
---|---|---|---|---|
0 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 1 |
1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 1 | 0 |
同1位数值比较器的真值表一致。
4.2从数字电路演化到功能块
实际上梯形图中的一些功能块即是数字电路的程序化体现,例如RS触发器(复位/置位触发器):
在数字电路中,触发器是用于接收、保存和输出二进制数字信号和两状态逻辑信号的单元单路,其重要概念有现态和次态。
- 现态:触发器接收输入信号之前的状态,用QnQ^nQn表示。
- 次态:触发器接收输入信号之后的状态,用Qn+1Q^{n+1}Qn+1表示。次态既取决于输入信号,也取决于现态(保持特性)。
用或非门组成的基本RS触发器逻辑符号和逻辑电路图见下:
RRR、SSS是信号输入端,表示低电平有效
QQQ、Q‾\overline{Q}Q是两个互补的信号输出端,表示触发器状态
当电路无输入信号(RRR=SSS=1)时,有两个状态:
0状态:QQQ=0、Q‾\overline{Q}Q=1
1状态:QQQ=1、Q‾\overline{Q}Q=0
当RRR=1、SSS=0时,触发器将变成1状态,因此习惯上把SSS端称为置位端;
当RRR=0、SSS=1时,触发器将变成0状态,因此习惯上把RRR端称为复位端;
不允许RRR=SSS=1,此即为约束条件。
特性方程用于描述基本RS触发器次态输出Qn+1Q^{n+1}Qn+1与现态QnQ^{n}Qn和输入RRR、SSS之间的函数关系。
RS基本触发器的特性方程为:
{Qn+1=S+R‾⋅QnRS=0约束条件\begin{cases} Q^{n+1}=S+\overline{R}·Q^{n}\\ RS=0~~~~~~~约束条件 \end{cases}{Qn+1=S+R⋅QnRS=0 约束条件
逻辑设计法:数字电路在PLC编程中的体现相关推荐
- PHP与西门子PLC,GE 与 西门子 PLC 编程 中 变量 区别
plc-variables-deferences-between-ge-and-siemens-plc 由于工作的需要使用了GE的PAC Rx3i系列PLC,发现其梯形图编程方式与西门子有些许区别.最 ...
- PLC编程中网络通讯方式有几种?
Plc网络由多个子网组成,每个子网的通信过程由通信协议决定,通信方式是通信协议的核心内容.通信模式包括访问控制模式和数据传输模式.所谓接入控制(也称接入控制)是指如何获得共享通信介质的使用权,而数据传 ...
- 西门子断开延时定时器_在PLC编程中定时器的一些针对现场不同情况的一些妙用...
相信大家在PLC编程中常会用到定时器,定时器指令也是比较常用的指令,一般分为接通延时定时器.断开延时定时器.脉冲定时器等,相信大家对于指令也已经很熟悉,在本文中就不具体介绍定时器指令了. 本文重点介绍 ...
- 用计算机对PLC进行编程时,PLC编程中的五个常见问题
PLC是一种新型的具有极高可靠性的通用工业自动化控制装置,它具有控制能力强.配置灵活.编程简单.易于扩展等优点,是当今及以后工业控制的主要手段和重要的自动化控制设备,在各行业中有着迅速发展和应用.而对 ...
- 设计原则:公理系统在编程中的运用
背景 说来惭愧,高中是花钱买上的,高中虽然经过努力考试了大学,可惜小学和初中的知识学习的不扎实(当时也学不会),感觉到现在都没有开窍,前几天读<古今数学思想>,觉得数学和编程简直就是一回事 ...
- 研华数据采集卡如何采集压力信号转化为数字信号_涨知识啦!PLC编程中如何使用开关、模拟、脉冲量...
在工业自动化控制中,经常会遇到开关量,数字量,模拟量,离散量,脉冲量等各种概念,而人们在实际应用中,对于这些概念又很容易混淆.作为电气工程及其自动化设计人员来说,弄清楚这些变量的关系,就能够很熟练的掌 ...
- 信捷plc c 语言全局变量,三菱PLC编程中,跳转指令CJ、子程序调用CALL和中断指令有什么区别?...
满意答案 0519gao 2013.10.06 采纳率:46% 等级:12 已帮助:11303人 子程序帮助您对程序进行分块.主程序中使用的指令决定具体子程序的执行状况.当主程序调用子程序并执行 ...
- 西门子PLC|梯形逻辑PLC编程
前言 梯形逻辑 PLC 编程是目前我们的过程自动化的最流行且易于学习的方法.梯形逻辑或简称 LD 是在可编程逻辑控制器的开放国际标准IEC61131下开发的. 在这部分课程中,您将学习如何解释过程控 ...
- c语言中专业英文词汇,【收藏】PLC编程常用专业英文词汇
原标题:[收藏]PLC编程常用专业英文词汇 在PLC编程中我们经常会遇到一些专业英文词汇,对于入门的学员来说过理解起来是非常困难的.本文总结了一些PLC常用专业英文词汇,并做已翻译. 一.a开头 ab ...
最新文章
- Spring Boot 实现多图片上传并回显,涨姿势了~
- 全国成人计算机考试题,成人计算机考试试题.docx
- Java设计模式—代理模式
- SAP几则常用的BASIS技巧整理
- mysql命令行查看表的触发器_Mysql事项,视图,函数,触发器命令(详解)
- 第一章:认识Redhat Linux
- linux服务器 远程桌面,Linux 远程桌面的两种方式
- 『设计模式』再谈Macdonald的汉堡口味--策略模式
- 京东股价创新高:市值首次突破千亿美元 !
- python变量的作用域及生命周期_Python——变量的作用域
- java关于注释的使用错误的是,java考试练习题
- Spring提供的iBatis的SqlMap配置
- 如何通过a/a中的href刷新当前界面
- python爬虫——使用selenium爬取qq群的成员信息(全自动实现自动登陆)
- 1047: 对数表 Java
- Python实用案例,Python脚本,Python实现每日更换“必应图片”为“桌面壁纸”
- 高级查询组件下拉框联动(三)
- 多版本谷歌chrome浏览器并存(谷歌浏览器从C盘移植)
- 【JAVA】网页版登录注册系统
- python基础训练—数字
热门文章
- 里氏替换原则——举例说明Java设计模式中的里氏替换原则
- java学习笔记 - 集合类综合案例 斗地主
- 安卓升级鸿蒙可行性,华为手机都可以升级鸿蒙系统么?_科技数码通
- 号外 ! 号外 ! V7包下的View都来此参加同学会 , 快来看,快来看...
- 卡在DSMOS has arrived的解决办法
- 在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数
- 建筑行业现行相关税收政策及优惠措施汇编
- 在用docker部署nginx时,出现curl: (6) Could not resolve host: localhsot; 未知的错误
- Vue项目区分开发环境问题
- linux提取fasta文件的id,从大的fasta文件中提取特定的fasta序列