S7-300400的STL语言入门:位逻辑指令及其编程方法
本文包含以下内容,高手绕行:
1、STL下的部分位逻辑指令
2、如何根据电路图或梯形图编写STL程序
3、逻辑运算的规则::先"与"(串联)后"或"并联
一、触点与线圈
触点分为常开触点和常闭触点,其在梯形图中表示如图1所示。
图1 梯形图中的触点与线圈
触点、线圈与RLO的关系如下:
· 常开触点,为0时,表示能流未流过该触点,RLO=0;为1时,表示有能流流过该触点,RLO=1;
· 常闭触点,与常开触点相反,0时RLO=1;状态为1时,RLO=0;
· 线圈或输出指令"="将RLO写入相应的地址位,即线圈的状态与当前RLO相同。
二、基本位逻辑指令
由不同触点经过串联、并联或者更复杂的电气连接,可实现很多简单却实用的逻辑控制功能。
1、串联逻辑
图2 触点串联(LAD)
如图2所示,为一个常开触点和常闭触点的串联逻辑梯形图。在STL中,用"A"(即AND,"与")表示常开点的串联;用"AN"(即AND NOT,"与非")表示常闭点的串联。因此,图2的逻辑,用STL描述如下:
图2.1 触点串联(STL)
2、并联逻辑
图3 触点并联(LAD)
如图3所示,为一个常开触点和常闭触点的并联逻辑梯形图。在STL中,用"O"(即OR,"或")表示常开点的并联;用"ON"(即OR NOT,"或非")表示常闭点的并联。因此,图3的逻辑,用STL描述如下:
图3.1 触点并联(STL)
三、位逻辑指令的嵌套
所谓"位逻辑指令的嵌套"是指由基本位逻辑指令"A"、"O"、"AN"、"ON"等,和嵌套指令"(" 及 ")"组合而成的指令,用以编程描述由基本的串、并联组成的复杂的混联逻辑指令。
复杂的逻辑运算采用的规则是:先"与"(串联)后"或"并联 。在初学STL时,可以通过假设中间逻辑,将复杂的逻辑拆分为简单的串联或并联逻辑,以方便编程。下面举几个简单的例子加以说明。
为方便说明,在逻辑表达式中"&"表示"与"、"&N"表示"与非"、"|"表示"或"、"|N"表示"或非"。
1、先"并联"、再"串联"
图4 混联逻辑1:先"并联"后"串联"(LAD)
图4的混联逻辑,由两个并联组件(红框和蓝框)再经由串联后,将逻辑结果赋值给Q3.0。我们可以令:
则:
将(1)、(2)代入(3)得:
因为,逻辑运算的规则是"先与后或" ,因此,(4)不可继续化简。根据(4)即可写出与图4相应的STL逻辑,如图4.1所示。
图4.1 混联逻辑1:先"并联"后"串联"(STL)
2、先"串联"、再"并联"
图5 混联逻辑2:先"串联"后"并联"(LAD)
图5的混联逻辑,由两个串联组件(红框和蓝框)再经由并联后,将逻辑结果赋值给Q4.0。我们可以令:
则:
将(1)、(2)代入(3)得:
因为,逻辑运算的规则是"先与后或" ,因此,(4)中的"括号"是不必须的,即(4)的逻辑运算结果等价于:
由表达式(4)、(4.1)写出的STL如图5.1所示。
图5.1 混联逻辑2:先"串联"后"并联"(STL)
由图5.1可见,通过表达式(4.1)写出的STL语句更为简洁、精炼。因为,我们在编程中,要时刻牢记逻辑运算的铁则:先"与"(串联)后"或"并联 。
3、更为复杂的逻辑
图6 混联逻辑3
在实际应用中,我们可能遇到更为复杂的逻辑运算,比如如图6所示。利用"化繁为简" 的方法,找出其"线圈"与"触点"之间的逻辑关系后,自然可以写出其对应的STL程序。
图6对应的STL语句这里就不给出了,有兴趣的小伙伴不妨可以试着分析一波。
附录:(介绍几个文中提到的概念)
1、能流的概念
"能流"是梯形图中,为方便理解和描述一段程序而提出的一个虚拟概念。左右母线看做是一个直流电源的正负极,左母线是正极,右母线是负极。电流沿着梯形图,从左母线流到右母线,形成一条回路,这里所谓的"电流"就是"能流"。如图1,绿色部分为能流的走向。
附图1 "能流"及其概念
2、状态字寄存器
S7系列PLC中,维护着一个16位的状态字寄存器(如图2所示),用于存储CPU执行指令时的状态。状态字中的某些位用于决定某些指令是否执行以及以什么样的方式执行,同时,指令在执行时可能改变状态字中的某些位。本文,主要用到"RLO"位。
附图2 状态字寄存器
RLO,(Result of Logic Operation),即:逻辑运算结果位。用来存储位逻辑指令、比较指令的执行结果,可以用RLO触发跳转指令。
3、位逻辑指令一览
附图3 位逻辑指令
汇川技术PLC应用逻辑编程技巧(1)
哈喽,你好啊,我是雷工!
本节学习了解PLC应用编程技巧,以下为学习笔记。
01 程序规划思路
一般是自上向下的设计思路,自上向下就是先把控全局,大拆小,繁化简,分项处理。
①:先调研设备的工艺、工作特点、运行原理,掌握设备的整体控制需求;
②:分析归纳设备的时序特点、控制流程,找到控制关键点;
③:把控制功能进行功能划分,根据功能块,确定控制程序块;
④:理清程序块间的数据关系,时序控制等全局性的逻辑把控;
⑤:先搭程序框架,按功能定义功能块,依次进行功能块程序的编写、调试、修改;
⑥:对于工艺复杂的项目,可以先开发主体工艺的逻辑控制,然后再完善保护功能,进而再开发辅助功能。
02 要点分析
每个项目涉及的设备都不尽相同,都有其不同的控制特点,
对PLC要完成的控制、动作、逻辑等按照下面的要点,对应工艺特点,可以明确编程的要点。
①:控制的精度要求、响应速率、区间范围等要求……
②:生产效率——产量要求;
③:合格率——对产品的不良率要求;
④:稳定性——要求设备长期可靠运行,互锁、安全保护机制到位;
⑤:便于操作——操作简单,维护方便,程序设计人性化;
03 化整为零的方法
即将系统的描述,系统的动作拆分为简单的控制功能的方法;
3.1、将设备的工艺步骤拆分为不同的工段或若干状态;
①状态的定义
一般PLC设备从上电、开始运行、停止运行,我们可以按状态将其拆分为:
上电自检、停机等待、手动状态、自动运行准备、自动运行、停机准备、正常停机、故障停机 等状态;
每个状态内要处理的逻辑要求相对简单,不同状态之间的跳转条件要求清晰明确。
②状态转移
实际项目中常见的典型设备控制状态与状态转移图
设备在同一时刻,只能处于一个状态下运行;
04 后记
现如今学习最不缺的就是学习资料,缺的是能踏实学习的,很多官网就有一堆资料,很多平台也有很多免费资料,还有一些网盘群里更是各种各样的资料,各种技能学习课有很多,根本学不完,只能根据自己的时间学一些自己感兴趣内容,或者用到哪些学哪些,现学现用,项目用到KingFusion就学SCADA,用到汇川PLC就学汇川PLC。
明天有时间继续学习PLC应用编程技巧。
有记录的不当的内容欢迎大家在留言区评论指正,更多话题欢迎大家在交流群积极交流。
相关问答
三人表决器电路设计论文_作业帮
[回答]输出逻辑变量),多数赞成Y0为1,否则,Y0为0.其真值表如表1所示.表1“三人表决器”真值表输入逻辑变量输出逻辑变量X0X1X2Y0000000...“三人...