CN104391800A - 一种数据存储装置及存储方法 - Google Patents
一种数据存储装置及存储方法 Download PDFInfo
- Publication number
- CN104391800A CN104391800A CN201410637209.9A CN201410637209A CN104391800A CN 104391800 A CN104391800 A CN 104391800A CN 201410637209 A CN201410637209 A CN 201410637209A CN 104391800 A CN104391800 A CN 104391800A
- Authority
- CN
- China
- Prior art keywords
- parameter
- module
- storage area
- storage
- data processing
- 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.)
- Granted
Links
Landscapes
- Safety Devices In Control Systems (AREA)
- Numerical Control (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
本发明提供了一种数据存储装置,包括:上位机,作为调试软件的载体,用于进行参数的在线修改;数据存储模块,用于通过数据处理模块保存修改后的参数;机器人控制器,用于为数据处理模块发送操作指令;采样模块,用于将电机输出的电流、速度、位置反馈给数据处理模块;数据处理模块,用于读取数据存储模块保存的参数、机器人控制器发送的位置指令及采样模块实时反馈的电流值,实现电流环、速度环和位置环的三环计算;驱动模块,用于接收三环计算的结果,并将结果转换为正弦波以驱动电机运动。该装置可以减少由于外界干扰造成数据存储错误,从而大大提高了非异失性存储器的使用精度。
Description
技术领域
本发明涉及机器人控制领域,具体涉及一种数据存储装置及存储方法。
背景技术
EEPROM(Electrically Erasable Programmable Read—OnlyMemory带电可擦可编程只读存储器)具有掉电保存数据、操作简单方便、价格低廉、使用时间长的特点,在微机领域、嵌入式微控制领域等得到广泛的应用。通常,将微控制系统的初始参数、机器人系统的初始坐标位置、PID参数、限值保护参数、通信参数等存储到EEPROM中。系统上电时,从EEPROM中读取初始参数。存储到EEPROM的参数对于系统的安全性、可靠性、稳定性、准确性、程序控制流程的正确性十分重要。在干扰较少的环境下,EEPROM数据存储一般不会出现问题,但是在有雷击、电力开关切换浪涌、静电放电等干扰环境下,瞬态的高电压、强电场和大电流可能导致EEPROM数据存储出现错误,将可能损坏器件,导致系统异常、机器人飞车、威胁操作人员的自身安全。
为了提高EEPROM的可靠性及经济效益,冗余设计技术被提出来。目前的软件冗余方法是将相同参数在EEPROM内存储到两个不同区域,通过读取两个不同区域相同参数的校验,来判断EEPROM存储数据的准确性。但是,如果出现两个区域读取参数不同的情况,或者一个区域读取参数失败,造成无法比较两个区域参数等情况时,有可能出现参数读取的错误,造成系统异常、机器人飞车等危险情况,威胁操作人员的自身安全。
发明内容
本发明的目的在于,针对现有技术中的不足,提供一种数据存储装置,该装置可分成四个存储区域,当存储参数出现偏差或错误时,系统能够忽略错误参数,读取默认参数,保证了系统的正常运行。
为实现上述目的,本发明采用以下技术方案:
一种数据存储装置,所述装置包括:上位机、机器人控制器、数据处理模块、数据存储模块、驱动模块及采样模块,
所述上位机,用于为数据处理模块发送调试软件修改的参数;
数据存储模块,用于通过数据处理模块保存修改后的参数;
机器人控制器,用于为数据处理模块发送操作指令;
采样模块,用于将流经电机转子的电流反馈给数据处理模块;
数据处理模块,用于读取数据存储模块保存的参数、机器人控制器发送的位置指令及采样模块实时反馈的电流值,实现电流环、速度环和位置环的三环计算;
驱动模块,用于接收三环计算的结果,并将结果转换为正弦波以驱动电机运动。
优选的,数据存储模块划分为四个存储区域,第一存储区域、第二存储区域、第三存储区域和第四存储区域,所述第一存储区域至第三存储区域用于存储上位机发送的参数,第四存储区域始终存储能够让系统正常工作的默认参数。
优选的,数据存储模块还包括4个判断模块分别对应上述4个存储区域,分别为第一判断模块、第二判断模块、第三判断模块和第四判断模块,所述4个判断模块分别判断四个存储区域的字头是否等于0xAA55,如果不等于,则该存储区域还没有被存入默认参数,此时存入默认参数;如果等于0xAA55,则判断该存储区域至少被写入过一次,此时则可将调试软件的参数更新。
优选的,选择更新的最优参数存入到第一存储区域至第三存储区域。
优选的,数据存储模块还包括一个比较模块,用于比较第一存储区域至第三存储区域的参数值是否相等。
优选的,若存入三个存储区域的参数相等,则表明参数写入正确;若存入三个存储区域的参数值两两相等,一个不相等,表示参数的写入过程中出现错误,则读取两个相等参数值中的一个,舍弃不相等的错误值;如果比较三个存储区域的参数值均不相等,则读取第四存储区域中的默认参数值。
优选的,比较模块还预先存储每个参数有效值的范围。
本实施例还提供一种数据存储方法,具体为:
上位机通过数据处理模块向数据存储模块发送修改的参数;
数据存储模块保存所述修改参数;
数据处理模块按照上位机调试软件的指令读取修改后的参数;
数据处理模块读取机器人控制器的指令及采样模块读取的反馈值进行三环计算后,通过PWM模块发送给驱动模块控制电机运动。
优选的,数据存储模块保存所述修改参数具体为:将数据存储模块划分为四个存储区域,第一存储区域、第二存储区域、第三存储区域和第四存储区域,分别判断四个存储区域的字头是否等于0xAA55,如果不等于,则该存储区域还没有被存入默认参数,此时存入默认参数;如果等于0xAA55,则判断该存储区域至少被写入过一次,此时则可将调试软件的参数更新。
优选的,数据处理模块按照机器人控制器的指令读取修改后的参数具体为:当参数被更改后,数据处理模块从第一存储区域至第三存储区域读取参数时,比较模块需要比较三个存储区域的参数值是否相等,若存入三个存储区域的参数相等,则表明参数写入正确;若存入三个存储区域的参数值两两相等,一个不相等,表示参数的写入过程中出现错误,则读取两个相等参数值中的一个,舍弃不相等的错误值;如果比较三个存储区域的参数值均不相等,则读取第四存储区域中的默认参数值。
本发明较现有技术具有如下优点:
1、该装置将存储在非异失性存储器上的参数进行分区存储,读取时进行校验和限值判断,可以减少由于电力开关切换浪涌、静电放电等干扰环境下,瞬态高压、大电流等外界干扰造成数据存储错误,从而大大提高了非异失性存储器使用精度。
2、提高了电机稳定运行的可靠性,使得电机控制更进一步发展。
附图说明
图1是本发明实施例的结构框图。
图2是本发明实施例数据存储装置的结构原理图。
图3是本发明实施例参数存储方法的流程图。
图4是本发明实施例参数读取校验方法流程图。
具体实施方式
下面将结合附图和具体的实施例,对本发明的技术方案进行详细说明。
如图1所示,本发明一种数据存储装置包括:上位机10、机器人控制器20、数据处理模块30、数据存储模块40、驱动模块50、采样模块60、电机70及电源模块80。上位机10、机器人控制器20、数据存储模块40、驱动模块50、采样模块60分别与数据处理模块30通讯连接。
上位机10作为调试软件的载体,用于进行参数的在线修改。数据存储模块40,用于通过数据处理模块30保存修改后的参数;机器人控制器20,用于为数据处理模块30发送操作指令;采样模块60,用于将电机输出的电流、速度、位置反馈给数据处理模块30,形成控制环的闭合回路;数据处理模块30,用于读取数据存储模块40保存的参数、机器人控制器20发送的位置指令,及采样模块60实时反馈的采样值,实现电流环、速度环和位置环的三环计算;驱动模块50,用于接收三环计算的结果,并将结果转换为正弦波以驱动电机70运动;电源模块80,用于对整个系统供电。
所述数据处理模块30是以DSP28335为主控芯片通过串行同步总线SPI与数据存储模块40通讯连接。
本实施例中,为了提高参数的可靠性和准确性,采用了软件冗余的方法,即对数据存储模块40采用分区存储,在每个区域内存储相同的参数,每个区域设置自身的校验,用于判断数据是否有效。
具体的,如图2所示为数据存储模块40的存储器分区图,将数据存储模块40划分为四个存储区域,第一存储区域41、第二存储区域42、第三存储区域43和第四存储区域44。由于上位机10的调试软件的参数被不断更改,第一存储区域41、第二存储区域42和第三存储区域43分别存储更改的数据,第四存储区域44始终存储能够让系统正常工作的默认参数,此参数不能被更改。所述数据存储模块40为EEPROM。
上述数据存储模块40还包括4个判断模块,分别为第一判断模块45、第二判断模块46、第三判断模块47和第四判断模块48。系统初始化时,上述四个存储区域以相同的字头0xAA55开始,存入相同的默认参数,当参数被更改后,该字头不更改。当系统运行后,更改的参数将分别存入到第一至第三存储区域。第一判断模块至第四判断模块分别判断四个存储区域的字头是否等于0xAA55,如果不等于,则该存储区域还没有被存入默认参数,此时存入默认参数;如果等于0xAA55,则判断该存储区域至少被写入过一次,此时可以将调试软件设置的新的参数更新至存储区,选择更新的最优参数存入到第一存储区域至第三存储区域。
此外,数据存储模块40还包括一个比较模块49,用于比较第一存储区域至第三存储区域的参数值是否相等。若存入三个存储区域的参数相等,则表明参数写入正确;若存入三个存储区域的参数值两两相等,一个不相等,表示参数在写入过程中出现错误,则读取两个相等参数值中的一个,舍弃不相等的错误值。如果比较三个存储区域的参数值均不相等,则读取第四存储区域44中的默认参数值。
上述比较模块49中还预先存储每个参数的有效值的范围,若读取完更改的参数后,比较模块49还要将该参数的参数长度、参数范围及符号类型与存储的有效值范围进行比较,如果超出有效值范围,则舍弃读取参数,继续读取第四区域的默认参数值;若在有效值范围内,则将该参数做为正确的参数输出给数据处理模块30以驱动电机70运动。
本发明实施例还公开一种数据存储方法,其具体步骤如下:
S10:上位机通过数据处理模块向数据存储模块发送修改的参数。
S20:数据存储模块保存所述修改参数。
如图3所示,具体方法为:将数据存储模块划分为四个存储区域,第一存储区域、第二存储区域、第三存储区域和第四存储区域,系统初始化时,上述四个存储区域以相同的字头0xAA55开始,存入相同的默认参数,当参数被更改后,该字头不更改。具体存储方法为:分别判断四个存储区域的字头是否等于0xAA55,如果不等于,则该存储区域还没有被存入默认参数,此时存入默认参数;如果等于0xAA55,则判断该存储区域至少被写入过一次,此时可选择将调试软件更新的参数存入存储区,如若保存参数,则点击保存按钮。选择更新的最优参数存入到第一存储区域至第三存储区域。该四个存储区域的起始地址设置成常量,用指向起始地址的指针来对参数进行写入,防止在参数写入时,误写入其他存储区域。此外,还可以将上述每个存储区域根据存储参数的分类不同,再划分成不同存储区域,如将每个存储区域分成PID参数存储区域、保护限制参数区域、通讯参数区域、电机参数区域等,能够最大限度的减少存储数据的损坏范围。
S30:数据处理模块按照上位机调试软件的指令读取修改后的参数。
如图4所示,具体为:当参数被更改后,数据处理模块从第一存储区域至第三存储区域读取参数时,比较模块需要比较三个存储区域的参数值是否相等,若存入三个存储区域的参数相等,则表明参数写入正确;若存入三个存储区域的参数值两两相等,一个不相等,表示参数的写入过程中出现错误,则读取两个参数值相等的值,舍弃不相等的错误值。如果比较三个存储区域的参数值均不相等,则读取第四存储区域中的默认参数值。
S40:数据处理模块读取机器人控制器的指令及采样模块读取的反馈值进行三环计算后,通过PWM模块发送给驱动模块控制电机运动。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据存储装置,其特征在于,所述装置包括:上位机、机器人控制器、数据处理模块、数据存储模块、驱动模块及采样模块,
所述上位机,作为调试软件的载体,用于进行参数的在线修改;
数据存储模块,用于通过数据处理模块保存修改后的参数;
机器人控制器,用于为数据处理模块发送操作指令;
采样模块,用于将电机输出的电流、速度、位置反馈给数据处理模块;
数据处理模块,用于读取数据存储模块保存的参数、机器人控制器发送的位置指令及采样模块实时反馈的电流值,实现电流环、速度环和位置环的三环计算;
驱动模块,用于接收三环计算的结果,并将结果转换为正弦波以驱动电机运动。
2.如权利要求1所述的数据存储装置,其特征在于,将所述数据存储模块划分为四个存储区域,第一存储区域、第二存储区域、第三存储区域和第四存储区域,所述第一存储区域至第三存储区域用于存储上位机发送的参数,第四存储区域始终存储能够让系统正常工作的默认参数。
3.如权利要求2所述的数据存储装置,其特征在于,所述数据存储模块还包括4个判断模块分别对应上述4个存储区域,分别为第一判断模块、第二判断模块、第三判断模块和第四判断模块,所述4个判断模块分别判断四个存储区域的字头是否等于0xAA55,如果不等于,则该存储区域还没有被存入默认参数,此时存入默认参数;如果等于0xAA55,则判断该存储区域至少被写入过一次,此时则可将调试软件的参数更新。
4.如权利要求3所述的数据存储装置,其特征在于,选择更新的最优参数存入到第一存储区域至第三存储区域。
5.如权利要求4所述的数据存储装置,其特征在于,数据存储模块还包括一个比较模块,用于比较第一存储区域至第三存储区域的参数值是否相等。
6.如权利要求5所述的数据存储装置,其特征在于,若存入三个存储区域的参数相等,则表明参数写入正确;若存入三个存储区域的参数值两两相等,一个不相等,表示参数的写入过程中出现错误,则读取两个相等参数值中的一个,舍弃不相等的错误值;如果比较三个存储区域的参数值均不相等,则读取第四存储区域中的默认参数值。
7.如权利要求5所述的数据存储装置,其特征在于,所述比较模块还预先存储每个参数有效值的范围。
8.一种数据存储方法,其特征在于,包括:上位机、机器人控制器、数据处理模块、数据存储模块、驱动模块及采样模块,具体方法为:
上位机通过数据处理模块向数据存储模块发送修改的参数;
数据存储模块保存所述修改参数;
数据处理模块按照上位机调试软件的指令读取修改后的参数;
数据处理模块读取机器人控制器的指令及采样模块读取的反馈值进行三环计算后,通过PWM模块发送给驱动模块控制电机运动。
9.如权利要求8所述的数据存储方法,其特征在于,所述数据存储模块保存所述修改参数具体为:将数据存储模块划分为四个存储区域,第一存储区域、第二存储区域、第三存储区域和第四存储区域,分别判断四个存储区域的字头是否等于0xAA55,如果不等于,则该存储区域还没有被存入默认参数,此时存入默认参数;如果等于0xAA55,则判断该存储区域至少被写入过一次,此时则可将调试软件的参数更新。
10.如权利要求8所述的数据存储方法,其特征在于,所述数据处理模块按照机器人控制器的指令读取修改后的参数具体为:当参数被更改后,数据处理模块从第一存储区域至第三存储区域读取参数时,比较模块需要比较三个存储区域的参数值是否相等,若存入三个存储区域的参数相等,则表明参数写入正确;若存入三个存储区域的参数值两两相等,一个不相等,表示参数的写入过程中出现错误,则读取两个相等参数值中的一个,舍弃不相等的错误值;如果比较三个存储区域的参数值均不相等,则读取第四存储区域中的默认参数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410637209.9A CN104391800B (zh) | 2014-11-12 | 2014-11-12 | 一种数据存储装置及存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410637209.9A CN104391800B (zh) | 2014-11-12 | 2014-11-12 | 一种数据存储装置及存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104391800A true CN104391800A (zh) | 2015-03-04 |
CN104391800B CN104391800B (zh) | 2017-09-15 |
Family
ID=52609707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410637209.9A Active CN104391800B (zh) | 2014-11-12 | 2014-11-12 | 一种数据存储装置及存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104391800B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105276762A (zh) * | 2015-10-15 | 2016-01-27 | 珠海格力电器股份有限公司 | 控制器跳线帽故障确定方法及空调控制器 |
CN107885614A (zh) * | 2017-11-23 | 2018-04-06 | 昌微系统科技(上海)有限公司 | 一种基于存储器的数据处理方法及数据处理装置 |
CN110162271A (zh) * | 2019-05-21 | 2019-08-23 | 四川虹美智能科技有限公司 | 一种eeprom数据处理方法及装置 |
CN114840146A (zh) * | 2022-05-20 | 2022-08-02 | 广东天太机器人有限公司 | 一种能在运行时的参数修改方法及系统、设备和存储介质 |
CN114888714A (zh) * | 2022-04-27 | 2022-08-12 | 北京烁科精微电子装备有限公司 | 一种晶圆抛光的保护方法、装置、设备及介质 |
CN116156860A (zh) * | 2023-02-22 | 2023-05-23 | 北京航天发射技术研究所 | 一种电驱特种车辆同步伺服控制器的电磁兼容优化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398687A (zh) * | 2008-10-10 | 2009-04-01 | 北京科技大学 | 一种小型双足机器人的信息处理平台 |
US20100332751A1 (en) * | 2009-06-30 | 2010-12-30 | Cleversafe, Inc. | Distributed storage processing module |
-
2014
- 2014-11-12 CN CN201410637209.9A patent/CN104391800B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101398687A (zh) * | 2008-10-10 | 2009-04-01 | 北京科技大学 | 一种小型双足机器人的信息处理平台 |
US20100332751A1 (en) * | 2009-06-30 | 2010-12-30 | Cleversafe, Inc. | Distributed storage processing module |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105276762A (zh) * | 2015-10-15 | 2016-01-27 | 珠海格力电器股份有限公司 | 控制器跳线帽故障确定方法及空调控制器 |
CN105276762B (zh) * | 2015-10-15 | 2017-12-15 | 珠海格力电器股份有限公司 | 控制器跳线帽故障确定方法及空调控制器 |
CN107885614A (zh) * | 2017-11-23 | 2018-04-06 | 昌微系统科技(上海)有限公司 | 一种基于存储器的数据处理方法及数据处理装置 |
CN110162271A (zh) * | 2019-05-21 | 2019-08-23 | 四川虹美智能科技有限公司 | 一种eeprom数据处理方法及装置 |
CN114888714A (zh) * | 2022-04-27 | 2022-08-12 | 北京烁科精微电子装备有限公司 | 一种晶圆抛光的保护方法、装置、设备及介质 |
CN114840146A (zh) * | 2022-05-20 | 2022-08-02 | 广东天太机器人有限公司 | 一种能在运行时的参数修改方法及系统、设备和存储介质 |
CN116156860A (zh) * | 2023-02-22 | 2023-05-23 | 北京航天发射技术研究所 | 一种电驱特种车辆同步伺服控制器的电磁兼容优化方法 |
CN116156860B (zh) * | 2023-02-22 | 2024-03-08 | 北京航天发射技术研究所 | 一种电驱特种车辆同步伺服控制器的电磁兼容优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104391800B (zh) | 2017-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104391800A (zh) | 一种数据存储装置及存储方法 | |
US8745281B2 (en) | Automatic foundation fieldbus device commissioning | |
CN102644545B (zh) | 风电机组故障处理方法及系统 | |
CN105324726A (zh) | 参数化现场设备的方法 | |
CN109789549B (zh) | 用于控制机器人的装置和方法 | |
CN105759679B (zh) | 掉电保护控制器及其掉电保持方法 | |
US20190012168A1 (en) | Program generating apparatus | |
CN104008069A (zh) | 一种数据保护方法、装置及设备 | |
CN104021014A (zh) | 一种基于双cpu系统的固件升级方法 | |
US8667475B2 (en) | Computer-readable storage medium and program-converting method | |
US20130116804A1 (en) | Method for automatically transferring a configuration of an automation device during replacement of an automation device | |
CN103346735A (zh) | 一种微控制器的时钟信号生成方法、装置及微控制器 | |
KR101593835B1 (ko) | Plc 시스템 | |
CN100489781C (zh) | 对目标文件进行定位的方法和装置 | |
CN110832410B (zh) | 运动控制器及运动控制的方法 | |
US8280530B2 (en) | Plant control system | |
CN103777618A (zh) | 半导体工艺的指令执行的控制方法 | |
US9459619B2 (en) | Continuous equipment operation in an automated control environment | |
US10361610B2 (en) | Encoder capable of erasing memory information and motor system including the same | |
CN107065820B (zh) | 一种舵机信息防丢失方法及装置 | |
CN107053169B (zh) | 一种总线型智能伺服驱动系统、机器人及方法 | |
CN109732602A (zh) | 机械臂调速方法、系统、设备以及介质 | |
US10768601B2 (en) | Programmable controller | |
JP4684848B2 (ja) | 制御装置、そのプログラムおよび記録媒体 | |
CN105404467A (zh) | 便携式电子装置及其中用户数据的存取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |