1、ABBInc.-1ABB喷涂机器人基础培训8.喷涂程序的编程Paint Programming上海ABB工程有限公司DMRO/RS/PPA/GeorgeZhengABBInc.-2PaintWare (喷漆编程软件)PaintWare 指令与喷涂应用设备息息相关。指令主要分为一般PaintWare 指令和IPS 指令两种。1. 一般指令:是指PaintWare 程序中最常用的指令,内容涉及喷涂路径和触发位置(开关枪点)。2. IPS 指令:ABB喷涂机器人专门设计用于执行喷涂及其他表面处理操作的。它与集成喷涂系统直接通讯,主要用在喷涂、清洗和换色等工艺工序中。PaintWare通过CAN bu
2、s和装在机器人的IPS 系统, 以及调节阀、齿轮泵、传感器等来控制喷漆系统:CANControl Area NetworkIPS Integrate Process SystemABBInc.-3PaintWare 的主要指令:1. 机器人运动: PaintL 沿直线运动喷漆 PaintC 沿圆弧运动喷漆2. 刷子控制: SetBrush 设定刷子 SetBrushFac 设定刷子的%常用常用 注意:喷涂设备的总开关-A1Enable (或IPSEnable)在涂装期间必须 = 1 (置1)。ABBInc.-4编程步骤:1. 做一刷子表(喷漆工艺参数表,一般在实验室根据油漆的类型测试而定):n
3、 按要求选择该刷子表内的刷子数号;n 设定压缩空气及油漆的量(静电高压)2. 编程,走路径:n 用PaintL和 PaintC编程;3. 加开/关喷枪的位置和刷子数号的数据:n 测试程序,用SetBrush加开/关喷枪的位置和刷子号的数据号;ABBInc.-5刷子文件(喷漆工艺参数表)及数据:Brushtable (刷子表)n Fluid (油漆流量)n Atom (雾化空气量,或旋杯转速)n Shape (喷幅空气量,有双喷幅控制)n Voltage (静电电压) 可动态配置刷子文件名:table.bt默认URL 位置:ftp:/PIB/A1Brush/ (在PIB板上)ABBInc.-6n
4、Full flexibility in paint parameters( 喷涂参数的高度灵活)nBrushTable (刷子表)nA collection of brushes: (刷子数据的集中)Atomizing airPaint flow Fan airAtomizing airPaint flow Fan airAtomizing airPaint flow Fan airAtomizing airPaint flow Fan airAtomizing airPaint flow Fan airAtomizing airPaint flow Fan airBrush 1:Brush
5、2:Brush 3:Brush 4:Brush 5:Brush 6:Brush 7:Brush 8:Brush 9:Brush 10:Atomizing airPaint flow Fan airAtomizing airPaint flow Fan airAtomizing airPaint flow Fan airAtomizing airPaint flow Fan air示例:4 个刷子(行), 5 个参数(列):0,55,240,260,80500,55,240,300,800,0,0,0,00,0,0,0,0每个刷子表限制:最多行数(刷子数):100。最多列数(参数):10。Bru
6、shtable 刷子表ABBInc.-7编制刷子表:Brush Editor选择主菜单上的“编辑刷子”图标,进行刷子表编制。最多可编辑999个刷子表。ABBInc.-8创建新刷子表:创建新刷子表选择编制新表时,按“表格” + “新建”软键。屏幕会显示带有第一个可用索引号的名称,作为默认名称。可通过字母数字键盘更改名称。ABBInc.-9使用刷子编辑器:刷子编辑器的界面类似于下图。可查看和编辑所有值,所有值均显示有效范围及单位。刷子确定值后,可按“测试-Test”按钮立即测试其效果。只要按下按钮,便可将值发送至输出。ABBInc.-10开/关喷枪位置和刷子号数据开/关喷枪位置和刷子号数据:Set
7、Brush 2Y:=458.5;1. 刷子号(选定的刷子表中的刷子数号-第几行)2. 作用的轴(X, Y, Z)3. 作用的位置(在给定轴上的平面位置)n 预先触发n 精度 +/- 2 ms刷子0 专用于所有值设为零的刷子。该刷子可用于停止喷涂时。ABBInc.-11开/关喷枪位置和刷子号数据: 触发面触发面的设定ZXY程序路径目标坐标系统触发面作用轴作用点 刷子号设定于此当一个有效触发平面被横穿时,刷子数据即应用于喷涂工艺。ABBInc.-12刷子因子-刷子值的百分比:SetBrushFac 1,90;设置为原90设定值的刷子因子(工艺参数)。 已设置的刷子因子值将被激活,直到一个新的刷子因
8、子值被设置。 该因子将在下一刷子变化时被激活。该指令在逐步向前和向后的执行没有影响。 刷子因子范围:1-200ABBInc.-13编程例子 (1)PaintL . . . .SetBrush 1x := 200; ! E1 (程序内的!后只是说明,不执行)SetBrush 2x := 300; ! E2SetBrush 1x := 400; ! E3SetBrush 2x := 500; ! E4PaintL p1, v1000, z50, tool10;PaintL . . . . 该序列沿当前点坐标到P1 的直线路径进行喷涂,如下图所示。ABBInc.-14编程例子 (2)ABBInc.-
9、15编程例子 (2)PaintL p10, v600, z30, tool100;SetBrush 1;SetBrush 4Y:= 200;SetBrush 6Y:= 600;PaintL p20, v600, z30, tool100;PaintC p30, p40, v600, z30, tool100; !PaintC处不能修改刷子号SetBrush 2Y:=500;PaintL p50, v600, z30, tool100;SetBrush 0;PaintL p60, v600, z30, tool100;前图的程序例子:ABBInc.-16特殊刷子值(1):u一个特殊的全局刷子表(
10、global.bt)用于处理特殊状况(如停止、输送链停止、等待等)。u在这种状况下,关闭包括旋杯在内的所有设备并非理想选择。若希望旋杯继续以当前速度旋转,请使用特殊刷子表相应元素里的“ 万能编号“ (-999)。u问题解决后,用户可设置LastBrush(999) 继续工作, LastBrush 指普通刷子表中的最后一把刷子。(停止时使用的刷子)。u用户可用特殊刷子表自定义特殊刷子。u无需在每个刷子表中为停止工作的刷子保留刷子号。ABBInc.-17特殊刷子值(2):上页的例子:1. 程序运行SetBrush 3 30,30,30;2. 出现特殊状况:设置SetBrush 902,刷子列1 及
11、列2 包含“万能编号”。列3 为0。结果为30, 30, 0;3. 使用SetBrush 999 (LastBrush) 继续喷涂动作。结果为:30,30,30系统保存以下编号:- CONST num StopBrush := 901 ! 用于机器人停止- CONST num ReservedBrush := 902 ! 保留以供以后使用- CONST num WaitBrush := 903 ! 保留以供Cnv Sync 功能使用,- CONST num LastBrush := 999 停止时使用的刷子(最后的刷子)u用户可自定义并命名特殊刷子,从904-998,并且可从Rapid 中使用
12、。u全局刷子表文件名为global.bt, 由系统安装至PIB 上的A1Brush 文件夹。所有元素的默认值为零。u global.bt 可由PaintTPU 或Robview5 编辑。ABBInc.-18PaintLDO: PaintLDO:是PaintL + SetDo;PaintLDO p10, v1000, z50, tool10, do1,1;向 p10直线运动,在拐角路径的中间,指定的数字输出信号 do1 被置位/复位(1或0), 输出处理相当于MoveLDO指令; 典型的用途是一个陷阱例行连接到指定的输出。ABBInc.-19SetTmSignal 指令(主要用于清洗及换色) S
13、etTmSignal 指令设置定时信号;该指令可实现数字输出(DO)、组输出(GO)或模拟输出(AO),这些输出需通过附加的时间增量参数进行设置。时间增量规定了同一指令完成信号变化后,信号值的下次变化时间。编程示例-换色序列:SetTmSignal “A1SolvCC”, 0, .2; 溶剂阀打开200ms 后关闭。SetTmSignal “A1AirCC”, 1, 0; 溶剂阀关闭的同时,空气阀打开。SetTmSignal “A1AirCC”, 0, .2; 空气阀打开200ms 后关闭。SetTmSignal “A1SolvCC”, 1, 0.01; 空气阀关闭10ms 后,溶剂阀打开。S
14、etTmSignal “A1Col”, 15, 0.1; 100ms 后,打开换色阀组上的第15个阀门。SetTmSignal “A1Fluid”, 350, 0.05; 换色阀打开50ms 后开始定量控制涂料(350ml/min)。SetTmSignal “A1Fluid”, 0, 3.1 wait; 3.1s 后停止涂料流量,等待至涂料流量结束注意:同一序列中可能混合了不同信号类型(AO、DO、GO)。该指令有助于图形化换色编辑器正常工作。ABBInc.-20清洗程序:u文件名:cgcln.modu默认URL 位置:ftp:/HOME/mcdata/示例:module c1g1clnpro
15、c mainC1G1Cln()SetTMSignal“A1FluidDevEn“,0,0Reset;SetTMSignal “A1FluidRegEn“,0,0;SetTMSignal “A1Needle“,0,0;SetTMSignal “A1Fluid“,0,0;SetTMSignal “A1Con“,0,0;SetTMSignal “A1AirCC“,0,0;SetTMSignal “A1FluidClPCV“,1,0;SetTMSignal “A1SolvCC“,1,0;SetTMSignal “A1Dump“,1,0;SetTMSignal “A1SolvCC“,0,1.5;SetT
16、MSignal “A1AirCC“,1,0;SetTMSignal “A1AirCC“,0,0.5;SetTMSignal “A1SolvCC“,1,0;SetTMSignal “A1SolvCC“,0,0.5;SetTMSignal “A1AirCC“,1,0;SetTMSignal “A1AirCC“,0,0.5;SetTMSignal “A1AirCC“,1,0;SetTMSignal “A1AirCC“,0,0.5;SetTMSignal “A1SolvCC“,1,0;SetTMSignal “A1SolvCC“,0,0.5;SetTMSignal “A1AirCC“,1,0;SetT
17、MSignal “A1Dump“,0,1.5;SetTMSignal “A1AirCC“,0,0;SetTMSignal “A1FluidClPCV“,0,0;SetTMSignal “A1FluidRegEn“,1,0;SetTMSignal “A1FluidDevEn“,1,0Wait;endprocendmoduleABBInc.-21填充程序:u文件名:cgfill.modu默认URL 位置:ftp:/HOME/mcdata/示例:module c1g1fillproc mainC1G1Fill()SetTMSignal “A1FluidDevEn“,0,0Reset;SetTMSig
18、nal “A1FluidRegEn“,0,0;SetTMSignal “A1Needle“,0,0;SetTMSignal “A1Con“,0,0;SetTMSignal “A1Dump“,1,0;SetTMSignal “A1FluidClPCV“,1,0;SetTMSignal “A1Fluid“,300,0.08;SetTMSignal “A1FluidClPCV“,0,3.42;SetTMSignal “A1Needle“,1,0;SetTMSignal “A1Dump“,0,0.5;SetTMSignal “A1Needle“,0,2;SetTMSignal “A1Fluid“,0,
19、0.1;SetTMSignal “A1Con“,1,0;SetTMSignal “A1FluidRegEn“,1,0;SetTMSignal “A1FluidDevEn“,1,0Wait;endprocendmoduleABBInc.-22GetSignal 指令 GetSignal 功能用于反馈任何输入或输出类型的值。示例:var string stA1SolvCC := “A1SolvCC“;num := GetSignal (stA1SolvCC);输出doSolvent 的当前值被反馈。限制:GetSignal 指令仅支持已经定义的输入/ 输出。信号名称必须以变量形式给出。信号名称有大小写之分。