28
2025
12

电线电缆

电线是由一根或几根柔软的导线组成,外面包以轻软的护层;电缆是由一根或几根绝缘包导线组成,外面再包以金属或橡皮制的坚韧外层。 电缆与电线一般都由芯线、绝缘包皮和保护外皮三个组成部分组成。 常用电缆的特性如下: CEF--乙丙橡胶绝缘氯丁橡胶护套,船用阻燃电力电缆。 CVV--聚氯乙烯绝缘,聚氯乙烯护套船用阻燃电力电缆。 氧舱电线常采用BV,BX,RV,RVV系列电线,其中: BV--铜芯聚氯乙烯绝缘电线,长期允许温度65℃,最低温度-15℃,工作电压交流500V,直流1000V,固定敷设于室内、外,可明敷也可暗敷。 BX--铜芯橡皮绝缘线,最高使用温度65℃,敷于室内。 RV--聚氯乙烯绝缘单芯软线,最高使用温度65℃,最低使用温度-15℃,工作电压交流250V,直流500V,用作仪器和设备的内部接线。 RVV--铜芯聚氯乙烯绝缘和护套软电线,允许长期工作温度105℃,工作电压交流500V,直流1000V,用于潮湿,机械防护要求高,经常移动和弯曲的场合。 其实,“电线”和“电缆”并没有严格的界限。通常将芯数少、产品直径小、结构简单的产品称为电线,没有绝缘的称为裸电线,其他的称为电缆;导体截面积较大的(大于6平方毫米)称为大电线,较小的(小于或等于6平方毫米)称为小电线,绝缘电线又称为布电线 这样说比较简单,容易理解!! 电缆一般有2层以上的绝缘,多数是多芯结构,绕在电缆盘上,长度一般大于100米。电线一般是单层绝缘,单芯,100米一卷,无线盘。 电缆常见型号: VV表示:聚氯乙烯绝缘(第一个V),聚氯乙烯护套(第二个V) YJV22表示:交连聚氯乙烯绝缘(YJ),聚氯乙烯护套(V),钢带凯装(22) 型号加“ZR”或“FR”的为阻燃电缆(电线)。加“L”为铝线 电线的型号较简单: BVV--聚氯乙烯绝缘和护套铜心线, BV--聚氯乙烯绝缘铜心线, BVR--聚氯乙烯绝缘铜心软线, BX--橡皮绝缘铜心线, RHF--氯丁橡套铜心软线。

RV是电线型号。
应用:
RV电缆线在工业配电领域有着广泛的应用,尤其适合要求较为严格的柔性安装场所,如电控柜,配电箱及各种低压电气设备,可用于电力,电气控制信号及开关信号的传输。RV电线电缆采用软结构的设计,导体弯曲半径较小,且适用于潮湿多油的安装场所。同时,RV电缆线在获得了CCC及CE标志的认证,符合HD(欧盟统一协调标准)的要求,不仅可以适用于中国市场,也适用于欧洲市场。
RV电缆线的标准截面积有0.30,0.50、0.75、1.0、1.5、2.5、4.0、6.0、10.0、16.0、25.0、35.0、50.0、70.0mm2。

从专业的角度说:RV是GB/T5023-2008的范畴,而BVR是JB/T8734-1999的范畴。
主要区别有:1.导体结构不一样,RV的导体细,根数要多些。
            2.电压等级不一样,一般的BVR的电压等级要高。
            3.绝缘厚度也不一样,BVR绝缘要厚点。
            4.用途也不一样,RV主要用于家用电器连接线,BVR主要用于电机、配电柜等地方
希望我的回答给你带去帮助!!!


28
2025
12

分清“向前兼容”与“向后兼容

向后兼容(Backwards compatibility),又称向下兼容(Downward Compatible)是一个以部件标准为基础的性能要求,是它最新的标准规范。向后兼容的组件既要符合其所属分类的性能要求,同时也要符合低于其分类的所有性能要求。比如USB 2.0规范是可以向后兼容版本更低的USB 1.1标准的。

 

  向前兼容(Forward compatibility),又称向上兼容(Upward Compatible),与向后兼容(向下兼容)相对。即旧版本能够适应新版本的应用。


28
2025
12

分析国产CPU成本构成 为何售价居高不下?2017 转载

28
2025
12

Borland InterBase删除

在'控制面板->性能和维护->管理工具->服务'中     先把Interbase   server和interbase   Guardian停掉

28
2025
12

VS自带工具:dumpbin的使用 查看exe和dll的性质

有时候我们想查看一个exe引用了哪些动态库,或者我们想看某个动态库包含哪些接口函数,这个时候可以使用dumpbin.exe工具:


1.输入Dumpbin -imports calldll.exe查看它的输入信息,可以看到它加载了***.dll
2.输入dumpbin –exports dlltest.dll,列出导出函数


开始->所有程序->Microsoft Visual Studio 2010->Visual Studio Tools ->“Visual Studio 命令提示(2010)”后,

就像普通的cmd一样的命令行环境,就可以正常使用VS的一些工具,其中就包括dumpbin。


输入如下命令,查看dll信息:

D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>

dumpbin -exports D:\WorkSpace\DLLTutorial\Debug\DLLTutorial.dll


输出如下:

1101.jpg

 

其中可以看到,我们在DLL中写的两个函数:

 1    0 000110FA Add = @ILT+245(_Add)
 2    1 00011208 Function = @ILT+515(_Function)



28
2025
12

Delphi中如何使右侧的滚动条自动拖到底端以显示 RichEdit 最新添加的文本

 加在OnChange事件中:

卷屏到光标处 

 SendMessage(RichEdit1.Handle, EM_SCROLLCARET, 0, 0); 
向下卷屏一行 
 SendMessage(RichEdit1.Handle, EM_SCROLL, SB_LINEDOWN, 0) 
向下卷屏到底 
 SendMessage(RichEdit1.Handle, WM_VSCROLL, SB_BOTTOM, 0) 
参见 MSDN 的 WM_VSCROLL



28
2025
12

嵌入式实时操作系统UCOS原理与实践—卢友亮_第一章

第一章实时操作系统基础

1.操作系统的基本功能五个部分:cpu管理、任务管理、内存管理、文件管理、IO管理。

任务管理:任务是程序的一次执行。任务分为系统任务和用户任务。系统任务是操作系统本身的任务,如操作系统的主程序,时钟中断服务程序,后面讲到的空闲任务和统计任务。用户任务是用户应用程序的执行。

CPU管理:多任务OS对CPU的分配,哪个任务在运行,占有CPU.

内存管理:内存是任务的生存空间,内存管理用于给任务分配内存空间,相应的,在任务结束后释放内存空间。

文件管理:实现对文件的统一管理,是对文件存储器的存储空间进行组织、分配和回收,负责文件的存储、检索、共享和保护。从用户角度看,文件管理主要是实现“按名取存。

IO管理:管理系统中的各种硬件设备,如打印机、显示器、硬盘灯。用户应用程序调用I/O设备管理模块提供的API来对设备进行操作,而不是直接读/写硬件。

2.实时操作系统:Real Time Operating System. RTOS.是指当外界时间或数据发生时,能够接收并以足够快的速度予以处理,其处理的结果又能在规定的时间内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务调度、一直运行的操作系统。

3.任务状态:为了管理和调度任务,必须为任务设置多个状态。任务具有5种状态:睡眠态、就绪态、运行态、阻塞态、挂起态。

睡眠态:任务已经被装入内存了,可是并没有准备好运行。在调用OSTaskCreate(任务创建函数)创建之前,处于睡眠状态。睡眠状态的任务是不会得到运行的,操作系统也不会给其设置为运行而准备的数据结构。因为没有给其配置任务控制块。

就绪态:操作系统调用OSTaskCreate创建一个任务后,任务就进入就绪态。操作系统已经为其运行配置好了任务控制块等数据结构,当没有比其优先级更高的任务,或比其优先级更高的任务处阻塞状态的时候,就能够被操作系统调度而进入运行态。操作系统是调用任务切换函数完成的。

运行态:任务因为OSTimeDly,进入阻塞态。而中断的到来会使任务进入挂起态。

阻塞态:当任务在等待某些还没有被释放的资源或等待一定的时间的时候,要阻塞起来,等到条件满足的时候再重新回到就绪态,又能被操作系统调度以进入运行态,这是实时操作系统要实现的功能之一。

挂起态:当任务在运行时,因为有中断的发生,如定时器中断每个时钟滴答中断一次,被剥夺CPU的使用权而进入挂起态。在中断返回的时候,若该任务还是最高优先级的,则恢复运行态,如果不是这样,只能回到就绪态。、

任务在各种状态之间转换,有一个非常重要的词—Context Switch.即上下文切换或者叫任务切换。

在操作系统移植的时候,任务切换代码就是必须要实现的部分之一。

 

可重入函数和不可重入函数:

同一个代码可以运行为不同的任务,不同的任务又可以调用相同的函数我们不能考虑为每个任务都写一个屏幕打印程序,却需要每个打印程序都运行正确,无论系统中有多少个任务在执行。

在实时多任务操作系统中,任务应该调用可重入函数,可重入函数是任务中的一个重要概念。

1.4基于优先级的可剥夺内核。

比较好的系统,内核占用2%-5%CPU的负担。

uC/OS使用的是一种基于优先级的可剥夺型内核。

64个任务(V2.80以上为256个任务)

不可剥夺内核是任务一旦获得了CPU的使用权,如果不将自己阻塞,将一直运行。而不管是否有更紧迫的任务(优先级更高的任务)在等待(高优先级的任务已经进入了就绪状态)。就算发生了中断,也只让中断服务程序运行,不论中断服务程序是否创建了更高优先级的任务,也要返回到原任务运行。

可剥夺型内核调度下,在中断服务程序中就绪了更高优先级的任务B,中断返回后因为优先级更高,所以获得了CPU控制权得到运行。任务B运行结束后,任务A才得到运行。可剥夺型呢黑采用的抢占式的调度策略,总是让优先级更高的任务运行,知道其阻塞或完成,任务的响应时间因此是优化的。因为操作系统总是以时钟中断服务程序作为其调度的手段,而时钟中断时间是可知的,高优先级任务的运行时间也是可知的,因此适合于实时操作系统。

1.5同步与通信

任务是独立的,但是任务之间又有着各种各样的关系,以成为一个整体,来完成某一项工作。有时候,一个任务完成的前提是需要另一个任务给出结果,任务之间的这种制约性的合作运行机制成为任务间的同步。

对于共享资源的访问,就要有排他性。为解决这个问题,又引出操作系统的很多基本概念,如互斥、信号量、临界区、消息等概念。多个任务没有很好地同步的情况下,操作系统很可能产生死锁。

操作共享资源的时候要进入临界区。在进入临界区访问共享资源之前,采用关中断、给调度器上锁或使用信号量的方法,达到互斥的目的。

如A任务写缓冲区,B任务读缓冲区。A任务写完缓冲区这个事件之后。操作系统是这样做的,A任务写完缓冲区后需滴啊用如OSSemPost()这样的函数,释放缓冲区资源。在该函数中,发现有任务B在排队等待缓冲区的资源,于是调用任务切换函数将CPU给B,达到了任务间的无缝同步。

事件处理的对象主要有信号量、互斥性信号量、事件标志组、邮箱、消息队列。

信号量的取值范围是16位的二进制整肃。0-65535.三种操作,建立,请求,释放。OSSemPend()函数请求信号量,信号量大于0,然后信号量--。OSSemPost()函数释放信号量,信号量++。

A、B两个任务通过信号量同步,具体过程如下:

首先创建信号量S,因为该缓冲区本质上是全局的一个数组,属于临街资源,因此设置信号量的初始值为1.另外,该信号量使用一个事件控制块。

A任务请求信号量S,做Pend操作。因为信号量S=1,所以请求得到满足,Pend操作中将S减1,s的值变为0.任务A继续执行,访问缓冲区。

任务A在执行过程中因为其他的时间而阻塞,任务B得到运行,要访问缓冲区。任务B请求信号量S,做Pend操作。因为信号量S=0,所以请求不能得到满足,任务B只能阻塞,S的值保持为0.但在信号量S所使用的事件控制中,标志了时间B在等待信号量S的信息。

任务A在条件满足时继续执行,访问缓冲区完成后,做Post操作释放缓冲区,Post操作中将S加1,S的值变为1.在Post操作中,由于事件控制块中,标记了事件B在等待信号量S的信息,且我们设置任务B有更高的优先级,操作系统调用任务切换函数,切换到任务B运行,使任务B获得信号量,访问任务A写好的缓冲区。

任务B访问完成,再释放该信号量,任务A又可以访问该缓冲区了。

1.5.6互斥信号量

互斥信号量是一种特殊的信号量,这不仅在于该信号量只有用于互斥资源的访问,还在于使用互斥信号量管理需要解决优先级反转的问题。

假设系统中有3个任务,分别是高优先级、中优先级和低优先级。当低优先级的任务在运行的时候访问互斥资源,而中优先级的任务运行时将使低优先级的任务得不到裕兴而死抱着资源不放。这时,高优先级的任务开始运行的时候,必须等到中优先级的任务运行完成,然后等低优先级的任务访问资源完成才行。如果在低优先级的任务访问资源的过程中又有中优先级的任务运行,那么高优先级的任务只有继续等到。这种情况就是优先级反转。

在uC/OS-II对互斥信号量的管理中,针对这个问题采用了优先级继承机制。优先级继承机制是一种对占用资源的任务的优先级进行升级的机制,用以优化系统的调度。例如,当前的任务的优先级是比较低的。高优先级的任务请求互斥信号量的时候因为信号量已被占有,所以阻塞。这时有中优先级的任务就绪。如果不采用优先级继承,那么高优先级的任务是竞争不过中优先级的任务的。采用优先级继承机制,将占有资源的低优先级的任务临时设置为一个很高的优先级,允许其在占有资源的时候临时获得特权,先于中优先级任务完成,在范文互斥资源结束又回到原来的优先级,这样高优先级的任务就会先于中优先级的任务运行,解决的这个问题。

1.5.7事件标志组

在信号量和互斥信号量的管理中,任务请求资源,如果资源未被占用就可继续运行,否则只能阻塞,等待资源释放的事件发生。这种事件是单一的事件。如果任务要等待多个事件的发生,或多个事件中的某一个事件的发生就可以继续运行,那么就应该采用事件标志组管理。

事件标志组管理的条件组合可以是多个事件都发生,也可以是多个事件中有任何一个事件发生。尤其特别的是,还可以是多个事件都没有发生货多多个事件有任何一个事件都没有发生。

1.5.8消息邮箱和消息队列

邮箱和信号量都保存在事件控制块中,对于他们的操作和处理也是类似的。

假设A写缓冲区,B读缓冲区,但缓冲区是A创建的,B并不知道它在哪里,但是B知道缓冲区的类型是10个字节长的数组。现在就应该采用消息而不是信号量来完成这次同步和通信。可以简单描述如下:

任务A创建缓冲区,写缓冲区,发消息。

任务B请求消息,如果邮箱里没有消息,就把自己阻塞,如果有,就读取消息。

任务B最终读取消息后,根据邮箱里的地址读取缓冲区。

消息队列(Message Queue)也用于给任务发消息。但它是由多个消息邮箱组合形成的,是消息邮箱的集合,实质上是消息邮箱的队列。一个消息邮箱只能容纳一条消息,采用消息队列,一是可以容纳多条消息,而是消息是有序的。

消息对垒由于存储多条消息,因此其设计比信号量和消息略为复杂,但也同样是采用事件控制快呢来只是消息的位置和标记等待消息的任务。不同的是,消息队列自身有消息控制块这样的数据结构,事件控制块中指示的不再是消息的地址,而是消息控制块的地址,使用消息控制块可以采用先进先出的方式管理多条消息。

1.6 中断和时钟

当任务A在运行的时候,由于中断的到来,操作系统先保存任务A当前的运行环境,接着进入中断服务程序,在中断服务程序后,由于采用可剥夺型内核,如果A仍是优先级最高的人任务,就恢复A运行的环境,继续运行A,否则将运行一个更高优先级的任务。

在uC/OS中,通过对硬件的设置,实在10-200ms的时间间隔内产生一次时钟中断,在该时钟中断服务程序中,对岩石的任务进行延时技术,检查系统中是否有高优先级的任务就绪而没有得到运行,响应进行任务调度。因为,如果没有时钟中断服务,就没有多任务操作系统的任务调度,也谈不上实时。我们把这种周期性中断成为时钟节拍,对应的中断服务程序成为时钟中断服务程序。

1.7内存管理

嵌入式系统中,内存资源是十分宝贵的。在uC/OS-II中,采用分区的方式管理内存,即将连续的大块内存按分区来管理,每个系统中有数个这样的分区,每个分区又包含数个内存块,每个内存块大小相同。块,每个内存块大小相同。块,每个内存块大小相同。

采用内存控制块来管理内存。内存控制块记录了内存分区的地址、分区中内存块的大小和数量,以及空闲块的数量等消息内存管理包含了内存分区的创建、分配、释放、使用和等待系统调用。


28
2025
12

uC/OS-II多任务切换原理

    uC/OS-II首先完成操作系统的初始化和所有任务的初始化。TCB(任务控制块),ECB(事件控制块),内存。

     uC/OS-II凭借着独特的延时(其实此时会去多任务切换,然后运行就绪的任务)和滴答中断(对每个等待的任务真延时并判断是否到了延时,如果到了为就绪切换运行)来完成多任务的运行。空闲任务始终处于就绪状态并且优先级最低。

     多任务运行实现了CPU的高效利用,CPU不用真正的去傻呵呵用来无用延时了,而是滴答中断服务在心跳时每个任务一块延时,同时还判断哪个已经就绪



28
2025
12

私钥和公钥的应用例子

假如现在 Alice 向 Bob 传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对传送的信息进行数字加密和签名,其传送过程为:
1.Alice 准备好要传送的数字信息(明文);
2.Alice 对数字信息进行哈希运算,得到一个信息摘要;
3.Alice 用自己的私钥对信息摘要进行加密得到 Alice 的数字签名,并将其附在数字信息上;
4.Alice 随机产生一个加密密钥,并用此密码对要发送的信息进行加密,形成密文;
5.Alice 用 Bob 的公钥对刚才随机产生的加密密钥进行加密,将加密后的 DES 密钥连同密文一起传送给Bob;
6.Bob 收到 Alice 传送来的密文和加密过的 DES 密钥,先用自己的私钥对加密的 DES 密钥进行解密,得到 Alice随机产生的加密密钥;
7.Bob 然后用随机密钥对收到的密文进行解密,得到明文的数字信息,然后将随机密钥抛弃;
8.Bob 用 Alice 的公钥对 Alice 的数字签名进行解密,得到信息摘要;
9.Bob 用相同的哈希算法对收到的明文再进行一次哈希运算,得到一个新的信息摘要;
10.Bob 将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。


28
2025
12

工业控制板_单片机应用的方向

 向PLC功能看齐,向变频器、伺服控制器看齐,向HMI看齐。

    开关量输入:PNP NPN 两种类型,用来接收机械开关,限位开关,光电开关,接近开关,磁性开

关,按钮,按键的输入。

    开关量输出:用来连接各种LED指示灯,继电器,电磁阀,以及下级设备的输入开关。

    高速信号输入:用来连接编码器,光栅尺,或者中断输入,快速响应某些高速信号。

    高速信号输出:用来连接夏季信号的高速输入,如伺服电机定位,步进电机定位。

    AD输入:用来连接各种模拟量输入,如传感器信号,各种模拟量传感器,同时注意凉城和输入类型。

比如4-20mA. 0-10V.
    DA输出:用来驱动下级要求的模拟量输入类型。比如连接变频器调速。同时注意输出量程和输出类

型4-20mA 0-10V。
    工业控制板的类型要注意实际的偏重类型。如实际偏重显示HMI,要注重HMI的要求。如实际偏重控

制PLC。则注重PLC的要求。控制与显示可采用分开CPU,也可以采用一体CPU。如变频器采用双CPU,

显示调参数为小CPU,控制为大CPU。人机界面HMI为注重显示,显示为大CPU,同时集成串口,以太网

通讯,CAN,DP等
    CPU芯片与模块芯片组合在一起,PCB,硬件,之上软件系统。从而嵌入式硬件软件系统。