工业机器人课件-While指令的功能、语法结构和使用方法

合集下载

ABB工业机器人编程与仿真培训教材课件

ABB工业机器人编程与仿真培训教材课件
熟悉RobotStudio软件的编程界面,包括菜单栏、 工具栏、程序编辑器、仿真环境等。
编程环境优化
根据个人习惯和需求,对编程环境进行个性 化设置,如调整界面布局、自定义快捷键等 。
基本语法规则和编程技巧
01
程序结构与控制流
学习RAPID语言的程序结构,包 括顺序、选择(if-else)、循环 (for、while)等控制流语句。
多机器人协同作业方案设计
01
机器人通信与协同 规划
建立多机器人之间的通信机制, 实现信息共享和协同规划,确保 各机器人能够协同完成任务。
02
任务分配与负载均 衡
根据机器人的能力和任务需求, 进行合理的任务分配和负载均衡 ,提高整体作业效率。
03
碰撞检测与避免策 略
设计有效的碰撞检测算法和避免 策略,确保多机器人在协同作业 过程中不会发生碰撞事故。
仿真技术原理及应用实践
仿真技术概念及作用阐述
仿真技术定义
利用计算机模型对实际系统或过程进行模拟 ,以预测、分析和优化系统性能的技术。
预测性能
仿真可以避免实际试验的高昂成本,提高研 发效率。
降低成本
通过仿真可以预测实际系统的性能,为决策 提供支持。
优化设计
通过仿真可以优化产品设计,提高产品质量 和性能。
等。
结果分析
对仿真结果进行分析,评 估机器人的性能,如运动
精度、稳定性等。
04
实际操作与案例分析
编程实例演示及讲解
1
实例一
基础搬运任务编程。通过演示和讲解, 使学员掌握ABB工业机器人基础搬运任 务的编程方法,包括如何设置机器人路 径、添加IO信号、调用工具等。
2
实例二
复杂装配任务编程。通过演示和讲解, 使学员掌握ABB工业机器人复杂装配任 务的编程方法,包括如何设置装配流程 、调用子程序、实现高精度定位等。

工业机器人操作与编程教材PPT

工业机器人操作与编程教材PPT
指令。 程序说明如下: WAIT——等待指令 Value——取常数(Constant)
2、数字输出指令DO 指令格式:DO[i] = ON/OFF 指令注释:写操作,指令把ON= 1 / OFF=0赋值给指定的数字输出信号。 程序说明如下: DO——是可以被用户控制的输出信号 [i]——数字输出端口号,即寄存器号,范围为0-199 ON/OFF——ON=1/OFF=0打开/关闭数字输出信号
任务1 认识工业机器人 1.1.3 工业机器人的坐标系
工业机器人一般有四个坐标系,基坐标系、关节坐标系、工 具坐标系、工件坐标系。
任务1 认识工业机器人 1.2 手动操作工业机器人 1.2.1 手动操作功能简介 1.2.1 手动操作工业机器人 拓展与提高1——十大工业机器人品牌
任务1 认识工业机器人
任务1 认识工业机器人 1.1.1 工业机器人分类及应用 1.按臂部的运动形式分 (1)直角坐标型
臂部可沿三个直角坐标移动; (2)关节型
臂部有多个转动关节; (3)圆柱坐标型
臂部可作升降、回转和伸缩 动作;
任务1 认识工业机器人 1.1.1 工业机器人分类及应用 1.按臂部的运动形式分 4)组合结构 可以实现直线、旋转、回转、 伸缩; (5)球坐标型 臂部能回转、俯仰和伸缩。
任务3 机器人涂胶编程与操作 3.2.3 涂胶运动规划和示教前的准备 1、运动规划
机器人涂胶的动作,可分解成为“等待涂胶控制信 号”“打开胶枪”、“涂胶”、“关闭胶枪”等一系列子任务。 可以进一步分解为“把胶枪移到第一条轨迹线上”、“胶枪移 动到涂胶点”、“打开胶枪”、“移动胶枪涂胶”等一系列动 作。
任务2 搬运编程与操作 2.1.1 程序的基本信息 2.程序的基本信息包括:程序名、程序注释、子类型、写保护、 程序指令和程序结束标志。

《工业机器人编程技术》教学课件—工业机器人基本操作

《工业机器人编程技术》教学课件—工业机器人基本操作

拓展
表2-1-3 示教器主界面说明
标号 A B
C D E F
说明
ABB菜单
操作员窗口,显示来自机器人程序的ห้องสมุดไป่ตู้息,程序需要操作员做出某 种响应以便继续时往往会出现此情况 状态栏,显示与系统状态有关的重要信息,如操作模式、电机开启 /关闭、程序状态等
关闭按钮。单击此按钮将关闭当前打开的视图或应用程序
任务栏。通过ABB菜单可以打开多个视图,但一次只能操作一个。 任务栏显示所有打开的视图,并可用于视图切换 快速设置菜单。包含对微动控制和程序执行进行的设置
注意:示教器是按照 人体工程学进行设计的, 同时适合左手操作者操作, 只要在屏幕中进行切换就 能适应左手操作者的操作 习惯。
图2-1-3 示教器的持握方法
2.示教器的界面认识
1)示教器主界面示教器上电后的主界面如图2-1-4所示,示教器主界面说明 如表2-1-3所示。
图2-1-4示教器上电后的主界面
任务一 认识示教器
任务描述
熟知ABB工业机器人示教器的基本结构,掌握正确的示教器操作方法,理 解使能器按钮的功能并掌握正确的使能器按钮使用方法。
一、 示教器的结构 工业机器人示教器是工业机器人的主要组成部分,通过示教器可以实现对工 业机器人的手动操作、参数配置、编程及监控等操作。目前,工业机器人的编程 还没有统一的国际标准,因此示教器的设计与研究均由各厂家自行研制。图21-1所示为示教器的结构,示教器结构说明如表2-1-1所示。
图2-2-13 示教器状态栏
状态栏上显示的内容如下。
1 机器人的状态:手动、全速手动和自动。
2 机器人的系统信息。
3 电机状态。 (4)程序运行状态。
拓展
(5)当前机器人或外轴使用状态。

《NACHI工业机器人编程与操作》PPT课件(全)

《NACHI工业机器人编程与操作》PPT课件(全)

四、实践操作
(二)机器人坐标系下NACHI工业机器人手动操作
在机器人坐标系下机器人运动是指机器人的尖端(工具前端)在以 机器人固定基座确立的坐标系上进行运动
四、实践操作
(二)机器人坐标系下NACHI工业机器人手动操作
按[插补/坐标]键切换至机器人坐标系,按[手动速度]键切换手动操作 时机器人的动作速度(3挡),同时示教界面显示机器人坐标系和 操作速度档位。 轻按示教器背面[握杆开关]向机器人供电,按X+/-至RZ+/-[轴操作] 键操作机器人六个轴协同进行正反运动,观察机器人坐标系下工业 机器人的正反运动。
四、实践操作
(三)NACHI工业机器人工具常数设定
手动操作机器人,在轴坐标系或机器人坐标系或其它工具坐标系下 ,将机器人末端的工具尖端瞄准固定于工作台上的锐利的尖端如图 所示,对11条指令进行示教(轻按<握杆开关>和<轴操作>键操作机 器人,示教过程中两个尖端尽量靠近,工具尖端位置尽量保持不变 ,机器人姿态改动幅度越大测试效果越好)。
(a)姿态1
(b)姿态2
四、实践操作
(三)NACHI工业机器人工具常数设定
3.工具重心及重量设定 2)选择程序1000,打开程序如图所示。选择再生模式,按<动作可>键,设置示教界面 右侧超越为100%以及左侧步骤为1周期。
四、实践操作
(三)NACHI工业机器人工具常数设定
2)在工具坐标系下手动操作机器人沿X、Y、Z轴运动,观察工具坐标系方向,本例中 工具坐标系的方向如图所示,为使T1工具坐标系方向与机器人坐标系方向平行,再次 修改关节值:J5为90°,J6为-180°(注意修改角度值后是否影响机器人与气管等干 涉),再次运行程序,机器人位姿如图所示。再次在工具坐标系下手动操作机器人沿X 、Y、Z轴运动,确认工具坐标系与机器人坐标系平行。

工业机器人课件-While指令的功能、语法结构和使用方法

工业机器人课件-While指令的功能、语法结构和使用方法
While指令的功能、语法结构与使用方法
While指令的功能、语法结构与使用方法
While指令ቤተ መጻሕፍቲ ባይዱ功能
反复执行While和WEnd语句之间的程序,直到不满足循环条件。
While指令的语法结构
While □ < 循环条件 > :
WEnd
While指令的参数
< 循环条件 > 逻辑表达式
While指令的功能、语法结构与使用方法
While指令的举例
①当-5<M1<5,循环处理;超越范围时,跳出循环。 1 While (M1>=-5) And (M1<=5) ' 当-5<M1<5,循环处理。 2 M1=M1+1 ' M1 加上 1。 3 M_Out(8)=M1 ' 输出 M1 的值。 4 WEnd ' 返回到第1步语句。 5 End ' 程序结束。 ②从 While ~ WEnd 中通过 Break 指令跳出循环语句。 1 While (M1>=-5) And (M1<=5) '当-5<M1<5,循环处理。 2 M1=-(M1+1) ' M1 加上 1,反转符号。 3 M_Out(8)=M1 ' 输出 M1 的值。 4 If M_In(8)=1 Then Break ' 输入信号 8 开启则跳转到步号 6。 5 WEnd ' 返回 While 语句 (步 1)。 6 If M_BrkCq=1 Then Hlt
While指令的功能、语法结构与使用方法
While指令的说明
(1)在While语句里面可以再嵌套While语句,最好嵌套16 层; (2)不能在While语句里面使用Goto语句跳出,否则,经 过一定次数的循环后,最终会因堆栈内存不够而报警; (3)可以使用Break语句中途退出While语句; (4)While语句必须和WEnd语句配套使用。

工业机器人基础与实用教程(PPT课件)24

工业机器人基础与实用教程(PPT课件)24
举例: MoveL p10,v100,fine,tool1\WObj:=wobj1;
MoveC p20,p30,v100,fine,tool1\WObj:=wobj1;
两条指令的含义是:机器人TCP直线运动至p10点,并将其作为圆弧的起点,然后 通过p20这一圆弧上的点,最终运动到圆弧的终点p30 。
① 赋值指令作用是进行数学运算,如加减乘除等。 ② 赋值指令是将等号后面结果赋值给等号前面,等号后面可以是某个单一数 据类型的数据,也可以是一个表达式。 ③ 绝大多数程序数据类型都可以使用赋值指令进行数学运算,但是赋值指令 等号后面的数据类型必须和等号前面数据类型相同。 ④ 赋值指令等号前面必须为变量或者可变量,赋值指令的等号后面可以是常 量、可变量、变量都可以。 下面就添加一个常量赋值与数学表达式赋值说明此指令的使用: ※ 常量赋值:reg1:=5; ※ 数学表达式赋值:reg2:=reg1+4;
常量赋值指令
⑦再次单击“确定”,在程序 编辑窗口中能看到所添加的指 令
带数学表达式的赋值指令
①选择“reg2”
②选择“<EXP>”,高亮显示蓝 色,然后选择“reg1”
③单击右侧“+”号,编辑区 “reg1”右侧出现“+”和 “<EXP>”
带数学表达式的赋值指令
④选择“<EXP>”,高亮显示为 蓝色,然后点击底下“编辑” 菜单,选择“仅限选定内容”
单击更改数据类型选择num数值型数据在列表中选中num类型然后单击确定常量赋值指令常量赋值指令选择reg1选择高亮显示为蓝色然后点击底下编辑菜单选择仅限选定内容通过软键盘输入数字5然后单击确定按钮返回赋值指令编辑窗口常量赋值指令常量赋值指令再次单击确定在程序编辑窗口中能看到所添加的指带数学表达式的赋值指令带数学表达式的赋值指令选择reg2选择高亮显示蓝色然后选择reg1单击右侧号编辑区reg1右侧出现和带数学表达式的赋值指令带数学表达式的赋值指令选择高亮显示为蓝色然后点击底下编辑菜单选择仅限选定内容通过软键盘输入数字4然后单击确定返回赋值指令编辑窗口确认数据输入正确后再次单击确定在弹出对话框中单击下方按钮将新指令添加在当前选定指令的下方带数学表达式的赋值指令带数学表达式的赋值指令赋值指令添加成功小提示

工业机器人现场编程循环技术编程课件pptx

工业机器人现场编程循环技术编程课件pptx

案例一:使用for循环实现路径规划
案例二
灵活、易操作
总结词
本次案例采用while循环实现机器人连续路径控制。在设定好起始点和终点后,通过while循环控制机器人在两点之间进行连续移动。同时,根据实际环境灵活调整移动速度和方向,使机器人的移动更加易操作。
详细描述
总结词
稳定、可靠
详细描述
本次案例采用do-while循环实现机器人避障功能。在机器人行进过程中,实时检测前方障碍物距离,并使用do-while循环对机器人的行进速度和方向进行调整,确保机器人能够稳定、可靠地避开所有障碍物,顺利到达目的地。
工业机器人特点
具有高精度、高速度、高可靠性、可编程性和多功能性等特点,能够适应不同的工业生产需求。
工业机器人的定义与特点
工业机器人在现代工业中的应用
用于自动化加工,提高生产效率和质量。
在机械加工领域的应用
在汽车制造领域的应用
在电子制造领域的应用
在物流领域的应用
用于自动化生产线和焊接、喷漆等特定任务,提高生产效率和质量。
工业机器人前景展望
未来工业机器人将在更多的领域得到应用,同时随着技术的不断创新,将为现代制造业和社会经济的发展带来更加广阔的前景。
工业机器人市场现状
市场规模不断扩大,技术越来越成熟,应用领域也越来越广泛。
工业机器人发展态势与前景
工业机器人编程基础
02
1
编程语言及软件介绍
2
3
Karel是一种基于流程图的高级编程语言,适合初学者入门学习。
循环技术的分类
根据循环条件的不同,循环技术可以分为while循环、for循环和do-while循环等三种基本类型。
循环技术的定义及分类

工业机器人编程基础操作 PPT

工业机器人编程基础操作 PPT

2、IF条件判断指令 IF条件判断指令,就就是根据不同得条件去执行不同得指令。 指令解析: IF num1=1 THEN
flag:=TRUE; ELSEIF num1=2 THEN
flag1:=FALSE; ELSE
Set do1; ENDIF 如果num1为1,则flag1会赋值为TRUE。如果num1为2,则flag1 会赋值为FALSE。除了以上两种条件之外,则执行do1置位为1。 条件判定得条件数量可以根据实际情况进行增加与减少。
5、WaitUntil信号判断指令 WaitUntil信号判断指令可用于布尔量、数字量与I/O信号值得 判断,如果条件到达指令中得设定值,程序继续往下执行,否则就 一直等待,除非设定了最大等待时间。flag1为布尔量型数 据,num1数字型数据。 WaitUntil di1 = 1; WaitUntil do1 = 0; WaitUntil flag = TRUE; WaitUntil num1 = 8;
机器人得工具中心点TCP从一个位置移动到另一个位置,两个 位置之间得路径不一定就是直线。
MoveJ p10, v1000, z50, tool1\Wobj:=wobj1;
关节运动 关节运动适合机器人大范围运动时使用,不容易在运动过程 中出现关节轴进入机械死点得问题。目标点位置数据定义机器人 TCP点得运动目标,可以在示教器中单击“修改位置”进行修改。 运动速度数据定义速度(mm/s),转弯区数据定义转变区得大小mm, 工具坐标数据定义当前指令使用得工具,工件坐标数据定义当前 指令使用得工件坐标。
MoveC指令解析
5、2、3 运动指令得使用示例
运动速度一般最高为50000mm/s,在手动限速状态下,所有得运 动速度被限速在250mm/s。fine指机器人TCP达到目标点,在目标点 速度降为零。工业机器人动作有所停顿然后再向下运动,如果就是 一段路径得最后一个点,一定要为fine。转弯区数值越大,机器人 得动作路径就越圆滑与流畅。

高中信息技术必修课件while循环语句

高中信息技术必修课件while循环语句
首先执行外层while循环的条件判断,若条件满足则进入外层循环体。
02
执行内层循环
在外层循环体内,遇到内层while循环语句,执行内层循环的条件判断
,若条件满足则进入内层循环体。
03
内外循环交互
内层循环执行完毕后,返回到外层循环的下一个语句继续执行,直到外
层循环结束。若内层循环中有break或continue语句,会影响内外循环
案例三:猜数字游戏实现过程
01
代码实现
02
```python
import random
03
案例三:猜数字游戏实现过程
answer = random.randint(1, 100)
guess = int(input("请猜一个1到100之间的整数:"))
案例三:猜数字游戏实现过程
1
num_guesses = 0
变量在while循环中作用
控制循环次数
通过改变计数器变量的值,可以 控制while循环的执行次数。
存储中间结果
在循环过程中,变量可用于存储 计算过程中的中间结果。
作为条件判断依据
变量可以作为while循环条件判 断的依据,决定循环是否继续执
行。
数据类型与变量关系
数据类型决定了变量的存储方 式和取值范围,不同的数据类 型对应不同的变量类型。
在while循环中,需要根据实际 需求选择合适的数据类型和相 应的变量。
变量的正确使用和数据类型的 合理选择是编写高效、稳定程 序的基础。
05 while循环常见错 误与调试方法
常见错误类型及原因
无限循环
由于条件表达式设置不当,导致循环无法终止,程序陷入死循环 。
缺少更新语句

工业机器人课件-XStp指令的功能、语法结构和使用方法

工业机器人课件-XStp指令的功能、语法结构和使用方法

XStp指令的功能、语法结构
XStp指令的举例
1 XRun 2 ' 执行 : 10 XStp 2 ' 停止 11 Wait M_Wai(2)=1 ' 等待停止完了 : 20 XRun 2 ' 再开启
XStp指令的功能、语法结构
XStp指令的使用说明:
(1) XStp 可以使通常执行程序停止。 (2) 在通常执行程序内, 使用的情况下, 以参数 「ALWENA」 将值从 0 变更为 1, 将控制器的电源关闭再开启
暂停插槽、中断程序执行的基本流程:
XStp指令的功能、语法结构与使用方法
XStp指令的功能、语法结构与使用方法
XStp指令的功能
在程序上暂停指定的插槽,中止运行程序文件。
XStp指令的功能、语法结构
XStp指令的语法结构
格式:XStp □ < 插槽号码 >
XStp指令的参数
<插槽号码>:指定1 ~32的插槽号码。以常数或变量指定。

工业机器人课件-If指令的功能、语法结构和使用方法

工业机器人课件-If指令的功能、语法结构和使用方法

If指令的功能、语法结构
If指令的举例
③ 在Then或 Else里,并且记述 If…Then…Else…EndIf的联结情况下 30 If M1>10 Then 31 If M2 > 20 Then 32 M1 = 10 33 M2 = 10 34 Else 35 M1 = 0 36 M2 = 0 37 EndIf 38 Else 39 M1 = -10 40 M2 = -10 41 EndIf
If指令的功能、语法结构
使用说明:
(1) 以If ・・ Then ・・ Else ・・EndIf 的条件分支处理中,用 GoTo指令让其跳转的话,嵌套用内存(堆栈内存)会因耗尽而 发生报警。
(2)If语句最多可嵌套8次。 (3)可以使用Break语句跳出If语句结构。
以1行记述的时候10m1比10大的情况下跳转到标准l10011thenelse后面的goto可以省略12gotol20elsegotol30m1比10大的情况下跳转13到标准l10以下的情况下跳转到标准l30使用ifthenelseendif的联结构造时1011m11012movp113else14m11015movp216endifif指令的举例if指令的功能语法结构在then或else里并且记述ifthenelseendif的联结情况下3032m11033m21034else35m136m237endif38else39m11040m21041endif使用说明If指令的 Nhomakorabea能、语法结构
If指令的参数
(1)<条件表达式>:用比较表达式或逻辑表达式描述。 (4)<处理>:当If条件表达式为真Then需要执行的语句 或条件表达式值为假时Else需要执行的语句。

工业机器人课件-Wait指令的功能、语法结构

工业机器人课件-Wait指令的功能、语法结构
Wait指令的功能
待机,停在当前所在指令语句步,直到变量变成指定的值。
Wait指令的语法结构
Wait □ < 数值变量 > = < 数值常数 >
Wait指令的参数
<数值变量> :指定的数值变量。 例如输入输出信号变量(M_In、 M_Out等)。
<数值常数> :指定的数值常数。
Wait指令的功能、语法结构与使用方法
Wait指令的举例
① 信号的状态 1 Wait M_In(1)=1 ' 等待输入信号地址1的状态等于1 2 Wait M_In(3)=0 ' 等待输入信号地址3的状态等于0
② 多插槽的状态 3 Wait M_Run(2)=1 ' 等待2号插槽的运行中状态为真
③ 变量的状态 4 Wait M_01=100 ' 等待M状态waitmin11waitmin30等待输入信号地址3的状态等于0多插槽的状态waitmrun21等待2号插槽的运行中状态为真变量的状态waitm01100等待m01变量的数值等于100wait指令的功能语法结构与使用方法
Wait指令的功能、语法结构与使用方法
Wait指令的功能、语法结构与使用方法

工业机器人基础与实用教程(PPT课件)25

工业机器人基础与实用教程(PPT课件)25

建立RAPID程序
编制RAPID程序操作步骤如下:
①创建程序模块Module1
②创建4个例行程序,分别是 main1()、initial()、Routine1()、
rhome()
③创建系统输入“Start”信号与 数字输入信号di1关联,然后创 建喷涂“伺服电机开启”与数 字输出信号do1关联
建立RAPID程序
?选择main1例行程序然后单击显示例行程序在开始位置使用proccall指令调用initial初始化例行程序?添加while指令并将条件设定为true将初始化程序与正常喷涂路径程序隔开?使用if指令目的是判断di1的状态当di11时才能执行路径运动所以选中exp打开编辑菜单选择abc
RAPID程序编程与调试操作
⑯在“IF”指令下方添加 “WaitTime”指令,等待时间设 定为0.3秒
建立RAPID程序
编制RAPID程序操作步骤如下:
⑰打开“调试”菜单,单击 “检查程序”对程序的语法进 行检查
⑱单击“确定”按钮,若有语 法错误,系统会提示出错的位置 与操作建议。
调试RAPID程序
调试RAPID程序操作步骤如下:
机器人到达p10点位置 机器人到达p15点位置
调试RAPID程序
调试RAPID程序操作步骤如下:
单步调试喷涂轨迹运动指令的位置 是否合适。机器人从p20点运动到 p30点如图所示。
机器人到达p20点位置 机器人到达p30点位置
调试RAPID程序
调试RAPID程序操作步骤如下:
单步调试喷涂轨迹运动指令的位置 是否合适。机器人从p35点运动到 p40点如图所示。
机器人到达p35点位置 机器人到达p40点位置
调试RAPID程序
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
While指令的功能、语法结构与使用方法
While指令的功能、语法结构与使用方法
While指令的功能
反复执行While和WEnd语句之间的程序,直到不满足循环条件。
While指令的语法结构
Whileile指令的参数
< 循环条件 > 逻辑表达式
While指令的功能、语法结构与使用方法
While指令的举例
①当-5<M1<5,循环处理;超越范围时,跳出循环。 1 While (M1>=-5) And (M1<=5) ' 当-5<M1<5,循环处理。 2 M1=M1+1 ' M1 加上 1。 3 M_Out(8)=M1 ' 输出 M1 的值。 4 WEnd ' 返回到第1步语句。 5 End ' 程序结束。 ②从 While ~ WEnd 中通过 Break 指令跳出循环语句。 1 While (M1>=-5) And (M1<=5) '当-5<M1<5,循环处理。 2 M1=-(M1+1) ' M1 加上 1,反转符号。 3 M_Out(8)=M1 ' 输出 M1 的值。 4 If M_In(8)=1 Then Break ' 输入信号 8 开启则跳转到步号 6。 5 WEnd ' 返回 While 语句 (步 1)。 6 If M_BrkCq=1 Then Hlt
While指令的功能、语法结构与使用方法
While指令的说明
(1)在While语句里面可以再嵌套While语句,最好嵌套16 层; (2)不能在While语句里面使用Goto语句跳出,否则,经 过一定次数的循环后,最终会因堆栈内存不够而报警; (3)可以使用Break语句中途退出While语句; (4)While语句必须和WEnd语句配套使用。
相关文档
最新文档