第5章Lonworks智能控制网络2课件

上传人:pu****.1 文档编号:593321627 上传时间:2024-09-24 格式:PPT 页数:89 大小:1.44MB
返回 下载 相关 举报
第5章Lonworks智能控制网络2课件_第1页
第1页 / 共89页
第5章Lonworks智能控制网络2课件_第2页
第2页 / 共89页
第5章Lonworks智能控制网络2课件_第3页
第3页 / 共89页
第5章Lonworks智能控制网络2课件_第4页
第4页 / 共89页
第5章Lonworks智能控制网络2课件_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《第5章Lonworks智能控制网络2课件》由会员分享,可在线阅读,更多相关《第5章Lonworks智能控制网络2课件(89页珍藏版)》请在金锄头文库上搜索。

1、LonWorksLonWorks网络结构图网络结构图网络结构图网络结构图2024/9/2411 1、LonWorksLonWorks节点节点节点节点LonWorksLonWorks节点结构框图节点结构框图节点结构框图节点结构框图2024/9/242节点有两种类型节点有两种类型I/O设备设备Neuron芯片芯片收发器收发器I/O设备设备主处理器主处理器Neuron芯片芯片收发器收发器通信端口通信端口I/O端口LON网LON网基于基于Neuron芯片的节点芯片的节点 基于主机(单片机、基于主机(单片机、PC机)的节点机)的节点2024/9/243节点节点1节点节点2LON网network outp

2、ut int yewei1;network input int yewei2; 节点之间通过网络变量进行通信节点之间通过网络变量进行通信2024/9/244 每一个网络设备都有一个收发器。收发器在一个LonWorks设备与LonWorks网络之间提供了一个物理通讯接口。神经元芯片是节点的核心神经元芯片是节点的核心 LonWorks技术的核心是神经元芯片(Neuron Chip)。对开发者来说,神经元芯片之优越在于它的完整性。内装协议和处理器,免除了在这些方面的任何开发和编程。神经元芯片提供了ISO/OSI模型中7层通信协议的6层,只需要提供应用层编程和配置。节点的收发器节点的收发器2024/9

3、/245LonWorks模块模块l目前LONWORKS现场总线技术已经在国内广泛应用。由ECHELON公司推出的FTT控制模块(Model55020-10),以其体积小、安装简便、易于标准化、模块化,已成为LONWORKS现场总线控制模块的主流产品。l许多第三方开发商大量购买这种OEM模块,作为其系统集成的主要控制单元。 2024/9/2462 2、路由器、路由器、路由器、路由器 LonWorksLonWorks是唯一支持多种是唯一支持多种传输传输介介质质的系的系统统,它,它允允许许开开发发者者选择选择那些最能那些最能满满足他足他们们的要求的的要求的传输传输介介质质和通和通讯讯方法。方法。 路

4、由器是一个特殊的节点,由两个路由器是一个特殊的节点,由两个NeuronNeuron芯片芯片组成,用来连接不同通讯媒介的组成,用来连接不同通讯媒介的LONLON网络。网络。路由器能路由器能够够控制网控制网络络流量,增加网流量,增加网络络的吞吐量和网的吞吐量和网络络速度速度。2024/9/247路由器的内部结构路由器的内部结构2024/9/248 LONWORKS技技术术采采用用LonTalk协协议议,可可以以通通过过编编程器或网络管理工具下载到设备中。程器或网络管理工具下载到设备中。3 3、网络协议、网络协议、网络协议、网络协议2024/9/2494 4、传输介质、传输介质、传输介质、传输介质L

5、on的神经元芯片可以容许的通信介质类型非常广泛,如双绞线、电力线、无线电、红外线、同轴电缆、光纤等。 2024/9/24105 5、网络接口、网络接口、网络接口、网络接口、WEBWEB服务器服务器服务器服务器(1 1)独立的独立的PCPC机:机:PCLTA-20 PC LonTalkPCLTA-20 PC LonTalk适配器,是一个封装适配器,是一个封装在标准的在标准的PCPC机机 PCIPCI适配卡上的网络接口设备。通过它可以使适配卡上的网络接口设备。通过它可以使用网络工具,如用网络工具,如LonMakerLonMaker工具。工具。(2 2)笔记本电脑:)笔记本电脑:PCC 10 PCP

6、CC 10 PC卡提供了一个简洁的卡提供了一个简洁的PCMCIA PCPCMCIA PC卡式的网络接口卡式的网络接口(3 3)EchelonEchelon公司的公司的SLTA-10SLTA-10系列系列LonTalkLonTalk适配器可与一个调制适配器可与一个调制解调器相连以实现拨号上网。解调器相连以实现拨号上网。(4 4)i.LONi.LON 1000IP 1000IP服务器支持同服务器支持同InternetInternet、IntranetIntranet,或,或VPNVPN的远程连接。的远程连接。2024/9/24116 6、开发工具、开发工具、开发工具、开发工具 Neuron芯片的编

7、程语言为NeuronC,它是从ANSIC派生出来的。LONWORKS提供了一套节点开发工具NodeBuilder。 另外,LonMakerforWindows是网络设计和系统管理工具。2024/9/2412LonTalk协议遵循协议遵循ISO定义定义 (OSI)模型,并提供了模型,并提供了OSI所定义的全部所定义的全部7 7层层服务。它的特点:服务。它的特点:(1)1) 支持双绞线、电力线、无线、红外线、同轴电缆和支持双绞线、电力线、无线、红外线、同轴电缆和光纤在内的光纤在内的多种传输介质多种传输介质。(2 2)互操作性强,响应快,通信可靠。互操作性强,响应快,通信可靠。 (3 3) LonT

8、alk协议使用协议使用网络变量网络变量与其它节点通信。网络与其它节点通信。网络变量可以是任何单个数据项也可以是结构体。变量可以是任何单个数据项也可以是结构体。(4) LonTalk协议支持总线型、星型、自由拓朴等协议支持总线型、星型、自由拓朴等多种多种拓朴结构拓朴结构类型类型 。(5)LonTalk采用分级编址方式(域、子网、节点)采用分级编址方式(域、子网、节点)5.5 LonTalk5.5 LonTalk协议协议协议协议与与与与LonMarkLonMark对象对象对象对象一、一、LonTalkLonTalk协议介绍协议介绍2024/9/2413LonWorksLonWorks的的通信参考模

9、型通信参考模型OSI 层次层次标准服务标准服务LonWorks提供的服务提供的服务处理器处理器7应用层应用层网络应用标准网络变量类型应用CPU6表示层表示层数据表示网络变量,外部帧传送网络CPU5会话层会话层远程遥控动作请求/响应,认证,网络管理网络CPU4传送层传送层端对端的可靠传输应答,非应答,点对点,广播,认证等网络CPU3网络层网络层传输分组地址,路由网络CPU2数据数据链路链路层层链路层链路层帧结构帧结构,数据编码,CRC错误检查MACCPUMAC子层介质访问带预测P-坚持 CSMA,碰撞规避,优先级,碰撞检测1物理层物理层电路连接介质,电气接口MACCPU,XCVR2024/9/2

10、414二、二、LonTalkLonTalk的物理层协议的物理层协议支持的传输介质l双绞线l电力线l同轴电缆l光纤l无线l红外线数据编码l双绞线使用差分曼切斯特编码l电力线使用扩频l无线通信使用频移键控(FSK)2024/9/2415几类广泛应用的信道特征2024/9/2416三、三、LonTalkLonTalk的链路层的链路层l链路层分成逻辑链路控制子层和介质访问控制(MAC)子层。lMAC子层负责媒体访问2024/9/2417lLonTalk采用改进的CSMA介质访问控制协议带预测、P-坚持的CSMA在监听到网络空闲后,所有的节点都根据网络积压参数等待一个随机时间后访问介质lCSMA:载波监

11、听多路访问lP-坚持:节点在发送普通报文前平均插入W/2个随机时间片l预测:W随网络积压状况变化动态调整,W16*BL BL为对网络积压的估计值预测当前发送周期会有多少个节点需要发送报文2024/9/2418当插入时间片结束时,若网络仍为空闲,则节点发送报文否则节点继续监听检测网络是否有空闲每个节点都有一个对网络积压的估计值BL网络负荷轻时,插入的时间片少,节点发送前的等待时间短网络负荷增加,插入的时间片长,则等待时间长2024/9/2419实验数据实验数据l36个LonWorks节点互联,每秒传输报文5001000个数据包采用一般P坚持算法,碰撞率从10上升到54采用预测的P支持算法时在50

12、0包以下时碰撞率相当在5001000包重负荷的时,碰撞率仍稳定在102024/9/2420优先级优先级带预测的带预测的P-P-坚持坚持CSMACSMA lLonWorks提供了一个可供选择的优先级机制为提高紧急事件的响应时间由用户为每个需要优先级的节点分配一个特定的优先级时间片(priority slot)具有优先级报文将在该时间片里发送出去优先级时间片可从0127l0表示不需要等待立即发送l1表示等待一个时间片l2表示等待两个时间片, l非优先级的节点必须等待优先级时间片之后,再等待P-坚持的随机时间片,才能发送l加入优先级的节点总比非优先级的节点具有更快的响应时间 2024/9/24212

13、024/9/2422四、四、四、四、LonTalkLonTalk的网络层的网络层的网络层的网络层 l给用户提供一个简单的通信接口,定义了如何接收、发送和响应等。l在网络管理上有网络地址分配出错处理网络认证流量控制路由器的机制也是在这一层实现。2024/9/2423LonTalkLonTalk的网络地址的网络地址l网络地址的组成要素域(Domain)、子网(Subnet)、节点(Node)地址。还有组地址和Neuron ID芯片地址l域(又称虚拟网)LonTalk不支持任何域间通信不同域中的通信彼此独立,网络管理在域内进行l子网子网是由最多127个节点组成的子集,是一个或多个通道的逻辑分组子网内

14、不发生路由,子网间通过智能路由器实现数据交换每个域最多可命名255个子网(8位)2024/9/2424l节点一个物理节点同时最多可为两个子网成员一个域最多可有:255127=32385个节点 l组,成员组由域内的节点构成组内的成员能相互辨认域内可命名256个组每个节点可同时成为15个组的成员网络变量的概念可用于组lNeuron ID由生产商命名,48位一般只在网络安装和配置时使用。2024/9/2425LonTalk协议的网络地址结构 图图3-33 分层编址示意图分层编址示意图每个域最多有255个子网,一个子网最多可以包括127个结点2024/9/2426 域和子网的关系单一信道多个子网单一信

15、道多个子网子网不能跨越智能路由器子网不能跨越智能路由器2024/9/2427同一区段上的多个子网同一区段上的多个子网分属于两个域的节点子网归属分属于两个域的节点子网归属2024/9/2428一个域中的所有节点归属一个子网一个域中的所有节点归属一个子网2024/9/2429组编址示意图组编址示意图2024/9/2430l地址命名元素的基本组合地址命名元素的基本组合域(子网域(子网=0)域,子网域,子网域,组域,组域,子网,节点域,子网,节点域,域,Neuron ID节点的5种寻址方式2024/9/24312024/9/2432l0为广播帧目的子网地址位0时,对域中所有节点发送该广播帧目的子网地址

16、位非0时,对子网内所有节点发送该广播帧其地址由源节点的子网与节点地址、目的节点的子网地址按图排列而成l1为对目标组内所有节点多通道传输的数据帧其地址由源节点的子网与节点地址、目的节点的组地址按图排列而成l2a为对子网内某一个节点单通道传输的数据帧其地址由源节点的子网与节点地址、目的子网地址、目的节点的节点地址按图排列而成;2024/9/2433l2b为对子网内某一个节点多通道传输的数据帧其地址由源节点的子网与节点地址、目的子网地址、目的节点的节点地址、域中的组号、组员编号按图排列而成;l3为直接对某个48位的Neuron ID 节点单通道传输的数据帧其地址由源节点的子网与节点地址、目的子网地址

17、、以及节点的Neuron ID按图排列而成 2024/9/2434五、五、五、五、LonTalkLonTalk的传输层和会话层的传输层和会话层的传输层和会话层的传输层和会话层l传输层的功能提供节点间1对1、1对多的可靠传输l会话层的功能提供请求/响应的机制2024/9/2435六、六、六、六、LonTalkLonTalk的表示层和应用层的表示层和应用层的表示层和应用层的表示层和应用层l提供五类服务网络变量的服务显式报文的服务网络管理的服务网络跟踪的服务(查询和测试)通信服务(冲突检测和避免)2024/9/2436网络变量(Network VariableNetwork Variable) l网

18、络变量NVNV可包含任何数据项(温度、开关值、或执行器位置)从通信的角度分为输入网络变量或输出网络变量期望从网上其他装置得到的网络变量为输入网络变量期望提供给网上其他装置的网络变量为输出NV2024/9/2437网络变量连接网络变量连接网络变量连接网络变量连接l网络变量在应用程序中被定义网络变量可以是整型、字符型或结构等类型l变量互连一个输入网络变量可以和其它节点的多个输出网络变量互连一个输出网络变量也可以和其它节点的多个输入网络变量互连输出变量和输出变量、输入变量和输入变量不能互连l一个网络变量可以与一个或多个其他节点的同类型网络变量绑定2024/9/2438l请求请求/响应响应(Reque

19、st/Response)一个报文发送给一个或一组节点一个报文发送给一个或一组节点,并等待来自每个接收节点并等待来自每个接收节点的响应的响应.它是最可靠的服务它是最可靠的服务.适用于远程调用或适用于远程调用或Client/Server方式方式.l确认确认(Acknowledged Repeated)是与请求是与请求/响应相等价的服务类型响应相等价的服务类型,也是最可靠的服务也是最可靠的服务.l非确认重复非确认重复l非确认非确认LonTalkLonTalk显式报文服务显式报文服务2024/9/2439l网络管理包括网络安装、网络维护 、网络监视 网络安装l动态分配网络地址l将每个节点的网络变量和显

20、示报文连接起来l实现设备间的通信 网络维护l节点的新增与去除网络监视l从上位机随时了解该网络中所有节点网络变量和显示报文的变化情况 网络管理服务网络管理服务2024/9/2440七、七、七、七、LonMarkLonMark对象对象对象对象lLonMark互操作协会lLonMark对象是应用层互操作性的基础lLonMark对象定义:是一个或多个输入和输出网络变量及一系列配置属性的封装体lLonMark设备:包括一个或多个LonMark对象l节点对象l特定LonMark对象l通用LonMark对象2024/9/2441l配置属性l标准网络变量类型(SNVT)通信双方网络变量数据格式必须一致由Lon

21、Mark协会选择哪个作为标准的网络变量类型l功能块2024/9/2442l基本步骤:基本步骤:新建网络新建网络加入设备加入设备加入功能块加入功能块添加网络变量添加网络变量网络变量的连接网络变量的连接LonMakerLonMaker软件介绍(补充)软件介绍(补充)软件介绍(补充)软件介绍(补充)2024/9/24432024/9/24442024/9/24452024/9/24462024/9/24472024/9/24482024/9/24492024/9/24502024/9/24512024/9/24522024/9/24532024/9/24542024/9/24552024/9/245

22、62024/9/24572024/9/24582024/9/24592024/9/24605.6 Neuron C5.6 Neuron C编程语言编程语言编程语言编程语言 Neuron C是是Echelon公司为方便用户对公司为方便用户对Neuron芯片的使用,在芯片的使用,在ANSI C基础上专门开发的编程基础上专门开发的编程语言语言 本小节内容:本小节内容: Neuron C简介简介 Neuron C编程基础编程基础 网络变量网络变量 显示消息显示消息 2024/9/2461一、一、一、一、Neuron CNeuron C概述概述概述概述 1. Neuron C与与ANSI C的主要差别的

23、主要差别 对对ANSI C的扩展:的扩展: when语句实现语句实现多多任务调度任务调度 I/O I/O对象对象 网络变量网络变量 秒及毫秒级秒及毫秒级软件定时器软件定时器 显示消息传递显示消息传递 函数库函数库 与与ANSI C的不同:的不同: 不需要不需要main();(); 只保留了很少一部分只保留了很少一部分ANSI C的库函数的库函数 支持二进制常数表示方式(支持二进制常数表示方式(0b1101=130b1101=13) 2024/9/2462 2. Neuron C的数据类型的数据类型 整型数据整型数据 整型常数整型常数: 十进制、十六进制、二进制十进制、十六进制、二进制 整型变量

24、整型变量:有:有(无无)符号符号短整型、有短整型、有(无无)符号长整型符号长整型 字符变量字符变量 有符号字符:表示一个有符号字符:表示一个ASCII字符或字符或-128127的整数的整数 无符号字符:表示一个字节或无符号字符:表示一个字节或0255的整数的整数 枚举类型枚举类型 eg:NeuronC中有一个枚举类型变量boolean,即:typedefenumFALSE,TRUEboolean 其他其他 2024/9/2463二、二、二、二、 Neuron CNeuron C编程基础编程基础编程基础编程基础 1. 调度程序调度程序 负责负责Neuron芯片的任务调度:芯片的任务调度:任务调度

25、是由事件驱动任务调度是由事件驱动 的,如的,如:当一个给定的条件当一个给定的条件判断为判断为“TRUE”,与该条件有关的,与该条件有关的 代码体(任务)即代码体(任务)即执行执行 eg:when(timer_expires(led_timer)/when子句io_out(io_led,OFF);/关闭LED任务2024/9/2464 when()子句的语法定义:子句的语法定义: priority when(event) task 2024/9/2465 when子句的事件类型:子句的事件类型: 预定事件预定事件: 系统级事件系统级事件(复位)(复位)输入输出输入输出改变改变事件事件 定时器事件

26、定时器事件 网络变量网络变量 用户自定义事件用户自定义事件:任意有效的表达式:任意有效的表达式2024/9/2466 when子句的子句的调度调度 调度程序对一组调度程序对一组when子句的判断过程是一个子句的判断过程是一个循环的过程循环的过程 调度程序对普通调度程序对普通when子句判断之前,都将对子句判断之前,都将对具有优先级的具有优先级的when子句进行判断:子句进行判断:2024/9/2467 2. 软件定时器软件定时器 秒定时器:秒定时器:提供的时间间隔是提供的时间间隔是165535s 毫秒定时器:毫秒定时器:提供的时间间隔是提供的时间间隔是164000ms 定时器的定义定时器的定义

27、 mtimer repeating timer-name =initial-value; stimer repeating timer-name =initial-value; repeating:如果定时器时间溢出,定时器将自动启动 initial-value:提供初值,在加电或复位时有效注:一个应用程序中,最多可以定义注:一个应用程序中,最多可以定义1515个软件定时器对象个软件定时器对象2024/9/2468定时器的定义,关闭,剩余时间测量举例:stimerled_timer;when(reset)led_timer=5;/启动定时器when()led_timer=0;/关闭定时器whe

28、n()time-remaining=led_timer;读取定时剩余时间2024/9/2469 定时器时间溢出事件定时器时间溢出事件 timer_expires (timer-name)举举例:例:stimer led_timer;when(timer_expires(led_timer) io_out(io_led,OFF);2024/9/2470 3. 输入输出对象输入输出对象定义输入输出对象定义输入输出对象使用输入输出资源使用输入输出资源执行输入输出函数及事件执行输入输出函数及事件io_in();io_out();io_changes事件事件io_update_occurs事件事件inp

29、ut_value变量变量2024/9/2471三、三、三、三、 网络变量网络变量网络变量网络变量1. 概述概述 网络变量是网络变量是LON节点之间实现数据共享的节点之间实现数据共享的主要传输手段主要传输手段 网络变量可定义为输入网络变量和输出网网络变量可定义为输入网络变量和输出网络变量络变量 网络变量的类型:网络变量的类型:整型、字符型、枚举整型、字符型、枚举由以上类型构成的结构、共同体由以上类型构成的结构、共同体以上类型组成的一维数组以上类型组成的一维数组标准网络变量(标准网络变量(SNVT) 2024/9/2472 网络变量的定义:包括网络变量的方向、类网络变量的定义:包括网络变量的方向、

30、类型、变量名,以及其他一些可选参数型、变量名,以及其他一些可选参数 网络变量的连接:网络变量的连接:给节点分配网络地址给节点分配网络地址捆绑输入捆绑输入/输出网络变量输出网络变量 2024/9/24732、网络变量的应用例子、网络变量的应用例子使用网络变量连接开关节点和灯节点使用网络变量连接开关节点和灯节点如图如图5-30所示设计开关节点和灯节点所示设计开关节点和灯节点 2024/9/2474灯节点的应用程序:灯节点的应用程序:P266#includenetwork input SNVT_lev_disc nv_lamp=ST_ON;#define LED_ON 1#define LED_OF

31、F 0IO_0 output bit ioLED= LED_OFF;when(nv_update_occures(nv_lamp)io_out(ioLED,(nv_lamp!=ST_OFF)? LED_ON : LED_OFF)2024/9/2475开关节点的应用程序:开关节点的应用程序:P266#includenetwork output SNVT_lev_disc nv_switch=ST_OFF;#define BUTTON_DOWN 1#define BUTTON_UP 0IO_4 input bit ioBUTTON= BUTTON_UP;when(io_changes(ioBUTT

32、ON)to BUTTON_DOWN)nv_switch=(nv_switch!=ST_OFF)?ST_OFF:ST_ON2024/9/2476四、四、四、四、显显显显式报文式报文式报文式报文特点特点: 要求应用程序介入的程度高要求应用程序介入的程度高 容易构成容易构成0228B的长数据的变长度消的长数据的变长度消息息 提供有请求提供有请求/响应机制,可实现远程调响应机制,可实现远程调用用 实现节点间交换数据比网络变量复杂实现节点间交换数据比网络变量复杂2024/9/24771、构成一个报文、构成一个报文报文输出对象的名字为报文输出对象的名字为msg_out,结构体,结构体priority on

33、tagcodedataservicedest_addr 举例:举例:P2682024/9/2478msg_tag motor;#define MOTOR_ON 0#define ON_FULL 100msg_out.tag=motor;msg_out.code= MOTOR_ONmsg_out.data0= ON_FULL2024/9/24792、发送一个报文、发送一个报文msg_send函数,举例:函数,举例:3、接收一个报文、接收一个报文msg_arrives(message_code)事件)事件msg_receive函数函数(将数据接收到将数据接收到msg_in)msg_in对象对象20

34、24/9/24804、显式报文的应用例子、显式报文的应用例子1)开关节点)开关节点IO_4 input bit io_switch_in;msg_tag TAG_OUT;#define LAMP_ON 1#define LAMP_OFF 0when(io_changes(io_switch_in)msg_out.tag= TAG_OUT;msg_out.code=(input_value=1)?LAMP_ON:LAMP_OFF;msg_send();2024/9/24812)灯节点)灯节点IO_0 output bit io_lamp;#define LAMP_ON 1#define LAMP

35、_OFF 0when(msg_arrives)switch(msg_in.code)case LAMP_ON:io_out(io_lamp,1);case LAMP_OFF:io_out(io_lamp,0);2024/9/24825.7 5.7 LonWorksLonWorks开发工具开发工具开发工具开发工具lNodeBuilder节点开发工具节点开发工具li.LON互联网连接设备互联网连接设备lLonMaker网络集成工具网络集成工具lLNS DDE Server2024/9/24835.8 5.8 基于控制模块的基于控制模块的基于控制模块的基于控制模块的LonWorksLonWorks应

36、用应用应用应用节点开发节点开发节点开发节点开发l软件设计一般步骤:软件设计一般步骤:定义定义I/O对象对象定义定时器对象定义定时器对象定义网络变量和显式消息定义网络变量和显式消息定义任务定义任务完成自定义函数完成自定义函数2024/9/2484l控制模块控制模块图图5-31,图,图5-32l基于控制模块的节点开发实例基于控制模块的节点开发实例图图5-33程序程序2024/9/2485#pragma enable_io_pullups#include #define LED_ON 0#define LED_OFF 1#define BUTTON_DOWN 0#define BUTTON_UP 1

37、IO_0 output bit ioLed1=LED_OFF;IO_4 input bit ioSwitch=BUTTON_UP;network input SNVT_lev_disc nv_led1_state=ST_OFF;network output SNVT_lev_disc nv_switch1_state=ST_OFF;mtimer delay_timer1;2024/9/2486精品课件精品课件!2024/9/2487精品课件精品课件!2024/9/2488when(io_changes(ioSwitch1) to BUTTON_DOWN)delay_timer1=20;when(timer_expires(delay_timer1)&!(io_changes(ioSwitch1) to BUTTON_UP)nv_switch1_state=(nv_switch1_state=ST_OFF)?ST_ON:ST_OFF;when(nv_update_occurs(nv_led1_state)io_out(ioLed1,(nv_led1_state=ST_ON)?LED_ON:LED_OFF);2024/9/2489

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号