admin 管理员组

文章数量: 887017


2024年4月13日发(作者:颜色进制转换表)

|

|

|

基于

ProcessSimulate

的焊装工位虚拟调试技术应用

王文成

(承德石油高等专科学校河北·承德

067000

摘要针对国内焊装生产线应用较少的技术,提出

Tecnomatix

虚拟调试解决方案,并在

ProcessSimulate

进行虚拟

仿真,实现了智能组件的创建,对常用的传感器进行逻辑化处理,智能装备进行了

LogicBlock

验证,对

SmartComponent

信号和机器人信号进行了通信,在虚拟环境中验证了自动化设备,减少现场调试时间。

关键词

ProcessSimulate

虚拟调试焊装

TP24A

中图分类号:文献标识码:

0

前言

焊装工艺是汽车制造中重要的工艺,焊装的焊接质量好

坏决定了最终整车的强度和密封性能。为了保证工艺质量,

现在主机厂广泛使用自动化生产线进行焊装作业。而虚拟调

试是在真实焊装工厂调试之前在

ProcessSimulate

环境里模拟

智能设备系统硬件性能,通过在虚拟环境下使

PLC

与智能设

备进行通信,使得

PLC

调试不受现场安装的限制,降低了干涉

区机器人碰撞的概率,保障了调试人员的人身安全。

1ProcessSimulate

软件概述

ProcessSimulate

TecnomatixApplication

的一个组成

Siemens

系列产品线中数字化制造品牌

Tecnomatix

专门软件,

面向数字化制造领域的软件解决方案。它由零部件制造,装

配规划,资源管理,工厂设计与优化,人力绩效,产品质量规划

Tecnomatix

是对汽车全套与分析,生产管理等核心软件构成,

的解决方案,主要解决汽车的制造管理、白车身焊装生产线的

规划问题、仿真验证和虚拟调试。

ProcessSimulate

中的

CEE

是虚拟调试中重要的模块,

CEE

在虚拟调试中起到控制的作用,对于虚拟调试的每个周

CEE

采集和估量

PLC

信号,期,使得

PLC

与其他智能设备通

信成为可能。虚拟调试流程图如图

1

所示,要实现虚拟调试

首先就要实现每个模块的通信,以实现信号的互相传递。

2

焊装工位的虚拟调试

本文以实际的焊装工位出发,并对工位进行了仿真验证,

在规划汽车生产线后进行虚拟调试并和

PLC

连接,实现仿真

并对生产线的设备、机器人和电气信号进行创建、测试和安装,

通过以虚拟方式进行仿真和验证自动化设备,可以保证

PLC

代码的正确性,从而大幅度缩短系统启动时间。

2.1

智能组件的创建

现如今的工厂车间内,很多资源都不在是“拇指”设备(如

简易开关控制阀)。它们中的大多都有其自身的设备控制器。

在设备

/

资源的控制器中设置了不同信号的动作后,设备

/

资源

会根据信号执行相应的动作。我们将这样的设备

/

资源称为智

能组件。智能组件的创建是在

ProcessSimulate

软件下的

Kin-

eamtics

编辑器进行智能组件的信号关联,在控制中心的

CEE

模块下的

A05RC01_Open

A05RC01_Close

A05RC02_

1

:虚拟调试流程图

Open

A05RC02_Close

PLC

输入信号并到

LB

中,

LB

会根

PLC

输入信号类型分别执行相应的动作,运动机构的速度

2

:智能组件的创建示意图

—科教导刊(电子版)·

2019

年第

02

/1

月(中)—

269

|

|

|

和加速度为系统默认值,如图

2

所示为夹具的智能组件的创

建示意图。

2.2

光电传感器

PhotoelectricSensor

为光电传感器,使用

CreatePhotoelec-

tricSensor

定义光电传感器,会生成一个传感器的三维实体和

检测零件位置的光束,当传感器检测的零件进入检测范围时,

传感器会被触发,所以它常常被用为,零件的测试,连锁检测等。

本文光电传感器的检测范围为直径为

1000cm

,宽度为

PLC

LB

的交互方式图

5

行连接和串行连接两种方式,如图

6

所示为本文用到的并行

连接方式,当产品出现时链接从

Op1

Op2

Op3

以及

Op1

5cm

,检测距离为

50cm

,检测板件为夹具,如图

3

所示部装夹

具的光电传感器。

3

:夹具上的光电传感器示意图

2.3

机器人信号概述

机器人信号可以和

PLC

信号进行通信连接,或者和其他

智能设备之间进行通信,如焊枪、夹头、机械抓手,或其他可操

作的资源,在

ProcessSimulate

线性仿真状态下,可以验证机器

人的的可达性和干涉检测,提前验证干涉区,提高机器人焊接

质量,为了使

PLC

信号与机器人信号通信我们在

RobotSignals

定义机器人信号,如图

4

所示为机器人信号示意图。

4

:为机器人信号示意图

2.4LogicBlock

LogicBlock

简称

LB

,它是通过逻辑资源添加输入,输出

运算公式给

LB

赋予逻辑。在虚拟调试中,

LB

会根据公式的

运算规则计算中结果,并将结果输出给执行机构,图

5

PLC

LB

的交互方式,每个

PLC

输入信号都是智能组件的输入

信号,信号进入到

LB

中,

LB

会创建的算法输出信号给

PLC

进行反馈执行,因此实现

LB

PLC

进行信号交互。

2.5

物料流

ProcessSimulate

中物料流代表产品的流向,物料流只

能通过操作面板的

MaterialFlowViewer

显示,物料流分为并

270

—科教导刊(电子版)·

Op5

Op6

之间的并行链接时,实际运行的是:

Op2

Op3

Op4

Op5

Op6

。因此,由

Op1

传递的部分会传递至

Op4,Op5,Op6

,也会到

Op2

或者

Op3

6

:焊装工位的物料流

3PLC

控制试生产

在虚拟调试中,使用西门子公司开发的

PLCSIM

仿真软

件与虚拟环境的焊装生产线进行连接,并交换了不同的传感

器和执行器信号,虚拟调试环境作为一种监控系统,在虚拟环

境中的

PLC

程序有效运行后,从而控制

ProcessSimulate

系统

中的焊装工位,并进行测试。

PLCS7-300

ProcessSimulate

之间的连接可以由西门子

OPCServer

完成,如图

7

所示。

7

OPC

协议的虚拟调试互联方式

8

:机器人与

PLC

进行通信

SignalViewer

ProcessSimulate

设定的焊装工位,包含

PLC

用来与机

器人控制器通信的信号,

PLC

在机器人控制器中设置了机器

人信号并触发,在选定的机器人程序结束后,机器人控制器向

PLC

发送输入信号使机器人程序结束。如图

8

所示为机器人

PLC

进行通信

SignalViewer

。定义完焊装工位的信号后,

使用

PLCSIM

控制

ProcessSimulate

里的开始(下转第

278

页)

2019

年第

02

/1

月(中)—

|

|

|

tCurrentProcess

()

->Modules;

foreach

(

ProcessModule^minmodules

){

if

(

m->ModuleName->ToLower

()

==""

){

hModule=m->BaseAddress;

}

}

baseAddrA=GetProcAddress

(

hModule,"MessageBoxA"

)

;

baseAddrW=GetProcAddress

(

hModule,"MessageBoxW"

)

;

ReadProcessMemory

(

thisProc,baseAddrA,CodeMBA,32,

readOrWrite

)

;

ReadProcessMemory

(

thisProc,baseAddrW,CodeMBW,

32,readOrWrite

)

;

上述代码中

CodeMBA

CodeMBW

是事先声明过的全

Byte

类型数组。

读取到

MessageBox

()

代码后,继续研究如何更改代码。下

面以在

Windows7

中读取到的

MessageBoxA

()

代码为例,将其

转换为汇编语言后,代码如下:

8BFF-movedi,edi

55-pushebp

8BEC-movebp,esp

6A00-push00

{

0

}

FF7514-push

[

ebp+14

]

FF7510-push

[

ebp+10

]

FF750C-push

[

ebp+0C

]

FF7508-push

[

ebp+08

]

eBoxExA

5D-popebp

C21000-ret0010

{

16

}

90

90

90

90

90

-nop

-nop

-nop

-nop

-nop

参数按照右至左的顺序,返回值存放在

EAX

寄存器中,函数

返回时,由被调用函数负责清理堆栈。

通过对

MessageBoxA

()

汇编代码的分析,我们不难发现,

其最后一条有效指令为

ret0010

{

16

}

。这是一条返回指令,完

成了堆栈清理的工作,其等效于以下

2

条指令:

POPEIP

ADDESP,0X10

运行该指令除了会改变

EIP

寄存器外,还会使得

ESP=

ESP+0X10

,也就是堆栈指针向栈顶移动

16

个字节。

我们可以把这一条指令直接放到

MessagBoxA

代码的最

开始,这样,程序运行到

MessagBoxA

方法时,会直接返回调

用它的上一级代码,于是,模态对话框就不会再弹出了。

将更改后指令替换掉原有

MessageBox

()

指令的具体代码

如下:

array^codeNull=gcnewarray

(

32

){

0xC2,

0x10,0x00

}

;

WriteProcessMemory

(

thisProc,baseAddrA,codeNull,3,

readOrWrite

)

;

WriteProcessMemory

(

thisProc,baseAddrW,codeNull,3,

readOrWrite

)

;

其中

{

0xC2,0x10,0x00

}

3

个字节的来自于

Messa-

geBoxA

()

的最后一条指令:

C21000-ret0010

{

16

}

3

结论

通过以上方法实现了在程序运行过程当中,暂时关闭

Windows

系统中

MessageBox

()

弹窗函数的功能。从某种程度

上解决了程序运行效率低下的问题,进而实现了程序运行过

程中的无人值守。

基金项目:资助信息:成都信息工程大学校选项目

CRF201620

资助。

参考文献

[

1

]

李海雁.一个更为灵活的MessageBox

()

函数

[

J

]

.电脑编程技巧与维护,1996

(

01

)

:34-35+38.

Win32API

采用的调用约定为

stdcall

。此种调用约定中,

(上接第

270

页)程序信号,开始焊装线的试生产,如图

9

所示

为焊装工位的试生产

3D

模型。

4

结论

焊装生产线的虚拟调试是汽车智能制造领域的最前沿技

术,通过对汽车焊装工位的虚拟调试不仅可以减少制造企业

在现场调试生产线的时间,还使产品在调试阶段可视化、最优

化。使设备的功能和动作,在虚拟模型上进行

PLC

程序修改

和评估而不是在现实设备操作,把风险降到最低值。

基金项目:承德市高新区科技创新创业苗圃项目

CGX2017KMP0005

)基于虚拟仿真技术的汽车生产线布局规

划及其控制调试方法的开发与研究。

参考文献

9

:焊装工位的试生产

3D

模型

278

[

1

]

ProcessSimulateoneMS,BasicandIntermediatemanual

[

M

]

.SiemensPLM,

2009.

—科教导刊(电子版)·

2019

年第

02

/1

月(中)—


本文标签: 调试 信号 虚拟 焊装 进行