工控安全入门常用逻辑编程

  • A+
所属分类:逆向工程

工控安全入门常用逻辑编程

前言

SIMATIC Step 7是基于TIA博途平台的工程组态软件,支持SIMATIC S7-1500、SIMATIC S7-1200、SIMATIC S7-300和SIMATIC S7-400控制器同时也支持HMI和基于PC的SIMATIC WinAC自动化系统。由于支持各种可编程控制器,SIMATIC Step 7具有可灵活扩展的软件工程组态能力和性能,能够满足自动化系统的各种要求。本文主要讲解在SIMATIC Step 7组态软件中,使用梯形图编写基本指令编写常用逻辑程序。

正文

梯形图是PLC编程用的最多的图形编程语言。因为梯形图与传统继电器控制系统的电路图很相似,具有直观易懂的优点,很容易被熟悉继电器控制系统的电气人员掌握,它特别适用于开关量逻辑控制。下面介绍几种常用的控制逻辑程序。

1、点动控制

点动是电动机控制方式中的一种。由于在这一控制回路中没有自保,也没有并接其它的自动装置,只是按下控制回路的启动按钮,主回路才通电,松开启动按钮,主回路就没电了。最典型的是:行车的控制。

图1

图2

这里START信号为自复位按钮按下的信号,是正信号,STOP是负信号,是互锁信号或促使结果断的信号,OUT是输出动作信号。运行情况,当自复位按钮按下时,START信号为正,回路接通,OUT输出;自复位按钮松开时,START信号为负,回路断开,OUT输出复位。

2、起保停控制

在自动控制电路中,起保停控制逻辑电路算是典型控制电路。起保停逻辑的特点是将脉冲动作信号转为持续状态信号或持续动作信号,直接收到停止信号。

2.1单个自锁按钮实现起保停

图3

图4

单个自锁按钮实现起保停控制回路和点动回路一样,但START为持续动作信号。当按钮按下时,START发出持续动作信号,回路持续接通,OUT输出信号;按钮再次按下时,START动作信号断开,回路断开,无OUT输出信号。

2.2单个自复位按钮实现起保停

图5

图6

用户有时需要使用一个自复位的按钮(START)来控制机器(OUT)的启停,效果是按一下启动了,再按一下停止,再按启动,再按停止,以此往复。这个控制比单个自锁按钮控制要复杂一些

2.3两个自复位按钮实现起保停

图7

图8

START是启动的脉冲动作信号,STOP是负信号或互锁信号,OUT是输出的持续信号。运行情况:当START发出脉冲动作信号时,回路瞬时接通,OUT输出并自锁,回路持续接通,OUT输出持续信号;需要停止时,STOP发出信号即可断开回路。

3、顺序控制

在装有多台电动机的生产机械上,各电动机所起的作用是不同的,有时需按一定的顺序启动或停止,才能保证操作过程的合理和工作的安全可靠。

顺序控制——要求几台电动机的启动或停止必须按一定的先后顺序来完成的控制方式。

图9

图10

OUT_1的常开触点串在OUT_2的控制回路中,OUT_2的接通是以OUT_1的接通为条件。这样,只有OUT_1Q1接通才允许OUT_2接通。OUT_1关断后OUT_2也被关断停止,而且OUT_1接通条件下,OUT_2可以自行接通和停止。

4、互锁控制

4.1单方向互锁

单方向互是指相互互锁的几个对象中,如果其中一个对象动作了,那么另外几个对象就不能够动作,例如,电机的正反转,当电机正转的时候,若误操作按下反转按钮,电机仍然不能反转,避免了因误操作而引起的主电路短路。

图11

图12

当START_1动作,OUT_1(正转)输出信号,此时,START_2动作,回路中常闭触点OUT_1断开,回路不接通,OUT_2(反转)无输出信号,只有OUT_1断开后,才可以启动OUT_2,反之同理。

4.2双重互锁

双重互是指相互互锁的几个对象中,如果其中一个对象动作了,那么另外对象动作前会断开互锁对象输出,然后自己再动作。例如,电机的正反转,当电机正转的时候,若按下反转按钮,电机正转输出断开,反转再启动,避免了因误操作而引起的主电路短路。

图13

图14

当START_1动作,OUT_1(正转)输出信号,此时,START_2动作,OUT_1回路先断开,然后OUT_2回路中常闭触点OUT_1复位,回路接通,OUT_2(反转)输出信号,反之同理。

5、星-三角控制

在使用三相异步电动机的过程中,在启动时,电流较大,会对电网产生一定的冲击,所以容量大的电动机必须采取一定的方式启动,如降压启动等,星-三角启动就是一种简单方便的降压启动方式。星-三角启动可通过手动和自动操作方式实现。

图15

图16

按钮启动按钮,接触器KM1和KM2闭合,星型启动,5秒后,接触器KM2断开,接触器KM1一直得电,同时接触器KM3闭合,三角启动,自动正常运行。

6、定时控制

6.1延时启停

定时控制,类似于定时开关,指一个基于时间变化,在一定时段内使电路开路、电流中断或电路接通。组态软件中,定时器有接通延时、关断延时和脉冲,接通延时用的最普遍。定时控制需要用户编制定时程序,定时接通或断开电路。如楼宇供暖管理、多个设备定时控制或切换、路灯、红绿灯等。

图17

图18

上图为模拟红绿灯控制逻辑程序。当启动按钮START按下,接通延时定时器,10s绿灯、5s黄灯、15s红灯,30s后定时器复位,重新开始计时,不断重复。

6.2振荡逻辑

在实际应用中,我们往往要用到断续输出的信号,例如标准的0.5-10Hz的信号,可以在控制器的时钟存储器设置,时钟存储器是按 1:1 占空比周期性改变二进制状态的位存储器。

图19

图20

但当通断时长不一样的时候,我们就要用到振荡逻辑。

图21

图22

当START接通时,OUT接通3s,断开5s的断续信号。

7、计数

在自动控制生产线上,最常用的一种指令就是计数,使用计数可以方便的统计产量,还可以对计数数据清零。其中加计数指令最为常用。

图23

当光电传感器检测到产品经过时,产生一个接通信号(在程序中输出一个脉冲上升沿信号),计数加1,不断有产品经过时,计数累加,直至复位(RESET闭合信号),重新开始计数。

8、初始化

在博途组态软件编程中,经常会用到CPU上电后或首次扫描,变量初始化的方法。

8.1数据块初始化

这个比较简单,就是在全局数据块或背景数据块中直接定义“启动值”即可这种方法只适用于为变量设置固定值,有一定局限性。

图24

8.2组织块初始化

除了数据块初始化,还可以使用“组织块”中的“Startup”来定义,在里面可以编写一些程序在首次扫描时执行。

图25

图26

PLC的工作模式从STOP切换到RUN时执行一次,完成后,将开始循环执行主程序。

结束语

编写应用程序时,使用频率最高的是基本指令,使用也是最灵活的。初学者要从学习这些简单的指令和常用的控制逻辑程序入手,逐渐了解其他各种指令的功能和编写更深的控制逻辑程序。


大禹工控安全实验室

由中国网安·广州三零卫士成立,汇聚国内多名漏洞挖掘、二进制逆向、安全分析、渗透测试、自动化工程师等安全专家组建而成,专注于工业控制系统安全、工业物联网安全、工业威胁情报安全等安全领域,大禹工控安全实验室始终坚持在工业控制系统安全领域进行探索和研究。

IRTeam工控安全红队

属于民间工业安全组织,由经验丰富的工控安全研究员组成,一直在学习和研究最新的工控漏洞及漏洞利用和防护,同时开发了Kali ICS工控渗透平台能够提供全方位的工控漏洞挖掘和渗透测试。在工控的协议安全、HMI安全、工业云安全等领域有着丰富的经验和成果。



本文始发于微信公众号(IRT工业安全红队):工控安全入门常用逻辑编程

发表评论