手把手教你博途中实现PID控制

  (一)要点与应用

  (1)SCL 编程语言

  SCL(Structured Control Language,结构化控制语言)是一种基于 PASCAL 的高级编程语言。这种语言基于标准 DIN EN 61131-3(国际标准为 IEC 1131-3)。根据该标准,可对用于可编程逻辑控制器的编程语言进行标准化。SCL 编程语言实现了该标准中定义的 ST 语言 (结构化文本) 的 PLCopen 初级水平。S7-1200从V2.2版本开始支持SCL语言。

  (2)语言元素

  SCL 除了包含 PLC 的典型元素(例如,输入、输出、定时器或存储器位)外,还包含高级编程语言。

  表达式赋值运算运算符(3)程序控制语句

  SCL 提供了简便的指令进行程序控制。例如,创建程序分支、循环或跳转。

  (4)应用

  因此,SCL 尤其适用于下列应用领域:

  数据管理过程优化配方管理数学计算 / 统计任务 (二)表达式

  表达式将在程序运行期间进行运算,然后返回一个值。一个表达式由操作数(如常数、变量或函数调用)和与之搭配的操作符(如 *、/、+ 或 -)组成。通过运算符可以将表达式连接在一起或相互嵌套。

  (1)运算顺序:表达式将按照下面因素定义的特定顺序进行运算

  相关运算符的优先级,优先级数越小越优先同等优先级运算符的运算顺序按照从左到右的顺序赋值运算的计算按照从右到左的顺序进行括号优先级最高(2)表达式类型:不同的运算符,分别可使用以下不同类型的表达式

  算术表达式关系表达式逻辑表达式(三)算术表达式

  (1)算术表达式既可以是一个数字值,也可以是由带有算术运算符的两个值或表达式组合而成。算术运算符可以处理当前 CPU 所支持的各种数据类型。如果在该运算中有 2 个操作数,那么可根据以下条件来确定结果的数据类型:

  如果这 2 个操作数均为有符号的整数,但长度不同,那么结果将采用长度较长的那个整数数据类型(例如,Int + DInt = DInt)。如果这 2 个操作数均为无符号整数,但长度不同,那么结果将采用长度较长的那个整数数据类型(例如,USInt + UDInt = UDInt)。如果一个操作数为有符号整数,另一个为无符号整数,那么结果将采用另一个长度较大的有符号数据类型(其包含此无符号整数)(例如,SInt + USInt = Int)如果一个操作数为整数,另一个为浮点数,那么结果将采用浮点数的数据类型(例如,Int + Real = Real)。如果 2 个操作数均为浮点数,但长度不同,结果将采用长度较长的那个浮点数的数据类型(例如,Real + LReal = LReal)。对于操作数为"Time"和"日期和时间"数据类型组,运算结果的数据类型请参见表1。(2)算术表达式的数据类型:下表列出了在算术表达式中可使用的数据类型

  (3)示例

  以下为一些算术表达式的示例:

  "MyTag1":= "MyTag2" * "MyTag3";

  (四)关系表达式

  (1)关系表达式将两个操作数的值或数据类型进行比较,然后得到一个布尔值。如果比较结果为真,则结果为 TRUE,否则为 FALSE。关系运算符可以处理当前 CPU 所支持的各种数据类型。结果的数据类型始终为 Bool。编写关系表达式时,请注意以下规则:

  以下数据类型组中的所有变量都可以进行比较:整数/浮点数位、位序列字符串对于以下数据类型,只能比较相同类型的变量:TIME日期和时间UDTArrayStructVariantString 比较是对于 Windows 字符集编码的字符进行比较;而 WSting比较则是对 UTF-16 编码的字符进行比较。在比较过程中,将比较变量的长度及各字符对应的数值。Array 比较需要数组维度、数组元素数据类型与数量完全相同UDT、Array、Struct、Variant等进行的比较只能使用S7-1200 V4.2及其以上的版本。(2)关系表达式的数据类型:下表列出了在关系表达式中可使用的数据类型/数据类型组:

  (3)示例

  以下举例说明了一个关系表达式:

  IF a > b THEN c:= a;IF A > 20 AND B < 20 THEN C:= TRUE;IF A<>(B AND C) THEN C:= FALSE;

  (五)逻辑表达式

  (1)逻辑表达式由两个操作数和逻辑运算符(AND、OR 或 XOR)或取反操作数 (NOT) 组成。逻辑运算符可以处理当前 CPU 所支持的各种数据类型。如果两个操作数都是 Bool 数据类型,则逻辑表达式的结果也为 Bool数据类型。如果两个操作数中至少有一个是位序列,则结果也为位序列而且结果是由最高操作数的类型决定。例如,当逻辑表达式的两个操作数分别是 Byte 类型和 Word 类型时,结果为 Word类型。逻辑表达式中一个操作数为 Bool类型而另一个为位序列时,必须先将 Bool类型的操作数显式转换为位序列类型。

  (2)逻辑表达式的数据类型:下表列出了逻辑表达式中可使用的数据类型

  (3)示例

  以下为一个逻辑表达式的示例:

  IF "MyTag1" AND NOT "MyTag2" THEN c := a;MyTag := A OR B;

  (六)赋值运算

  (1)通过赋值运算,可以将一个表达式的值分配给一个变量。赋值表达式的左侧为变量,右侧为表达式的值。函数名称也可以作为表达式。赋值运算将调用该函数,并返回其函数值,赋给左侧的变量。赋值运算的数据类型取决于左边变量的数据类型。右边表达式的数据类型必须与该数据类型一致。赋值运算的计算按照从右到左的顺序进行。可通过以下方式编程赋值运算:

  单赋值运算:执行单赋值运算时,仅将一个表达式或变量分配给单个变量:示例:a := b;多赋值运算:执行多赋值运算时,一个指令中可执行多个赋值运算。示例:a := b := c;此时,将执行以下操作:b := c;a := b;组合赋值运算:执行组合赋值运算时,可在赋值运算中组合使用操作符"+"、"-"、"*"和"/":示例:a += b;此时,将执行以下操作:a := a + b;也可多次组合赋值运算:a += b += c *= d;此时,将按以下顺序执行赋值运算:c := c * d;b := b + c;a := a + b;(2)示例:

  下表举例说明了单赋值运算的操作:

  "MyTag1" := "MyTag2";

  (* 变量赋值 *)

  "MyTag1" := "MyTag2" * "MyTag3";

  (* 表达式赋值 *)

  "MyTag" := "MyFC"();

  (* 调用一个函数,并将函数值赋给 "MyTag" 变量 *)

  #MyStruct.MyStructElement := "MyTag";

  (* 将一个变量赋值给一个结构元素 *)

  #MyArray[2] := "MyTag";

  (* 将一个变量赋值给一个 ARRAY 元素 *)

  "MyTag" := #MyArray[1,4];

  (* 将一个 ARRAY 元素赋值给一个变量 *)

  #MyString[2] := #MyOtherString[5];

  (* 将一个 STRING 元素赋给另一个 STRING 元素 *)

  下表举例说明了多赋值运算的操作:

  "MyTag1" := "MyTag2" := "MyTag3";

  (* 变量赋值 *)

  "MyTag1" := "MyTag2" := "MyTag3" * "MyTag4";

  (* 表达式赋值 *)

  "MyTag1" := "MyTag2" := "MyTag3 := "MyFC"();

  (* 调用一个函数,并将函数值赋值给变量 "MyTag1"、"MyTag1" 和 "MyTag1" *)

  #MyStruct.MyStructElement1 := #MyStruct.MyStructElement2 := "MyTag";

  (* 将一个变量赋值给两个结构元素 *)

  #MyArray[2] := #MyArray[32] := "MyTag";

  (* 将一个变量赋值给两个数组元素 *)

  "MyTag1" := "MyTag2" := #MyArray[1,4];

  (* 将一个数组元素赋值给两个变量 *)

  #MyString[2] := #MyString[3]:= #MyOtherString[5];

  (* 将一个 STRING 元素赋值给两个 STRING 元素 *)

  下表举例说明了组合赋值运算的操作:

  "MyTag1" += "MyTag2";

  (* "MyTag1" 和 "MyTag2" 相加,并将相加的结果赋值给 "MyTag1"。*)

  "MyTag1" -= "MyTag2" += "MyTag3";

  (* "MyTag2" 和 "MyTag3" 相加。将相加的结果赋值给操作数"MyTag2",再从 "MyTag1" 中减去"MyTag2",计算结果将赋值给 "MyTag1"。*)

  #MyArray[2] += #MyArray[32] += "MyTag";

  (* 数组元素 "MyArray[32]" 加上 "MyTag"。计算结果将赋值给 "MyArray[32]"。之后这个数组元素 "MyArray[32]" 与数组中另一个元素"MyArray[2]"相加,然后将结果分配给数组元素 "MyArray[2]"。在该运算中,相应的数据类型必需兼容。*)

  #MyStruct.MyStructElement1 /= #MyStruct.MyStructElement2 *= "MyTag";

  (* 结构化元素 "MyStructElement2" 乘以 "MyTag"。计算结果将赋值给 "MyStructElement2"。之后,将结构化元素 "MyStructElement1" 除以 "MyStructElement2",并将计算结果赋值给 "MyStructElement1"。在该运算中,相应的数据类型必需兼容。*)

  (七)寻址

  (1)SCL寻址分为符号寻址与地址寻址:

  符号寻址DB块变量:"DB块名称"(."变量名称")PLC变量:变量名称局部变量:#变量名称地址寻址DB块变量:%DB块号(.变量地址),TIA PORTAL软件会判断该地址有没有对应符号名称,如果有则立即转换为符号名称,没有则保留绝对地址PLC变量:%变量地址,TIA PORTAL软件会判断该地址有没有对应符号名称,如果有则立即转换为符号名称,没有则新建符号名称Temp变量:SCL不支持非优化FC/FB的Temp变量的地址寻址(2)举例:

  (八)调用

  (1)程序调用分为以下几类:

  FC调用FB调用FB多重背景调用调用可以从指令列表或者项目树程序块中拖拽入程序编辑区域,也可以直接输入。

  (2)FC调用:格式如下

  "FC块名称"(输入形参:=实参,输出形参=>实参,输入输出形参:=实参...)返回值:=“FC块名称”(输入形参:=实参,输出形参=>实参,输入输出形参:=实参...)FC调用需要确保所有形参都有对应实参。如果没有参数的FC也需要有括号。如下图所示的例子:

  (3)FB调用:格式如下

  "背景数据块名称"(输入形参:=实参,输出形参=>实参,输入输出形参:=实参...)

  一般情况下,FB的简单数据类型形参可以没有对应实参,复杂数据类型的输入、输出也可以没有对应实参,所以FB可以隐藏或不隐藏不出现的形参。如果没有参数的FB也需要有括号。如下图所示例子:

  如下图所示,当FB的参数全部显示,在背景数据块右键可以激活"仅显示分配的参数";当FB的参数只显示了分配的参数时,在背景数据块右键可以激活"显示所有参数"。

  (4)FB多重背景调用:格式如下

  #多重背景(输入形参:=实参,输出形参=>实参,输入输出形参:=实参...)#多重背景[索引](输入形参:=实参,输出形参=>实参,输入输出形参:=实参...)一般情况下,FB的简单数据类型形参可以没有对应实参,复杂数据类型的输入、输出也可以没有对应实参,所以FB可以隐藏或不隐藏不出现的形参。如果只有Static的FB也需要有括号。如下图所示例子:

  (5)对于定时器和计数器的SCL调用,有特殊的格式。

  (九)新建SCL

  (1)新建块,选择OB/FC/FB后,设置语言为SCL,如下图所示:

  (2)在LAD、FBD中直接插入SCL语言段,这需要TIA PORTAL V14及其以上的版本,如下图所示:

  ①在项目树中,找到PLC,然后展开程序块,点击"添加新块"

  ②在弹出对话框中,选择块类型,可以是OB/FB/FC,

  ③选择语言为SCL

  (十)区域与注释

  (1)从TIA PORTAL V14以后,增加区间功能,使用指令:

  REGION 区间名称

  程序文本

  END_REGION

  可以在指令中间增加需要编写的程序还不影响程序逻辑,并且支持嵌套。此外还可以像网络段一样收折叠来,如下图所示:

  其中左边为区间总览,可以看出整体的结构

  ①使得程序或总览全部展开

  ②使得程序或总览全部折叠

  ③全部展开/折叠是针对总览与程序还是只针对总览,图中为针对总览与程序

  ④独立展开/折叠程序

  (2)编辑器的空行,或者调用块的右侧均可以增加注释,如下图所示有两种方式注释:

  第一种是://注释内容

  第二种是:(/*注释内容*/)

  可以在工具栏中利用按钮整段注释或取消注释。此外从TIA PORTAL V16开始支持多语言注释。

  ①注释掉选中段落

  ②对注释掉的段落取消注释

  【导读】DevJobsScanner 在过去的 14 个月(从 2021 年 10 月到 2022 年 11 月)中分析了超过 1200 万个开发人员职位需求,并从其中挑选了明确需要编程语言的工作机会,得到了 2023 年或将最受欢迎的 8 种编程语言。

  目前市场中需求最高的前八位语言分别是:

  1、JavaScript / TypeScript

  自创建以来JavaScript 就一直保持着流行。目前Javascript仍然是整个市场上需求量最大的编程语言;而 TypeScript 的到来可能也推动了这一里程碑的实现。TypeScript 的受欢迎程度近年来才有所上升,许多新的 JavaScript 框架完全是用 TypeScript 编写的,比如 Angular 或 NestJS。从2021年10月到2022年11月(14个月),DevJobsScanner 共发现了 801K 个工作机会,占具有明确编程语言需求工作中的约 31%。

  Jobs Found: 801K (~31%)

  Keywords: javascript, typescript, react, angular, vue, node.

  2、Python

  Python 成为了 2022 年第需求量二大的编程语言。DevJobsScanner 称,它的多功能性,从脚本、运行服务器到数据分析,一直是实现这一里程碑的关键。此外,Python 拥有最伟大和更大的社区之一。

  在这 14 个月中,研究人员共发现了 51.5 万份工作机会,占比为 20%。

  

  Jobs Found: 515K (~20%)

  Keywords: python, django, flask.

  3、Java

  Java 是需求量第三大的编程语言,自 1995 年创建以来一直非常流行。尽管在过去几年中随着更现代的语言(如 Kotlin)的出现这种流行度有所下降,但它仍然稳稳占据前三的位置。目前有许多知名公司在使用像 Spring 这样的框架,也有助于 Java 保持这一地位。

  

  Jobs Found: 443K (~17%)

  Keywords: java, spring.

  4、C#

  C# 是一种通用、多范式、面向对象的编程语言,主要是为了解决 C++ 的一些弱点而创建的。作为一种通用语言,C# 具有广泛的用例。C# 最常见的用法是与 .NET 框架一起使用。它还在 Unity 游戏框架中大量用于脚本编写。.NET Framework 和 Unity 在顶级公司中都很受欢迎。

  

  Jobs Found: 305K (~12%)

  Keywords: c#, .net.

  5、PHP

  27 年前诞生的 PHP,至今仍然是需求量第五大的编程语言。在这 14 个月中,研究人员共发现了 22.6 万份相关的工作机会,占比约为 10%。

  

  Jobs Found: 226K (~9%)

  Keywords: php, laravel, wordpress.

  6、C/C++

  自 C 语言的首次发布至今已有 50 年的历史,从后来 C++ 的诞生到现在也已经过去了 37 年,C++ 最初的名字是 "C with Classes"。在这个漫长的时间窗口中,C/C++ 通过对语言的定期补充和改进保持了其受欢迎程度。现代 C++ 包括面向对象、泛型等特性。它在行业中的应用范围很广,电子游戏、服务器、数据库,甚至是空间探测器等许多地方都可以看到 C++ 的身影。

  

  Jobs Found: 213K (~8%)

  Keywords: c, c++.

  7、Ruby

  Ruby 排名第七,共找到了 12.5 万个工作岗位(约占总工作需求的 5%)。它最流行的用法是与 Web 框架 Ruby on Rails 结合使用。尽管前七名看起来并不算很高,但 Ruby 在当今的一些大型科技公司,如 Twitter、Crunchbase 或 Github 都有应用。

  

  Jobs Found: 125K (~5%)

  Keywords: ruby, ruby on rails

  8、GO

  Go 是谷歌在 12 年前创建的一种年轻语言。谷歌设计 Go 是为了在多核、联网机器和大型代码库时代提高编程效率。如下图所示,Go 的受欢迎程度正在缓慢增长,DevJobsScanner 预计该语言到 2023 年可能会进入前五。Uber、Twitch 等公司都在使用 Go。

  

  Jobs Found: 53K (~2%)

  Keywords: go

  需求量最大的编程语言(完整列表)

  以下是 2022 年编程语言及其各自需求的完整图表:

  

  以及按月细分的相同视图:

  

  总结

  DevJobsScanner 指出,很显然的是 Javascript 和 Typescript 确实主导了开发人员就业市场。Javascript 和 Typescript 总共占明确需要编程语言的工作机会的 31%,这意味着几乎每三个工作机会中就有一个需要 Javascript 或 Typescript。

  Python 和 Java 分别是 2022 年第二和第三大需求量的编程语言,提供了大量就业机会。但值得注意的是,Java 正在缩小与 Python 的距离,调查中有几个月 Java 的工作机会数量就超过了 Python。“因此,那些说 Java 是一种过时的编程语言的人可能需要重新考虑措辞。”

  C#、C/C++ 和 PHP 也是值得关注的语言,因为它们有着一致的上升趋势。例如,在 2021 年 10 月 PHP 的需求还只占总需求的约 5%,但到 2022 年 11 月占比就已经接近 10%,几乎翻了一番。

  大家都知道,很多品牌PLC的程序都可以通过软件解密,那么一旦解密后程序就非常透明的显示在了别人的眼中,而将设备卖给别人又将PLC程序整个锁死的话又不切实际,甲方会无法维护;而保密和维权更是中国市场经久不衰的话题,其实德国的工程师从来不会给自己的程序整体加密,而是使用其他方式,既不影响发生故障时的诊断,又可以保护自己的核心机密。今天给大家介绍一下这些方式,供大家参考。一、使用西门子安全PLC或者博途的KNOWHOW功能

  西门子安全PLC作为西门子主打安全功能的一款产品,它的性能毋庸置疑,而且安全PLC的程序块加密后无法破解;可以很好的保护核心。而博途PLC作为西门子的最新产品,其版权保护也是它的主要功能之一,KNOWHOW功能是软硬件双重加密,不加密的块可以正常监控,没有密码的话甚至无法下载到其他PLC;因此使用博途的KNOWHOW功能既可以将程序交给甲方方便维护,又可以保护自己的核心程序不被窃取。

  二、采用高级语言编写部分重要的工艺程序

  西门子除了最基础的LAD梯形图编程,FBD功能块编程和STL语句表编程还有很多其他的方式,比如说PCS7的CFC,SFC; 除此之外还有SCL,S7-GRAPH等等。对于这些语言,一般的工控人员很难全部精通,因此仿制难度大大提升,因此非常关键的工艺程序可以由这些语言编写,也可以很好的保护自己的核心。建议用户应该尽量采用高级层次的编程方式,这样编出来的程序中嵌入系统的保护加密程序,才不容易被发现而仿制。

  (1)编程方式的采用

  a)采用模块化的程序结构,采用符号名,参数化来编写子程序块

  b)尽量采用背景数据块和多重背景的数据传递方式

  c)多采用间接寻址的编程方式

  d)复杂系统的控制程序尤其是一些带有顺序控制或配方控制的程序,可以考虑采用数据编程的方式,即通过数据的变化来改变系统的控制逻辑或控制顺序。

  (2)主动保护方法

  a)利用系统的时钟

  b)利用程序卡或者CPU的ID号和序列号

  c)利用EEPROM的反写入功能,及一些需要设置的内存保持功能 d)利用系统提供的累时器功能

  e)在用户程序的数据块中设置密码

  f)软件上设置逻辑陷阱

  g)可以反向利用自己在编程时犯的错误

  (3)被动保护方法

  a)在内存容量利用许可的条件下,不要删除被认为是无用的程序

  b)在数据块里留下开发者的标识,以便于将来遭到侵权时可以取证

  (4)应用反窃取技术的注意事项

  a)在用户程序中嵌入保护程序要显得自然一些,不能很突兀的加出一段程序来,代码要尽量精简,变量符号名应与被嵌入程序段的变量保持一致

  b)往往一种保护加密手段是不够的,应该多种方法并用,并且这些保护程序一旦激活后对系统造成的后果也应该尽量不同,造成所谓的“地雷效应”,从而增加程序被窃取的难度,时间与成本,短时间内让抄袭者束手无策,

  c)保护好程序的原代码,如果需要交付程序的,在不影响用户对设备维护的前提下,应对交付的程序做适当的技术处理,如删除部分符号名,采用上载的程序或数据块

  d)做好严格的测试,以避免保护程序的不完善引起的误动作而带来的不必要的麻烦,同时也能降低售后服务的的费用。

  三、使用通讯功能在实际应用中,往往会遇到一些系统间需要数据交换的问题(多个PLC之间,PLC与第三方仪表之间),无论是西门子产品之间还是西门子产品与第三方产品之间,建议使用通讯的方案来代替模拟量或开关量之间的信号互连的方案。对于前者,仿制者只能看见一条硬件的通讯线,至于有多少数据是如何通过通讯交换的,仿制者必须要花精力研究具体的用户程序才能搞清楚;而对于后者,开发者是省心省力了,仿制者也是一目了然,尽收眼底。对于一些变频器或者伺服电机等的程序设计,一般有多种方式,可以线路直接控制还可以通讯控制,那么使用通讯的方式的话会使得程序增加了仿制的难度,比如说PLC对于伺服驱动器的控制有多种,简单一些的可以是脉冲直接控制或者模拟量控制,这种方式就容易仿制,如果换成通讯控制,则会使得程序复杂很多,加上仿制者如果对报文不熟悉,很难去仿制。有时候控制系统会由多个子控制系统构成,由此形成多CPU加人机界面的网络,西门子S7-200产品常见的是PPI网络,S7-300400产品常见的是MPI网络,通常是人机界面与CPU之间的数据交换,而我们也可在CPU的用户程序中添加一些无须组态的S7基本通讯功能(S7-200可用NETRNETW指令,S7-300400可以用X_PUTX_GET指令),定时或不定时地在CPU之间进行少量数据交换,通过这些数据实现子系统控制逻辑的互锁。对于这样的系统,仿制者要分析某一子系统的程序也不是件十分容易事情。四、采用面板类型的人机界面

  尽量在自动化系统中使用面板类型的人机界面来代替单一的按钮指示灯,很多人机界面没有源程序的话只有备份和恢复功能,完全可以实现维护功能还保密了HMI这一层的程序,而对于一个PLC系统而言,即使拥有了源程序但是缺失了HMI部分的标记也是很难仿制的。而且开发者可以在面板的画面上加上明显的厂家标识和联系方式等信息,仿制者就不能原样照抄。

  

  如果就使得如果仿制者想要复制程序的话,就必须重新编写操作面板的程序甚至于PLC的程序,而开发者则可利用面板和PLC数据接口的一些特殊功能区(如西门子面板的区域指针,或VB脚本)来控制PLC的程序执行。这样的PLC程序在没有HMI源程序的情况下只能靠猜测和在线监视来获取PLC内部变量的变化逻辑,费时费力,极大的增加了仿制抄袭的难度。

  五、采用非标准的人机界面

  德国工程师都愿意使用这种方式。在中国,大多数工程师都愿意使用WINCC,INTOUCH或者组态王等等,但其实除了这些软件,还有一种更加高大上的编写方式,那就是利用VB自己写程序,而对于软件与PLC的接口,大家可以选择LIBNODAVE或者其他库等,这种方式写出来的人机界面有着很多好处,首先没有版权问题,因为VB软件是免费的,而且对于WINDOW系统的升级来说只需要简单的添加几个文件即可实现,不像WINCC那样,如果window升级了,需要大量修改文件。一般人都无法修改,更别提仿制了;没有很好的计算机编程功底的话就不敢轻易修改,而仅仅有计算机功底又没有PLC或者工艺基础的话也是无法更改的。

  一套完整的PLC程序,并不仅仅是使系统能够运行起来这么简单,它也需要完整的注释、精良的架构、良好的可扩展性、完备的报警保护系统、运行前的模拟系统。

  

  1、简单性

  使PLC程序尽可能简单。简单的含义就是尽可能的使用标准化的程序框架,尽可能使用简单的指令。

  要想程序简单,从大的方面讲,要优化程序结构,用流程控制指令简化程序,从小的方面讲还要用功能强的指令取代功能单一的指令,以及注意指令的安排顺序等。

  2、可读性

  要求所设计的程序可读性要好。这不仅便于程序设计者加深对程序的理解,便于调试,而且,还要便于别人读懂你的程序,便于使用者维护。必要时,也可使程序推广。

  要使程序可读性好,所设计的程序就要尽可能清晰。要注意层次,实现模块化,以至于用面向对象的方法进行设计。要多用一些标准的设计。

  如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便阅读。

  再就是I/O分配要有规律性,便于记忆与理解。必要时,还要做一些注释工作。内部器件的使用也要讲规律性,不要随便地拿来就用。

  可读性在程序设计开始时就要注意。这不易完全做到。因为在程序调试的过程中,指令的增减,内部器件的使用变化,可能使原较清晰的程序,变的有些乱。所以在设计时就对调试增减留有一定的余地,然后调试完毕后再做一下整理,这样所设计的程序具有更高的质量。

  程序的注释,起码应该有以下几个方面:

  A、系统注释:整套程序的版权公司和此套程序用途

  B、程序块注释:此程序块的主要用途和作者

  C、段注释:此段代码的用途

  D、变量注释:重要性无需多言,包含I/O注释、中间变量注释

  

  而至于保密性的考虑,我觉得应该在程序的加密算法或者块的加密上考虑,而不应该用减少注释这种小聪明来实现。

  3、正确性

  PLC的程序一定要正确,并要经过实际工作验证,证明其能够正确工作。这是对PLC程序的最根本的要求,若这一点做不到,其它的再好也没有用。

  要使程序正确,一定要准确的使用指令,正确的使用内部器件。准确的使用指令与准确理解指令相联系,为此对指令含义和使用条件一定要弄清楚。必要时,可编些小程序对一些不清楚的指令作些测试。

  同一指令,由于PLC的出厂批次不同或是PLC的系列型号的不同,一些指令细节有可能不一样,应仔细查阅编程手册。

  内部器件正确使用也是重要的。如有的PLC有掉电保护,有的PLC没有。一定要做到该掉电保护的一定要用掉电保护的器件,反之则不能用。

  总之,要准确的使用指令,正确使用内部器件,使所编的程序能正确要作,这是对PLC程序最根本的要求。

  举个简单的例子,西门子的上升沿和下降沿需要使用带存储功能的变量作为中间变量,比如M点或者DB点,如果使用FC的temp变量就会出问题的。

  4、可靠性

  程序不仅要正确,还要可靠。可靠反映着PLC程序的稳定性,这也是对PLC程序的基本要求。

  有的PLC程序,在正常的工作条件下或合法操作时能正确工作,而出现非正常工作条件(如临时停电,又很快再通电)或进行非法操作(如一些按钮不按顺序按,或同时按若干按钮)后,程序就不能正常工作了。这种程序,就不大可靠,或说不稳定,就是不好的程序。

  好的PLC程序对非正常工作条件出现,能予以识别,并能使其与正常条件衔接,可使程序适应于多种情况。好的PLC程序对非法操作能予以拒绝,且不留下“痕迹”。只接受合法操作。

  联锁是拒绝非法操作常用的手段,继电电路常用这个方法,PLC也可继承这个方法。

  5、易改性

  要使程序易改,也就是要便于修改。PLC的特点之一就是方便,可灵活地适用于各种情况。其办法就是靠修改或重新设计程序。

  重新设计程序用于改变PLC工艺的用途要求的情况,不仅程序重编,而且I/O也要重新分配。多数情况下不需要重编程序,作一些修改就可以了。这就要求程序具有易性,便于修改。

  易改也就是弹性,要求只要作很少的改动,即可达到改变参数或理改动作的目的。

  6、扩展性

  许多程序可能在进现场之前都已经编好,但是到了现场,可能还需要添加另外的程序,为了避免打乱整套系统的结构,需要在每个功能区预留一定的空间作为备用。

  硬件上留出足够的余量,软件在编写的时候把手动,自动,半自动考虑好,位置留出来。

  7、完备报警系统

  PLC系统往往用于工业环境中,每一次的事故都会造成或大或小的损失,为了做到事故预处理或者在事故中将损失降到最小,必须重视PLC的报警和保护,在此将其摘出来作为系统的一个重要组成部分。

  8、程序模拟

  为了保证现场的调试进度或者给客户展示,往往在进现场之前,要对自己的程序进行全自动的模拟。为此需要在程序中加入模拟程序部分,模拟程序部分在正常现场运行之后断开。为了使程序具备模拟功能,需要做以下工作:

  (1)将实际的PLC的I/O点转换为PLC的中间变量或者数据块变量;

  (2)根据工艺要求编写各个设备的模拟程序。在设计PLC程序的过程中,能够满足以上几个方面的要求的就能称的上是一个好程序了。

  

  (1)选择合适的PLC型号及I/O点数,有特殊功能需求时选择特殊功能模块。

  (2)熟悉所选择的PLC编程指令及编译软件。

  (3)进行软元件规划,包括内部继电器、保持继电器、数据寄存器、定时器、计数器等。

  (4)进行程序规划,一般以故障提取、故障处理、手动处理、自动处理、输出处理这样的顺序进行编程。比较大型的工程或设备按功能单元分段、分块进行处理,如一条自动化生产线中有提升机、移行、顶起旋转装置等,则应按上述单元分段分块编程。

  (5)在分段分块编写的程序前应加上简短的段注释,说明此段程序的功能,如有必要可以注明相应的工艺流程。分块或分段的程序再总体程序的位置顺序应基本上按工艺流程顺序排列,便于程序的可读性。

  (6)在程序设计之前,应对设备进行抽象,对如停止、急停、过载、超限、超时、安全光幕、碰停、门开关等共用因子进行提取,放在启动回路或启动主控、连锁回路,作为整个程序结构的大前提,在此基础下,再将程序分为自动、手动两大功能区。

  (7)将程序结构手动功能区共用因子,如手动、危及设备人身安全等因数因子进行提取,放在手动主控、连锁回路,对手动控制进行保护、屏蔽、报警。

  (8)将程序结构自动功能区共用因子,如自动、超限、超时等因数因子进行提取,放在自动主控、连锁回路,对自动控制下设备进行保护、屏蔽、报警。一个总的原则就是,在确保安全的前提下,严格限制设备的进,宽松限制设备的出。

  (9)程序设计时应设计程序总复位功能,便于使用者在设备出现故障情况下,可以方便尽快恢复设备正常工作。总复位应充分考虑在复位过程中设备和人员的安全。

  (10)自动模式切换到手动模式时,程序应清除自动模式下的输出和中间状态。特别是在自动模式使用SET指令时,必须在手动模式用RESET指令予以清除。

  (11)严禁在编制程序中使用双输出,即同一条输出语句或同一个输出线圈在程序中出现2次及以上。在不同模式条件下的对同一输出点的输出使用中间继电器进行中转,最后集中到一起并列到输出点。

  (12)使用触摸屏时,对触摸屏和PLC公用的控制区和状态区,不得做其他功能方面的编程使用。

  (13)对PLC的特殊模块,在使用之前,应先查明其控制区和状态区是否占用工作字,若占用,不得将这些工作字做其他方面的编程。

  (14)PLC的输入、输出、中间继电器、定时器、计数器、数据寄存器等都要加中文注释。输入、输出还要有元器件名称位号。对应的输入点,一般情况下默认为外围开关连接的是NO触点,对于需要接NC触点的须在注释中标明。所有注释应当清晰明了,不易产生误解,尽量少使用泛指。

  (15)工程调试完成后,系统必须保留最终软件程序,保存的文件名应包含项目编号/作者/日期信息/版本号等。

  (16)关于程序加密:对于加密程序的密码必须有专门的文件予以保存,并注明相应的用户名+密码+权限,分发给至少两个人以上了解密码,防止密码丢失带来无法打开程序的情况。

  (17)PLC和上位机(或触摸屏)组成监控系统时,在画面上很多时候需要有“手动”、“自动”等控制模式(一般都是多个只能一个时)。在程序里面可以用“MOV”指令。如:当选择“手动”就将常数1 MOV到一个寄存器VB10里面,当选择“自动”就将2 MOV到同一寄存器VB10。只要判断寄存器的数据是多少,就知道系统是那种控制方式。这样的思路好处是容易理解,不需要互锁之类的麻烦程序。

  

  (18)程序有模拟量控制时,如果读取的模拟量基本上没误差,可以采取时间滤波的方式,延时一段时间。如果读取的数据误差很大,就需要采取其它的滤波方式,如算平均值等。可以查阅相关的资料。

  (19)在程序调试过程中(特别是设备改造时,你的程序是加入到原来设备的程序中时),当程序语句中出现条件满足,而输出线圈不接通时,可以检查你的这段程序是否是在这样的语句之间,如JUMP\go to\等语句。还有一种可能就是在中断程序之后,条件满足而没输出不接通,一般都是这段的程序不被扫描。

  (20)在顺序控制程序时,即一个动作完成后,进入到下一个动作,等类似的顺序控制,采用+10+10控制模式,本人觉得很方便。其思路是:预置一个寄存器,在初始化时值为0,当系统启动后,对它+10,此时寄存器为10,寄存器等于10时可以做第一个动作;第一个动作完成后,再对寄存器+10,此时寄存器等于20,可以做第二个动作,第二个动作完成后又+10,此时寄存器等于30,这样只要判断寄存器里面数据为多少,就知道要完成那个动作。当需要跳跃动作时,可以不再+10,可以加+20\+30....,看实际的需要而定。为什么加10而不是加1,因为加10之后,如果插入一段,只要在这10个空余的地方随便选择一个位置就可以了。

  (21)在设计程序的时候,当出现工艺上的故障(非控制系统控制),最好将故障现象保持,并有灯光声音报警。直到操作工复位,以让其知道系统出现了故障。不然停机了,别人还认为你的程序问题。一般都是在设计一个新系统时,要注意到这些。

  (22)对于经常调用的子程序,可以做成子模块,频繁调用。

  (23)由于生产机械在工作循环中的各工步运动在执行时需要一定的时间,且这些时间都有一定的限度,因此可以以这些时间为参考,在要检测的工步动作开始的同时,起动一个定时器,定时器的时间设定值比正常情况下该动作要持续的时间长20%~30%,而定时器的输出信号可以用于报警或自动停机装置。当生产机械某工步动作的时间超过规定时间,达到对应的定时器预置时间,还未转入下一工步动作时定时器发出故障信号,该信号停止正常工作循环程序,起动报警或停机程序,这就是我们常说的超节拍保护。

  (24)一些安全用检测开关(如急停按钮、安全光幕、极限开关等)实用常闭(NC)输入。

  (25)为安全、节能考虑,尽量将输出设计成需要动作时才动作,一旦到位就停止输出,而不要设计成平时一直输出,需要停止时才让输出断开。

  (26)执行元件的动作原则应当是宁可不动,也不要乱动!

  (27)单台设备控制:单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。

  (28)单台设备(泵、风机及其它大型设备)运行满24小时。

  

  1、什么是电气设备的额定值?

  答:任何一个电气设备,为了安全可靠的工作,都必须有一定的电流,电压和功率因数的限制和规定值,这种规定值就称为额定值。

  2、电路的三种工作状态是什么?

  答:(1)通路 (2)开路 (3)短路

  3、单相交流电路的有功功率、无功功率和视在功率的计算公式?

  答:(1) 有功功率:P=UIcosΦ (2)无功功率:Q=UIsinΦ (3)视在功率:S=UI

  4、什么是中性点位移?

  答:当星形连接的负载不对称时,如果没有中线或者中线的阻抗较大,就会出现中性点电压,这样的现象就叫做中性点位移。

  5、什么叫有功功率?什么叫无功功率?

  答:

  (1)电流在电阻电路中,一个周期内所消耗的平均功率叫有功功率。(P)单位:瓦

  (2)储能元件线圈或电容器与电源之间的能量交换,为了衡量他们之间能量的大小,用瞬时功率的最大值来表示,也就是交换能量的最大速率,称为无功功率(Q)单位:乏。

  6、功率因数进相和迟相是怎么回事?

  答:同步发电机既发有功也发无功,这种状态称为迟相运行,或称滞后,此时发出感性无功功率,但有时,发电机送出有功,吸收无功,这种状态称为进相运行。

  7、发电机并列有几种方法?各有何优缺点?

  答:

  (1)发电机并列的方法分两类:准同期法和自同期法。

  (2)准同期法的优点是发电机没有冲击电流,对电力系统没有什么影响,但如果因某种原因造成非同期并列时,则冲击电流很大,比机端三相短路时电流还大一倍。自同期法并列的优点是操作方法比较简单,合闸过程的自动化简单,在事故状态下,合闸迅速。缺点是有冲击电流,而且对系统有影响,即在合闸的瞬间系统电压降低。

  8、准同期并列有哪几个条件?不符和这些条件将产生什么样的后果?

  答:

  (1)满足三个条件:①电压相等;②电压相位一致;③频率相等

  (2)①电压不相等的情况下,并列后,发电机绕组内的冲击电流相当大;

  ②电压相位不一致,后果可能产生很大的冲击电流使发电机烧毁或使大轴扭曲

  ③频率不等,将使发电机产生机械震动。

  9、端电压低了或高了,对发电机本身有什么影响?

  答:

  (1)电压过低会降低运行的稳定性。励磁电流变化就会引起电压大变化,降低了调节的稳定性,而定子绕组温度可能升高(出力不变的情况下)。

  (2)电压太高,转子绕组的温度可能超出允许值,并对定子线圈的绝缘也有威胁。

  10、发电机允许变为电动机运行吗?

  答:发电机变为电动机运行是完全允许的。发电机变为电动机时,要关闭主汽门,发电机变为电动机运行后,定子磁极在前,转子磁极在后,由定子磁场拖着转子跑,它仍不失同步,故称为同步电动机。此时,电机从系统中吸收有功,补偿机械损耗,而无功也可吸收也可送出。

  11、事故情况下发电机为什么可以短时间过负荷?

  答:发电机过负荷要引起定子、转子绕组和铁心温度升高,加速绝缘老化。但绝缘材料老化需要一个时间过程,并需要一个高温的过程,高温时间愈短,绝缘材料损坏愈轻,发电机满载温度距允许温度还有一定余温,即使过负荷也不会超出很多,因此,发电机允许短时间过负荷。

  12、定子绕组单相接地时对发电机有危险吗?

  答:发生一相接地,接地点就会有电容电流流过,当机端发生金属性接地,接地电流最大,而接地点越靠近中性点接地电流就越小。故障点有电流流过,就可能产生电弧,当接地电流大于5A时,会有烧坏铁心的危险。

  13、转子发生一点接地还可以继续运行吗?

  答:转子发生一点接地,转子电流就会增大,其后果是部分转子绕组发热,有可能被烧毁,而且电机转子由于作用力偏移而导致强烈的震动。

  14、同步表S的工作原理?

  答:用两个互相垂直,空间彼此交叉90°角的线圈,如果分别通以电气相位角也为90°的两个电流,则两个线圈形成的磁场为一个旋转磁场。同步表S就是运用旋转磁场和交变脉冲磁场的相互作用而工作的。

  15、怎样进行手动准同期并列?

  答:当系统同期条件满足时,同期表的指针在360°的范围内应是顺时针平稳缓慢的旋转。待观察几圈后,在同步表指针指向“12”点前的某一瞬间合上发电机开关。

  16、发电机同期并列操作应注意哪些事项?

  答:

  (1)操作时熟练操作方法,了解同期回路接线情况。

  (2)同期表投入时间不超过15min、

  (3)当同期表转动过快,跳动或停在12点钟不动及无规律转动,禁止合闸操作。

  (4)若调速系统很不稳定,不能采用自动准同期并列。

  17、发电机启动前应做那些检查和准备工作?

  答:新安装的发电机或检修后的发电机投入运行时,应收回发电机及附属设备的全部工作票和拆除安全措施恢复所设遮拦。

  (1)发电机,励磁机及其他有关设备应清洁完整无异常。

  (2)发电机断路器,灭磁开关,电压互感器,保护装置等一二次回路情况应正常。

  (3)若为发电机—变压器接线时,应检查变压器的连接线和高压侧断路器和隔离开关等。

  (4)发电机滑环,整流子及电刷应清洁无接地情况。

  (5)继保,自动装置完好,并处于投入状态。

  (6)励磁可变电阻接线无误,电阻处在最大位置。

  (7)检查完毕后,测量发电机绝缘电阻合格及断路器,灭磁开关等开关的拉合试验。

  (8)断路器与灭磁开关励磁开关的联锁,闭锁试验。

  (9)强励动作试验。

  (10)做机电联系信号试验。

  18、发电机启动过程中应怎样检查?

  答:

  (1)应仔细听发电机内部的响声是否正常。

  (2)轴承油温,振动及其他运转部分应正常。

  (3)整流子或滑环上的电刷是否接触不良,跳动。

  (4)发电机各部分温度有无异常升高现象。

  19、发电机启动操作中有哪些注意事项?

  答:断路器未合闸三相电流均等于零,若有电流则说明定子回路上有短路点,应立即拉开灭磁开关检查。三相电压应平衡。核对空载特性,检查发电机转子绕组有无层间短路。

  20、发电机启动前应做哪些试验?

  答:

  (1)断路器,灭磁开关的分合试验。

  (2)断路器,灭磁开关的联锁试验。

  (3)调速电机动作试验,转向正确,调整平稳。

  (4)磁场变阻器调整灵活,无卡涩现象。

  (5)主汽门关闭联跳断路器,灭磁开关试验。

  21、发电机升压操作时应注意什么?

  答:

  (1)升压应缓慢进行,使定子电压缓慢上升。

  (2)升压过程中应监视转子电压,电流和定子电压表指示均匀上升。

  (3)电压升至额定值的50%时,应测量定子三相电压是否平衡。

  (4)升压中应检查发电机,励磁机及电刷的运行情况。

  (5)升压至额定后应检查转子回路的绝缘状况。

  22、发电机的出,入口风温差变化说明了什么问题?

  答:在同一负荷下,出入口风温差应该不变,如果发现有较大变化说明发电机内部损耗增加或空气量减少,应检查并分析原因。

  23、发电机运行中应检查哪些项目?

  答:

  (1)定子绕组,铁心,转子绕组,硅整流器和发电机各部温度。

  (2)电机有无异常振动及音响和气味如何。

  (3)发电机内有无漏油。

  (4)发电机各引出线,断路器,励磁开关的设备完整,接头无放电过热现象。

  (5)发电机内无流胶,渗水现象。

  (6)冷却系统是否良好。

  (7)电刷清洁完整,无冒火。

  24、事故处理的主要原则是什么?

  答:

  (1)设法保证厂用电源。

  (2)迅速限制事故发展,消除事故根源,并解除对人身和设备的危险。

  (3)保证非故障设备继续良好运行,必要时增加出力,保证正常供电。

  (4)迅速对已停电用户恢复供电。

  (5)调整电力系统运行方式,使其恢复正常。

  (6)事故处理中必须考虑全局,积极主动做到稳,准,快。

  25、强送电时有何注意事项?

  答:

  (1)设备跳闸后,有下列情况不准送电:a:有严重短路现象。B:断路器严重缺油。C :作业完后,充电时跳闸。D :断路器连跳闸二次后。

  (2)凡跳闸后可能产生非同期电源者。

  (3)强送220kv线路时,强送断路器所在的母线上必须有变压器中性点接地。

  (4)强送电时,发现电流剧增,电压严重下降,应立即断开。

  (5)强送电后应作到:线路或发电机的三相电流应平衡,对已送电断路器进行检查。

  26、强行励磁起什么作用?

  答:

  (1)增加电力系统的稳定性。

  (2)在短路切除后,能使电压迅速恢复。

  (3)提高带时限的过流保护动作的可靠性。

  (4)改善系统事故时的电动机的自启动条件。

  27、为何要在滑环表面上出沟槽?

  答:

  (1)增加散热面积,加强冷却。

  (2)改善同电刷的接触,容易让电刷的粉末沿沟槽排出。

  28、运行中,维护碳刷时应注意什么?

  答:

  (1)用压缩空气吹扫时,应没有水分和油,压力不超过0、3Mpa

  (2)在滑环上工作,工作人员应该穿绝缘鞋,并站在绝缘垫上,防止短路和接地。

  (3)禁止用两手同时接触励磁回路和接地部分,或两个不同极的带电部分。

  (4)工作时穿工作服,禁止穿短袖衣服,或卷起衣袖,并扣紧衣袖。

  (5)更换的碳刷型号,尺寸要统一,并研磨。

  (6)每次更换碳刷数不应过多,不超过每极总数的20%。

  29、运行中对滑环的检查有那些?

  答:

  (1)整流子和滑环上电刷的冒火情况

  (2)电刷在刷握内有无跳动或卡涩情况,弹簧的压力是否均匀。

  (3)电刷连接软线是否完整。

  (4)电刷边缘是否有剥落的情况。

  (5)电刷是否过短并给予更换。

  (6)滑环表面的温度是否超过规定。

  (7)刷握跟刷架有无积垢。

  30、变压器的额定容量,额定电压,额定电流,空栽损耗,短路损耗,阻抗电压各代表什么?

  答:

  (1)额定容量:变压器在额定电压额定电流时连续运行所能输送的容量。

  (2)额定电压:变压器长时间的运行所能承受的工作电压。

  (3)额定电流:变压器允许长时期通过的工作电流。

  (4)空载损耗:变压器二次开路在额定电压时变压器铁芯所产生的损耗。

  (5)短路损耗:将变压器二次绕组短路,流经一次绕组的电流为额定时,变压器绕组导体所消耗的功率。

  (6)阻抗电压:将变压器二次绕组短路使一次侧电压逐渐升高,当二次绕组的短路电流达到额定值时,此时一次侧电压也额定电压比值的百分数。

  31、变压器中油起什么作用?

  答:(1)绝缘;(2)散热

  32、变压器的冷却方式有哪几种?

  答:

  (1)油浸自然冷却方式。

  (2)油浸风冷式。

  (3)强迫油循环水冷式。

  (4)强迫油循环风冷式。

  (5)强迫油循环导向冷却。

  33、变压器瓦斯继电器的动作原理是什么?

  答:当变压器内部故障时,产生的气体聚集在瓦斯继电器的上部,使油面降低。当油面降低到一定程度,上浮筒下沉水银对地接通,发出信号,当变压器内部严重故障时,油流冲击挡板,挡板偏板并带动板后的连杆转动上升,挑动与水银接点相连的连动环,使水银接点分别向与油流垂直的两侧转动,两处水银接点同时接通使断路器跳闸或发出信号。

  34、变压器的铁芯为什么要接地?

  答:运行中的变压器的铁芯及其他附件都处于绕组周围的电场内,如果不接地,铁芯及其他附件必然产生一定的悬浮电位,在外压电压的作用下,当该电压超过对地放电电压时,就会出现放电现象,为了避免变压器内部放电,所以铁芯要接地。

  35、变压器并列的条件是什么?

  答:

  (1)电压比相同,允许相差±0、5%;

  (2)百分阻抗相等,允许相差±10%;

  (4)接线组别相同。

  36、变压器的阻抗电压在运行中有什么作用?

  答:阻抗电压是涉及变压器成本,效率及运行的重要经济技术指标,从变压器的运行条件来说,阻抗电压小一些较好,从限制短路电流来说,希望阻抗电压大一些,以避免电器设备如断路器、隔离开关等经受不住短路电流的作用而损坏。所以应根据设备的运行条件来设计阻抗电压,且应尽量小一些。

  37、怎样测量变压的绝缘?

  (1)变压器绕组额定电压在6KV以上,使用2500V兆欧表;

  (2)变压器绕组额定电压在500V以下,用1000V或2500V兆

  欧表;

  (3)变压器的高中低压绕组之间,使用2500V兆欧表;

  38、摇测变压器的注意事项?

  (1)摇测前应将绝缘子、套管清理干净,拆除全部接地线,将中性点隔离开关拉开。

  (2)使用合格的绝缘电阻表。

  (3)摇测时应记录当时变压器的油温及温度;

  (4)摇测后应将变压器的绕组放电,防止触电;

  (5)对三绕组变压器应测量一次对二、三次及地、二次对一、三次及地、三次对一、二次及地的绝缘电阻。

  (6)在潮湿或污染地区应加屏蔽线。

  39、什么是变压器的空载运行?

  答:变压器的空载运行是指变压器的一次绕组接电源,二次绕组开路的工作状况。

  40、什么是变压器的负载运行?

  答:一次绕组接上电源,二次绕组接有负载的状况。

  41、什么是变压器的正常过负荷?

  答:

  (1)当变压器过负荷运行时,绝缘寿命损失将增加,而轻负荷运行时,绝缘寿命损失将减小因此可以互相补偿。

  (2)夏季油温升高时,在额定负荷时绝缘寿命损失将增加,冬季油温降低,在额定负荷时绝缘寿命损失将减小,因此可以互相补偿。

  (3)变压器的正常过负荷能力,是指在上述的两种补偿后,

  不以牺牲变压器的正常使用寿命为前提的过负荷。

  42、轻瓦斯保护动作应如何处理?

  答:瓦斯保护信号动作时,值班人员应密切监视变压器的电流、电压和温度变化,并对变压器作外部检查,倾听音响有无变化、油位有无降低,以及直流系统绝缘有无接地、二次回路有无故障,如瓦斯继电器内存在气体,则应鉴定其颜色,并取气样和油样作色谱分析,以判断变压器的故障性质。

  43、重瓦斯保护动作应如何处理?

  答:

  (1)变压器差动保护是否掉牌。

  (2)重瓦斯保护动作前,电压、电流有无波动。

  (3)防爆管和吸湿器是否破裂,压力释放阀是否动作。

  (4)瓦斯继电器内有无气体或收集的气体是否可燃。

  (5)重瓦斯保护掉牌能否复归,直流系统是否接地。

  44、变压器着火如何处理?

  答:变压器着火时,首先将变压器断路器松开,使之脱离电源,然后用1211灭火器或二氧化碳、四氯化碳灭火器、干粉灭火器进行灭火。

  45、变压器运行中试验项目有哪些?

  答:

  (1)测量绕组的绝缘电阻和吸收比。

  (2)测量绕组连同套管一起的泄露电流。

  (3)测量绕组的直流电阻。

  (4)变压器及其套管中绝缘油试验。

  (5)冷却装置的检查试验。

  (6)检查运行中的净油器。

  (7)局部放电试验。

  (8)检查衬垫和法兰的连接情况。

  46、变压器故障一般容易在何处发生?

  答:一般都发生在:绕组、铁芯、套管、分接开关和油箱、漏油、导线接头发热等。

  47、变压器自动跳闸后如何处理?

  答:

  (1)如有备用变压器,则应迅速投入运行,并检查自动跳闸原因。

  (2)如无备用变压器,则应检查是何种原因造成跳闸,如证明是由于过负荷、外部短路和保护装置二次回路故障,则可投入运行。如有故障,经消除后再送电。

  48、发现变压器油位过高或过低如何处理?

  答:

  (1)如变压器油位与温度、负荷及冷却条件不符,应怀疑为假油位,出现假油位的可能:油位计联管堵塞,汇报领导,进行处理。

  (2)因环境温度使油位升高或降低并超出极限时,应放油或加油,保持正常油位。

  (3)出现大量漏油使油位迅速下降,则投入备用变压器,故障变压器停运。

  49、高压断路器的主要类型有哪些?

  答:

  (1)油断路器;

  (2)压缩空气断路器;

  (3)磁吹断路器;

  (4)真空断路器;

  (5)六氟化硫断路器;

  (6)自产气断路器。

  50、高压断路器的主要要求是什么?

  答:

  (1)绝缘部分能长期承受最大工作电压,还能承受过电压。

  (2)长期通过额定电流时,各部温度不超过允许值。

  (3)跳闸时间要短,灭弧速度要快。

  (4)能满足快速重合闸。

  (5)断路器遮断容量大于系统短路容量。

  (6)有足够的动稳定性和热稳定性。

  51、油在高压油断路器中的作用?

  答:油的主要作用是来熄灭电弧的。

  52、断路器的送电和停电操作是这样的?

  答:

  (1)送电:①确认在断开位置,且操作熔丝未投入;

  ②先合电源侧隔离开关,后合负荷侧隔离开关;

  ③投入合闸及操作熔断器;

  ④合上断路器操作把手。

  (2)停电:①断开断路器操作把手;

  ②取下合闸熔断器;

  ③先拉开负荷侧隔离开关,后拉电源侧隔离开关;

  ④取下操作熔断器。

  53、防止误操作的“五防”内容?

  答:

  (1)防止误拉、误合断路器;

  (2)防止带负荷误拉、误合开关;

  (3)防止带电接地隔离开关;

  (4)防止带接地线合闸;

  (5)防止误入带电间隔。

  54、断路器遇有哪些情形,应立即停电处理?

  答:

  (1)套管有严重破损和放电现象;

  (2)多油断路器内部有爆裂声;

  (3)少油断路器灭弧室冒烟或内部有异常声响;

  (4)油断路器严重漏油,油位过低;

  (5)空气断路器内部有异常声响或严重漏汽、压力下降,橡胶垫被吹出;

  (6)六氟化硫气室严重漏气,发出操作闭锁信号;

  (7)真空断路器出现真空破坏的丝丝声;

  (8)液压机构突然失压到零。

  55、隔离开关的用途是什么?

  答:设备检修时,造成明显的断开点,使检修设备和系统隔离。原则上隔离开关不能用于开断负荷电流,但是在电流很小和容量很低的情况下。可视为例外。

  56、用隔离开关可以进行哪些操作?

  答:

  (1)可以拉、合闭路开关的旁路电流。

  (2)拉开、合上变压器中性点的接地线,当有消弧线圈时。

  只有在系统无接地时拉、合。

  (3)拉、合电压互感器和避雷器。

  (4)拉、合母线及直接在母线上设备的电容电流。

  (5)可以拉、合励磁电流不超过2A的空载变压器。

  (6)拉、合电容电流不超过5A的空载线路,但在20KW及以下者应用三联隔离开关。

  (7)室外三联隔离开关,可以拉合电压在10KW以下,电流在15A以下的负荷。

  (8)拉合10KW以下,70A以下的环路均衡电流。

  57、操作隔离开关的注意事项是什么?

  答:

  合:(1)检查开关确在拉开位置,合隔离开关时,不论是用手还是用传动装置或绝缘操作杆操作,均必须迅速而果断,但在合闸终了时用力不可太猛,以避免发生冲击。

  (2)操作完毕后,应检查是否合上,并检查接触良好。

  分:(1)拉闸时应迅速果断,以便消弧。

  (2)拉开时,三相均在断开位置,使刀片尽量拉到头。

  58、操作中发生带负荷错拉、错合隔离开关时怎么办?

  答:错合隔离开关时,即使合错,甚至在合闸时发生电弧,也不准将隔离开关再拉开。错拉隔离开关时,在刀片刚离开固定触头时,便发生电弧,这时应立即合上,可以熄灭电弧,避免事故,但隔离开关已全部拉开,则不许将误拉的隔离开关合上。

  59、线路停、送点的顺序是怎样规定的?

  答:先合上母线侧隔离开关,后合线路侧隔离开关,最后合断路器。

  60、熔丝是否到达其额定电流时即熔断?

  答:熔丝在接触良好正常散热时,通过额定电流不熔断。35A以上的熔丝要超过额定电流的1、3倍才熔断。

  61、熔断器能否作异步电动机的过载保护?

  答:不能,熔断器只能作电动机、导线、开关设备的短路保护,而不能、起过载保护的作用。只有加装热继电器等设备才能作电动机的过载保护。

  62、发电机TA1—TA6的作用是什么?

  答:

  (1)TA1为测量表计用,供给发电机定子三相电流表、有、无功率表和有无功电度表。

  (2)TA2供给发电机负序电流反时限、低压过流、过负荷继电器所需的二次电流。

  (3)TA3与TA5构成发电机差动保护。

  (4)TA4供变压器差动保护用。

  (5)TA6供发电机自调励磁装置用。

  63、电流互感器为什么不允许长时间过负荷?过负荷运行有何影响?

  答:电流互感器过负荷会使铁芯磁通达到饱和,使其误差增大、表计指示不正确、不容易掌握实际负荷。另一方面由于磁通密度增大,使铁芯和二次线圈过热,绝缘老化快,甚至损坏导线。

  64、什么是电压互感器?

  答:一次设备的高电压,不容易直接测量,将高电压按比例转

  换成较低的电压后,再连接到仪表或继电器中去,这种转换的设备,叫电压互感器。

  65、电压互感器允许运行方式如何?

  答:电压互感器在额定容量下可长期运行,但在任何情况下都不允许超过最大容量运行,它在运行时接近于空载情况,因此二次线圈绝不能短路。

  66、电压互感器的接法有几种?

  答:一般接线方式有V,v、YN,yn,d,Y,yn和D,yn等。

  67、电压互感器在送电前应做好哪些准备工作?

  答:

  (1)测量绝缘电阻,低压侧不得低于1MΩ,高压侧每KV不得低于1MΩ。

  (2)确定定相工作的正确性。

  (3)送电前对电压互感器的检查。

  68、两台互感器并列运行应注意什么问题?

  答:先检查母线断路器是否合上,如未合上则合上母联断路器后,再进行低压并列。

  69、电压互感器在运行中应检查那些项目?

  答:

  (1)瓷瓶应清洁完整,无损坏及裂纹,无放电痕迹及电晕声响

  (2)油位正常油色透明不发黑,且无严重渗,漏油现象。

  (3)呼吸器内部吸潮剂不潮解

  (4)内部声响正常,无放电声以及剧烈震动声

  (5)高压侧导线接头不应过热,低压电缆以及导线不应腐蚀以及损伤,高低压侧熔断器以及限流电阻应完好,低压电路无短路

  (6)电压表三相指示正确

  (7)外壳清洁无裂纹,无渗,漏油现象,二次线圈接地线牢固良好。

  70、电压互感器一,二次熔断器的保护范围是怎么规定的?

  答:

  (1)一次的保护范围:电压互感器内部故障或在电压互感器与电网连接线上的短路故障。

  (2)二次的包伙范围:电压互感器二次熔断器以下回路的短路所引起的待续单路故障。

  71、什么叫厂用电和厂用电系统?

  答:在发电厂内照明,厂用机械用电及其他用电,称为厂用电。

  供给厂用电的配电系统叫厂用电系统。

  72、厂用电接线为何要按炉分段?

  答:

  (1)一段母线如发生故障,仅影响一台锅炉的运行。

  (2)利用锅炉大修或小修机会,可以同时对该段母线进行停电检修

  (3)便于设备的管理和停送电操作。

  73、厂用电系统一般有什么特点?

  答:

  (1)厂用电系统的倒闸操作和运行方式的改变,应有值长发令,并通知有关人员

  (2)除紧急操作及事故处理外,一切正常操作均应按规定填

  写操作票

  (3)厂用电系统的倒闸操作以便应避免在高峰负荷或交接班时进行

  (4)新安装或进行变更的厂用电系统,在并列前应进行核相,检查相序检位的正确性

  (5)厂用电系统切换前必须了解系统的连接方式,防止非同期。

  (6)倒闸操作应考虑环并回路与变压器有无过截的可能,运行系统是否可靠及事故处理是否方便等

  (7)厂用电系统送电操作时,应先合电源侧隔离开关,后合负荷侧隔离开关、停电操作顺序与此相反。

  (8)短路器拉合操作中应考虑断电保护和自动装置的投切情况,并检查相应仪表变化,指示灯及有关信号以验证短路器动作的正确性。

  74、在中性点非直接地系统中为何要安装绝缘监察装置?

  答:在中性点不接地的网络中某相发生接地,并不影响正常供电,所以列为不正常状态,由于非接地相对地电位升高,所以可能又发生(等第二点)接地,即形成两点接地短路尤其是发生孤性间隙接地而引起网络过压因此要即使发现单相接地情况必须装设绝缘监察装置检查判别接地情况。

  75、厂用电事故处理有何原则?

  答:

  (1)备用电源自动投入,检查母线电压是否已恢复正常,并复归开关把手,检查继电保护,查找原因;

  (2)备用电源未投入,立即对备用电源强送一次;

  (3)备用电源处于热备用状态,立即对备用电源强送一次;

  (4)无备用电源,厂变内部继电保护未动作时,可试工作电源一次;

  (5)备用电源投入又跳闸,不能再强送电,证明可能是母线或用电设备故障的越级跳闸;

  (6)询问机、炉有无拉不开或故障设备跳闸的设备;

  (7)将母线所有负荷短路器全停用,对母线进行外观检查,必要时测绝缘;

  (8)母线短时不能恢复供电时,应将负荷转移;

  (9)检查故障情况,采取相应的安全措施;

  (10)加强对正常母线监视,防止过负荷;

  (11)因厂用电中断而造成停机时,应设法保证安全停机电源的供电。

  76、对运行中电动机应注意哪些问题?

  答:

  (1)电流、电压不得超过允许波动范围;

  (2)电动机温度不得超过最高允许值;

  (3)电动机声音应均匀无杂音,气味正常无焦味或冒烟,轴承振动在允许范围;

  (4)轴承润滑良好,温度是否过高,是否有杂音。

  77、电动机启动前应做好哪些准备工作?

  答:

  (1)工作票已全部撤回,拆除全部安全措施;

  (2)做好电动机断路器的开、拉合闸、继电保护和联动试验;

  (3)测电动机绝缘合格。

  78、运行中电动机遇到哪些情况时应立即停用?

  答:

  (1)危及人身安全的机械、电气事故时;

  (2)电动机所带动的机械损坏至危险程度时;

  (3)电动机或其调节装置起火并燃烧时;

  (4)发生强烈振动时;

  (5)电动机的电源电缆、接线盒内有明显短路或损坏;

  (6)轴承及外壳温度急剧上升,并超规定值。

  79、电动机一般装有哪些保护?

  答:

  (1)两相式纵差保护或电流速断保护;

  (2)零序电流保护;

  (3)过负荷保护。

  80、消弧线圈的补偿方式有几种?

  答:

  (1)欠补偿;

  (2)过补偿;

  (3)全补偿。

  81、消弧线圈运动原则有哪些?

  答:

  (1)电网在正常运行时,不对称度应不超过1%—5%,中性点位移电压不超过相电压的15%;

  (2)当其端电压超过相电压的15%,且消弧线圈已动作,则做接地故障处理;

  (3)电网正常运行,消弧线圈必须投入运行;

  (4)电网中有操作或接地故障时,不得停用消弧线圈,其油温最高不超过95℃;

  (5)在电网单相接地或接地电流不超过允许值是,方可操作消弧线圈。

  (6)不得将两台变压器的中性点同时并于一台消弧线圈上运行。

  (7)内部有异音或放电首先将接地线路停用,然后停用消弧线圈。

  (8)消弧线圈动作或发生异常应记录好动作的时间,中性点位移电压、电流及三相对地电压

  82、在什么系统上装设消弧线圈?

  答:在3-60KV的电网中,当接地电流大于下列数值时,变压器中性点经消弧线圈接地,3-6KV的电网中地电流大于30A,10KV的电网中接地电流大于20A,20KV的电网中接地电流大于15A。35KV及以上的电网中接地电流大于10A。

  83、电抗器的作用是什么?

  答:采用电抗器,主要是为了限制短路电流以选择容量较小的电气设备,减少投资,在线路故障的情况下,电抗器能维持母线电压水平,保证用电用户的稳定性

  84、正常巡视电抗器有哪些项目?

  答:(1)接头接触良好,不发热 (2)周围清洁无杂物 (3)瓷瓶清洁并安装牢固(4)垂直分布的无倾斜 (5)门窗应严密,防小动物进入

  85、电抗器局部发热应如何处理?

  答:应减少电抗器的负荷,并加强通风,必要时可采用强力风扇冷却。

  86、运行中导线接头的允许温度时多少?

  答:

  (1)裸导线的接头工作温度一般不得超过70℃

  (2)接触面有锡覆盖得,允许温度为85℃

  87、判断导线接头发热得几种方法?

  答:(1)变色漆(2)试温蜡片(3)本导体电温度计(4)红外线测量法(5)在雨、 雪天 观察线头有无发热

  88、什么叫过电压?

  答:由于雷击、操作,故障或参数配合不当等造成电力系统中某些部分电压升高,并有超过正常值的情况,此种电压升高称为过电压。

  89、什么叫大气过电压?

  答:大气过电压是由于雷击电力系统或雷电感应引起得,与电网额定电压无直接关系,具有脉冲特性。

  90、常见的操作过电压有几种?

  答:(1)切除空载线路(2)空载线路合闸(3)电弧接地(4)切除空载变压器

  91、直流系统在发电厂中起什么作用?

  答:它是一个独立电源,运行稳定,供电可靠,并为控制,信号,继电保护,自动装置以及事故照明等提供可靠的直流电源,它还为操作提供可靠的操作电源。

  92、对继电保护装置的四项基本的要求是什么?

  答:选择性、速动性、灵敏性、可靠性

  93、什么叫主保护?什么叫后备保护?

  答:

  (1)主保护:能满足系统问停及设备安全的要求,以最快的时间选择性的切除被保护设备或线路故障的保护。

  (2)后备保护:主保护或断路器拒动时切除故障的保护

  94、什么时系统的最大,最小运行方式?

  答:

  (1)最大运行方式:在被保护对象末端短路时,系统的等值阻抗最小,通过保护装置的短路电流称为最大的运行方式。

  (2)最小运行方式:指在上述同样短路的情况下,系统等值阻抗最大,通过保护装置的短路电流称为最小的运行方式。

  95、电压互感器的电压应注意什么?

  答:首先将保护退出,然后解除本保护直流,使起动元件与测量元件的执行元件返回,在投入保护时,一定要首先投入保护的电压回路,然后再投直流。

  96、什么是零序保护?

  答:利用线路或其他元件再发生故障时,零序电流增大的特点来实现有选择的发出信号或切断故障的一种保护。

  97、电力系统在什么情况下将出现零序电流?

  答:

  (1)电力变压器三相运行参数不同

  (2)电力系统中单相短路或两相接地短路

  (3)单相重合闸过程中的两相运行

  (4)三相重合闸和手动合闸时,断路器的三相不同期

  (5)空载投入 变压器时三相的励磁涌流不相等

  (6)三相负载严重不平衡

  98、瓦斯保护的范围有哪些?

  答:(1)变压器内部多相短路 (2)匝间短路,匝间和铁芯或外部短路 (3)铁芯故障 (4)油位下降或漏油(5)分接头开关接触不良或导线焊接不良等。

  99、变压器差动与瓦斯保护有何区别?

  答:

  (1)原理不同:差动保护时按环流法原理设计,而瓦斯保护是根据变压器内部故障时产生的油气流的特点设计的。

  (2)保护范围不同:差动保护为变压器及其系统的主保护,引出线上也是差动保护,瓦斯保护为变压器内部故障时的主保护。

  100、什么时低频减载装置?

  答:当电力系统频率下降,致使电力系统的稳定运行受到威胁时,装置能自动切除部分负荷,保证系统的安全运行,这种装置就时低频减载装置。

  填空题

  101、电流表必须和被测电路 _____ 联,而电压表必须何被测电路_____联。

  答:① 串 ②并

  102、钳行电流表主要由_____器和_____表组成。

  答:①电流互感 ②电流

  103、电路器的最高工作电压时额定电压的_____倍。

  答:① 1、15

  104、电压互感器的二次电压一般为 _____ V,电流互感器的二次

  额定电流一般为_____ A

  答:① 100 ② 5

  105、电流互感器的结构特点是,一次绕组的匝数_____,二次绕组的匝数_____。

  答:① 很少 ② 很多

  106、电流互感器的一次电流等于 _____ 电流乘以 _____ 。

  答:①二次