历史上的今天
返回首页

历史上的今天

今天是:2025年04月11日(星期五)

正在发生

2018年04月11日 | 继电器可靠性检测系统设计

2018-04-11 来源:eefocus

本文所提出的继电器可靠性检测系统由服务器和多台可靠性检测装置(客户端)组成,可靠性检测装置是进行可靠性试验的必要手段。服务器和可靠性检测装置通过调用TCP协议提供的套接字传送数据,实现了服务器对多台检测装置的实时集中检测和控制,在节省人力的同时有利于失效试验数据的分析和处理。

可靠性检测装置的实现方法和功能
  
检测装置主要完成继电器试品的定数截尾试验,记录失效信息,对检测结果进行分析[2]。通过与服务器建立连接,实时上传当前试验状态以及失效信息,并接收服务器的控制命令。

1实现方法
  
为了满足试验环境的需要,采用工业控制计算机作为检测装置的核心。对触点电压的采集则选用两块高性能数据采集卡来实现,可同时对两组共32对触点进行检测,两组试品可以是不同型号不同厂商的继电器,而且对检测触点的常开常闭不做限制。

需要注意的是,当触点电压为交流信号时,为了保证电压有效值的计算精度,采集卡在一个工频周期内要完成16个采集通道至少320次的AD转换,这就要求采集卡的采集速率非常快,本装置采用的是研华的PCL-818HG。每块采集卡还提供了一个20-PIN数字输出口,用来控制试品线圈回路的通断电。试品触点回路采用一块多通道的数字量输出卡,通过固态继电器实现对两组试品触点回路的通断电控制。继电器可靠性检测装置的结构框图如图1所示。

图1可靠性检测装置结构图
  
如果某个试品的全部触点均达到了最大允许失效次数,那么在接下来的试验中此试品要被剔除,不再进行试品线圈回路和触点回路的通断电操作,避免故障试品因长时间通电而发生危险[3]。

2实现功能
  
检测装置的软件由两大部分组成:

一是实时检测与处理程序,包括了试验参数的设置,对试验状态以及失效数据的保存,对失效数据进行数学分析,打印报表等,检测装置记录的失效数据有失效时间,失效试品号、触点号,触点失效的类型,失效时触点电压以及各触点累计失效次数等;

二是通讯程序,接收服务器的参数设置、基本操作,并上传试验状态及失效信息。图2为检测装置的操作界面,菜单项代表了所能实现的所有操作,文本显示区对设置参数、试验状态以及失效发生时的失效信息进行显示。软件采用可视化编程语言VC++6.0嵌入汇编语言的方法实现[4]。


图2检测装置操作界面

集中控制的实现
  
以太网只定义了物理层和链路层,但目前在传输层和网络层已基本上统一,TCP/IP协议被普遍采用。传输层协议包括UDP协议和TCP协议。无论是基于UDP协议或者TCP协议,都要保证网络传输的一定的可靠性和实时性。由于UDP协议具有实现机制简单、传输效率高的特点,其较多地被应用到高效率的实时系统中。但为了实现传输的可靠性,就需要在应用层采用一些差错控制机制,而这些措施与TCP协议中自带的传输机制非常相似。

实际上,在许多实时性的系统中,采用TCP协议也基本可以满足传输时间的要求,还避免了在应用层进行繁琐的处理[5]。因此在本方案中传输层选择使用TCP协议。

应用层的协议目前还没有统一,本文旨在研究一个可广泛适用于多种应用场合和多种应用层协议的通用的通信方案,用户可根据需要选择不同的应用层协议,也可以定义自己的数据包格式。
[page]
1套接字(Socket)
  
TCP/IP网络环境下的应用程序是通过网络系统编程界面套接字Socket(在Windows操作系统下称之为Winsock)来实现的。套接字构成了核心协议的用户视图,通过套接字应用程序可访问通信协议,套接字是网络通信的基本构件。套接字是可以被命名的通信端点,应用程序通过它在网络上发送和接收数据。每个套接字都有其类型,并有一个与之相连的进程。

TCP/IP提供3种类型套接字:
  
1)流式套接字(StreamScoket)。该接口提供一个面向连接、可靠的数据传输服务,数据无差错、无重复地发送,且按发送顺序接收。内设流量控制,避免数据流超限;数据被看作字节流,无长度限制。流式套接字提供了一种可靠的面向连接的数据传输方式,如果想发送大批量数据或想让数据按顺序无重复地到达目的地,流式套接字最为有用。
  
2)数据包套接字(DatagramScoket)。该接口提供一个无连接服务。数据包以独立包形式被发送,不提供无错保证,数据可能丢失或重复,并且接收顺序混乱。数据包套接字比较适用于数据包或记录型数据的传输,数据包的发送不能得到保证,而且不能排序到达。
  
3)原始套接字(RawScoket)。该接口允许对较低层协议,如IP、ICMP直接访问,主要用于新的网络协议实现的测试等[6]。
  
在进行网络开发时,阻塞问题是网络编程中十分重要的问题。由于在阻塞模式下,在I/O操作完成前,执行操作的Winsock函数会一直等待下去,不会立即返回程序(将控制权交还给程序)。故用这种方式,服务器应用程序将很难同时通过多个建好连接的套接字进行通信。在此系统的应用中,需要实现一台服务器同时和六个套接字进行通信,因此结合对有限硬件资源的考虑,选择了非阻塞类型的套接字,这也是一般协议开发中通常用到的套接字通信方式。

2通信的实现
  
系统通信采用客户机/服务器模式,利用VC的微软基础类(MFC)进行网络开发,MFC提供了两种类型描述WindowsSocket,分别是CAsynSocket和CSocket。其中CAsynSocket类封装了WindowsSocketsAPI,并将与Socket有关的Windows消息转换为回调函数。CAsynSocket处于网络更底层,其使用就更具灵活性,相应要求编程者应熟悉网络底层细节。而CSocket类是CAsynSocket类的派生类,通过MFC中的CArchive类的对象提供了更高层次的抽象,它封装了Socket实现中的许多细节。这里我们采用CAsynSocket类实现系统中“一对多”的数据发送,通过在服务器中建立Winsock空间数组的方式来解决[7]。
  
首先,构造CAsyncSocket类型的对象,然后利用该对象创建内嵌的Socket句柄。例如:
           CAsyncSocketm_listen;
           m_listen.Create(nPort);//服务器指定端口
  
若是客户端,需要用CAsyncSocket::Connect()函数连接服务器端的套接字。其次,若是服务器端的套接字,创建完成就可以侦听端口,以便接收试图连接到此端口的客户端的套接字。接收了一个连接请求后就可以进行口令验证或直接建立连接等工作。服务器侦听的函数是CAsyncSocket::Listen(),接收客户端套接字的函数是CAsyncSocket::Accept()。
  
继而采用CAsyncSocket类的成员函数进行数据的收发。发送的函数是CAsyncSocket::send(),接收的函数是CAsyncSocket::Receive()。
  
最后,通信结束后,通过CAsyncSocket::Close()函数销毁对象。服务器与检测装置的通讯流程见图3。


图3服务器与检测装置通信流程图
  
CAsyncSocket类对网络回调函数做了较好的封装。当有连接请求时,服务器端的套接字就会收到OnAccept消息,此消息触发网络回调函数OnAccept();当服务器接收了连接后,客户端的套接字就会收到OnConnect消息,此消息触发网络回调函数OnConnect();当有数据传来时,套接字会收到OnReceive消息,此消息触发网络回调函数OnReceive()。程序员也可以在CAsyncSocket类的派生类中重载以上回调函数,实现特定的功能。

3数据传输及服务器功能
  
服务器与检测装置在不同的状态下需要传输大量的数据,数据所代表的含义也各不相同,例如服务器通过以太网对检测装置的操作:简单的有开始试验、暂停试验等,复杂的有设置检测装置工作参数、对号设置、读取失效信息等。因此需要对服务器和检测装置传输的数据进行严格的定义,这里采取:
    Command+Length+Content
    Command:通信命令号,Length:文本字节长度,Content:文本字节内容。
  如果传输内容为简单的控制数据,则文本字节长度和文本字节内容都为零,否则应按具体的通信内容进行添加。
  
服务器内部配置一预先定义的超时时间间隔,这个时间要足够长,以使检测装置能够作出正常的反应,超时事件将触发服务器来处理错误。
  
服务器操作界面的菜单项和检测装置基本一致,在文本显示区显示所有建立连接的检测装置的试验状态和数据。建立连接后,通过服务器对检测装置进行操作和在现场直接操作检测装置的效果是一样的。
  
为了验证本方案的可行性,整个检测系统在宏发公司进行了长期的运行,通过网络监视软件的分析,数据传输的误码率极低,在同一局域网内数据传输的往返时间大部分集中在100ms以内,达到了传输时间的要求,网络传输中断的情况基本没有出现。
  
因此,本文所提出的基于以太网的继电器可靠性检测系统的通信方案,实时性较好,可靠性较高,能够实现服务器对现场设备的实时数据采集与监控的功能,是切实可行的。且其开放性、可操作性也较高能够适用于很多数据采集与监控场合。

推荐阅读

史海拾趣

Efficient Power Conversion公司的发展小趣事

随着EPC公司氮化镓技术的不断完善和成熟,其产品开始受到市场的广泛认可。无线电源传送、全自动汽车、高速移动通信等领域的企业纷纷采用EPC公司的氮化镓功率半导体器件,以提高其产品的性能和效率。EPC公司的市场份额逐渐扩大,成为氮化镓功率管理技术领域的领军企业。

科达嘉CODACA公司的发展小趣事

科达嘉电子创建于2001年,起初是一家专注于功率电感、共模电感的研发、生产与销售的初创企业。在电子行业激烈的市场竞争中,科达嘉凭借对电感技术的深入研究和不断创新,逐渐赢得了市场的认可。公司团队经过近二十年的努力,从一个小型创业公司发展成为拥有多家子公司的集团企业,员工总数超过900人,厂房总面积达到30000平方米。

Hitachi (Renesas )公司的发展小趣事

科达嘉电子高度重视质量管理,先后通过了ISO9001质量管理体系、ISO14001环境管理体系认证。公司不仅建立了完善的质量检测流程,还成立了专门的检测中心,对产品进行严格的质量把控。这些措施确保了科达嘉电子产品的稳定性和可靠性,进一步提升了公司在市场上的竞争力。

EWC Controls公司的发展小趣事

EWC Controls公司自成立以来,一直专注于工业自动化控制技术的研发与应用。在早期,公司凭借其独特的PID控制算法,成功开发了一系列高性能的控制器产品,赢得了市场的初步认可。随着技术的不断进步,EWC Controls公司不断投入研发资源,推出了基于物联网和大数据的智能控制系统,实现了从单一控制到智能化管理的跨越。这一创新技术不仅提升了公司的核心竞争力,也为工业自动化控制领域带来了革命性的变化。

Hendon Semiconductors公司的发展小趣事

Hendon Semiconductors在能源管理和照明控制领域也有着显著的成就。公司开发了一系列高效、可靠的能源管理解决方案和照明控制产品,广泛应用于智能家居、商业建筑和工业自动化等领域。这些解决方案不仅帮助客户降低了能耗和运营成本,还提高了能源使用效率和环境可持续性。通过不断创新和优化产品设计,Hendon Semiconductors在能源管理和照明控制市场上赢得了广泛的认可。

汇顶科技(GOODiX)公司的发展小趣事

Hendon Semiconductors在能源管理和照明控制领域也有着显著的成就。公司开发了一系列高效、可靠的能源管理解决方案和照明控制产品,广泛应用于智能家居、商业建筑和工业自动化等领域。这些解决方案不仅帮助客户降低了能耗和运营成本,还提高了能源使用效率和环境可持续性。通过不断创新和优化产品设计,Hendon Semiconductors在能源管理和照明控制市场上赢得了广泛的认可。

问答坊 | AI 解惑

推荐一个数控电源电路0-30v 4A 5V 1A

0.1V时带载4A,空载和满载电压波动都不大于1mV ,只有0.001V以内的误差. 理论最小步进0.0073V  实际0.1V步进,确实不错东西,成本有点贵!…

查看全部问答>

外延片以及LED芯片j检测问题

1.外延片指的是在衬底上生长出的半导体薄膜,薄膜主要由P型,量子阱,N型三个部分构成。现在主流的外延材料是氮化镓(GaN),衬底材料主要有蓝宝石,硅,碳化硅三种,量子阱一般为5个,通常用的生产工艺为金属有机物气相外延(MOCVD)。这是LED产业的核心 ...…

查看全部问答>

求一个可用的MicroSD完整的读写程序

求一个可用的MicroSD完整的读写程序,哪位有?…

查看全部问答>

How to modify the calibrui

目前已clone WINCE 自帶的calibrui出來修改 我想加入一段時間都沒校準,就跳出程式的功能 但怎麼修改都失敗 請問有高手能指教一下嗎?…

查看全部问答>

你们的系统上memcpy的速度如何?

我用的s3c6410+wince6.0,内存是外频133M的mDDR,CAS=3,burst=4,用的是友坚的BSP和核心板。 在启动了cache, write-buffer,write-back等功能之后,理论读取速度应该是4*(133*4/(3+2))大约400MB,写入也是这么多。 可是测试程序运行时间的时候, ...…

查看全部问答>

TI阅读:运算放大器增益稳定性第1部分:一般系统稳定

本帖最后由 dontium 于 2015-1-23 13:33 编辑 大学学的你还记得多少?呵呵,这可是中文版! …

查看全部问答>

FPGA 外部flash配置方法

每次断电 FPGA内部的程序就会丢失 所以接了个外部的FLASH 电路接好了 就是不知道怎么将程序下载到FLASH 中 用的是altera 的芯片 和 quartus ii  谁能给说说具体的步骤…

查看全部问答>

哪位大侠知道Modelsim 6.5SE的下载地址

如标题。再网上找遍了也没有找到。也去官网看了,但是貌似现在不提供免费下载了,急!!!…

查看全部问答>

2530调试时总是出现出现'IdataStack' is filled to 100%

用IAR仿真时,程序运行一会儿就会出现 The stack \'IdataStack\' is filled to 100% (64 bytes used out of 64). The warning threshold is set to 90.% 有时候却能正常运行,也不知道是程序问题还是需要设置什么,在网上搜了搜此类问题,大多数都 ...…

查看全部问答>