CN1137420C - 一种层次化监控和远程网络诊断功能的开放式数控*** - Google Patents
一种层次化监控和远程网络诊断功能的开放式数控*** Download PDFInfo
- Publication number
- CN1137420C CN1137420C CNB011434872A CN01143487A CN1137420C CN 1137420 C CN1137420 C CN 1137420C CN B011434872 A CNB011434872 A CN B011434872A CN 01143487 A CN01143487 A CN 01143487A CN 1137420 C CN1137420 C CN 1137420C
- Authority
- CN
- China
- Prior art keywords
- control
- network
- chip
- monitoring
- diagnosis
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Testing And Monitoring For Control Systems (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种层次化监控和远程网络诊断功能的开放式数控***,其包括在主板上由***总线分别与中央微处理器、通用控制和用户交互芯片、存储器芯片、电源时钟电路、通用控制和用户交互接口连接的数控***;本发明在于它还包括设置有一个状态监测与故障诊断芯片,一个数据资源管理芯片,一个数据信息存储芯片、一个网络管理控制芯片,以及一个网络及远程监控接口;以及在其内固化有层次化监控和远程网络诊断功能的控制软件。本发明具有层次化、智能化、网络化的状态监测和故障诊断功能,并采用层次化监控策略以本机监控为基础,按照用户自由定义的监控算法,逐步连接上层网络以实现层次化的监控管理功能。并对诊断结果和信息进行智能化分类存储和自学习,从而可以不断增强本机诊断能力。
Description
技术领域
本发明属于控制调节类,尤其涉及计算机层次化监控和远程网络诊断功能的开放式数控***。
背景技术
当前数控***基本有两种模式,一种是传统的专用单片处理器模式的封闭结构的数控***,一种是当前正处于研发阶段的基于工控机和运动控制卡模式的开放式数控***,
传统模式的数控***采用专用单片机为硬件核心,封闭式的体系结构屏蔽了所有的***技术细节,只对用户提供了功能固定的对外通用控制接口,用户必须按***要求选择匹配的***驱动设备来实现数控机床的构建。而一旦***定型,用户就被***固定的功能和性能束缚,无法进行原有功能的改进和新功能的增加,使得数控***无法适应不断变化的生产加工要求。
在软件结构上,封闭式数控***大都采用与中央处理器相配套的汇编语言来构成***,这种语言很难架构模块化结构的软件环境且硬件依赖性很强。而当前正处于积极研发阶段的开放式数控***,基本上都遵循了工控计算机配套运动控制卡的结构模式来实现对机床的数控控制,这种模式数控***的开放性主要是借用了当前PC计算机的开放特征,实质上只是PC计算机的一个板卡式控制应用,在结构和性能上都存在很大局限性。
首先,工控机模式的开放式数控***不能很好的保证实时性和可靠性。PC计算机在运行时由于采用通用的操作***,占用了很大的***资源,与数控加工无关的任务可能占去了更多***的工作份额,他们干扰着***对现场加工的及时响应,降低了***对重要控制事件的处理速度,增加了***运行的开销,这些都会导致***的不稳定。
其次,当前工控机模式的开放式数控***的网络功能是基于计算机网络的。这种网络由于没有考虑到数控加工和状态监测对大流量信号数据流的传输要求,因此从速度上就限制了***的远程网络应用能力,基本上只适用于***间的程序传输。
再者,控制***由于没有独立的层次化监控和远程网络诊断功能,必须依赖PC计算机的结构体系和软件框架来寻找实现监控和诊断的解决方案,这必然要求一个普通用户或者是一个机床操作工人要具备很好的编程基础和计算机软硬件知识。而这对于只需要一般监控和诊断功能的用户无疑是太多的代价,有时候更是得不偿失,经常会使没有经验或对所需功能不很明确的用户走弯路甚至破坏***的稳定性,更重要的是监控和诊断的不及时会因产品加工过程中出现问题无法解决而延误生产。
发明内容
本发明的目的是提供一种层次化监控和远程网络诊断功能的开放式数控***,以解决现有技术的不足和难题。
本发明的目的是这样实现的,一种层次化监控和远程网络诊断功能的开放式数控***,包括在主板上由***总线分别与中央微处理器,通用控制和用户交互芯片,存储器、电源时钟电路、通用控制和用户交互接口连接的数控***,其特征在于,该数控***还包括一个状态监测与故障诊断芯片,一个数据资源管理芯片,一个数据信息存储芯片、一个网络管理控制芯片,以及一个网络及远程监控接口。
其中,
所述的数据资源管理芯片,其与***总线及数据信息存储芯片相连,用于管理和控制数控***内部和外界输入的各种数据和控制信息;
所述的数据信息存储芯片,其与***总线连接,用于存储数控***的各种数据和控制信息;
所述的状态监测与故障诊断芯片,其内固化有状态监测与故障诊断软件,并与***总线连接,用于状态监测、诊断和信号的采集、处理和反馈控制;
所述的网络管理控制芯片,其内固化有网络管理软件,并通过***总线与网络及远程监控接口连接,用于处理数控***与网络的数据和控制信息的通讯传输;
所述的网络与远程监控接口,通过***总线与网络管理控制芯片连接,用于连接外部网络;
所述的状态监测与故障诊断芯片和网络管理控制芯片内部均固化有控制软件,这两个控制软件共同完成层次化监控和远程网络诊断的控制过程,该控制过程包含下列步骤:
现场状态信息采集,及信号预处理,并判断本机能否诊断:
若能,由本机决策控制,反馈现场控制,
若否,启用车间网络诊断策略,将现场状态信息上传至车间网络,由车间网络进行诊断,并将诊断结果和控制信息返回本机,同时进行外来信息的本机存储;
并判断车间网络能否诊断:
若能,由车间网络的诊断结果进行决策控制,反馈现场控制,
若否,启用企业网络诊断策略,将现场状态信息上传至企业网络,由企业网络进行诊断,并将诊断结果和控制信息返回本机,同时进行外来信息的本机存储;
并判断企业网络能否诊断:
若能,由企业网络的诊断结果进行决策控制,反馈现场控制,
若否,启用远程网络诊断策略,将现场状态信息上传至远程网络,由远程网络进行诊断,并将诊断结果和控制信息返回本机,同时进行外来信息的本机存储;
并判断远程网络能否诊断:
若能,由远程网络的诊断结果进行决策控制,反馈现场控制,
若否,作现场诊断,并将诊断控制信息数据进行管理及存储。
由于本发明采用了以上的技术方案,因而具有:
1.独立的适合于数控加工的软硬件开放结构体系。从***硬件上采用FPGA可编程芯片的整体芯片化结构来组建底层硬件框架,完全区别于传统数控***扳卡式硬件结构的设计。组成数控***的各功能芯片通过开放式定义的***总线相互连接和通讯,从而实现对***最底层硬件结构的开放性。在软件上采用嵌入式时实操作***,采用面向对象的软件设计方法,将***各功能通过五个接口明确的芯片对象来实现。
2.层次化、智能化和网络化的状态监测和故障诊断功能。采用层次化监控策略以本机监控为基础,按用户自由定义的监控算法,逐步连接上层网络实现层次化的监控管理功能,并对诊断结果和信息进行智能化分类存储和自学习,从而可以不断增强本机的诊断能力。
附图说明
图1是本发明的一种层次化监控和远程网络诊断功能的开放式数控***的构成示意图;
图2是本发明的一种层次化监控和远程网络诊断功能的开放式数控***的软件框图;
图3是本发明的一种层次化监控和远程网络诊断功能的开放式数控***的控制程序流程示意图。
图中:
1、中央微处理器 1-1高速DSP处理芯片
2、通用控制与交互管理芯片 3、存储器
4、***工作ROM存储芯片 5、数据FLASH-ROM存储芯片
6、***总线 7、状态监测与故障诊断芯片
8、网络管理控制芯片 9、数据资源管理芯片
10、网络及远程控制接口 11、通用控制及用户交互接口
12、电源时钟电路
实施方式
以下结合附图对本发明的实施作如下说明:
在图1中,中央微处理器1、高速DSP处理芯片1-1、通用控制与交互管理芯片2、存储器3、电源时钟电路12、通用控制及用户交互接口11、状态监测与故障诊断芯片7、网络管理控制芯片8、数据资源管理芯片9、网络及远程控制接口10,都分别与***总线6相连接。存储器3由***工作ROM存储芯片4、数据FLASH-ROM存储芯片5组成。
其中,
1、中央微处理器1,其用于***整体的控制运算和功能性能的协调,采用32位高性能嵌入式微控制芯片构建,在与之配套的嵌入式实时操作***的工作环境下,主要完成对***整体控制和协调。并且可在由高速DSP数字信号处理芯片构建的协处理器的配合下,完成一些计算量大和实时性高的复杂控制任务。
2、高速DSP处理芯片1-1,其作为中央微处理器1的协处理器,配合中央微处理器1完成一些算量大和实时性高的复杂控制任务,也可单独用于大规模数据处理功能的实现。
3、通用控制与交互管理芯片2,用于一方面完成与机床加工有关的运动轨迹的计算和控制,另一方面完成与用户输入输出有关的处理过程。通用控制及用户交互芯片2通过总线6与中央微处理器1及数控***中的其他芯片相连接,直接控制通用控制及用户交互接口11,产生各种输出量并处理该接口传来的输入量。
4、状态监测与故障诊断芯片7,用于完成现场各种传感器信号的采集,预处理,分析预测和返回控制。该芯片同时向网络管理控制芯片8传送处理和压缩后的本机状态信息,并通过网络及远程控制接口10传输到远程网络,同时处理经由网络管理控制芯片8传输来得网络的控制诊断信息,用于实现远程诊断结果的本机控制。状态监测与故障诊断芯片7通过总线6与中央微处理器1和数控***中的其他芯片相连接,该芯片在工作时将有大量的数据传输发生,高速DSP处理芯片1-1将直接控制状态监测与故障诊断芯片7的采集和处理工作,同时数据Flash_Rom芯片5将负责采集数据的存储。
5、网络管理控制芯片8,其用于处理数控***与其他数控***、车间数控网络、企业内部网络Intranet以及国际互联网络Internet的数据信息和控制信息的传输。网络管理控制芯片8通过***总线6与网络及远程控制接口10相连接,用于接收网络下载的数据信息和上传数控***现场搜集的状态信息;网络管理控制芯片8还通过总线6和中央微处理器1及数控***中的其他芯片通讯连接,和状态监控与故障诊断芯片7一起实现层次化的远程监控管理体系。
6、数据资源管理芯片9,其用于为数控***中的其他芯片传送数据Flash_Rom存储芯片5中的各种数据信息,也用于接收和存储数控***中的其他芯片传来的各种数据信息,增大***工作的资源共享。数据资源管理芯片采用智能化的分类管理机制,利用数据同步算法保证存储数据信息的自动更新和知识库的自我学习,作为状态监控与故障诊断芯片7的本机决策存储库。数据资源管理芯片9通过总线6与中央微处理器1和数控***中的其他芯片相连接,直接负责控制数据Flash_Rom存储芯片5的存储操作。
7.存储器3,其由***工作ROM存储芯片4和数据Flash_Rom存储芯片5两个存储芯片组成,这两个存储芯片均通过总线6与中央微处理器和数控***中的其他芯片相连接。存储芯片3中的信息用于执行数控***的相关管理和控制,而管理和控制的结果信息也被存入到存储器3中。
8、***工作ROM存储芯片4,其用于存放基本的数控***管理控制程序,该管理控制程序用于整个数控***的基本运作。数控***管理控制程序固化在ROM存储芯片4中,属性为只读,是数控***默认的***程序,预先已写入。
9、数据FLASH-ROM存储芯片5,用于存储来自加工现场和来自远程网络的数据及控制信息,属性为可读可写,作为数控***进行资源共享和自身决策诊断的数据库。该芯片直接由数据信息管理芯片9控制。
10、网络及远程控制接口10,其采用标准的协议接口模式,主要实现***与外界的通讯和资源信息共享,将数控***与其它数控***、上位计算机或者是互联网络连接起来,发送数控***自身所搜集的信息并接受远程的控制和进行响应。网络及远程控制接口10采用标准的ISO网络结构体系,实现标准的网络接口式,支持专线和电话线联接外部网络。
11、通用控制及用户交互接口11,用于一方面实现与机床部分的连接,包括对机床工作所需的各类模拟量和数字量的控制,保证机床完成加工运动;另一方面实现用户对***和机床的控制和交互,包括对操作按键,显示屏,机床操作面板的响应和控制等。
上述各类接口通过***总线6与数控***的中央处理器1和数控***内的其他各个功能芯片之间建立连接,将外界的信息反馈给数控***的相应的各功能芯片,并将***的指令信息发送到外部控制对象。
12.***总线6,其由32位数据总线、24位地址总线和30根控制总线组成,主要负责各功能芯片、接口、存储芯片和中央处理器1之间的连接与通讯,作为传送数据,地址和控制信号的通道。
13.电源时钟电路12,其用于整个数控***中个芯片和接口所需的电压及工作频率的自控与调节。
图2所示的为本发明***软件的组成结构:
***软件的核心是嵌入式实时操作***,主要负责各功能对象的协调运行和管理控制任务的分配。***其软件中的运动控制对象(负责速度、精度和数据包处理工作),监控诊断对象(负责信号采集、处理、分析、预测和诊断工作),用户交互对象(负责键盘、显示和串口通讯工作),网络管理对象(负责接收、发送和数据包处理工作)和信息管理对象(负责信息归档和存储工作)都采用了面向对象的芯片化设计思想,来完成数控***的全部功能,每个对象都可在硬件结构框图中找到对应的底层硬件芯片作为实现支持。
以上各对象的基本功能均在图2中表示出来。
本发明***软件的工作原理是:
***开机后,首先运行实时操作***,完成***的初始化和必要的检测工作,然后启动用户交互对象的处理过程,监听外界与***的输入输出,并根据监测结果激活相应对象模块的处理过程完成对应功能。所有对象的处理过程均在实时操作***的协调下进行。
在图3中,
所述的状态监测与故障诊断芯片和网络管理控制芯片内部均固化有控制软件,这两个控制软件共同完成层次化监控和远程网络诊断的控制过程,该控制过程包含下列步骤:
现场状态信息采集(步骤201),及信号预处理(步骤202),并判断本机能否诊断(步骤203):
若能,由本机决策控制(步骤204),反馈现场控制(步骤201),
若否,启用车间网络诊断策略(步骤205),将现场状态信息上传至车间网络(步骤206),由车间网络进行诊断,并将诊断结果和控制信息返回本机,同时进行外来信息的本机存储(步骤211,步骤212);
并判断车间网络能否诊断(步骤208):
若能,由车间网络的诊断结果进行决策控制(步骤209),反馈现场控制(步骤201),
若否,启用企业网络诊断策略(步骤210),将现场状态信息上传至企业网络(步骤206),由企业网络进行诊断,并将诊断结果和控制信息返回本机,同时进行外来信息的本机存储(步骤211,步骤212):
并判断企业网络能否诊断(步骤213):
若能,由企业网络的诊断结果进行决策控制(步骤214),反馈现场控制(步骤201),
若否,启用远程网络诊断策略(步骤215),将现场状态信息上传至远程网络,由远程网络进行诊断(步骤206),并将诊断结果和控制信息返回本机,同时进行外来信息的本机存储(步骤211,步骤212);
并判断远程网络能否诊断(步骤216):
若能,由远程网络的诊断结果进行决策控制(步骤217),反馈现场控制(步骤201),
若否,作现场诊断(步骤218),并将诊断控制信息数据进行管理及存储(步骤211,步骤212)。
以下举例,对本发明的层次化监控和远程诊断的实施作如下简述:
数控机床的加工现场有很多影响加工过程的环境因素,如刀具磨损,工件振动等,这些因素经常会引起加工质量的恶化和加工进程的故障,因此需要进行监测,而且必须能够对检测结果进行及时地分析处理以做出正确的诊断来返回控制***产生相应的加工状态调整。而有时本机无法处理时,就会影响加工正常进行。
本发明采用芯片化的软硬件开放结构,具有层次化的监控诊断策略。数控***本机上的信号采集装置,可按照用户要求开启,接收用户在机床指定位置设置的传感器的输入信号,在分析处理后作出诊断,并返回控制调整***的当前状态,执行新的指令。当本机无法对所采集的信号进行诊断时,本发明可按照用户的设置,连接车间网络的控制***,或连接企业内部网络控制***,或连接到远程的故障诊断中心,将现场数据经处理后发送输出,再将诊断结果接收回来,用于现场故障的解决;同时本机***将外来的诊断方法和诊断结果记录进自身的数据库,因而提高了本机的诊断能力。这样用户可以通过层次化的诊断机制来充分保证机床的正常运行。
Claims (3)
1.一种层次化监控和远程网络诊断功能的开放式数控***,包括在主板上由***总线分别与中央微处理器,通用控制和用户交互芯片,存储器、电源时钟电路、通用控制和用户交互接口连接的数控***,其特征在于,该数控***还包括一个状态监测与故障诊断芯片,一个数据资源管理芯片,一个数据信息存储芯片、一个网络管理控制芯片,以及一个网络及远程监控接口,
所述的数据资源管理芯片,其与***总线及数据信息存储芯片相连,用于管理和控制***内部和外界输入的各种数据和控制信息,
所述的数据信息存储芯片,其与***总线连接,用于存储数控***的各种数据和控制信息,
所述的状态监测与故障诊断芯片,其内固化有状态监测与故障诊断软件,并与***总线连接,用于状态监测、诊断和信号的采集、处理和反馈控制,
所述的网络管理控制芯片,其内固化有网络管理软件,并通过***总线与网络及远程监控接口连接,用于处理数控***与网络的数据和控制信息的通讯传输,
所述的网络与远程监控接口,通过***总线与网络管理控制芯片连接,用于连接外部网络;
所述的状态监测与故障诊断芯片和网络管理控制芯片内部均固化有控制软件,这两个控制软件共同完成层次化监控和远程网络诊断的控制过程,该控制过程包含下列步骤:
现场状态信息采集,及信号预处理,并判断本机能否诊断:
若能,由本机决策控制,反馈现场控制,
若否,启用车间网络诊断策略,将现场状态信息上传至车间网络,由车间网络进行诊断,并将诊断结果和控制信息返回本机,同时进行外来信息的本机存储;
并判断车间网络能否诊断:
若能,由车间网络的诊断结果进行决策控制,反馈现场控制,
若否,启用企业网络诊断策略,将现场状态信息上传至企业网络,由企业网络进行诊断,并将诊断结果和控制信息返回本机,同时进行外来信息的本机存储;
并判断企业网络能否诊断:
若能,由企业网络的诊断结果进行决策控制,反馈现场控制,
若否,启用远程网络诊断策略,将现场状态信息上传至远程网络,由远程网络进行诊断,并将诊断结果和控制信息返回本机,同时进行外来信息的本机存储;
并判断远程网络能否诊断:
若能,由远程网络的诊断结果进行决策控制,反馈现场控制,
若否,作现场诊断,并将诊断控制信息数据进行管理及存储。
2.根据权利要求1所述的一种层次化监控和远程网络诊断功能的开放式数控***,其特征在于,中央微处理器采用32位高性能嵌入式微控制芯片构建,用于***整体的控制运算和功能性能的协调,并且可在由高速DSP数字信号处理芯片构建的协处理器的配合下,完成一些计算量大和实时性高的复杂控制任务。
3.根据权利要求1所述的一种层次化监控和远程网络诊断功能的开放式数控***,其特征在于,所述的数据信息存储芯片为快速读写的FLASH_ROM芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB011434872A CN1137420C (zh) | 2001-12-29 | 2001-12-29 | 一种层次化监控和远程网络诊断功能的开放式数控*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB011434872A CN1137420C (zh) | 2001-12-29 | 2001-12-29 | 一种层次化监控和远程网络诊断功能的开放式数控*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1365031A CN1365031A (zh) | 2002-08-21 |
CN1137420C true CN1137420C (zh) | 2004-02-04 |
Family
ID=4677198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011434872A Expired - Fee Related CN1137420C (zh) | 2001-12-29 | 2001-12-29 | 一种层次化监控和远程网络诊断功能的开放式数控*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1137420C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7149738B2 (en) * | 2002-12-16 | 2006-12-12 | International Business Machines Corporation | Resource and data administration technologies for IT non-experts |
CN100347991C (zh) * | 2003-03-14 | 2007-11-07 | 吉林中软吉大信息技术有限公司 | 数据网集中监控监测*** |
CN100465838C (zh) * | 2007-09-03 | 2009-03-04 | 石毅 | 一种基于多cpu并行处理技术的开放式数控*** |
CN101706652B (zh) * | 2009-05-22 | 2012-06-27 | 海洋王照明科技股份有限公司 | 一种产品螺钉加装数据监控的方法、***和数据监控终端 |
CN102201700B (zh) * | 2011-04-27 | 2013-04-03 | 广西电网公司电力科学研究院 | 基于多参量融合的输电线路状态分级诊断*** |
CN103116285B (zh) * | 2011-11-17 | 2016-04-20 | 上海航天测控通信研究所 | 用于深空探测器的双cpu单总线计算机*** |
CN102749885B (zh) * | 2012-07-18 | 2014-08-06 | 石毅 | 云数控*** |
CN107241235A (zh) * | 2017-08-15 | 2017-10-10 | 合肥丹朋科技有限公司 | 计算机网络设备远程辅助运维的方法 |
-
2001
- 2001-12-29 CN CNB011434872A patent/CN1137420C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1365031A (zh) | 2002-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1304909C (zh) | 车辆控制***can/lin网络监测仪及测试方法 | |
CN100347930C (zh) | 一种电力数据采集与监控***及装置 | |
CN106597991A (zh) | 数控机床远程监控方法及装置 | |
CN1606760A (zh) | 用于运输工具遥测服务的方法和装置 | |
US20090089325A1 (en) | Targeted resource allocation | |
CN1137420C (zh) | 一种层次化监控和远程网络诊断功能的开放式数控*** | |
CN1606282A (zh) | 家用电器网络***和操作该***的方法 | |
CN101042582A (zh) | 带现场总线接口的可编程可配置远程i/o模块 | |
CN101055228A (zh) | 基于k线的电控发动机故障诊断*** | |
CN1174196C (zh) | 带主从控制功能的空调器远程监控*** | |
CN1752896A (zh) | 操作***协作下的嵌入式设备电源管理方法及*** | |
CN104793569A (zh) | 直驱数控转塔刀架智能控制器 | |
CN1142467C (zh) | 远程网络监控和二次开发功能的开放式结构数控*** | |
CN109839910A (zh) | 控制装置、控制方法以及计算机可读存储介质 | |
CN1160618C (zh) | 可编程控制器 | |
CN114584429A (zh) | 工业智能物联网网关 | |
CN202815512U (zh) | 一种再制造机床信息化的*** | |
CN100509499C (zh) | 汽车无线监测及故障诊断***及方法 | |
CN106933726A (zh) | 一种数据追溯及实时监控管理*** | |
CN106354015A (zh) | 对角递归神经网络控制***的远程监控与在线调试方法 | |
CN110989499A (zh) | 基于高速无线通信的混合架构控制*** | |
CN1584850A (zh) | 被动式远程判断***状态的方法 | |
CN115934365A (zh) | 一种应用于cpu的任务调度耦合*** | |
CN102854862B (zh) | 一种ff接口功能块 | |
CN1780210A (zh) | 一种远程监控家电 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |