
1
安全自动装置的基础理论
1. 安全自动装置的定义与分类
1.1 安全自动装置的定义
安全自动装置是指在电力系统中,为了确保系统的安全稳定运行,自动检测系
统状态并采取相应措施以防止或减轻故障影响的装置。这些装置包括但不限于
继电保护装置、自动重合闸装置、备用电源自动投入装置、自动解列装置、频
率和电压控制装置等。
1.2 安全自动装置的分类
安全自动装置可以根据其功能和应用场合进行分类,常见的分类方法如下:
� 继电保护装置:用于检测电力系统中的故障并迅速切除故障设备,防止
故障扩大。
� 自动重合闸装置:用于在断路器跳闸后自动尝试重新闭合,以恢复供电。
� 备用电源自动投入装置:用于在主电源故障时自动切换到备用电源,确
保系统的连续运行。
� 自动解列装置:用于在系统发生严重故障时,自动将故障部分与系统分
离,防止故障扩散。
� 频率和电压控制装置:用于维持电力系统的频率和电压在正常范围内,
确保系统的稳定运行。
2. 继电保护装置的工作原理
2.1 继电保护的基本功能
继电保护装置的主要功能是检测电力系统中的故障,并在检测到故障后迅速切
断故障部分,以防止故障扩大。继电保护装置通常包括电流保护、电压保护、
差动保护、距离保护、零序保护等。

2
2.2 电流保护
电流保护装置通过监测系统中的电流变化来检测故障。常见的电流保护装置包
括过电流保护和速断保护。
2.2.1 过电流保护
过电流保护装置监测系统中的电流是否超过设定的阈值。如果超过阈值,保护
装置会发出跳闸命令,切断故障部分。
原理: - 过电流继电器:当检测到的电流超过设定值时,继电器动作,发出跳
闸命令。 - 时间继电器:用于延时跳闸,防止瞬时过电流引起误动作。
示例代码:
#
过电流保护示例
class OvercurrentProtection:
def __init__(self, setpoint, delay):
"""
初始化过电流保护装置
:param setpoint:
过电流阈值
(A)
:param delay:
动作延时
(s)
"""
self.setpoint = setpoint
self.delay = delay
self.current = 0
self.timer = 0
def update_current(self, current):
"""
更新电流值
:param current:
当前电流值
(A)
"""
self.current = current
def check_protection(self, time_step):
"""
检查保护装置是否需要动作
:param time_step:
时间步长
(s)
:return:
是否需要跳闸
(bool)
"""
if self.current > self.setpoint:
self.timer += time_step

3
if self.timer >= self.delay:
self.timer = 0
return True
else:
self.timer = 0
return False
#
测试过电流保护装置
protection = OvercurrentProtection(setpoint=10, delay=0.5)
current_values = [8, 9, 11, 11, 11, 7]
for i, current in enumerate(current_values):
protection.update_current(current)
if protection.check_protection(time_step=0.1):
print(f"在第 {i+1} 个时间步长,电流为 {current} A,继电保护装置动作,跳闸。")
else:
print(f"在第 {i+1} 个时间步长,电流为 {current} A,继电保护装置未动作。")
2.3 电压保护
电压保护装置通过监测系统中的电压变化来检测故障。常见的电压保护装置包
括过电压保护和低电压保护。
2.3.1 过电压保护
过电压保护装置监测系统中的电压是否超过设定的阈值。如果超过阈值,保护
装置会发出跳闸命令,切断故障部分。
原理: - 过电压继电器:当检测到的电压超过设定值时,继电器动作,发出跳
闸命令。 - 时间继电器:用于延时跳闸,防止瞬时过电压引起误动作。
示例代码:
#
过电压保护示例
class OvervoltageProtection:
def __init__(self, setpoint, delay):
"""
初始化过电压保护装置
:param setpoint:
过电压阈值
(V)
:param delay:
动作延时
(s)
"""
self.setpoint = setpoint
self.delay = delay

4
self.voltage = 0
self.timer = 0
def update_voltage(self, voltage):
"""
更新电压值
:param voltage:
当前电压值
(V)
"""
self.voltage = voltage
def check_protection(self, time_step):
"""
检查保护装置是否需要动作
:param time_step:
时间步长
(s)
:return:
是否需要跳闸
(bool)
"""
if self.voltage > self.setpoint:
self.timer += time_step
if self.timer >= self.delay:
self.timer = 0
return True
else:
self.timer = 0
return False
#
测试过电压保护装置
protection = OvervoltageProtection(setpoint=230, delay=0.5)
voltage_values = [220, 225, 235, 235, 235, 215]
for i, voltage in enumerate(voltage_values):
protection.update_voltage(voltage)
if protection.check_protection(time_step=0.1):
print(f"在第 {i+1} 个时间步长,电压为 {voltage} V,继电保护装置动作,跳闸。")
else:
print(f"在第 {i+1} 个时间步长,电压为 {voltage} V,继电保护装置未动作。")
2.4 差动保护
差动保护装置通过监测系统中不同位置的电流差值来检测故障。差动保护通常
用于变压器、发电机等重要设备的保护。
原理: - 差动继电器:当检测到的电流差值超过设定值时,继电器动作,发出
跳闸命令。 - 制动电流:用于防止外部故障引起的误动作。

5
示例代码:
#
差动保护示例
class DifferentialProtection:
def __init__(self, setpoint, brake_ratio):
"""
初始化差动保护装置
:param setpoint:
差动电流阈值
(A)
:param brake_ratio:
制动电流比例
"""
self.setpoint = setpoint
self.brake_ratio = brake_ratio
self.current1 = 0
self.current2 = 0
def update_currents(self, current1, current2):
"""
更新电流值
:param current1:
电流
1 (A)
:param current2:
电流
2 (A)
"""
self.current1 = current1
self.current2 = current2
def check_protection(self):
"""
检查保护装置是否需要动作
:return:
是否需要跳闸
(bool)
"""
differential_current = abs(self.current1 - self.current2)
brake_current = (self.current1 + self.current2) / 2
if differential_current > self.setpoint and brake_current < self.setpoint * self.brake_ratio:
return True
return False
#
测试差动保护装置
protection = DifferentialProtection(setpoint=5, brake_ratio=0.8)
current_values = [(10, 15), (12, 17), (15, 20), (20, 25), (25, 30), (10, 10)]
for i, (current1, current2) in enumerate(current_values):
protection.update_currents(current1, current2)
if protection.check_protection():
print(f"在第 {i+1} 个时间步长,电流 1 为 {current1} A,电流 2 为 {current2} A,差动保护
装置动作,跳闸。")
else: