PLC实现机器人的自动控制-.pdf
P L C实现机器人 的 自动控制 沈阳机床 集团成套设备有限责任公司 辽宁1 1 0 1 4 2 周永志袁少帅 工业机器人已经广泛应用于机械制造业中代替人完 成具有大批量 、高质量要求的工作。 2 0 世纪9 0年代,工业机器人的价格不断下降,而 性能则不断完善,如搬运能力、速度、工作范围、部件 数量及平均故障间隔时间都有较大改进,而价格也下降 了不少。这使机器人的广泛使用成为了必然的趋势。 机器人多用在自动工位上,由外围设备控制程序启 动和运行,实现自动控制。本文介绍 F A N U C系统机器 人由G E P L C实现 自动控制。 1 .系统的结构和功能 本系统是基于P R O F I B U S现场总线的工业过程控制 局域网。由P L C系统和机器人系统组成。本系统采用分 散型 I / O控制方案,与传统的集中型控制方案相 比,具 有节省电缆、排除故障方便等优点。系统结构如图 1 所 示 P R O F I B U S 通讯 j P R O F I B U S 通讯 电 源 输 c Pu IP通R O讯F模IB块U SII营 lc Pu l 通R O讯FI卡BUA lP通R O讯F 1卡B UB I f 雪 P L C系统包含一台 G E P L C 9 0 3 0可编程序控制器 和一台G E Q U I C K P A N E L触摸屏 HM I ,P L C完成机器人 的程序控制和信号采集,H M I 完成显示和控制管理功 能。机器人系统包含 F A N U C R J 3机器人及外 围设备组 成,设备之问通过 P R O F I B U S现场总线连接,机器人 P R O F I B U S A卡连接 P L C的 P R O F I B U S通讯模块,机器 人 P R O F I B U S B卡连接机器人的外围设备站点。P L C对 机器人的控制属于自动控制,通过 P L C实现不同条件时 对机器人不同程序的调用与控制,实现同一台机器人完 成不同工作的柔性化控制。同时机器人程序运行过程中 P L C对机器人的特定段进行分段控制,对特定运动区域 进行进入禁止保护,同时 P L C处理采集机器人及外围设 备信号。 2 . 软件设计 1 P L C与机器人 P R O F I B U S站点信息地址分配, P L C分配给机器人站点地址如表 1 所示 表1 站点号 输入起始号 输入长度 输出起始号 输出长度 2 0 I l 6 4位 8字节 Ql 6 4位 8字节 机器人站点地址 进入 S E T U P P R O F I B U SD P 图 1 D P S L A V E S E T U P设定如表 2所示 1 I I l- I I I I I - . “ 1 I _ .⋯I I I _ . ’ ‘ t- 。 - I I 『 - ’ .- _ l ”. - I I I l I . ⋯I _ 一 I h . I I l l I F I I _ - ‘ “I I { ⋯I P l -’ 。 I I ’ _ lI - | l I I I I I h 1 4 I I I I h h I I I J I I h I I I I 1 , 一 个临时耦合或分开一个临时耦合。 为了保证耦合功能稳定,主动轴与从动轴的响应一 致,所以主动轴与从动轴的速度环、位置环增益、加速 度等参数必须保持一致。 4 出现定位误差和轮廓误差报警,在从动轴数据 内设定以下参数 MD 3 2 4 0 0 AX J E R K _ E NA B L E a x i a l j e r k l imi t a t i o n 1 MD 3 2 4 0 2AX J ER K MODE 2 . MD 3 2 4 3 0J OG AND P OS MAX J ERK 0 . 5 MD 3 2 4 31 MAX AX J E R K V II X .axi s s p e c i fi c j e r k w i t h 龃2 0 1 0 年 第1 期 www. m et a/ wor k i n g 7 95 0 . t om 参磊 工冷 加 工 p a t h rl l o v e lt l e r l t 1 5 激活前馈功能参数如下 MD 3 2 6 2 0FF w M OD E 2或 3 , 设成扭矩 前馈控制或 速度前 馈控制 MD 3 2 6 3 0F F w ACT I VAT I ONMO D E 0 用 参数控 制 MD 3 2 6 3 0FF w AC T I VAT I ON MO D E 1 可以通过数 按控 编程指令 F F WO N和 F F WO F在程序中激活前馈控制 6 圆光栅只能配置在主动轴上。MW 收稿 日期2 0 0 9 0 9 1 1 表2 站点号 输入长度 输 出长度 2 0 6 4位 8字节 6 4位 8字节 机器人的输入输出物理地址与 P L C信号进行映射。 机器人外围设备 U I / U O专用信号组由系统定义, 这些信 号与 P L C连接,P L C用它们从外部控制机器人。u I 有 1 8位二进制输入,U O有 2 O位二进制输出,外围设备信 号会自动分配到 P L C的前 l 8个输出信号和 2 0个输入信 号, 其余数据信号只能分配 P L C输出的 1 9号和输入的 2 1号以后的物理序号 ,数据输入输出物理地址分配如表 3所示 表3 范 围 导轨号 插槽号 起始点 状态 D I 1 - 4 6 0 l l 9 起用 DO 1 1 4 4 0 l 2 】 起用 配置后 P L C与机器人的地址对应关系如表 4所示 表4 机器人 U I r l I 8 u o 1 2 O 1 D I f 1 4 6 D O 1 1 4 4 P L C Q1 一Q1 8 I l I 2 0 QI 9 --Q 6 4 I 2 l I 6 4 配置机器人输入输出信号的界面如图2所示 p e r r a l c o n f a t i o n s c r e e n TYPE 1 AI L 1N/ OUT I / 0 U O P I - J O I R I 1 0 l/ , ■ H‘E t , C l t SLO T S TAI S TAT 1哪 【l 一 0j 0 I I A C T l 0 U I l,一 1 6 1 0 l e A C T I 3 【 f 1 7- l Sl 0 t I 7 A f T l V 【 T Y P E I M O N I T O m I / D U g D E L E T E I I £ r 图2 配置机器人输入输出信号界面的选项定义①范围 R A N G E 。定义要分配的物理地址 的范 围。②导轨 R A C K 。导轨指明了组成 I / 0模块的硬件类型 0 I / 0印刷电路板。③插槽 S L O T 。插槽 S L O T 指明了 组成导轨的I / O模块序号。使用印刷板进程 I / O时,连 接的第一块板即为 S L O T I ,第二块为 S L O T 2 ,依此类 推。④开始点 S T A R T 。开始点分配了信号行到物理 序号的映射。物理序号指定 了 I / O模块的输入输出管 脚。逻辑序号分配到这个物理序号。 2 信号定义P L C控制机器人的外 围设备信号 U I / U O实现机器人的自动控制,U I / U O信号定义如下 u I[ 1 ]I M S T P急停输入信号 正常运行时为 】 ,急 停时为0 急停信号是软件为紧急停机定义的。 U I [ 2 ]H O L D暂停输入信号 正常运行时为 1 ,临 时停止时为0 临时停止信号指明了一个来 自外部设备 ; 熟 皇 签 丝 l 圈 ■■■■●■■■■■■■■■■■■_ ●■ ■I 二..二 ■一 的临时停机。 u I [ 3 ]S F S P D安全护栏输入信号 正常运行时为 1 ,安全护栏门打开时为 0 当安全护栏门打开,安全 速度信号会临时停止机器人。这个信号通常连接到安全 护栏门的安全插头上。 u I[ 5 ]R E S E T复位输入信号R E S E T信号消除报 警。如果伺服系统动力关闭, R E S E T信号打开伺服系统 电源。伺服系统电源打开,报警输出才会消除。R E S E T 信号回到默认值,报警会立即解除。 u I [ 6 ] S T A R T远程程序重新启动输入信号这是 一 个外部启动信号。这个信号功能是使临时停止的程序 继续运行 。 U I[ 91 6 ]P N S 1 到 P N S 8远程程序选择输入信号 一 组二进制程序信号。接收信号后 , 相应信号的 P N S 程 序被选中,开始执行 自动操作。当另外一个程序正在执 行或临时停止时,P N S 信号被忽略。 u I [ 1 7 ]P N S 1 一P N S 8 U I[ 9~1 6 ]P N S T R O B E选通 信号 在远程状态时有效 程序号选择信号的滤波信 号。当接收到 P N S T R O B E输入信号时,读取 P N S 1到 P N S 8的输入信号,选择一个要执行的程序。当另外一 个程序正在执行或临时停止时,忽略此信号。 u I [ 1 8 ] P R O D S T A R T远程程序启动输入信号和 P N S信号一起使用 ,这个信号从第一行执行由P N S信号 选择的程序。当有程序运行或程序临时停止时这个信号 被忽略。 几种典型状态时的 u I 信号的状态,即 P L C中对应 输出信号的状态如表 5所示。 表5 P L C信号状态 Ql Q 2 Q 3 0 5 Q 6 Q 9 QI O Q 1 1 机器人状 态信号 U I l UI 2 U I 3 U I 5 U I 6 Ul9 U 1 1 0 Ul 1 l H O ME准备好 1 l 1 0 0 0 0 O 调用 7号程序 1 1 1 O O l l l 7号程序启动 1 1 1 0 0 l 1 l 7号程序运行 l l 1 O O 1 l 1 7号程序重启动 l l 1 O l l l 1 P L C信号状 态 Q 1 7 Q l 8 机器人状态信号 U I l 7 U I 8 H OME准备好 O O 调用 7号程序 l 0 7号程序启 动 l l 7号程序运行 0 0 7号程序重启 动 0 0 磊 工冷 加 工 兰 堡 篁 塑■龃 WWW. m et al wo r k i n g1 95 0 . c orn U O[ 1 ] C M D E N B L 命令使能输出信号当 远程、操 作使能处于连续操作模式,非单步模式条件满足时,输 入接收使能信号。此时 P N S 程序可以由P L C调用启动。 U O[ 2 ]S Y S R D Y系统准备好输出信号当伺服系 统动力打开时,S Y S R D Y信号输 出。可以执行手动进 给,可以启动 P N S程序。当外围设备 I / 0 E N B L输入信 号打开、伺服系统不在警报状态条件满足时,机器人进 入操作有效状态。 U O[ 3 ]P R O G R U N程序运行输出信号程序正在运 行时输出该信号。程序临时停止时,不输出该信号。 U O[ 4 ]P A U S E D程序暂停输出信号程序临时停 止等待重新启动时,输出 P A U S E D信号。 U O[ 5 ]H O L D暂停反馈输出信号当保持键 H O L D 按下或 H O L D信号输入时, 输出 H O L D信号。当松开保 持键 H O L D 时,不输出 H O L D信号。 U O[ 6 ]F A U L T故障输出信号当系统产生警报时, 输出 F A U L T信号。 U O[ 7 ]A T P E R C H HO ME参考位置输出信号当机 器人在预先定义的三个参考位置的第一个时,输出该信 号。 U O[ 8 ]T P E N B L教导盒使能输出信号当教导盒的 使能开关为开时,输出T P E N B L信号。 U O[ 9 ]B A T A L M电池电压不足输出信号该信号 指出控制单元或者脉冲编码器的备用电池电压不足。 U O[ 1 0 ]B U S Y系统在运行输出信号当程序正在 运行,或者正在使用教导盒,输出 B U S Y信号。当程序 临时停止时,不输出B U S Y信号。 U O[ 1 l 一 1 8 ] S N O 1 到 S N O B 程序号选择反馈信号 S N O1 到 S N O B和 P N S功能一起使用。按照设置以二进 制码输出当前选择的程序号作为P N S信号的反馈。选择 另一个程序后, S N O 1到S N 0 8改变。 U O[ 1 9 ]S N A C K收到 P N S信 号反馈输出信号 S N A C K和 P N S 功能一起使用。当P N S输入信号被接收 时, 作为证实信号输出一个相应的脉冲信号。 几种典型状态时的U O信号的状态,即 P L C中对应 输入信号的状态,如表 6 所示。机器人典型状态流程图 如图3所示。 3 P L C软件设计当操作使能状态和远程条件满 足时,可以启动一个 P N S 程序。步骤如下 ①机器人控 I 2 0 1 0 年第1 期 WWW. m et a / wo r ki ng1 9 50 . c om 磊 工冷 加 工 表6 P L C信号 I 1 I 2 I 3 I 4 I 5 I 6 I 7 机器人状态信号 U 0 l U 0 2 U O 3 U 0 4 U 0 5 U 6 U 0 7 H O ME准备好 l l 0 0 O O 1 调用 7号程序 1 1 0 0 O O l 7号程序启 动 1 1 1 0 0 O 1 7号程序运行 l l l O 0 0 0 7号程序重启动 1 l 0 1 O O 0 1 } P L C信号 I 8 I 9 I l 0 I l 1 I l 2 I 1 3 I 1 9 机器人状 态信号 U 0 8 U 0 9 U 0l 0 U 01 1 U 0 l 2 U 01 3 U Ol 9 H O ME准备好 O 0 0 0 O O 0 调用 7号程序 0 0 0 1 l l 1 7号程序启动 0 0 1 1 1 l O 7号程序运行 O O 1 1 l l O 7号程序重启动 O 0 O 1 1 1 0 制单元接收到P L C发出的P N S T R O B E脉冲输入后,开始 按照二进制读取 P L C发出的P N S 1 到 P N S 8的输人信号。 当程序正在执行 或 者 临 时 停 止 时,这些信号会 被忽略。②机器 人的 反 馈 信 号 S N O 1 到S N O 8 是按 照配置用二 进制表明P N S号 的输出。同时机 器 人 会 有 一 个 S N A C K 脉 冲 信 号 输 出。③ 当 Q1 、 2 、 3 为1 , I I UO1 、 2 、 7 为1 L C准备好L J 机器人准备 L C 机 ; 统准{ r i 足7 导 I Q 9 、 1 0 、 1 l 、 l 7 为I I1 P L c 调用 程_『 孚 I _ _ _ _ _。 。 _ 。 。 。 _ _ _ _ _ _ _ _ _ _ _ _ __ 。 。 。 。 。 。 。 ● ● ● _ _ _ _ _ _ _一 ................... I ..... ....一 UO1 9 为l , 一个脉 冲 ,U O1 l 、 1 2 、 1 3 为1 , 机器人收到 P L C 信号 亡二 Q1 8 为 1 , 一个脉 冲 P L C 启动机 器人程序 图3 机器人典型状态流程图 P L C接收到 S N A C K信号时,P L C会像机器人检查 P N S 1 到P N S 8那样,检查 S N O I到 S N O 8输入值,如果 S N O 与 P N S号符 合,P L C送 出 自动 运行 开始 输 入信 号 P R O D S T A R T 。④机器人接收 P R O D S T A R T输入 信号,当P R O D --S T A R T信号为低时,选择的P N S程序 开始。 具体 P L C程序可以自由设计只要满足了上面的信号 关系,P L C用梯形图编辑可以顺利实现对机器人的自动 控制,实现预定的功能。MW 收稿日期2 0 0 9 1 0 1 1