《工业机器人现场编程》课件_第1页
《工业机器人现场编程》课件_第2页
《工业机器人现场编程》课件_第3页
《工业机器人现场编程》课件_第4页
《工业机器人现场编程》课件_第5页
已阅读5页,还剩160页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务1.1PLC和工业机器人数据通信ABB平台公司简介CATALOGUE通信数据打包与解包PLC通信编程Socket通信132目录工业机器人通信编程41通信数据打包与解包总线通信数据处理打包和解包RawBytes数据类型指令功能ClearRawBytes数据清除PackRawBytes数据打包UnpackRawBytes数据解包RawBytesLen、数据长度Byte;String;Num;PackRawBytes和UnPackRawByte指令PackRawBytesValue

RawData[\Network]StartIndex

[\Hex1]|[\IntX][\Float4]|[\ASCII]UnpackRawBytesRawData[\Network]StartIndex

Value

[\Hex1]|[\IntX][\Float4]|[\ASCII]参数Value待打包/解包的变量RawData用于打包/解包数据的容器变量[\Network]数值打包方式,大端法或小端法,默认为小端法StartIndex起始字节地址[\Hex1][\IntX][\Float4][\ASCII]待打包/解包数据的数据格式字节型(未指定)整型(整数)浮点数(实数)字符型(字符,字符串)数据类型长度Hex1:1字节IntX:1/2/4/8字节Float4:4字节ASCII:1-80字节单个RawData变量最多容纳1024字节数据…………实例-学生成绩班级Byte学号Num(Int)成绩Num(Float)姓名String班级Byte学号Num(Int)成绩Num(Float)姓名String学生成绩数据统计视频描述ClearRawBytes指令ClearRawBytesRawData[\FromIndex]参数RawDatarawbytes类型的变量FromIndex开始清除RawData开始位置功能清除rawbytes数据类型变量的内容且变量内容置0。123456789RawDataFromIndexRawBytesLen指令RawBytesLen(RawData)参数RawDatarawbytes类型的变量功能获取rawbytes变量中有效字节的当前长度,返回值为num。123456789RawBytesLen(RawData)返回值为9RawData学生成绩数据统计视频描述StrPart指令StrPart(StrChPos

Len)参数Str字符串数据ChPos截取开始位置Len截取字符串的长度功能在字符串变量中截取一部分,生成一个新的字符串。123456789Str(原字符串)Str(新字符串)ChPosLenStrLen指令StrLen(Str)参数Str字符串数据功能获取字符串的长度。123456789StrLen(Str)返回值为9Str(字符串)学生成绩数据统计视频描述2Socket通信网络通信模型应用层表示层会话层传输层网络层数据链路层物理层为用户应用程序服务数据格式变化、加解密、压缩解压管理节点连接、数据交换处理数据包错误、收发包次序节点链路及路由选择介质访问和链路管理有线、无线物理连接TCP通信模型应用层表示层会话层传输层网络层数据链路层物理层应用层传输层网络层数据链路层物理层应用软件交换机/路由器交换机/路由器网桥、网卡中继器、集线器、双绞线Socket应用层传输层网络层数据链路层物理层Socket抽象层接口Socket工作原理概述设备拨号连接说听挂机设备分配分机待机接听听说听挂机客户端服务器端Socket工作原理SocketCreateSocketConnectSocketSendSocketReceiveSocketCloseSocketCreateSocketBindSocketListenSocketAcceptSocketReceiveSocketSendSocketClose客户端(机器人)服务器端(机器人)Socket指令SocketCreateSocketConnectSocketSendSocketReceiveSocketClose客户端指令SocketCreateSocket[\UDP]参数Socket用于储存系统内部套接字数据的变量[\UDP]可选参数,使用UDP协议。默认使用TCP协议,不启用该参数。功能创建Socket套接字。例:SocketCreatesocket1;程序数据:socketdevSocket指令SocketCreateSocketConnectSocketSendSocketReceiveSocketClose客户端指令SocketConnectSocketAddressPort[\Time]参数Socket未使用的套接字Address远程计算机的IP地址,不能使用名称Port远程计算机上端口[\Time]等待时间,默认不使用参数为60秒。永久等待可使用预定义常量WAIT_MAX。功能与目标计算机建立socket连接。例:SocketConnectsocket1,"192.168.0.1",1025;Socket指令SocketCreateSocketConnectSocketSendSocketReceiveSocketClose客户端指令SocketSendSocket[\Str]|[\RawData]|[\Data][\NoOfBytes][\Time]参数Socket建立连接使用的套接字[\Str][\RawData][\Data]支持的发送数据类型。Str为字符串;Data为字节(数组);RawData为数据容器(一般用于混合数据类型的存储);[\NoOfBytes]指定发送的字节数[\Time]等待时间,默认不使用参数为60秒。永久等待可使用预定义常量WAIT_MAX。功能与目标计算机建立socket连接。例:SocketSendsocket1\Str:="Helloworld";Socket指令SocketCreateSocketConnectSocketSendSocketReceiveSocketClose客户端指令SocketReceive

Socket

[\Str]|[\RawData]|[\Data][\ReadNoOfBytes][\NoRecBytes][\Time]参数Socket建立连接使用的套接字[\Str][\RawData][\Data]支持的接收数据类型[\ReadNoOfBytes]指定读取的字节数[\NoRecBytes]接收到的字节数[\Time]等待时间,默认不使用参数为60秒。永久等待可使用预定义常量WAIT_MAX。功能与目标计算机建立socket连接。例:SocketReceivesocket1\Str:=str_data;Socket指令SocketCreateSocketConnectSocketSendSocketReceiveSocketClose客户端指令SocketCloseSocket参数Socket待关闭的套接字功能关闭套接字。例:SocketClosesocket1;SocketGetStatus函数SocketGetStatus(Socket)参数Socket目标套接字功能获取目标套接字的状态。程序数据:socketdstatus状态名状态SOCKET_CREATED已创建套接字SOCKET_CONNECTED已建立连接SOCKET_BOUND套接字已绑定SOCKET_LISTENING正在监听SOCKET_CLOSED。套接字已关闭SocketGetStatus例status:=SocketGetStatus(socket1);IFstatus=SOCKET_CREATEDTHEN ……ELSEIFstatus=SOCKET_CLOSEDTHEN ……ELSEIFstatus=SOCKET_BOUNDTHEN ……ELSEIFstatus=SOCKET_LISTENINGTHEN ……ELSEIFstatus=SOCKET_CONNECTEDTHEN ……ENDIF网络调试建立socket连接发送“huibo”接收调试助手数据关闭socket连接网络调试助手Socket测试程序视频描述3PLC通信编程接口设备间接控制以太网IO模块步进伺服RFID接口设计-立体仓库基本功能:库位状态显示扩展功能:工件信息录入及反馈;订单及订单操作;接口类型功能描述库位状态PLC→Robot显示库位工件有无库位状态操作Robot→PLC(待功能扩展)工件信息PLC→Robot初期工件信息录入工件信息反馈Robot→PLC机器人操作后工件信息更新接口设计-旋转供料基本功能:水平旋转变位机扩展功能:位置控制接口类型功能描述系统状态PLC→Robot模块(工艺对象)的状态系统命令Robot→PLC使能、暂停、急停等操作运动状态PLC→Robot运动命令的执行状态运动命令Robot→PLC点动、相对运动、绝对运动等接口设计-变位机基本功能:水平翻转变位机扩展功能:位置控制接口类型功能描述伺服状态PLC→Robot伺服驱动器状态伺服命令Robot→PLC启动等操作当前位置PLC→Robot变位机(电机)当前位置目标位置Robot→PLC目标位置设定当前速度PLC→Robot变位机当前速度目标速度Robot→PLC运动速度设定外部轴的使用方式相同,区别为位置表达方式为距离(mm)接口设计-RFID基本功能:对RFID芯片读写扩展功能:对芯片存储器及信息的规划。接口类型功能描述RFID状态PLC→Robot命令的执行状态RFID命令Robot→PLC读写复位等操作工序PLC→Robot读取的步骤信息工序Robot→PLC工作步骤(信息存储区)日期PLC→Robot读取到的日期日期Robot→PLC待写入的日期时间PLC→Robot读取到的时间时间Robot→PLC待写入的时间信息PLC→Robot读取到的信息信息Robot→PLC待写入的信息接口设计-自定义数据功能:预留其它设备或应用的临时接口。接口类型功能描述自定义整型PLC→Robot整数的通信自定义整型Robot→PLC整数的通信自定义实数PLC→Robot实数的通信自定义实数Robot→PLC实数的通信硬件名称型号固件版本备注PLC1215CDC/DC/DC4.2考核环境中为4.1RFIDRF120C1.0插槽101RS485CM12412.1插槽102(伺服驱动器通信)PLC硬件组态添加PLC,软件组态与硬件一致DB块使用地址寻址与符号寻址自定义数据接口PLC发送长度为16的整型数组和实数数组分别表示自定义的数据;PLC接收长度为16的整型数组和实数数组分别表示自定义的数据;PLCTOROBOTROBOTTOPLC立体仓库数据接口PLCTOROBOTROBOTTOPLCPLC发送长度为6的USInt数组表示库位物料状态;长度为6的USInt数组表示库位物料信息;PLC接收长度为6的USInt数组表示库位物料状态;长度为6的USInt数组表示库位物料信息;旋转供料数据接口PLCTOROBOTROBOTTOPLCPLC发送1个Int表示旋转供料系统状态;1个Int表示旋转供料指令执行反馈;PLC接收1个Int表示旋转供料系统命令;1个Int表示旋转供料运行命令;变位机数据接口PLCTOROBOTROBOTTOPLCPLC发送1个Word表示变位机状态;1个DWord表示变位机当前位置;1个Int表示变位机当前速度;PLC接收1个Word表示变位机命令;1个DWord表示变位机目标位置;1个Int表示变位机目标速度;行走轴数据接口(选配)PLCTOROBOTROBOTTOPLCPLC发送1个Word表示行走轴状态;1个DWord表示行走轴当前位置;1个Int表示行走轴当前速度;PLC接收1个Word表示行走轴命令;1个DWord表示行走轴目标位置;1个Int表示行走轴目标速度;RFID数据接口PLCTOROBOTROBOTTOPLCPLC发送1个Int表示RFID状态反馈;1个Int表示RFID_SEARCHNO;长度28的字符数组表示读取的芯片信息(含日期、时间、其它信息);PLC接收1个Int表示RFID命令;1个Int表示RFID_STEPNO;长度28的字符数组表示待写入芯片的信息;PLC硬件组态及接口变量创建创建变量视频描述以太网SOCKET名称机器人PLCSocket客户端服务器IP地址192.168.101.100192.168.101.13端口号主动连接2001PLC与机器人通信数据类型:DWORD;数值:REALABCDDCBA数据类型:WORD;数值:INT小端法AB大端法BA不同设备的数值存储格式可能不同,需要处理到一致。(大端法与小端法)数据读取顺序Swap指令,交换排列顺序。支持word,dword格式,需在指令中设定。对象数据类型数据顺序示值机器人发送数据INT000000011PLC接收数据INT00010000256数据处理顺序交换PLC数据解析创建两组相同的收发数据,通过数据处理交换数值变量读取顺序。其中一组用于PLC端直接使用,另一组用于机器人端直接使用。TCP服务器指令-TSEND_C建立连接并发送数据序号参数类型功能1REQIn启动2CONTIn通断3LENIn长度4CONNECTInOut连接参数5DATAInOut数据指针6ADDRInOutUDP地址7COM_RSTInOut重置连接8DONEOut执行完成9BUSYOut执行中10ERROROut执行出错11STATUSOut指令状态通信组态-连接参数数据指针指向一个数据区域,例如P#DB46.DBX0.0BYTE8,或P#M1000.0WORD88参数意义P#指针固定格式

DB46. 区域所在DB块,若使用M区则无DBX0.0 数据区起始地址(位)BYTE 数据格式(bool,byte,word,dword)8数量(长度)X0X1X2X3X4X5X6X701234567TCP服务器指令-TRCV_C建立连接并接收数据连接设置共用序号参数类型功能1EN_RIn启动2CONTIn通断3LENIn长度4ADHOCIn5CONNECTInOut连接参数6DATAInOut数据指针7ADDRInOutUDP地址8COM_RSTIn重置连接9DONEOut执行完成10BUSYOut执行中11ERROROut执行出错12STATUSOut指令状态13RCVD_LENOut接收数据量程序编写验证视频描述

PLC与机器人通信4机器人通信编程多任务通信实时性并行任务Multitask任务间数据交互可变量同名同类型多任务设置序号参数名称参数功能1Task任务名称2TaskinForeground任务优先级3Type类型(启停和重启动作)4MainEntry主程序入口(名称)5CheckUnsolvedReferences未决引用项检查(是否报错)6TrustLevel信任等级(错误关联)7MotionTask是否运动任务8UseMechanicalUnitGroup使用机械单元组9Hidden是否隐藏显示10RMQType是否使用RMQ11RMQModeRMQ最大数据最多20个程序编写验证视频描述

建立多任务自定义程序数据自定义结构体使用便捷提高程序可读性降低误操作可能性创建自定义程序数据RobotStudio环境Record指令数据结构使用基本数据类型无法使用数组结合目标对象设计接口Home目录下的user.sys可使每个任务创建时自动加载声明变量(可变量)数据类型变量名功能Stack(立体仓库)stateout工件状态输出objectout工件信息输出statein工件状态输入objectin工件信息输入Rotate(旋转供料)rotatestate状态(输入)rotatecon控制(输出)Turn(变位机)turncon变位机控制turnstate变位机状态数据类型变量名功能Linear(行走轴,选配)linearcon行走轴控制linearstate行走轴状态Rfid(RFID)rfidconRFID控制rfidstateRFID状态Userdefine(自定义数据)datain自定义数据输入dataout自定义数据输出

在需要数据传递的两个任务中创建同名的可变量,其中一个发生变化,另一个也随之变化。程序编写验证视频描述

自定义数据类型创建程序结构主程序(main)数据初始化以客户端形式连接无限循环

接收数据

解包数据

打包数据

发送数据错误处理,程序重启打包程序打包前先清空发送的rawdata数据(初始化)将自定义整型数据取整防止因输入实数导致数据长度错误打包顺序与PLC端的变量接口一致RFID数据中name字段需编写字符串处理程序使长度固定。日期使用CDate函数,时间使用CTime函数,最后使用“|”结尾。解包程序数据无法直接解包至可变量,需创建用于接收数据的变量,再从变量赋值到对应的可变量。解包数据不适合使用rawbyteslen指令指定数据地址,应按照数据顺序指定实际位置。解包顺序与PLC端的变量接口一致程序编写验证视频描述

机器人与PLC通信ABB平台立体仓库(中级)公司简介CATALOGUE立体库模块的介绍1目录立体库模块服务器配置和调试32立体库模块硬件构成智能仓储系统设计4智能仓储系统程序编辑与调试52.1立体库模块的介绍

仓储管理在制造加工和物流管理中占据重要地位,随着制造环境的智能程度提升,产品制造周期缩短,生产模式呈现多样化,对原材料、半成品和成品的存储要求越来越高。在智能制造系统中,智能仓储是运用传感检测技术、网络通讯技术及自动控制技术等,将仓库的物料出入由人工取送转变至根据生产流程自动进行存储。立体仓库模块立体仓库模块TCP/IP协议分层框架

以太网是一种基带局域网技术,以太网通信是一种使用同轴电缆作为网络媒体,采用载波多路访问和冲突检测机制的通信方式,数据传输速率达到1Gbit/s,可满足非持续性网络数据传输的需要。通用的以太网通信协议是TCP/IP协议。

智能仓储模块

仓储模块是由6个仓位组成,用于存放电机样件。每个仓位安装有光电传感器,传感器与以太网IO模块连接,当仓位检测到有物料/时,传感器会将有料信号反馈至物料检测寄存器中。工业以太网I/O模块型号以太网MODBUS-TCP协议DITCP-507T1支持8通讯协议MODBUS-TCPIP地址192.168.101.75(主站)端口号502功能和数据类型位输入寄存器起始地址10001数据长度8对应通道DI0-DI7智能仓储模块通信协议2.2立体库模块硬件构成智能仓储模块安装完成成品智能仓储模块—24V电源仓储模块24V电源接口智能仓储模块—24V电源24V电源线的另一端连接到通用电气接口板的J4或者J7接口。智能仓储模块—以太网通信仓储模块以太网通信线接口以太网通信线的另一端连接到通用电气接口板的任意网口上。智能仓储模块—以太网通信2.3立体库模块服务器配置和调试智能仓储模块—恢复出厂设置

仓库模块回复出厂设置按钮,按下按钮直到模块上蓝色的灯闪烁后松开仓库模块自动恢复到192.168.1.75的网址智能仓储模块—服务器配置

在使用配置仓储模块的地址前需要更改当前电脑网段,需要在192.168.1.XXX网段智能仓储模块—服务器配置TCP/IP通道处的模块IP地址需设置为192.168.1.75IP地址设置完成后选择通讯接口TCP/IP,点击系统配置读智能仓储模块—服务器配置

本机以太网配置中将IP地址改为192.168.101.75IP地址设置完成后点击系统配置写

信息框中显示写配置信息成功,表示模块IP地址配置完成。智能仓储模块—服务器配置智能仓储模块—服务器配置

更改电脑网段至192.168.101.XXX网段,并打开配置模块IP地址软件,更改模块当前地址为192.168.101.75并点击系统配置读,信息栏显示操作成功则验证地址更改成功智能仓储模块—服务器配置2.4智能仓储系统设计MODBUS-TCP名称仓储模块PLCMODBUS-TCP主站从站IP地址192.168.101.75192,168.101.13端口号502主动连接库位检测1:有0:无智能仓储:库存管理订单处理出入库管理Socket名称PLCPLCSOCKET主站从站IP地址192.168.101.13192,168.101.100端口号2001主动连接智能仓储模块通信MODBUS-TCP库位检测1:有0:无数据块DB_TCP_DIO名称数据类型说明"DB_TCP_DIO.MODBUS_TCP-CONNECT"TCON_IP_v4PLC与仓储模块的通讯连接参数"DB_TCP_DIO.DI"Array[0..7]ofBool仓储模块的库位检测信息智能仓储模块通信智能仓储:库存管理订单处理出入库管理Socket数据块DB_PLC_STATUS名称数据类型说明DB_PLC_STATUS.PLC_STATUSStructPLC状态DB_PLC_STATUS.库位物料Array[0..5]ofUSInt当前的库位占用情况DB_PLC_STATUS.库位信息Array[0..5]ofUSInt当前物料情况数据块DB_RB_CMD名称数据类型说明DB_RB_CMD.RB_CMD.RB_CMDStruct机器人命令DB_RB_CMD.RB_CMD.库位物料Array[0..5]ofUSInt库位使用申请DB_RB_CMD.RB_CMD.库位信息Array[0..5]ofUSInt物料信息录入智能仓储模块通信接口工业以太网I/O模块型号以太网MODBUS-TCP协议DITCP-507T1支持8通讯协议MODBUS-TCPIP地址192.168.101.75(主站)端口号502功能和数据类型位输入寄存器起始地址10001数据长度8对应通道DI0-DI7智能仓储模块通信协议参数说明REQ使用系统变量,常闭-实时读取DISCONNECT常开,可使用false或0MB_MODE模式,0为读取MB_DATA_ADDR寄存器起始地址,固定值10001MB_DATA_LEN数据长度,固定值8MB_DATA_PTR数据指针(存储区描述)CONNECT连接参数智能仓储模块—函数块2.5智能仓储系统程序编辑与调试立体仓库通讯——寄存器创建MODBUS_TCP-CONNECT:用于通讯连接的配置参数非必要单独数据块非优化块(符号访问/地址访问)参数需与连接设置相同DI:PLC接收到的仓库信息使用非优化块此处为bool型,对应寄存器数据类型数据块DB_TCP_DIO名称数据类型说明ModbusTCON_IP_v4PLC与仓储模块的通讯连接参数DIArray[0..7]ofBool仓储模块的库位检测信息工业以太网I/O模块型号以太网MODBUS-TCP协议DITCP-507T1支持8通讯协议MODBUS-TCPIP地址192.168.101.75(主站)端口号502功能和数据类型位输入寄存器起始地址10001数据长度8对应通道DI0-DI7根据以太网I/O模块的参数编写程序立体仓库通讯——函数块的编写BOOL-SINT类型转换:通过增设条件判断当前库位有无是否为真,若为真则将1赋值给DB_PLC_STATUS".PLC_Status.库位物料;若为假则将0赋值给DB_PLC_STATUS".PLC_Status.库位物料智能仓储模块—库位数据解析智能仓储模块—库位数据解析

下载程序到PLC,并在线监控stackdata数据块。立体仓库通讯——验证立体仓库通信

在任意位置中放置一个物料或者遮挡住光电感应器,对应的DI信号为TRUE则表示通信正常。立体仓库通讯——验证立体仓库通信1.3旋转供料应用编程(中级)公司简介CATALOGUE1.3.1旋转供料模块介绍1目录1.3.3旋转供料模块控制程序设计321.3.2旋转供料模块的安装与调试1.3.4旋转供料模块控制程序调试4技能要求旋转供料应用编程1能够根据工作任务要求,掌握旋转供料的控制原理。2能够根据工作任务要求,编制旋转供料控制程序

。旋转供料应用编程主要控制旋转供料进行指定运动。1.3.1步进系统介绍步进电机控制原理

步进电机是一种将脉冲信号变换成相应的角位移(或线位移)的电磁装置,是一种特殊的电动机。一般电动机都是连续转动的,而步进电动机则有定位和运转两种基本状态,当有脉冲输入时步进电动机一步一步地转动,每给它一个脉冲信号,它就转过一定的角度。集成定位轴工艺对象集成定位轴工艺对象名称数据类型地址旋转料盘原点Bool%I1.0旋转供料步进_脉冲Bool%Q0.0旋转供料步进_方向Bool%Q0.1旋转供料模块的调试——新增工艺对象名称参数负载5Kg速度20.0°/s加速时间0.5s减速时间0.5s急停时间0.1s寻原方式正向寻原(I1.0)逼近速度15.0°/s回原点速度10.0°/s减速比80:1控制方式脉冲+方向(P+D)Pulse1(Q0.0+Q0.1)单圈脉冲当量6400旋转供料工艺轴更改名称名称参数负载5Kg速度20.0°/s加速时间0.5s减速时间0.5s急停时间0.1s寻原方式正向寻原(I1.0)逼近速度15.0°/s回原点速度10.0°/s减速比80:1控制方式脉冲+方向(P+D)Pulse1(Q0.0+Q0.1)单圈脉冲当量6400驱动器设置电机轴单圈运行角度÷减速比=电机每转的负载位移360°÷80=4.5°名称参数负载5Kg速度20.0°/s加速时间0.5s减速时间0.5s急停时间0.1s寻原方式正向寻原(I1.0)逼近速度15.0°/s回原点速度10.0°/s减速比80:1控制方式脉冲+方向(P+D)Pulse1(Q0.0+Q0.1)单圈脉冲当量6400机械参数设置名称参数负载5Kg速度20.0°/s加速时间0.5s减速时间0.5s急停时间0.1s寻原方式正向寻原(I1.0)逼近速度15.0°/s回原点速度10.0°/s减速比80:1控制方式脉冲+方向(P+D)Pulse1(Q0.0+Q0.1)单圈脉冲当量6400运动参数设置急停设置名称参数负载5Kg速度20.0°/s加速时间0.5s减速时间0.5s急停时间0.1s寻原方式正向寻原(I1.0)逼近速度15.0°/s回原点速度10.0°/s减速比80:1控制方式脉冲+方向(P+D)Pulse1(Q0.0+Q0.1)单圈脉冲当量6400名称参数负载5Kg速度20.0°/s加速时间0.5s减速时间0.5s急停时间0.1s寻原方式正向寻原(I1.0)逼近速度15.0°/s回原点速度10.0°/s减速比80:1控制方式脉冲+方向(P+D)Pulse1(Q0.0+Q0.1)单圈脉冲当量6400回零设置回零设置正向寻原点路径:旋转供料转盘正向旋转→触发原点信号→转盘减速至反向旋转→触发原点信号→转盘正向加速至正向旋转→触发原点信号→转盘减速至反向旋转→触发原点信号→转盘停止寻原完成。1.3.2旋转供料模块安装与调试模块安装工艺对象配置旋转供料模块运行测试1.3.3旋转供料控制程序设计旋转供料模块控制逻辑说明功能系统功能使能控制系统复位运行控制点动控制回原点相对位移数据块DB_PLC_STATUS名称数据类型说明DB_PLC_STATUS.PLC_STATUSStructPLC状态DB_PLC_STATUS.旋转供料系统状态Int旋转供料系统状态DB_PLC_STATUS.旋转供料指令执行反馈Int旋转供料指令执行反馈数据块DB_RB_CMD名称数据类型说明DB_RB_CMD.RB_CMD.RB_CMDStruct机器人命令DB_RB_CMD.RB_CMD.旋转供料命令Int旋转供料命令DB_RB_CMD.RB_CMD.旋转供料运行指令Int旋转供料运行指令旋转供料模块程序设计——命令与状态数据旋转供料模块的“命令”与“状态”数据,遵守《应用编程平台数值型变量解析规则》//旋转供料//机器人-PLC旋转供料命令写入"DB_RB_CMD".RB_CMD.旋转供料命令:=SWAP_WORD("DB_RB_CMD".PLC_RCV_Data.旋转供料系统命令);"DB_RB_CMD".RB_CMD.旋转供料运行指令:=SWAP_WORD("DB_RB_CMD".PLC_RCV_Data.旋转供料运行指令);//PLC-机器人旋转供料状态反馈"DB_PLC_STATUS".PLC_Send_Data.旋转供料系统状态:=SWAP_WORD("DB_PLC_STATUS".PLC_Status.旋转供料系统状态);"DB_PLC_STATUS".PLC_Send_Data.旋转供料指令执行反馈:=SWAP_WORD("DB_PLC_STATUS".PLC_Status.旋转供料指令执行反馈);旋转供料模块程序设计——控制字定义控制字定义旋转供料命令[系统命令,运行指令]

系统命令:

旋转供料轴使能:使能=1;报警复位=2;下使能=0;

旋转供料运动指令:寻原点=1;相对位移=2;正转=30;反转=40;RB→PLCDB_RB_CMD.RB_CMD.旋转供料命令RB→PLCDB_RB_CMD.RB_CMD.旋转供料运行指令旋转供料状态[系统状态,指令执行情况]

系统命令:

旋转供料轴状态:使能=1;报警=2;指令执行情况:

旋转供料运动状态:回零命令确认=1,回零完成=11;相对位移命令确认=2,相对位移完成=12(单次运行60°);PLC→RBDB_PLC_STATUS.PLC_Status.旋转供料系统状态PLC→RBDB_PLC_STATUS.PLC_Status.旋转供料指令执行反馈指令功能MC_Power上电MC_Reset复位MC_Home回原点MC_Halt暂停MC_MoveAbsolute绝对位置运动MC_MoveRelative相对位置运动MC_MoveVelocity以设定速度运动MC_MoveJog点动MC_CommandTable指令表运动MC_ChangeDynamic更改参数MC_WriteParam写入参数MC_ReadParam读取参数工艺对象运动控制指令MC_PowerMC_Power上电参数说明数据类型Axis工艺轴TO_AxisEnable启用命令BoolStopMode停止模式,使用默认值0INTStatus执行命令完成状态BoolError执行命令期间出错Bool控制方式使用说明机器人将机器人rotate变量中的rotatecon.syscon赋值为1,旋转供料上使能。MC_RestMC_Rest复位参数说明数据类型Axis工艺轴TO_AxisExecute启用命令BoolDone执行命令完成状态BoolError执行命令期间出错Bool控制方式使用说明机器人将机器人rotate变量中的rotatecon.syscon赋值为2,旋转供料复位。MC_HomeMC_Home回原点参数说明数据类型Axis工艺轴TO_AxisExecute回原点(启动)BoolPosition轴参考点位置RealMode回零模式,一般使用3INTDone执行命令完成状态BoolError执行命令期间出错Bool控制方式使用说明机器人将机器人全局rotate变量中的rotatecon.concom赋值为1,旋转供料开始回原点。MC_MoveReltiveMC_MoveRelative相对位移参数说明数据类型Axis工艺轴TO_AxisExecute相对运动(启动)BoolDistance相对当前位置偏移RealVelocity运行速度,使用默认值10.0RealDone执行命令完成状态BoolError执行命令期间出错Bool控制方式使用说明机器人将机器人全局rotate变量中的rotatecon.concom赋值为2时,旋转供料开始相对位移。MC_MoveJogMC_MoveJog点动参数说明数据类型Axis工艺轴TO_AxisJogForward轴正转BoolJogBackward轴反转BoolVelocity运行速度,使用默认值10.0RealInVelocity已到达轴目标速度BoolError执行命令期间出错Bool控制方式使用说明机器人将机器人全局rotate变量中的rotatecon.concom,赋值为30时旋转供料正转;将机器人全局rotate变量中的rotatecon.concom,赋值为40时旋转供料反转旋转供料模块程序设计——系统状态系统状态反馈:

初始状态:上电初始时行状态

旋转供料未控制时控制方式使用说明PLC将机器人全局rotate变量中的rotatestate.syscom,接收值为10时为上电初始化。旋转供料模块程序设计——系统状态

旋转供料轴状态:轴已启用=1;轴指令报错=2:控制方式使用说明PLC将机器人全局rotate变量中的rotatestate.syscom,接收值为1时表示轴启用,接收值为2时表示轴命令错误。旋转供料模块程序设计——运行状态指令执行情况:

旋转供料运动状态:回零完成=11;回零命令确认=1;控制方式使用说明PLC将机器人全局rotate变量中的rotatestate.concom,接收值为11时表示轴回零完成,接收值为1时表示轴回零命令确认。旋转供料模块程序设计——运行状态指令执行情况:

旋转供料运动状态:相对位移完成=12;相对位移命令确认=2(单次运行60°);控制方式使用说明PLC将机器人全局rotate变量中的rotatestate.concom,接收值为12时表示轴相对位移完成,接收值为2时表示轴相对位移命令确认。任务1.4电机装配综合应用编程ABB平台公司简介CATALOGUE任务提出任务实施知识准备132目录拓展练习41任务提出工业机器人旋转供料单元快换装置智能仓储单元搬运模块任务提出开始装配之前,需要手动将两个电机外壳随机放置到旋转供料模块上,将两个电机转子和两个电机端盖放置到搬运模块指定位置,装配完成的电机部件随机放置到立体库上。进行PLC组态和编程,建立PLC和工业机器人通信,实现立体库电机部件信息检测,电机外壳的旋转供料,完成两套电机部件的装配,并将装配完成的电机成品放置到立体库中两个空缺的仓位,具体装配步骤如下:1.PLC组态和通信编程;2.旋转供料单元电机上料;3.机器人自动抓取平口手爪工具;4.机器人抓取电机转子并装配到电机外壳中;5.机器人抓取电机端盖并装配到电机转子上;6.机器人抓取电机部件成品,搬运至立体库中空余位置。7.循环步骤2-5完成第二套电机部件的装配和入库。2知识准备知识准备1-电机装配部件知识准备2-电机装配流程分析机器人和旋转供料复位开始机器人抓取平口手爪旋转供料运行至上下料位置抓取并装配第一套电机转子抓取并装配第一套电机端盖抓取成品并搬运到立体仓库中旋转供料运行至上下料位置抓取并装配第二套电机转子抓取并装配第二套电机端盖抓取成品并搬运到立体仓库中机器人放置平口工具并复位结束知识准备3-电机装配输入信号输入信号功能说明输入信号功能说明EXDI12快换工具检测信号STPB绿色启动按钮EXDI13快换工具检测信号SPPB红色停止按钮EXDI14快换工具检测信号EMG1急停按钮EXDI15快换工具检测信号Stackstatein智能仓储单元库位状态EXDI2旋转供料单元工件检测1rotaterotatestate旋转供料状态信号EXDI3旋转供料单元工件检测2DI9手爪闭合信号DI10手爪张开信号知识准备-电机装配输出信号输出信号功能说明输出信号功能说明YV1主盘钢珠缩回rotaterotatecon旋转供料控制命令YV2主盘钢珠张开YV3手爪张开YV4手爪闭合3任务实施任务实施-电机装配位置示教

序号

位置名称

数据类型

功能说明1

toolPos

robtarget取放平口手爪工具位置2rotorpick1

robtarget第一个转子抓取位置3rotorpick2

robtarget第二个转子抓取位置4rotorput

robtarget转子装配位置5cappick1

robtarget第一个端盖抓取位置6cappick2

robtarget第二个端盖抓取位置7capput

robtarget端盖装配位置任务实施-关节装配位置示教

序号

位置名称

数据类型

功能说明8

motorpick

robtarget电机成品抓取位置9store{1}

robtarget电机成品放置位置110store{2}

robtarget电机成品放置位置211store{3}

robtarget电机成品放置位置312store{4}

robtarget电机成品放置位置413store{5}

robtarget电机成品放置位置514store{6}

robtarget电机成品放置位置6任务实施-电机装配位置示教图(10)电机成品放置位置示例2图(2)第一个转子抓取位置图(3)第二个转子抓取位置图(4)转子装配位置图(5)第一个端盖抓取位置图(6)第二个端盖抓取位置图(7)端盖装配位置图(8)电机成品抓取位置图(9)电机成品放置位置示例1图(1)平口手爪取放位置任务实施-电机装配位置示教位置名称数据类型功能说明TooLPosRobtarget取放平口工具位置任务实施-电机装配位置示教图(1)第一个转子抓取位置图(2)第二个转子抓取位置图(3)转子装配位置图(4)端盖抓取位置图(5)端盖装配位置图(6)电机成品抓取位置位置名称数据类型

功能说明rotorpick1

robtarget第一个转子抓取位置rotorpick2

robtarget第二个转子抓取位置rotorput

robtarget转子装配位置cappick1

robtarget第一个端盖抓取位置cappick2

robtarget第二个端盖抓取位置capput

robtarget端盖装配位置

motorpick

robtarget电机成品抓取位置任务实施-电机装配位置示教位置名称数据类型功能说明store{1}Robtarget智能仓储仓位位置1store{2}Robtarget智能仓储仓位位置2store{3}Robtarget智能仓储仓位位置3store{4}Robtarget智能仓储仓位位置4store{5}Robtarget智能仓储仓位位置5store{6}Robtarget智能仓储仓位位置6123456任务实施-电机装配综合编程-抓取平口手爪程序ToolPick()程序号程序程序注释12345678910111213MoveAbsJhome\NoEOffs,v1000,z50,tool0;MoveJtoolReady,v1000,fine,tool0;MoveJOffs(toolPos,0,0,120),v1000,fine,tool0;SetYV1;ResetYV2;WaitTime1;MoveLtoolPos,v1000,fine,tool0;SetYV2;ResetYV1;WaitTime1;MoveLOffs(toolPos,0,0,120),v1000,fine,tool0;MoveJtoolReady,v1000,fine,tool0;MoveAbsJhome\NoEOffs,v1000,z50,tool0;工业机器人回到工作原点工业机器人到达抓取工具准备点工业机器人到达平口手爪工具上方钢珠缩回机器到达平口手爪抓取点钢珠张开,锁紧子盘工业机器人到达平口手爪工具上方工业机器人到达抓取工具准备点工业机器人回到工作原点任务实施-放置平口手爪程序ToolPut()程序号程序程序注释123456789101112MoveAbsJhome\NoEOffs,v1000,z50,tool0;MoveJtoolReady,v1000,fine,tool0;MoveJOffs(toolPos,0,0,120),v1000,fine,tool0;MoveLtoolPos,v1000,fine,tool0;SetYV1;ResetYV2;ResetYV3;ResetYV4;WaitTime1;MoveLOffs(toolPos,0,0,120),v1000,fine,tool0;MoveJtoolReady,v1000,fine,tool0;MoveAbsJhome\NoEOffs,v1000,z50,tool0;工业机器人回到工作原点工业机器人到达抓取工具准备点工业机器人到达平口手爪工具上方机器到达平口手爪放置点钢珠缩回,松开子盘工业机器人到达平口手爪工具上方工业机器人到达抓取工具准备点工业机器人回到工作原点任务实施-旋转供料单元上料程序RotateCheck()程序号程序程序注释1234567891011121314151617WHILEEXDI2=0DOrotatecon.concom:=2;WaitUntilrotatestate.concom=2;rotatecon.concom:=0;WaitUntilrotatestate.concom=12;rotatecon.concom:=12;WaitUntilrotatestate.concom=0;rotatecon.concom:=0;WaitTime1ENDWHILErotatecon.concom:=2;WaitUntilrotatestate.concom=2;rotatecon.concom:=0;WaitUntilrotatestate.concom=12;rotatecon.concom:=12;WaitUntilrotatestate.concom=0;rotatecon.concom:=0;检测旋转供料当前位置是否有料,无料进入循环旋转供料运行指令赋值2等待旋转供料运行响应状态为2旋转供料运行指令清0,旋转供料开始旋转60°等待旋转供料旋转60°完成,旋转供料运行状态为12旋转供料运行指令赋值12,确认收到旋转到位状态等待旋转供料运行状态为0旋转供料命令清0延迟1s结束循环旋转供料运行指令赋值2等待旋转供料运行响应状态为2旋转供料运行指令清0,旋转供料开始旋转60°等待旋转供料旋转60°完成,旋转供料运行状态为12旋转供料命令赋值12,确认收到旋转到位状态等待旋转供料运行状态为0旋转供料命令清0任务实施-旋转供料单元回原点程序RotateReset()程序号程序程序注释123456789101112rotatecon.syscom:=0;rotatecon.concom:=0;WaitUntilrotatestate.syscom=10;rotatecon.syscom:=1;WaitUntilrotatestate.syscom=1;rotatecon.concom:=1;WaitUntilrotatestate.concom=1;rotatecon.concom:=0;WaitUntilrotatestate.concom=11;rotatecon.concom:=11;WaitUntilrotatestate.concom=0;rotatecon.concom:=0;旋转供料系统命令赋值为0旋转供料运行指令赋值0等待旋转供料系统状态响应为10旋转供料系统命令赋值为1,旋转供料使能上电等待旋转供料系统状态为1旋转供料运行指令赋值1等待旋转供料运行状态为1旋转供料命令赋值为0,旋转供料开始回零等待旋转供料回零完成,旋转供料运行状为11旋转供料运行指令赋值11,确认收到回零完成状态等待旋转供料状态为0旋转供料运行指令清0任务实施-转子装配程序Assmble1()程序号程序程序注释1234567891011121314151617181920MoveAbsJhome\NoEOffs,v1000,z50,tool0;MoveLrotorpickTrabsit,v1000,fine,tool0;SetYV3;ResetYV4;WaitTime1;MoveLOffs(rotorpicktemp,0,0,120),v1000,z50,tool0;MoveLrotorpicktemp,v1000,fine,tool0;SetYV4;ResetYV3;WaitTime1;MoveLOffs(rotorpicktemp,0,0,120),v1000,z50,tool0;MoveLrotorpickTrabsit,v1000,fine,tool0MoveAbsJhome\NoEOffs,v1000,z50,tool0;MoveLOffs(rotorput,0,0,60),v1000,z50,tool0;MoveLrotorput,v1000,fine,tool0;SetYV3;ResetYV4;WaitTime1;MoveLOffs(rotorput,0,0,60),v1000,z50,tool0;MoveAbsJhome\NoEOffs,v1000,z50,tool0;机器人返回到工作原点机器人运动至转子抓取过度点手爪打开机器人运动至转子抓取点上方位置机器人运动至转子抓取位置手爪闭合机器人运动至转子抓取点上方位置机器人运动至转子抓取过度点机器人返回到工作原点机器人运动至转子装配上方位置机器人运动至转子装配位置手爪松开机器人运动至转子装配上方位置机器人返回到工作原点任务实施-端盖装配程序Assmble2()程序号程序程序注释1234567891011121314151617181920MoveAbsJhome\NoEOffs,v1000,z50,tool0;MoveLcappickTrabsit,v1000,fine,tool0;SetYV3;ResetYV4;WaitTime1;MoveLOffs(cappicktemp,0,0,120),v1000,z50,tool0;MoveLcappicktemp,v1000,fine,tool0;SetYV4;ResetYV3;WaitTime1;MoveLOffs(cappicktemp,0,0,120),v1000,z50,tool0;M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论