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
(
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
月(中)—
版权声明:本文标题:基于ProcessSimulate的焊装工位虚拟调试技术应用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1712995067h626741.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论