毕业设计数控系统参数备份研究及软件的设计.doc

上传人:仙人指路1688 文档编号:2392220 上传时间:2023-02-17 格式:DOC 页数:20 大小:604KB
返回 下载 相关 举报
毕业设计数控系统参数备份研究及软件的设计.doc_第1页
第1页 / 共20页
毕业设计数控系统参数备份研究及软件的设计.doc_第2页
第2页 / 共20页
毕业设计数控系统参数备份研究及软件的设计.doc_第3页
第3页 / 共20页
毕业设计数控系统参数备份研究及软件的设计.doc_第4页
第4页 / 共20页
毕业设计数控系统参数备份研究及软件的设计.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《毕业设计数控系统参数备份研究及软件的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计数控系统参数备份研究及软件的设计.doc(20页珍藏版)》请在三一办公上搜索。

1、南京信息职业技术学院毕业设计论文作者 翁云飞 学号 20952P33 系部 机电学院 专业 数控技术 题目 数控系统参数备份研究及软件的设计 指导教师 谌鹏 评阅教师 完成时间: 2012 年 5月 24 日 数控系统参数备份研究及软件的设计摘要:数控系统的正确运行,必须保证各种参数的正确设定,不正确的设置和更改,都可能会造成严重的后果。所以,此时做好数控系统参数的备份显得尤为重要。目前大部分机床都配备了RS232C串行通信接口,该接口可以通过一根通信电缆实现与计算机的数据通信。参数备份软件的设计无疑不解决了有效实现参数备份的这个问题。在软件设计的过程中,利用了MSComm控件实现来自数控系统

2、数据的传输与接收。另外通过修改软件的通信参数选项,可以使该软件实现在不同的数控系统上正常的运行,提高了该软件的通用性。关键词:数控系统 参数 备份 通信毕业设计(论文)中文摘要毕业设计(论文)外文摘要Title : The research of the NC systems parameters backup and the design of backup software Abstract:For the normal operation of NC system,we must ensure that theNC systems parameters are setted correc

3、tly.Wrong settings and changes maybe cause serious consequences.So it is important to ensure the NC systems parameters backup.At present, most machine tools are equipped with RS232C serial communications interface.This interface can date the communication with PC by a communication cable.The backup

4、software solves the problems that the realization of parameters backup causes.In the software design process,we achieve the transmitting and receiving of NC system parameters by MSComm control.This software can work normally in many different NC system by modifying communication parameters options.S

5、o it improves this softwares generality. keywords:NC system parameters backup communications 目录1 引言52 数控系统参数62.1 数控系统参数的重要性62.2 数控系统参数的类型及分类62.3 数控系统参数丢失的原因73 软件运行的流程84 参数备份软件的设计94.1 程序设计中所使用的控件94.2 重要控件功能实现的设计方法104.3 软件实用性的优化与软件界面的美化165 参数备份软件的打包与安装176软件的操作与调试186.1 软件的模拟调试186.2 软件在机床上调试19结论20致谢20参考

6、文献211 引言随着我国制造业的迅速发展,数控机床在机械加工行业得到了广泛的应用,也带来了巨大的经济效益。数控机床系统参数是数控机床所用软件的外在装置,他决定数控机床的功能和控制精度,是保证数控机床正常工作的关键,一旦某一参数丢失或误改动,或者由于某种原因使机床参数大量丢失,都会使机床可能陷入瘫痪的状态。所以数控机床安装调试完毕或者进行重大的调整后,进行正确、完整、有效的参数备份是非常必要的。目前数控机床配备了R323C串行通行接口,使用该接口只需投入一根通信电缆线,利用PC机上运行的参数备份软件便可实现数控系统参数备份,因此其硬件投入成本较低。同时备份后的参数为文本格式,在PC机上通过记事本

7、软件即可打开,对于数控系统参数的研究也非常方便。本文通过对数控系统参数的研究,介绍了数控系统参数的基本概念,参数备份软件的设计,包括软件通信参数的设置、程序的开发、软件的优化,以及数控系统参数备份的实现过程。2 数控系统参数2.1 数控系统参数的重要性数控机床参数是数控机床所用软件外在的装置,它对数控机床的功能和控制精度有着很大的影响,是保证数控机床正常工作的关键。一旦某一参数修改,或者由于某种原因使机床参数大量丢失,都会使机床可能陷入瘫痪状态。无论哪个公司的数控系统都有大量的参数,如FANUC公司6T-B系统就有294项参数。有的一项参数就有8位,粗略算起来一套CNC系统配置的数控系统机床就

8、有近千个参数要设定。这些参数的设置正确与否直接影响数控机床的使用和其性能的发挥。特别是用户能充分掌握和理解这些参数,将会使一台数控机床的使用和性能发挥一个新的水平。数控系统系统中的数据文件分为系统文件、MTB(机床制造厂)文件和用户文件。其中系统文件和MTB文件存储在数控系统的主板上的FLASH-ROM芯片中,该芯片为只读存储器,数据无需保护,一般不会丢失。用户文件则存储在STATIC-RAM芯片中,该芯片为静态存储器,需要电池保护,容易丢失。此外,用户文件包含了系统参数、螺距误差补偿值、加工程序、宏程序、刀具补偿值、工件坐标系数据、PMC参数等数据。其中加工程序、刀具补偿和工件坐标系数据在零

9、件加工中经常由机床操作者根据加工情况而做修改,而系统参数、螺距误差补偿值、宏程序和PMC参数一般不需要进行修改,同时这些参数关系到机床能否正常运行。因此,对数控系统的参数进行完整、有效的备份是十分有必要的。2.2 数控系统参数的类型及分类认识了数控系统参数重要性之后,如果想实现其备份,必须对数控系统参数的类型、分类更有必进行一个详细的认识。FANUC系统是一个比较典型的数控系统,所以本文针对性地对FANUC系统参数进行了研究。无论是哪种型号的数控系统都有大量的参数,少则几百个,多则上千个,看起来眼花缭乱。但经过仔细分析,还是有章可循的。按照参数的表示形式来划分,数控机床的参数可分为三类:状态型

10、参数、比率型参数、真实值参数。其中状态型参数是指每项参数的八位二进制数位中,每一位都表示一种独立的状态或者功能的有无。例如FANUC0-TD系统的1号参数项中所表示的就是状态型参数。另外参数本身的性质可分为两类:普通型参数、秘密级参数。表1 数控系统参数的类型数据形式位型0或1位轴型字节型-1281270256有些参数中不使用符号字节轴型字形-327683276065535有些参数中不使用符号字轴型双字型-9999999999999999双字轴型总之,不管数控系统参数多么的复杂,归根结底,他们都是由一连串的数字、字母或者字符组成的有意义的数列。2.3 数控系统参数丢失的原因数控系统参数丢失的原

11、因的很多,掌握其丢失的原因,不仅对更好使其恢复至关重要,更有利于保护好参数,以防下次的丢失。经过分析,数控系统参数丢失的原因,一般有以下几种原因:1、 数控系统后备电池失效2、 参数存储器故障或元器件老化3、 机床长期闲置不用,没有定期对机床上电4、 机床在DNC状态下加工工件或进行数据通讯过程中电网迅速停电5、 受到外部干扰,使参数丢失或发生混乱6、 操作者的误操作3 软件运行的流程在我们使用软件的时候,首先,第一步我们需要对软件的通信参数进行设置,不管我们实在模拟使用,还是在机床上实际操作都是一样。当我们将所有的通信参数设置完毕之后,接下来软件将进入等待状态,等待数据的输入。当用户按下【接

12、收】按钮后,软件将通过CommonDialog控件及相关代码生成保存文件的对话框,并选择保存路径,然后进入等待接收状态,一旦有数据进入即开始接收,接收完毕后将自动保存文件至相应的路径。当数据接收完毕之后,软件也会自动提示用户,数据接收完毕。接下来用户可以对接收的数据进行统计和研究。接收过程的设计流程图见图1。接收并暂存数据 数据预处理 结束并保存数据 等待接收完成通信参数的设置 接收数据 等待数据的输入显示数据接收状态 图1 数据运行的流程图4 参数备份软件的设计本次软件设计采用了VB编程语言设计,该语言拥有友好的图形用户界面和快速应用程序开发系统,可以轻易连接数据库 ,或者轻松的创建 Act

13、iveX 控件,正是由于它独特的优点使其得到了很好的应用,被很多人所接受。而且该语言简洁、易上手,可以用来开发一些简易的小程序,用于交流和学习。本次所用软件为Visual Basic 6.0。该软件在设计的过程中,采用了简介明了的设计风格。界面一目了然、操作简单、使用功能非常方便。软件界面如图2:图2 软件界面图4.1 程序设计中所使用的控件 为了达到预期的设计效果和功能,程序设计过程中使用了大量的控件,下面介绍几种设计过程中重要的控件。编程中使用的主要控件有RichTextBox、ComboBox、CommonDialog和MSComm、Label、CommandButton、Frame等。

14、RichTextBox控件的功能为显示收到的数据文本;ComboBox控件的功能为提供各通信参数的选择操作;CommonDialog控件的功能为产生文件保存的对话框;MSComm控件的功能为通过PC机的串行通信接口实现数据的接收;Label 控件实现软件功能分区和功能的标识、信息的提示;Frame 控件实现软件面板上功能区的划分;CommandButton 控件:实现软件功能的按钮。4.2 重要控件功能实现的设计方法4.2.1 通信参数的选项设置串行通信过程中通信双方必须按照相同的通信协议才能实现数据的正确传输。数控系统是以系统参数的形式是实现通信参数的设置的。本次研究中所研究的数控系统通信参

15、数设置如下表2:表2 机床数控系统串行通信参数的设置及含义 参数号 设定值 含义 P0.1 1 数据输出是代码为ISO代码P20 0 I/O通道号为1(RS232C串口为COM1口)P100.3 0 ISO代码对EOB输出LF,CR,CRP100.5 1 连续读取,当缓冲器满时输出一个DC3代码P101.0 1 停止位为2位P100.3 1 输入的数据为ASCII代码P102 0 握手方式为软件握手,使用控制代码DCI-DC4P103 11 波特率为9600 串行通信过程中,对于数据的数据位和奇偶校验也需要进行正确的设置,本次研究所使用的数控系统对这连个参数都有其固定值,无需对其进行设置,但是

16、我们在使用软件的时候必须要知道系统的数控位和奇偶校验的设置情况,否则将无法进行正确的数据通信。通过查阅该数控系统的使用说明书可以知道其数据位为7位,可以表示ASCII码0到127的字符,由于用户文件均为ASCII码0到127的字符,因此在我们的软件也应该使用7位数据来传输各个字符,同时,该系统的数据校验形式为偶校验,所以,在该软件中数据校验形式也应该为偶校验。为了提高该软件的通用性,该软件在设计过程提供了多种通信参数的选项设置,使得该软件更实用和人性化了。在软件设计过程中,运用了AddItem函数添加Combox的列表,为软件提供多种通信参数的选择。在串口列表中添加了“COM1、COM2、CO

17、M3、COM4”;波特率列表中添加了“300、600、1200、2400、4800、9600、19200、38400、57600、115300”;奇偶校验列表中添加了“无NONE、奇ODD、偶EVEN”;数据列表中添加了“8、7、6”;停止位列表中添加了“1、2”。软件中的编程语句如下:Private Sub Form_Load()Combo1.AddItem COM1、Combo2.AddItem 110、Combo2.AddItem 115200Combo3.AddItem 无NONE、Combo4.AddItem 8Combo4.AddItem 7Combo4.AddItem 6Comb

18、o5.AddItem 1Combo5.AddItem 2End SubDim port$, baudrate$, parity$, databits$, stopbits$port = Mid$(Combo1.Text, 4, 1)baudrate = Combo2.Textparity = Mid$(Combo3.Text, 2, 1)databits = Combo4.Textstopbits = Combo5.TextComm1.CommPort = portComm1.Settings = baudrate + , + parity + , + databits + , + stopb

19、itsComm1.PortOpen = TrueComm1.RThreshold = 1 起用OnComm()事件Comm1.InBufferCount = 0 清空输入缓冲区Comm1.OutBufferCount = 0 清空输出缓冲区Comm1.InputMode = comInputModeBinary 以二进制方式接收End Sub4.2.2 数据的预处理由于数控系统的参数中有一部分是控制命令字符,它们的ASCII码值小于34,不能通过RichTextBox控件显示,所以必须对其进行过滤。同时为了实现数据的预处理功能,我们将接收到的数据以二进制的形式保存到了我们的字节型数组里面。对接

20、收到的数据我们还进行了计数和换行处理。部分程序代码如下:Public Function process_data() 数据处理函数Dim i%For i = 0 To UBound(bytInput) If bytInput(i) 33 Then 过滤不可见字符 strData = strData & Chr$(bytInput(i) chr函数是将ascii转化成对应的字母 End If If bytInput(i) = &HA Then 文本换行处理 A为16进制 strData = strData & Chr$(13) & Chr$(10) End IfNext iRichTextBox

21、1.Text = RichTextBox1.Text & strData 预处理完毕后显示在文本框中End Function数据处理举例:源程序%O1234 ;N10 G54 G90 ;%对应的ASCII码:DC2 % SP LF CR CR O 1 2 3 4 LF CR CR N 1 0 G 5 4 G 9 0 LF CR CR % DC4转换成16进制:12 25 20 0A 0D 0D 4F 31 32 33 34 0A 0D 0D 4E 31 30 47 35 34 47 39 30 0A 0D 0D 25 14 4.2.3 数据的接收与暂存在这个功能程序部分涉及了很多变量,但是基本

22、的思路还是很明确的。正如本小节的标题一样,此部分主要实现的功能是数据的接收与暂存两大块。其中还涉及了Label控件,用来显示数据接收的情况,使用户对数据接收过程更直观化。此外还对缓存区的数据进行了计数,然后将其结果赋值给通信控件读取数据的个数和字节数组的长度。Private Sub Comm1_OnComm()Dim slen%Dim tmp As Variant 定义变体类型Dim j%, msgvalue% 定义检测数据是否接受完毕所用到的变量(整形变量)Label7.Caption = 正在接收数据。Command1.Enabled = FalseSelect Case Comm1.Co

23、mmEventCase comEvReceiveComm1.RThreshold = 0 暂停引发OnComm()事件slen = Comm1.InBufferCount 获取接收缓冲区的字符数Comm1.InputLen = slen 设置读取数据的个数为接收的个数ReDim bytInput(slen) 重新定义字节数组的长度tmp = Comm1.InputbytInput = tmpprocess_data 调用数据预处理函数j = InStr(strData, %) 检测接收的数据中是否有%,并对其计数If j 0 Thencounter_receive = counter_rece

24、ive + 1j = j + 1 If InStr(j, strData, %) 0 Then counter_receive = counter_receive + 1 End IfEnd IfIf counter_receive = 2 Then 接收完毕后(收到2个%)关闭端口并自动保存接收的数据msgvalue = MsgBox(传输完毕, vbOKOnly + vbInformation, 消息) If msgvalue = vbOK Then 判断数据是否完整接收,如果完整接收将会检查到两个% Comm1.PortOpen = False Comm1.RThreshold = 0

25、RichTextBox1.SaveFile CommonDlg1.FileName, rtfText Label7.Caption = 请点击接收按钮。 Command1.Enabled = True End IfExit SubEnd IfstrData = 清空临时变量bytInput = 清空临时变量Dim buf As Stringbuf = Comm1.InputRichTextBox1.Text = RichTextBox1.Text + buf 以将接收完的数据再次显示在文本接收区Comm1.RThreshold = 1 重新起用OnComm()事件End SelectEnd S

26、ub4.2.4 接收数据字数的统计为了便于我们今后的研究,我们不仅仅只要接收数控系统的参数,我们还需要对其进行保存和统计。本段程序的编写主要是为了对软件接收的数据进行统计。该功能的实现,主要使用的是逻辑函数的运算,并没有过多的使用控件。对于最后统计的结果,MsgBox控件无疑是一个很好的选择,一目了然的对话框,简洁明了。主要统计的信息有数字字数、英文字数、汉字字数和字节数。Private Sub Command3_Click()Dim Str As String 总字符Dim k As Long 计数器Dim tmpStr As String 逐一检测的字符c = 0: e_word = 0:

27、 Num = 0: s = 0 清空变量Str = RichTextBox1.Text & 加一空格便于意外时计算最后一个字符For k = 1 To Len(Str) - 1tmpStr = Mid$(Str, k, 1)If Asc(tmpStr) = 65 And Asc(tmpStr) = 90 Then 小写字母If Asc(Mid$(Str, k + 1, 1) 90 And Asc(Mid$(Str, k + 1, 1) 122 Then e_word = e_word + 1If Asc(Mid$(Str, k + 1, 1) = 39 Or Asc(Mid$(Str, k +

28、 1, 1) = 45 Then e_word = e_word - 1 是符号注释:或-时ElseIf Asc(tmpStr) = 97 And Asc(tmpStr) = 122 Then 大写字母If Asc(Mid$(Str, k + 1, 1) 90 And Asc(Mid$(Str, k + 1, 1) 122 Then e_word = e_word + 1If Asc(Mid$(Str, k + 1, 1) = 39 Or Asc(Mid$(Str, k + 1, 1) = 45 Then e_word = e_word - 1 是符号注释:或-时ElseIf Asc(tmpS

29、tr) = 48 And Asc(tmpStr) = 57 Then 阿拉伯数字数字If Asc(Mid$(Str, k + 1, 1) 57 Then Num = Num + 1ElseIf Asc(tmpStr) 127 Or Asc(tmpStr) 0 Then 中文字符c = c + 1End IfNexts = LenB(StrConv(RichTextBox1.Text, vbFromUnicode) 全部字符MsgBox 本文共有: & vbCrLf & vbCrLf & 汉字字数: & c & _ 个 (含全角标点) & vbCrLf & 英文单词: & e_word & 个

30、(不含半角标点) & vbCrLf & _数字: & Num & 个 & vbCrLf & 全部字节: & s & 个, vbInformation, 字数统计End Sub图3 字数统计对话框4.2.5 确认数据接收完的系统提示在我们的数据接收接收完成之后,为了提醒用户,我们设计了一个小的信息提示框,如下:图4数据传输完成提示框4.2.6 接收数据的保存如果按照功能介绍的先后,本来这部分应该放在上面“数据的接收与暂存”这一小节来介绍的,但是考虑到软件程序运行的先后,还是把它放到了最后。其实这个数据保存的功能,在我们点击接收按钮之后就可以实现了。它主要利用了CommonDialog这个控件,实

31、现了接收数据的目标保存,正是借助了这一特性才最终实现了数控机床参数的备份。部分程序代码如下:CommonDlg1.FileName = CommonDlg1.Filter = NC文件(*.nc)|*.nc|纯文本文件(*.txt)|*.txt|所有文件(*.*)|*.*CommonDlg1.ShowSaveRichTextBox1.SaveFile CommonDlg1.FileName, rtfText图5 接收数据保存提示界面4.3 软件实用性的优化与软件界面的美化4.3.1 软件实用性的优化为了提高软件的实用性,我们对软件进行了更近一步的改善和优化。其中有一个小的变化就是,在用户使用完

32、软件的时候,为了确保用户不是由于误操作而将软件关闭,我们设计了一个小小的提示框,提示用户是否真的需要关闭软件,对话框的界面如下: 图6 软件退出提示框部分程序代码如下;Private Sub Form_Unload(Cancel As Integer)Dim myexit As Integermyexit = MsgBox(确实想退出吗?, vbYesNo + vbQuestion + vbDefaultButton2, 退出)If myexit = vbNo ThenCancel = 1End If4.3.2 软件界面的美化为了增强软件的美观性,我们对软件的主界面进行了适当的美化,主要是对窗

33、口Form的外观属性picture进行了设置。美化后的界面如图1:5 参数备份软件的打包与安装一般来说,用VB开发完成的软件在开发环境所在计算机上运行是不会有什么问题的,但拷贝到其它计算机上就不能保证软件仍能正常运行,原因很简单:软件运行需要特写的动态链接库(包括控件)文件支持,并不是所有计算机上都会具备软件运行所需要的这些环境库文件。正因为如此,软件开发完成一般都需要制作安装程序,以便在目标计算机上安装这些环境库文件。 VB集成开发软件提供了一个叫“Package & Deployment 向导”的安装程序制作工具,可以直接把编写完成的软件打包为安装程序。打包的方法:(1)打开VB6.0 I

34、DE,加载你的工程,单击“外接程序”菜单下的“外接程序管理器”。 (2)在弹出的窗体中选择“打包和展开向导”(最后一项),在加载行为中选择“加载/卸载”,确定。 (3)再次单击“外接程序”菜单项,单击“打包和展开向导”。 (4)单击“打包”,选择“标准安装包”,一直单击下一步,最后点“完成”,点“关闭”。 (5)此时你的工程文件夹下会有一个名为“包”的文件夹。 (6)单击“展开”,单击下一步(2个),此时询问“您希望在哪里展开这个包?”,单击“新建文件夹” 。在电脑中其他位置新建一个文件夹,单击下一步,点“完成”,点“关闭”。 (7)关闭“打包和展开向导”。 (8)在刚才建立的文件夹下就是安装

35、程序了!图7 软件打包的界面图软件的安装其实更简单,跟一般软件的安装步骤相似,甚至更为简单,找到安装包,然后在安装包下面找到一个名为SETUP的安装工具包运行程序,点击之后按照向导就可以实现安装了。6 软件的操作与调试6.1 软件的模拟调试在完成参数备份软件的设计之后,需要对软件进行模拟调试。调试过程采用Virtual Serial Port Kit软件(软件界面见图8)形成了两个虚拟串口,然后再通过串口调试软件(软件界面见图9),实现了数据的调试传输。调试操作方法具体如下:1、设置Virtual Serial Port Kit软件,点击添加,设置高级选项“Advanced” 点击“pinou

36、t”将改“handshake”为loopback,然后确定。2、设置串口调试软件,将串口设置为COM4,波特率设置为9600,校验位设置为偶校验,数据位设置为7,停止位设置为2。3、设置参数备份软件,将串口设置为COM5,波特率设置为9600,校验位设置为偶校验,数据位设置为7,停止位设置为2。点击“接收”按钮,保存备份文件,准备接收文件。4、点击串口调试软件“选择发送文件”按钮,选择要发送的文件,确定后,点击“发送文件”。图8 虚拟串口软件界面图9 串口调试助手界面图6.2 软件在机床上调试软件在机床上调试与在PC机上虚拟调试相类似,不同是这次采用的是真实的串口,而且需要使用通信电缆来进行连

37、接,串口调试助手取而代之的是真实的数控机床数控系统。软件调试的具体流程如下:1、在数控车床和pc机为通电之前,先用一根通信电缆线将它们连接起来。2、将数控车床和pc机通电3、在PC机端运行参数备份软件,正确设置通讯参数 。 4、按下备份软件中的“接收文件”按钮,选择文件保存径和文件名 ,确认后软件显示“ 等待数据的输入”。 5、选择机床控制面板上的“EDIT”工作方式。 6、按下数控面板上的“SYSTEM”键,依次按下软键,PARAMOPRT向右键PUNCH,如需输出所有参数则按软键ALL,最后按下软键EXEC,数控系统开始输出数据。 7、PC机端接收到数据后,备份软键显示“正在接收数 ”,同

38、时显示接收到的字节数 ,待数据接收完毕,文件将自动保存。8、关闭PC机和数控车床,取下通信光缆,即数控机床调试完毕。结论这次毕业论文,不仅仅用到了我们所学的关于数控系统方面的知识,也用到了VB编程语言的知识,两者有效的结合才促成这个软件的实现。这个软件的开发,使得数控系统参数备份变得更为简单,同时也有利于人们对于数控系统参数的研究。借助串行通信这个纽扣很好的将PC机与数控系统实现了一个完美的结合,使得数控系统参数得到了一个很好的备份和一定的研究型价值。相信这个通信串口以后能过实现更多的用途,发挥更多的作用。致谢这次毕业设计能够这么好的完成,更多的要得益于那次研究型性学习,不是这个契机,我也不会接触到这个领域,现在的毕业设计也不会是这个题目。所以首先得感谢我的毕业论文的指导老师。另外还得感谢三年来在我的大学生活中,带给我帮助的父母、老师、同学和朋友。参考文献1 谌鹏.数控系统参数备份及其软件的开发.制造装配技术,2008(9)2 范逸之,陈立元.VisualBasic与RS-232串行通信控制,北京:清华大学出版社,20023 刘炳文.VisualBasic程序设计简明教程,北京:清华大学出版社,2004

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号