直接起动即将电动机直接投入电网,给电动机定子施加电源电压,这种起动方法虽然简单,但是电动机的起动电流很大,一般为电动机额定电流的5-8倍,过大的起动电流将可能导致电网电压显著下降,影响同一供电线路或同一台供电变压器上其他设备的正常工作。 因此,在实际规范中,对电动机起动引起供电系统的电压降有以下明确的要求: 1、对频繁起动的电动机,其起动时造成的供电电压波动不大于10%; 2、对于不频繁起动的电动机,其起动时造成的供电电压波动不大于15%; 3、对于电动机不与照明或其他对电压敏感的负载共用变压器时,电动机不频繁起动时造成的供电电压波动不大于20%; 4、由单独变压器供电的电动机,其起动时造成的供电电压波动允许值由传动机械要求的起动转矩来决定。 下表列出了当变压器阻抗电压Ku为4.5%时,各容量等级的变压器允许直接起动笼型电动机(最大起动电流为7倍额定电流)的最大功率。 目前在国内一部分资料中,介绍了下述的经验公式,用来在工程应用中判断电机能否直接起动。 但是需要说明的是,这一经验公式只能作为参考,不能作为能否直接起动的根本依据。判断能否直接起动,一般可按电源允许直接起动的功率来考虑,见表7-1和表7-2 粗略的估计电动机直接起动时电网压降可用下述公式: 大型拖动电动机一般选用双鼠笼或深槽式高压电动机。这种电动机起动特性较好,在经济上有明显的优越性。但它的起动尖峰电流较大,起动瞬间降压较大,这对电压要求稳定的设备会有所影响,因此,必须正确选用。 当拖动的负载转矩不超过0.4-0.45倍电动机额定转矩时(即轻载时),可按下述方法选用。 以35/6-10KV变压器供电的高压电动机最大全压起动功率应满足以下经验公式: 1、频繁起动 根据这两个经验公式,算出6KV级高压异步笼型电动机直接起动最大功率的选取表,见表7-3. 2、高压电动机直接起动最大功率的选取 所选取的电动机应该根据式(7-2)验算其电压降,电压降应符合电动机起动引起供电系统电压降的规定;若不能满足,应选择降压起动。 三、直接起动和软起动的综合考量 由于就电动机来说,普通笼型电动机本身是允许直接起动的,因此,传统的观点认为在工程应用中应尽量采用直接起动,但是在实际工程中还应考虑负载工艺要求、使用场合、经济效益等因素。 以下三种情况不可以直接起动的: 1、变压器与电动机容量之比不足够大。 2、起动转矩不能满足要求 3、负载机械工艺要求转矩冲击小 对于中大容量电动机的传动系统,直接起动时很大的突跳转矩冲击使轴承、齿轮磨损加重甚至损坏,减速箱故障率高,皮带磨损加重甚至经常拉断,同时过大的机械冲击大大降低了机械设备的寿命,很大的冲击电流导致电动机绕组绝缘老化,电器设备寿命下降,设备维护率高,从而严重影响生产。所以一般工业中55-90KW以上的电动机在经济条件允许的情况下应尽量采用软起动的方式,长远的考虑采用软起动带来的综合经济效益是难以量化的。 例如:某汽车集团热电厂共有8台22kw冷却塔风机,采用渐开线行星齿轮传动,由于风叶是玻璃钢材质,自身重量大,导致直接起动转矩很大,冲击力大,从而会造成齿轮磨损加剧,传动部件如轴承、齿轮、花键故障频繁,后改用软启动器,齿轮磨损大大降低。 摘录《电动机软起动器入门与应用实例 -刘利、王栋编著》" 在C++11之前,我们就知道关于普通全局函数和类内成员函数的重载、重写、重定义。今天,junkle重点不是想学习它们,所以咱们只简单回忆一下它们。 " 01函数重载(overload) 重载是C++的特性,C语言并没有提供这样的机制。其主要作用是解决对类似功能的函数起不同函数名区分的问题。语法格式: (1)相同的范围(在同一个作用域中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无(注:函数重载与有无virtual修饰无关); (5)返回值可以不同; 02函数重写(override) 重写同样也是C++的特性,并且主要使用在C++的多态中。语法格式: (1)不在同一个作用域(分别位于派生类与基类); (2)函数名字相同; (3)参数相同; (4)基类函数必须有 virtual 关键字,不能有 static 。 (5)返回值相同,否则报错; (6)重写函数的访问修饰符可以不同; 03函数重定义(也称隐藏) 函数重定义,junkle认为这是一个区分是否希望产生多态的一个机制。其作用是希望基类和派生类有一个命名相同的函数,并且希望父子之间的同名函数相互独立。语法格式: (1)不在同一个作用域(分别位于派生类与基类) ; (2)函数名字相同; (3)返回值可以不同; (4)参数不同。此时,不论有无 virtual 关键字,基类的函数将被隐藏(注意别与重载以及覆盖混淆); (5)参数相同,但是基类函数没有 virtual关键字。此时,基类的函数被隐藏(注意别与覆盖混淆); 以上是对函数重载、重写、重定义的回忆。 下面聊聊今天主要话题: C++11引入了右值引用的概念,右值引用是指引用表达式右边的内容。C++表达式左边是指在内存中可以明确找到,可以让编译器操作内存,一般指的是变量。右值一般是指在寄存器中的值,如数字10、a+2等等。下面代码在VS2017中编译通过。 #include <iostream>#include <functional>#include <vector>using namespace std; template<typename T>void print(T t){ t++;} template<typename T>void print(T &t){ t++;} template<typename T>void print(T &&t){ t++;} void main(){ int a = 10; int &aa{ a }; int &&aaa{ move(a) }; system("pause");} 下面改写main函数中的内容。 void main(){ int a = 10; int &aa{ a }; int &&aaa{ move(a) }; print(a); system("pause");} 这样调用print函数的时候,编译器会报错。报错是因为编译器不知道该调用哪个print。解决办法是:删除掉前两个模板函数就可以了。为什么呢? 因为就第一个模板函数print而言,可以通过传参ref指定传递引用,效果和第二个是一样的。junkle在这里推荐大家在模板编程中使用右值引用传值,因为右值引用更通用,既可以传左值(C++编译器对模板的优化处理)、右值。
|