CN112637173B - 一种电能质量测试分析仪检定装置上位机控制通信方法 - Google Patents
一种电能质量测试分析仪检定装置上位机控制通信方法 Download PDFInfo
- Publication number
- CN112637173B CN112637173B CN202011483273.8A CN202011483273A CN112637173B CN 112637173 B CN112637173 B CN 112637173B CN 202011483273 A CN202011483273 A CN 202011483273A CN 112637173 B CN112637173 B CN 112637173B
- Authority
- CN
- China
- Prior art keywords
- message
- upper computer
- control program
- computer control
- calibrating device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000006854 communication Effects 0.000 title claims abstract description 28
- 238000004891 communication Methods 0.000 title claims abstract description 26
- 238000012360 testing method Methods 0.000 title claims description 49
- 238000012372 quality testing Methods 0.000 claims abstract description 29
- 238000004458 analytical method Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 238000009432 framing Methods 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000005259 measurement Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R35/00—Testing or calibrating of apparatus covered by the other groups of this subclass
- G01R35/005—Calibrating; Standards or reference devices, e.g. voltage or resistance standards, "golden" references
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明公开了一种电能质量测试分析仪检定装置上位机控制通信方法,本发明涉及电能质量测试分析仪检定装置技术领域。该电能质量测试分析仪检定装置上位机控制程序通信方法,包括上位机控制程序及电能质量测试分析仪检定装置,应用设计的通信方法可使上位机控制程序发送指令给电能质量测试分析仪检定装置时,使其能按指令输出正确模拟量信号并实时显示当前测量值。解决了现有上位机控制程序与电能质量测试分析仪检定装置通信过程中存在连帧、分帧报文不能解析,无报文重召,多类型报文无分时发送而冲突的问题。
Description
技术领域
本发明涉及电能质量测试分析以检定装置技术领域,具体为一种电能质量测试分析仪检定装置上位机控制通信方法。
背景技术
电能质量分析仪检定装置是根据国家电力行业相关标准及国家电网公司对电能质量的技术要求,***分析国内外对电测技术及电能质量的研究水准,结合国内的实际需要研制而成的一款高端检测设备,目前该技术在国内尚属于领先水平。本仪器采用高速交流采样、高精度DDS波形合成、高速数字信号处理器(DSP)、复杂可编程逻辑阵列(CPLD)、大功率集成功放、嵌入式计算机***等技术设计而成。按国家标准合成不规则标准信号(包括电压/电流、谐波、间谐波、闪变、骤升/骤降/中断等),输出信号准确度高,稳定。适用于各种电能质量分析仪、电能录波仪、便携式录波仪、电能质量监测装置、多功能数显表、各种数字及指示仪表的检定和校验。
电能质量测试分析仪检定装置为满足用户的设置电压\电流,谐波、间谐波、闪变、暂态等模拟信号输出,具备文件导入导出功能批量设置谐波或间谐波。研发一款在PC机上运行的电能质量测试分析仪检定装置控制程序,满足并覆盖检定装置内置嵌入式程序的所有功能,并优化程序使其功能丰富,操作便捷。为方便描述将PC机上运行的电能质量测试分析仪检定装置控制程序简称为“上位机控制程序”。
上位机控制程序通过发送指令直接控制电能质量测试分析仪检定装置输出各种模拟量信号及响应相干参数设置,但上位机控制程序与电能质量测试分析仪检定装置之间通信存在以下问题,需要设计出完善,周全的通信机制。
1.上位机控制程序若向电能质量测试分析仪检定装置召唤谐波测量数据时,电能质量测试分析仪检定装置返回的谐波测量数据报文超过了串口通信时报文最大字节数,会分多帧报文来发送,上位机控制程序需具备对分帧的报文进行组帧解析。电能质量测试分析仪检定装置与上位机控制程序通信交互时还存在发送连帧报文或由于串口被干扰而产生脏报文发送。上位机控制程序需具备对电能质量测试分析仪检定装置发送的连帧报文按报文结构进行拆分且能将存在的脏报文过滤掉。
2.上位机控制程序发送指令给电能质量测试分析仪检定装置时,存在电能质量测试分析仪检定装置由于内部程序工作繁忙或串口被干扰而未及时回复或不回复报文给上位机控制程序,上位机控制程序需要对发送给电能质量测试分析仪检定装置的报文判断有无回复,若没有回复报文则进行重新召唤,重召之后也需判断电能质量测试分析仪检定装置是否回复报文,若未回复仍可再次重召,设置重召最大次数,若在最大重召次数内有报文回复则执行下个指令发送,若在最大重召次数内无报文回复则不再重召,执行下个指令发送。
3.上位机控制程序与电能质量测试分析仪检定装置通信时,需要不停轮询召唤电能质量测试分析仪检定装置的电压电流三相基本测量数据、谐波测量数据、间谐波测量数据等数据,在界面上实时显示当前测量数据,在此过程中上位机控制程序随时可能会发送设置电压、电流指令或其他类型设置报文。因此大概率会出现上位机控制程序同时向电能质量测试分析仪检定装置的RS232串口发送轮询报文或设置类型报文,由此冲突电能质量测试分析仪检定装置只回复其中一个报文而另一个报文因没机会发送而未回复或者两个报文混合发送进串口形成脏报文,两个报文都不回复。因此上位机控制程序需使轮询报文和设置类型报文避免冲突能分时发送,使通信稳定可靠。
针对检定装置PC机控制软件与DKLN-1检定装置通信时存在的缺点,需设计出一种能智能解析分帧、连帧报文并过滤脏报文,具备重召功能,轮询报文和设置类型报文避免冲突能分时发送的通信方法。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种电能质量测试分析仪检定装置上位机控制通信方法,解决了现有上位机控制程序与电能质量测试分析仪检定装置通信过程中存在连帧、分帧报文不能解析,无报文重召,多类型报文无分时发送而冲突的问题。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:一种电能质量测试分析仪检定装置上位机控制通信方法,包括上位机控制程序与电能质量测试分析仪检定装置,使用上位机控制程序发送至指令给电能质量测试分析仪检定装置,使其能按指令输出正确模拟量信号,所述上位机控制程序具备以下特性:对电能质量测试分析仪检定装置发送的连帧报文进行拆分,分帧报文进行组合,脏报文进行过滤特性;对电能质量测试分析仪检定装置未回复的报文或回复不正确的报文进行重召的特性;对电能质量测试分析仪检定装置发送轮询报文和设置类型报文避免冲突而分时发送,并且优先发送设置类型报文的特性。
优选的,所述上位机控制程序能对电能质量测试分析仪检定装置发送的连帧报文进行拆分,分帧报文进行组合,脏报文进行过滤包括以下步骤:
a、上位机控制程序向电能质量测试分析仪检定装置发送指令,上位机控制程序接收到电能质量测试分析仪检定装置回复报文将其存入循环队列A中;
b、若报头为4个字节,先从循环队列A中拷贝出M且M≥4+2个元素存入缓存区,判断这M个元素是否含有报头部分;
c、若这M个元素中不含报头,循环队列A的队头元素出列,重新进入步骤b中;若含有报头,则解析出数据域长度N,再从循环队列A中拷贝出N+7个元素追加存入缓存区,判断缓存区的报文帧类型和报文类型是否与之前发送的报文的帧类型和报文类型一致,若不一致则循环队列A的队头元素出队,进入步骤b中;
d、若收、发报文的帧类型和报文类型一致,判断缓存区的报文帧校验码是否正确,若不正确,循环队列A的队头元素出队,进入步骤b中;
e、若报文帧校验码正确,则判断缓存区的报文的报文尾是否正确,若报文尾不正确循,环队列A的队头元素出队,进入步骤b中;
f、若报文尾正确,则缓存区的报文是合法的报文给予解析;
g、判断循环队列A中是否有足够元素,准备进入下一帧报文分析,进入步骤a中。
6.优选的,所述上位机控制程序中存在指令发送线程和报文接收线程,这2个线程通过Event事件信号来进行通同步,实现的重召机制,指令发送线程发送报文后会将事件信号设为无效,报文接收线程接收到报文后会将事件信号设为有效,通知指令发送线程已收到回复报文,并比较收、发报文是否对应的,若不对应则重发该报文。
优选的,所述上位机控制程序对于电能质量测试分析仪检定装置未回复报文或回复不正确的报文时进行重召包括以下步骤:
a、发送线程内,设置重发指令最大次数为K且K=3,对要发送的指令进行组帧,首次发送,计重发次数N为0,Event事件信号设为无效,等待事件信号变为有效,等待时间设为500ms。
b、若报文接收线程未收到报文,Event事件信号超时仍为无效,则组好指令帧再次发送,计重发次数为N+1,等待事件信号变为有效,依次循环往复,重发次数不得超过K;
c、若报文接收线程收到合法的报文,则使Event事件信号设为有效,通知发送线程收到报文,发送线程则对接收的报文进行判断是否为对应的;若是对应的则进行下一帧指令发送;若不是对应的,则组好指令帧再次发送,计重发次数为N+1,并将事件信号设为无效,等待事件信号变为有效,依次循环往复,重发次数不得超过K;
d、若重发次数超过K,不再重发该指令;准备进行下一个指令的组帧发送。
优选的,所述上位机控制程序对于电能质量测试分析仪检定装置上位机发送轮询报文和设置类型报文避免冲突而分时发送,并且优先发送设置类型报文的特性包括以下步骤:
a、遂采用建立链表,若有新的待发送报文生成,则新增节点存入待发报文,若节点存的是轮询报文则依照顺序***链表尾部用于顺序发送,若节点存的是设置类型的报文则***链表头部用于优先发送。
b、创建一个线程主要任务是不停查询链表是否为空,若不空则获取链表头节点中的指令并发送之,随后该节点也从链表中删除,链表头有后续节点充当之;若链表为空则延迟500ms,等待新指令***链表中;依此规则循环往复。链表节点中的指令发送过程采用报文重发机制。
有益效果
本发明提供了一种电能质量测试分析仪检定装置上位机控制程序通信方法。具备以下有益效果:
(1)、该电能质量测试分析仪检定装置上位机控制程序通信方法,上位机控制程序应用循环队列接收串口回复的报文,不管电能质量测试分析仪检定装置回复的是连帧、分帧的类型报文还是夹杂着脏报文,全部统一存入循环队列中等待解析线程分析;解析线程按规则从循环队列中拷贝出相应个数的字节流存入缓存区,判断缓存区报文帧是否合法;若报文合法,则对报文帧进行解析获取关键数据,对循环队列中剩下的报文进行分析;若报文不合法,则循环队列对头出队(丢弃无关字节即脏报文),出队列后再从循环队列中按规则拷贝出相应个数的字节流存入缓存区进行分析,依此方法循环往复。该方法不关心接收的报文是否连帧、分帧还是还有脏报文,统一将接收的数据存入循环队列,等待解析线程按规则分析,完美的解决了关于对接收到的连帧、分帧报文进行解析,过滤掉了脏报文的问题。
(2)、该电能质量测试分析仪检定装置上位机控制程序通信方法,上位机控制程序与电能质量测检定装置通信模式是一发一收式的半双工模式,上位机控制程序会对自身发送的报文判断对方是否回复报文或回复的报文是否且发送的报文是否对应,若不是则启动重发机制,尽可能确保上位机控制程序发送每个指令都能得到电能质量测试分析仪检定装置回应,不存在虚发指令。实现了上位机控制程序发送指令未回而重发的功能。
(3)、该电能质量测试分析仪检定装置上位机控制程序通信方法,上位机控制程序的轮询报文是按周期发送的,设置类型报文是临时起意决定发送的,是随机,没有确定性的,很可能存在存在2种类型指令同时向串口发送现象,导致发送指令无效;为实现上位机控制程序能将轮询报文和设置类型报文避免冲突而分时发送,并且优先发送设置类型报文,轮询报文允许滞后发送,使电能质量测试分析仪检定装置能第一时间收到设置类型指令并响应之。实现了上位机控制程序能将轮询报文和设置类型报文分时发送而避免冲突。
附图说明
图1为本发明上位机控制程序与电能质量测试分析仪检定装置通信框图;
图2为本发明上位机控制程序具备分帧\连帧报文解析,脏报文过滤的通信流程图;
图3为本发明上位机控制程序重召机制示意图;
图4为本发明上位机控制程序设置类型指令与轮询指令分时发送示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-4,本发明提供一种技术方案:一种电能质量测试分析仪检定装置上位机控制通信方法,包括上位机控制程序与电能质量测试分析仪检定装置,使用上位机控制程序对于电能质量测试分析仪检定装置控制通信,上位机控制程序具备以下特性:对电能质量测试分析仪检定装置发送的连帧报文进行拆分,分帧报文进行组合,脏报文进行过滤特性;对电能质量测试分析仪检定装置未回复报文或回复不正确的报文时进行重召的特性;对电能质量测试分析仪检定装置发送轮询报文和设置类型报文避免冲突而分时发送,并且优先发送设置类型报文的特性。
本实施例中,上位机控制程序对于电能质量测试分析仪检定装置发送的连帧报文进行拆分,分帧报文进行组合,脏报文进行过滤包括以下步骤:
a、上位机控制程序向电能质量测试分析仪检定装置发送指令,上位机控制程序接收到电能质量测试分析仪检定装置回复报文将其存入循环队列A中;
b、若报头为4个字节,先从循环队列A中拷贝出M且M≥4+2个元素存入缓存区,判断这M个元素是否含有报头部分;
c、若这M个元素中不含报头,循环队列A的队头元素出列,重新进入步骤b中;若含有报头,则解析出数据域长度N,再从循环队列A中拷贝出N+7个元素追加存入缓存区,判断缓存区的报文帧类型和报文类型是否与之前发送的报文的帧类型和报文类型一致,若不一致则循环队列A的队头元素出队,进入步骤b中;
d、若收、发报文的帧类型和报文类型一致,判断缓存区的报文帧校验码是否正确,若不正确,循环队列A的队头元素出队,进入步骤b中;
e、若报文帧校验码正确,则判断缓存区的报文的报文尾是否正确,若报文尾不正确循,环队列A的队头元素出队,进入步骤b中;
f、若报文尾正确,则缓存区的报文是合法的报文给予解析;
g、判断循环队列A中是否有足够元素,准备进入下一帧报文分析,进入步骤a中。
上述步骤中报文结构如下表:
序号 | 类型 | 字节数 | 备注 |
0 | wSync | 2 | 报文头:0xA55A、a55a |
1 | wLength | 2 | 报文内容数据的长度N,单位:字节,N<256 |
2 | byDeviceID | 1 | 设备ID号,0-无效,0xFF-广播地址,0xFE-通用地址 |
3 | byFrameNo | 1 | 帧序列号(无符号整数),由发送方生成 |
4 | byFrameType | 1 | 帧类型,D7=0主站发送,D7=1终端应答 |
5 | byPackType | 1 | 报文类型 |
6 | byData | N | 报文内容(数据域N<4096) |
7 | wCheckSum | 2 | 1-6部分内容的代数和 |
8 | byEnd | 1 | 报文尾 |
上位机控制程序应用循环队列接收串口回复的报文,不管电能质量测试分析仪检定装置回复的是连帧、分帧的类型报文还是夹杂着脏报文,全部统一存入循环队列中等待解析线程分析;解析线程按规则从循环队列中拷贝出相应个数的字节流存入缓存区,判断缓存区报文帧是否合法;若报文合法,则对报文帧进行解析获取关键数据,对循环队列中剩下的报文进行分析;若报文不合法,则循环队列对头出队(丢弃无关字节),出队后再按规则从循环队列中拷贝出相应个数的字节流存入缓存区进行分析,依此方法循环往复。该方法不关心接收的报文是否连帧、分帧还是存在脏报文,统一将接收的数据存入循环队列,等待解析线程按规则分析,完美的解决了关于对接收到的连帧、分帧报文进行解析,过滤掉脏报文的问题。
本实施例中,上位机控制程序中存在指令发送线程和报文接收线程,这2个线程通过Event事件信号来进行通同步,实现的重召机制,指令发送线程发送报文后会将事件信号设为无效,报文接收线程接收到报文后会将事件信号设为有效,通知指令发送线程已收到回复报文,并比较收、发报文是否对应的,若不对应则重发该报文;上位机控制程序对于电能质量测试分析仪检定装置未回复报文或回复不正确的报文进行重召。包括以下步骤:
a、发送线程内,设置重发指令最大次数为K且K=3,对要发送的指令进行组帧,首次发送,计重发次数N为0,Event事件信号设为无效,等待事件信号变为有效,等待时间设为500ms。
b、若报文接收线程未收到报文,Event事件信号超时仍为无效,则组好指令帧再次发送,计重发次数为N+1,等待事件信号变为有效,依次循环往复,重发次数不得超过K;
c、若报文接收线程收到合法的报文,则使Event事件信号设为有效,通知发送线程收到报文,发送线程则对接收的报文进行判断是否为对应的;若是对应的则进行下一帧指令发送;若不是对应的,则组好指令帧再次发送,计重发次数为N+1,并将事件信号设为无效,等待事件信号变为有效,依次循环往复,重发次数不得超过K;
d、若重发次数超过K,不再重发该指令;准备进行下一个指令的组帧发送。
上位机控制程序与电能质量测试分析仪检定装置通信模式是一发一收式的半双工模式,上位机控制程序会对自身发送的报文判断对方是否回复报文或回复的报文是否与发送的报文是否对应,若不是则启动重发机制,尽可能确保上位机控制程序发送每个指令都能控制电能质量测试分析仪检定装置,不存在虚指令。
本实施例中,上位机控制程序对于电能质量测试分析仪检定装置发送的轮询报文和设置类型报文避免冲突而分时发送,并且优先发送设置类型报文的特性包括以下步骤:
a、遂采用建立链表,若有新的待发送报文生成,则新增节点存入待发报文,若节点存的是轮询报文则依照顺序***链表尾部用于顺序发送,若节点存的是设置类型的报文则***链表头部用于优先发送。
b、创建一个线程主要任务是不停查询链表是否为空,若不空则获取链表头节点中的指令并发送之,随后该节点也从链表中删除,链表头有后续节点充当之;若链表为空则延迟500ms,等待新指令***链表中;依此规则循环往复。链表节点中的指令发送过程采用报文重发机制。
上位机控制程序的轮询报文是按周期发送的(可设每1秒发送一次),设置类型报文是临时起意发送的,是随机,没有确定性的,很可能存在存在2种指令同时向串口发送现象,导致发送指令无效;为实现上位机控制程序能将轮询报文和设置类型报文避免冲突而分时发送,并且优先发送设置类型报文,轮询报文允许滞后发送,使电能质量测试分析仪检定装置能及时收到设置类型指令并响应之。如此,实现了上位机控制程序能将轮询报文和设置类型报文分时发送而避免冲突。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下。由语句“包括一个......限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素”。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (4)
1.一种电能质量测试分析仪检定装置上位机控制通信方法,其特征在于:使用上位机控制程序对于电能质量测试分析仪检定装置通信,所述上位机控制程序具备以下特性:上位机控制程序具备对电能质量测试分析仪检定装置发送的连帧报文进行拆分,分帧报文进行组合,脏报文进行过滤特性;上位机控制程序具备对电能质量测试分析仪检定装置未回复报文或回复不正确的报文时进行重召的特性;上位机控制程序具备对电能质量测试分析仪检定装置发送轮询报文和设置类型报文避免冲突而分时发送,并且优先发送设置类型报文的特性;所述上位机控制程序对于电能质量测试分析仪检定装置发送的连帧报文进行拆分,分帧报文进行组合,脏报文进行过滤包括以下步骤:
a、上位机控制程序向电能质量测试分析仪检定装置发送指令,上位机控制程序接收到电能质量测试分析仪检定装置回复报文将其存入循环队列A中;
b、若报头为4个字节,先从循环队列A中拷贝出M且M≥4+2个元素存入缓存区,判断这M个元素是否含有报头部分;
c、若这M个元素中不含报头,循环队列A的队头元素出列,重新进入步骤b中;若含有报头,则解析出数据域长度N,再从循环队列A中拷贝出N+7个元素追加存入缓存区,判断缓存区的报文帧类型和报文类型是否与之前发送的报文的帧类型和报文类型一致,若不一致则循环队列A的队头元素出队,进入步骤b中;
d、若收、发报文的帧类型和报文类型一致,判断缓存区的报文帧校验码是否正确,若不正确,循环队列A的队头元素出队,进入步骤b中;
e、若报文帧校验码正确,则判断缓存区的报文的报文尾是否正确,若报文尾不正确,循环队列A的队头元素出队,进入步骤b中;
f、若报文尾正确,则缓存区的报文是合法的报文给予解析;
g、判断循环队列A中是否有足够元素,准备进入下一帧报文分析,进入步骤a中。
2.根据权利要求1所述的一种电能质量测试分析仪检定装置上位机控制通信方法,其特征在于:上位机控制程序中存在指令发送线程和报文接收线程,这2个线程通过Event事件信号来进行同步,实现的重召机制;指令发送线程发送报文后会将事件信号设为无效,报文接收线程接收到报文后会将事件信号设为有效,通知指令发送线程已收到回复报文,并比较收、发报文是否对应的,若不对应则重发该报文。
3.根据权利要求2所述的一种电能质量测试分析仪检定装置上位机控制通信方法,其特征在于:所述上位机控制程序对于电能质量测试分析仪检定装置未回复报文或回复不正确的报文进行重召包括以下步骤:
a、发送线程内,设置指令重发最大次数为K且K=3,对要发送的指令进行组帧,首次发送,计重发次数N为0,Event事件信号设为无效,等待事件信号变为有效,等待时间设为500ms;
b、若报文接收线程未收到报文,Event事件信号超时仍为无效,报文发送线程组好指令帧再次发送,计重发次数为N+1,等待事件信号变为有效,依次循环往复,重发次数不得超过K;
c、若报文接收线程收到合法的报文,则使Event事件信号设为有效,通知报文发送线程收到报文,报文发送线程则对接收的报文进行判断是否为对应的;若是对应的则进行下一帧指令发送;若不是对应的,则组好指令帧再次发送,计重发次数为N+1,并将事件信号设为无效,等待事件信号变为有效,依次循环往复,重发次数不得超过K;
d、若报文重发次数超过K,不再重发该指令;准备进行下一个指令的组帧发送。
4.根据权利要求1所述的一种电能质量测试分析仪检定装置上位机控制通信方法,其特征在于:所述上位机控制程序对于电能质量测试分析仪检定装置发送轮询报文和设置类型报文避免冲突而分时发送,并且优先相应设置类型报文的特性包括以下步骤:
a、遂采用建立链表,若有新的待发送报文生成,则新增节点存入待发报文,若节点存的是轮询报文则依照顺序***链表尾部用于顺序发送,若节点存的是设置类型的报文则***链表头部用于优先发送;
b、创建一个线程主要任务是不停查询链表是否为空,若不空则获取链表头节点中的指令并发送之,随后该节点也从链表中删除,链表后续节点充当头节点;若链表为空则延迟500ms,等待新指令***链表中;依此规则循环往复,链表节点中的指令发送过程采用报文重发机制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011483273.8A CN112637173B (zh) | 2020-12-16 | 2020-12-16 | 一种电能质量测试分析仪检定装置上位机控制通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011483273.8A CN112637173B (zh) | 2020-12-16 | 2020-12-16 | 一种电能质量测试分析仪检定装置上位机控制通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112637173A CN112637173A (zh) | 2021-04-09 |
CN112637173B true CN112637173B (zh) | 2024-02-27 |
Family
ID=75313516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011483273.8A Active CN112637173B (zh) | 2020-12-16 | 2020-12-16 | 一种电能质量测试分析仪检定装置上位机控制通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112637173B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9402380D0 (en) * | 1994-02-08 | 1994-03-30 | Ibm | Performance and status monitoring in a computer network |
WO2007090325A1 (fr) * | 2006-02-08 | 2007-08-16 | Huawei Technologies Co., Ltd. | Procédé et dispositif de transmission de données |
CN101505546A (zh) * | 2009-02-26 | 2009-08-12 | 清华大学 | 基于无线传感器网络的矿井环境探测与搜救应急响应*** |
FI20115104A0 (fi) * | 2011-02-02 | 2011-02-02 | Teknologian Tutkimuskeskus Vtt Oy | Järjestelmä ja menetelmä malli-pohjaista testaamista varten |
CN103984235A (zh) * | 2014-05-27 | 2014-08-13 | 湖南大学 | 基于c/s结构的空间机械臂控制***软件架构及构建方法 |
CN105721264A (zh) * | 2016-04-19 | 2016-06-29 | 河海大学常州校区 | 一种基于嵌入式技术的竞赛数据交换*** |
CN107179942A (zh) * | 2017-05-16 | 2017-09-19 | 中国电子科技集团公司第四十研究所 | 一种基于多线程的实时数据分析任务分发处理方法 |
CN108900327A (zh) * | 2018-06-20 | 2018-11-27 | 昆明理工大学 | 一种基于dpdk的天文数据采集和实时处理方法 |
CN109743291A (zh) * | 2018-12-12 | 2019-05-10 | 湖北航天技术研究院总体设计所 | 一种基于循环队列的遥测数据实时处理***及方法 |
-
2020
- 2020-12-16 CN CN202011483273.8A patent/CN112637173B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9402380D0 (en) * | 1994-02-08 | 1994-03-30 | Ibm | Performance and status monitoring in a computer network |
WO2007090325A1 (fr) * | 2006-02-08 | 2007-08-16 | Huawei Technologies Co., Ltd. | Procédé et dispositif de transmission de données |
CN101505546A (zh) * | 2009-02-26 | 2009-08-12 | 清华大学 | 基于无线传感器网络的矿井环境探测与搜救应急响应*** |
FI20115104A0 (fi) * | 2011-02-02 | 2011-02-02 | Teknologian Tutkimuskeskus Vtt Oy | Järjestelmä ja menetelmä malli-pohjaista testaamista varten |
CN103984235A (zh) * | 2014-05-27 | 2014-08-13 | 湖南大学 | 基于c/s结构的空间机械臂控制***软件架构及构建方法 |
CN105721264A (zh) * | 2016-04-19 | 2016-06-29 | 河海大学常州校区 | 一种基于嵌入式技术的竞赛数据交换*** |
CN107179942A (zh) * | 2017-05-16 | 2017-09-19 | 中国电子科技集团公司第四十研究所 | 一种基于多线程的实时数据分析任务分发处理方法 |
CN108900327A (zh) * | 2018-06-20 | 2018-11-27 | 昆明理工大学 | 一种基于dpdk的天文数据采集和实时处理方法 |
CN109743291A (zh) * | 2018-12-12 | 2019-05-10 | 湖北航天技术研究院总体设计所 | 一种基于循环队列的遥测数据实时处理***及方法 |
Non-Patent Citations (1)
Title |
---|
IEC 60870-5-101协议在智能型柱上开关控制器上的软件设计;黄勐哲;陈丽安;高新根;;电器与能效管理技术;20151215(23);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112637173A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107438263B (zh) | 一种无线链路质量的测量方法及终端 | |
JP5952808B2 (ja) | 被試験デバイスと試験を制御する試験装置との同期を確立するために複数のネットワークアドレスを使用するためのシステム及び方法 | |
CN111818493B (zh) | 数据传输方法及无线网络***、节点、可读存储介质 | |
RU2010148425A (ru) | Частичный отчет о состоянии управления радиолинией | |
CN104215853B (zh) | 一种电能质量监测***数据采集方法 | |
CN111768607A (zh) | 一种多表计数据采集方法、装置、设备及介质 | |
CN112637173B (zh) | 一种电能质量测试分析仪检定装置上位机控制通信方法 | |
CN111130690A (zh) | 一种ir46智能电表的多通讯协议的处理方法及装置 | |
CN111405531A (zh) | 一种提高通信质量的方法、介质、终端和装置 | |
CN1860734A (zh) | 网络吞吐量测定的方法和装置 | |
CN112104442A (zh) | 一种电力采集终端的报文回复方法 | |
CN207718361U (zh) | Pcm信号采集装置及*** | |
CN115208905A (zh) | 设备信息同步方法、装置、***、电子装置和存储介质 | |
CN114827967A (zh) | 软件更新方法、蓝牙设备及存储介质 | |
CN110536467B (zh) | ZigBee网络化工业控制***通信调度方法及其协调器 | |
CN103024097A (zh) | 探测网络地址转换服务器老化时间的方法、装置及*** | |
CN107959595A (zh) | 一种异常检测的方法、装置及*** | |
CN206993134U (zh) | 一种基于can总线收发器的通信装置 | |
CN111629080A (zh) | 一种自动分配电表地址的方法 | |
CN112671895A (zh) | 设备的控制方法、装置、终端和计算机可读存储介质 | |
CN112363963A (zh) | 一种基于Powerlink总线的数据传输方法及装置 | |
JP2021536186A (ja) | ネットワークに結合していないネットワーク機器の検出 | |
JP5994255B2 (ja) | 通信機器および通信方法 | |
EP0576410B1 (en) | System and method for monitoring communications links | |
CN212322099U (zh) | 一种配电房全生命周期监测*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |