收藏 分享(赏)

《工业机器人现场编程与调试一体化》课件模块三 具有视觉功能的工作站现场编程.pptx

上传人:bubibi 文档编号:22640090 上传时间:2024-06-23 格式:PPTX 页数:64 大小:7.07MB
下载 相关 举报
《工业机器人现场编程与调试一体化》课件模块三 具有视觉功能的工作站现场编程.pptx_第1页
第1页 / 共64页
《工业机器人现场编程与调试一体化》课件模块三 具有视觉功能的工作站现场编程.pptx_第2页
第2页 / 共64页
《工业机器人现场编程与调试一体化》课件模块三 具有视觉功能的工作站现场编程.pptx_第3页
第3页 / 共64页
《工业机器人现场编程与调试一体化》课件模块三 具有视觉功能的工作站现场编程.pptx_第4页
第4页 / 共64页
《工业机器人现场编程与调试一体化》课件模块三 具有视觉功能的工作站现场编程.pptx_第5页
第5页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、模块模块三三 具有具有视觉功能的工作站现场编视觉功能的工作站现场编程程任务任务一一 认识认识视觉功能视觉功能任务任务四四 具有具有视觉功能的工作站现场编视觉功能的工作站现场编程程任务任务一一 认识认识视觉视觉功能功能 一般来说,机器视觉系统包括了照明系统、镜头、摄像系统和图像处理系统。从功能上来看,典型的机器视觉系统可以分为:图像采集部分、图像处理部分和运动控制部分。a)串联机器人的视觉系统 b)并联机器人的视觉系统 具有智能视觉检测系统的工业机器人系统任任务务目目标标知识目标知识目标能力目标能力目标1.掌握工业机器人视觉系统的组成2.掌握视觉系统的硬件连接及软件操作方法。3.工业相机、镜头和

2、光源以及视觉检测系统的选型方法。1.能完成视觉识别的软件设置。2.能确定静态物件的坐标位置。3.能熟练地切换视觉系统的应用场景,完成视觉检测程序的调用。一、工业机器人视觉系统的组成一、工业机器人视觉系统的组成工业机器人的视觉系统由软件和硬件两大部分组成。a)工业机器人的视觉 b)工业机器人的视觉示意图工业机器人的视觉系统组成1.1.硬件硬件视觉系统的硬件主要由光照系统、镜头、摄像机、部件传感器、图像采集卡、PC平台、外部设备。镜头外部设备2.2.软件软件1 1)检测软件检测软件机器人视觉软件用于创建和执行程序、处理采集回来的图像数据、以及作出“通过/失败(PASS/FAIL)”决定。2 2)数

3、字数字 I/OI/O和网络和网络连接连接通常,使用一张数字 I/O板卡和(或)一张网卡来实现机器视觉系统与外界系统和数据库的通信。二、工作原理二、工作原理工作原理具体过程一、一、ABBABB工业机器人视觉系统的安装工业机器人视觉系统的安装1.1.硬件安装硬件安装ABB工业机器人视觉系统的安装2.2.软件安装软件安装Integrated Vision 配置环境是以 RobotStudio 插件的形式设计的,包含在标准安装中。1)1)安装安装 RobotStudio RobotStudio。选择完全安装。选择完全安装。2)2)启动启动 RobotStudio RobotStudio。3)3)转到菜

4、单条上的控制器选项卡并启动转到菜单条上的控制器选项卡并启动 Integrated Vision 插件。在插件加载完成后,会显示一个新的选项卡图像(Vision)。二、软件的操作二、软件的操作1.1.工件颜色的识别工件颜色的识别(1)(1)新建一个新建一个场景场景(2)(2)流程流程编辑编辑新建一个场景单击“流程编辑”流程编辑(3)3)输入图像输入图像(4)(4)模型登录模型登录模型登录参数设置模型登录模型录入登录完成测量参数界面(5)(5)图像测量图像测量图像测量结果2.2.工件编号的识别工件编号的识别(1)(1)流程编辑流程编辑在主界面点击“流程编辑”,进入“流程编辑界面”。(2)(2)工件

5、编号分类工件编号分类单击“分类”图标,进入设置界面,将工件录入相应位置。模型登录登录完成(3)(3)图像测量图像测量图像测量3.3.工件的角度识别工件的角度识别(1)(1)追加界面追加界面追加界面(2)(2)输入输入图像图像(3)(3)模型登录模型登录输入图像1号工件模型登录1号工件模型登录成功(4)(4)进行测量参数的设置进行测量参数的设置(5)(5)追加追加“串行数据输出串行数据输出”进行测量参数的设置追加“串行数据输出”表达式的设定输出格式的设定(6)(6)图像测量图像测量(7)(7)保存文件保存文件测量结果保存文件工业机器人视觉系统所用相机的分类工业机器人视觉系统所用相机的分类1)按照

6、芯片类型可以分为CCD相机、CMOS相机;2)按照传感器的结构特性可以分为线阵相机、面阵相机;3)按照扫描方式可以分为隔行扫描相机、逐行扫描相机;4)按照分辨率大小可以分为普通分辨率相机、高分辨率相机;5)按照输出信号方式可以分为模拟相机、数字相机;6)按照输出色彩可以分为单色(黑白)相机、彩色相机;7)按照输出信号速度可以分为普通速度相机、高速相机;8)按照响应频率范围可以分为可见光(普通)相机、红外相机、紫外相机等。任务任务二二 具有具有视觉功能的工作站现场编程视觉功能的工作站现场编程 如图所示,视觉工业机器人的码垛程序,通过相机视野内目标比例的变化来估算目标的高度并引导机器人的运动补偿目

7、标的偏移,不但包括X轴,Y轴和X-Y平面旋转度R,也同时包括Z轴。具有视觉工业机器人的码垛工作站任任务务目目标标知识目标知识目标能力目标能力目标1.掌握视觉系统的硬件连接及软件安装方法。2.掌握视觉相机的网络配置与连接方法。3.掌握视觉识别的软件设置方法。1.能根据典型应用场景进行 RFID信息设置。2.能编写典型应用工作站中视觉、RFID 等控制程序。3.能编写典型应用工作站中视觉、RFID 等应用程序。一、指令简介一、指令简介1.CamFlush 1.CamFlush:从摄像头删除集合数据:从摄像头删除集合数据(1)(1)书写格式书写格式CamFlush Camera(2)(2)应用应用C

8、amFlush mycamera;摄像头的 mycamera 集合数据被删除。2.CamGetParameter:2.CamGetParameter:获取不同名称的摄像头参数获取不同名称的摄像头参数(1)(1)书写格式书写格式CamGetParameter Camera ParName Num|Bool|Str(2)(2)应用应用VAR bool mybool:=FALSE;.CamGetParameter mycamera,Pattern_1.Tool_Enabled_StatusBoolVar:=mybool;TPWite The current value of Pattern_1.To

9、ol_Enabled_Status is:Bool:=mybool;获得命名的布尔参数Pattern_1.Tool_Enabled_Status并将值写在FlexPendant上。(3)(3)错误处理错误处理名称错误原因ERR_CAM_BUSY摄像头正忙于处理其他请求,无法执行当前命令。ERR_CAM_COM_TIMEOUT与摄像头通信错误。摄像头可能已断开。ERR_CAM_GET_MISMATCH用 CamGetParameter 指令从摄像头获取的参数的数据类型错误。3.CamGetResult 3.CamGetResult:从集合获取摄像头目标:从集合获取摄像头目标(1)(1)书写格式书

10、写格式CamGetResult Camera CamTarget SceneId MaxTime(2)(2)程序执行程序执行CamGetResult从图像结果集合获取摄像头目标。SceneId 仅在已经从指令 CamReqImage 请求了图像时可用。(3)(3)应用应用VAR num mysceneid;VAR cameratarget mycamtarget;.CamReqImage mycamera SceneId:=mysceneid;CamGetResult mycamera,mycamtarget SceneId:=mysceneid;(4)(4)错误处理错误处理名称错误原因ERR

11、_CAM_BUSY摄像头正忙于处理其他请求,无法执行当前命令。ERR_CAM_MAXTIME在超时时间不能获取任何结果。ERR_CAM_NO_MORE_DATA不能为已经使用的SceneId获取更多图像结果,否则在超时时间无法获取结果。4.CamLoadJob4.CamLoadJob:加载摄像头任务到摄像头:加载摄像头任务到摄像头(1)(1)书写格式书写格式CamLoadJob Camera JobName KeepTargets MaxTime(2)(2)程序执行程序执行CamLoadJob的执行将会等到作业加载完毕或经过超时错误失败。(3)(3)应用应用CamSetProgramMode

12、mycamera;CamLoadJob mycamera,myjob.job;CamSetRunMode mycamera;(4)(4)错误错误处理处理名称错误原因ERR_CAM_BUSY摄像头正忙于处理其他请求,无法执行当前命令。ERR_CAM_COM_TIMEOUT与摄像头通信错误。摄像头可能已断开。ERR_CAM_MAXTIME摄像头作业不会在超时时间加载。ERR_CAM_NO_PROGMODE摄像头未处于编程模式(5)(5)限制限制当摄像头设置为编程模式时,才可以执行 CamLoadJob。5.CamReqImage 5.CamReqImage:命令摄像头采集图像命令摄像头采集图像(1

13、)(1)书写格式书写格式CamReqImage Camera SceneId KeepTargets AwaitComplete(2)(2)程序执行程序执行CamReqImage用于命令指定摄像头采集图像。(3)(3)应用应用CamReqImage mycamera;(4)(4)错误错误处理处理名称错误原因ERR_CAM_BUSY摄像头正忙于处理其他请求,无法执行当前命令。ERR_CAM_COM_TIMEOUT与摄像头通信错误。摄像头可能已断开。ERR_CAM_NO_RUNMODE摄像头未处于运行模式ERR_CAM_REQ_IMAGE相机无法生成任何图像结果(5)(5)限制限制当摄像头设置为运

14、行模式时,才可以执行CamReqImage。6.CamSetExposure 6.CamSetExposure:设置具体摄像头的数据:设置具体摄像头的数据(1)(1)书写格式书写格式CamSetExposure Camera ExposureTime Brightness Contrast(2)(2)程序执行程序执行如果具体摄像头的对应参数可能更新,则此指令更新曝光时间、亮度和对比度(3)(3)应用应用CamSetExposure mycamera ExposureTime:=10;(4)(4)错误处理错误处理ERR_CAM_COM_TIMEOUT,与摄像头通信错误。7.CamSetParam

15、eter 7.CamSetParameter:设置不同名称的摄像头参数:设置不同名称的摄像头参数(1)(1)书写格式书写格式CamSetParameter Camera ParName Num|Bool|Str(2)(2)应用应用CamSetParameter mycamera,Pattern_1.Tool_Enabled BoolVal:=FALSE;CamSetRunMode mycamera;(3)(3)错误错误处理处理名称错误原因ERR_CAM_BUSY摄像头正忙于处理其他请求,无法执行当前命令。ERR_CAM_COM_TIMEOUT与摄像头通信错误。摄像头可能已断开。ERR_CAM_

16、SET_MISMATCH使用命令 CamSetParameter 写入摄像头的参数数据类型错误,或者其值超出范围。8.CamSetProgramMode 8.CamSetProgramMode:命令摄像头进入编程模式:命令摄像头进入编程模式(1)(1)书写格式书写格式CamSetProgramMode Camera(2)(2)程序执行程序执行当使用 CamSetProgramMode 指令命令摄像头进入编程模式时,可以修改设置并加载作业到摄像头。(3)(3)应用应用CamSetProgramMode mycamera;CamLoadJob mycamera,myjob.job;CamSetRu

17、nMode mycamera;.9.CamSetRunMode 9.CamSetRunMode:命令摄像头进入运行模式:命令摄像头进入运行模式(1)(1)书写格式书写格式CamSetRunMode Camera(2)(2)程序执行程序执行在使用 CamSetRunMode 命令摄像头进入运行模式时,可以开始采集图像。(3)(3)应用应用CamSetProgramMode mycamera;CamLoadJob mycamera,myjob.job;.CamSetRunMode mycamera;10.CamStartLoadJob10.CamStartLoadJob:开始加载摄像头任务到摄像头

18、:开始加载摄像头任务到摄像头(1)(1)书写格式书写格式CamStartLoadJob Camera Name KeepTargets(2)(2)程序执行程序执行CamStartLoadJob的执行将会命令开始加载,然后无需等待加载完成直接继续下一个指令,如果使用了可选参数 KeepTargets,则不会删除指定摄像头的旧集合数据。(3)(3)应用应用.CamStartLoadJob mycamera,myjob.job;MoveL p1,v1000,fine,tool2;CamWaitLoadJob mycamera;CamSetRunMode mycamera;CamReqImage my

19、camera;.(4)(4)限制限制当摄像头设置为编程模式时,才可以执行CamStartLoadJob。11.CamWaitLoadJob11.CamWaitLoadJob:等待摄像头任务加载完毕:等待摄像头任务加载完毕(1)(1)书写格式书写格式CamWaitLoadJob Camera(2)(2)应用应用.CamStartLoadJob mycamera,myjob.job;MoveL p1,v1000,fine,tool2;CamWaitLoadJob mycamera;CamSetRunMode mycamera;CamReqImage mycamera;.(3)(3)错误处理错误处理

20、ERR_CAM_COM_TIMEOUT,与摄像头通信错误。摄像头可能已断开。(4)(4)限制限制当摄像头设置为编程模式时,才可以执行CamWaitLoadJob。二、函数二、函数1.CamGetExposure 1.CamGetExposure:获取具体摄像头的数据:获取具体摄像头的数据(1)(1)书写格式书写格式CamGetExposure(Camera ExposureTime Brightness Contrast)(2)(2)应用应用VAR num exposuretime;.exposuretime:=CamGetExposure(mycamera ExposureTime);IF

21、exposuretime=10 THEN CamSetExposure mycamera ExposureTime:=9.5;ENDIF(3)(3)返回值返回值数据类型:num,从摄像头以数值方式返回的曝光时间、亮度或对比度中的某个设置。2.CamGetLoadedJob 2.CamGetLoadedJob:获取所加载摄像头任务的名称:获取所加载摄像头任务的名称(1)(1)书写格式书写格式CamGetLoadedJob(Camera)(2)(2)程序执行程序执行CamGetLoadedJob函数从摄像头获取当前加载的作业名称。(3)3)应用应用VAR string currentjob;.cu

22、rrentjob:=CamGetLoadedJob(mycamera);IF CurrentJob=THEN TPWrite No job loaded in camera+CamGetName(mycamera);ELSE TPWrite Job+CurrentJob+is loaded in camera +CamGetName(mycamera);ENDIF(4)(4)返回值返回值数据类型:string,指定摄像头当前加载的作业名称。3.CamGetName3.CamGetName:获取所使用摄像头的名称:获取所使用摄像头的名称(1)(1)书写格式书写格式CamGetName(Camer

23、a)(2)(2)应用应用.logcameraname camera1;CamReqImage camera1;.logcameraname camera2;CamReqImage camera2;.PROC logcameraname(VAR cameradev camdev)TPWrite Now using camera:+CamGetName(camdev);ENDPROC(3)(3)返回值返回值数据类型:string,当前使用的摄像头的名称以字符串返回。4.CamNumberOfResults4.CamNumberOfResults:获取可用结果的数量:获取可用结果的数量(1)(1)书

24、写格式书写格式CamNumberOfResults(Camera SceneId)(2)(2)程序执行程序执行CamNumberOfResults 是读取可用图像结果数量,并将其以数值方式返回的函数。(3)(3)应用应用VAR num foundparts;.CamReqImage mycamera;WaitTime 1;FoundParts:=CamNumberOfResults(mycamera);(4)(4)返回值返回值数据类型:num,返回指定摄像头集合中结果的数量。一、管理程序一、管理程序1.1.启动程序启动程序(1)(1)作用作用启动程序的情况情况影响断电1)摄像头将丢失作业。2)

25、控制器将丢失“输出到 RAPID”配置。控制器重启动1)控制器将丢失摄像头、程序模式/运行模式的当前状态。2)控制器将丢失“输出到 RAPID”配置。(2)(2)程序程序2.2.运行时间内启用和禁用图像工具运行时间内启用和禁用图像工具(1)(1)作用作用在提前知道要观看图像中哪种类型的部件时,可将目前不需要的图像工具禁用,以缩短摄像头的处理时间。(2)(2)程序程序此步骤显示如何打开和关闭工具,以缩短摄像头的处理时间。3.3.避免超出摄像头的存储空间避免超出摄像头的存储空间(1)(1)作用作用摄像头的闪存盘存储容量有限。如果机器人单元需要执行很多不同的作业,有时候摄像头可能会无法存储下所有作业

26、。(2)(2)程序程序4.4.备份摄像头到控制器备份摄像头到控制器(1)(1)作用作用在执行机器人控制器的常规备份时,摄像头的内容并不会自动备份。可以用来作为执行常规备份时调用的服务例行程序。(2)(2)程序程序5.5.总是检查确认图像目标在预期限制内总是检查确认图像目标在预期限制内(1)(1)作用作用使用传感器时,在视图接近机器人的位置前,务必要始终确保探测位置处在预期的工作空间内。(2)(2)程序程序二、应用程序二、应用程序1.1.将不同类型的项目分类将不同类型的项目分类(1)(1)作用作用1)先安排一个图像作业,用于区分两种不同芯片类型2)配置输出到 RAPID,以便 RAPID 程序能

27、获取对象的位置和类型。3)将 RAPID 程序编程为获取图像对象,并在操作前检查其类型。分类(2)(2)作业作业步骤步骤依靠现有的图像工具,此问题有多种不同解决方法。在本例中,使用了两款不同的部件定位工具(PatMax),并针对两种产品类型之间的区分特征字母A和B进行安排。(3)(3)编写编写 RAPID RAPID 程序程序.CamGetResult mycamera,mycamtarget;IF mycamtarget.name=A_Chip THEN!Do something with the A-Chip ELSEIF mycamtarget.name=B_Chip THEN!Do s

28、omething with the B-ChipENDIF.2.2.寻找同一类型的多个项目寻找同一类型的多个项目(1)(1)作用作用图像任务常常涉及寻找散布在摄像头视野中的同一类型的多个项目。配置这样的任务需要进行图像作业和 RAPID 程序的某些配置。(2)(2)作业步骤作业步骤1)一般使用一个能找到多个项目的图像工具 PatMax1-10 或 Blob1-10。2)在 Output to RAPID(输出到 RAPID)对话框中,图像工具被链接到单一的项目类型,如称为 Part_A。这意味着对每个找到的项目,将产生一个名称属性为Part_A 的摄像头目标,并发送到图像队列。3)RAPID

29、程序的任务是遍历每个产生的 cameratarget 并选取相应的对象。3.ABB3.ABB机器人视觉通讯机器人视觉通讯(1)socket(1)socket的创建的创建1)新建一个机器人系统,注意建立系统时加入pc-interface选项。PC-INTERFACE选项新建一个机器人系统2)为了避免之前的连接没有关闭,先插入socketclose指令,后面的socket1为自己新建的socketdev类型的变量。3)插入建立连接SocketConnect。避免关闭连接建立连接SocketConnect4)在建立成功后,插入TPWrite指令5)接下去可以收发数据,此处示例为client先发送数据

30、给server,再接受server发送回来的数据。6)SocketSend后面可以发送string或者byte数组,具体可以选择不同可选变量。7)发送完毕后,client接受到server发回的数据并写屏。(2)(2)数据关键信息的提取数据关键信息的提取1)相机通常发送字符串给机器人。相机发送字符串给机器人2)如果机器人收到上述字符串,如何把字符串提取出来并付给变量deltaX,deltaY,和thetaZ?3)建立若干num变量,用以存储过程数据,比如StartBit1,表示x的数据从第几位开始,Endbit1表示x的数据结束是第几位,Lenbit1表示x数据的长度,s1表示提取的x的值的字

31、符串。4)先假设x的第一位是1,给Startbit1赋值为1。5)插入函数strfind,查找第一个“,”在第几位,得到EndBit1值。相机发送字符串给机器人6)EndBit1减去StartBit1就是x的数据长度。7)同理得到y和theta的信息。x的数据长度y和theta的信息8)通过StrPart函数,提取从StartBit1开始到LenBit1结束的字符串,即x的值的字符串。9)同理得到y和z的字符串。10)通过StrToVal函数,把s1转为num型,付给delta_x,StrToVal函数的反馈值为bool量,即转换成功为true不成功为false。11)同理得到delta_y和

32、delta_theta。12)成功后可以写屏测试。x的值的字符串写屏测试(3)(3)关键信息与点位数据的转化关键信息与点位数据的转化(4)(4)关键信息与坐标系的关键信息与坐标系的转化转化通过相机寻找物体特征点并调整工件坐标系的oframe为常见做法。(5)5)相机相机socketsocket机器人移动机器人移动实例实例a)工件坐标系 b)原点校准调整工件坐标三、具有视觉系统的工业机器人装配程序的编制三、具有视觉系统的工业机器人装配程序的编制1.1.机器人获取相机图像数据机器人获取相机图像数据程序程序2.2.相机通信主程序相机通信主程序3.3.基于视觉的法兰装配程序基于视觉的法兰装配程序(1)

33、(1)基于视觉的关节装配基于视觉的关节装配流程流程基于视觉的关节装配流程(2)调整抓取目标点的方法(3)工业机器人示教关节法兰抓取基准点的步骤(4)基于视觉的关节法兰装配程序机器人抓取法兰安装吸盘放关节法兰机器人移动到关节法兰抓取位置四、四、RFIDRFID接口及使接口及使用用1.RFID1.RFID接口属性说明接口属性说明接口功能Command命令/响应Stepno步序(工序)state工件状态(类型)name操作者标识(以字符或数字组合,最长8位)Date日期(系统生成,无需操作)time时间(系统生成,无需操作)2.RFID2.RFID控制控制接口接口指令功能10写数据20读数据30复位

34、状态字指令功能指令功能11写完成21读完成10写入中20读取中12写入错误22读取错误100待机31复位成101有芯片在工作区30复位中32复位错误控制字3.3.复位程序复位程序mand:=30;RFID复位WaitUntil mand=31;等待复位完成mand:=0;复位指令清除4.4.写入程序写入程序(1)(1)数据准备数据准备Name:可设定为姓名拼音或编号等,8个字符Stepno:步骤/工序State:状态/工件类型(2)(2)程序程序rfidcon.stepno:=1;rfidcon.state:=1;(3)(3)写入程序实例写入程序实例mand:=10;RFID复位WaitUnt

35、il mand=11;等待复位完成mand:=0;复位指令清除五、网络通信五、网络通信1.1.连接设置连接设置 1)设置“应用程序访问接入点”,在博途中找到用于连接设备的网络连接名称(也可以称为网卡名称)+(.TCPIP.AUTO.1)选项。应用程序访问接入点2)在选择完连接后建议点击“诊断”按钮进入测试界面,然后点击“测试”按钮,结果显示OK即可。测试(1)(1)计算机计算机IPIP设置设置 1)点击电脑右下角的网络连接,选择“打开网络和共享中心”,然后点击本地连接,在属性菜单中选择“Internet协议版本4(TCP/IPv4)”。设备IP地址 触摸屏 192.168.8.12 PLC 1

36、92.168.8.11 ANYBUS模块 192.168.8.13 智能相机 192.168.8.2 IP地址 2)将IP地址设置为“192.168.8.46”,实际设置时只要不与以上设备重复即可,DNS不需要设置。设置地址(2)(2)软件中设置设备软件中设置设备IP/IP/名称名称1)打开项目后,在项目树下,找到需要设置的设备,用右键点击,在弹出菜单中选择属性。设置设备2)在设备属性窗口中,选择“PROFINET接口”菜单下“以太网地址”页,IP地址和设备名称均在此页。(3)(3)设备设备IP/IP/名称分配名称分配1)连接设备网络,打开软件,选择“在线访问”菜单下用于连接设备的网络连接,通

37、常是网卡,打开下拉菜单,点击“更新可访问的设备”。2)找到需要设置的设备,双击“在线和诊断”。在线访问在线和诊断3)在“功能”菜单下选中“分配IP地址”,输入IP地址后点击“分配IP地址”。4)在“功能”菜单下选中“分配名称”,确认设备名称后点击右下角“分配名称”按钮。分配IP地址分配名称ABBABB机器人飞拍机器人飞拍为提高生产节拍,“飞拍”概念被广泛应用,即机器人在经过拍照点时不停止拍照。一是机器人经过相机前Sensor触发拍照,如图所示。二是机器人经过相机前自身发出信号,即在到达某些位置前发送信号,运动过程不停止。经过相机前Sensor触发拍照 知 识 决 定 人 的 高 度!知 识 决 定 人 的 高 度!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 金融行业 > 保险行业

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报