S7200机械手控制系统程序的实现.docx
- 文档编号:12649951
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:23
- 大小:19.67KB
S7200机械手控制系统程序的实现.docx
《S7200机械手控制系统程序的实现.docx》由会员分享,可在线阅读,更多相关《S7200机械手控制系统程序的实现.docx(23页珍藏版)》请在冰豆网上搜索。
S7200机械手控制系统程序的实现
S7-200机械手控制系统程序的实现
有一个机械手,它是由底盘S轴控制左右旋转机械手,上下由L轴控制,伸缩由U轴控制,此外机械手本身可以抓物,我们称之为T轴。
S轴由直流电机控制。
有左限位和右限位控制其极限位置。
在哪个位置停下来有旋转编码器控制。
因为机械手旋转的时候,旋转编码器会发出脉冲,PLC会对脉冲进行高速计数。
我们利用S7-200里面的高速计数器4的方式0进行计数。
L轴上下运动是由步进电机来控制的,步进电机是由运动加方向来控制的,这里规定,如果方向信号为高电平,向下运动。
反之为向上运动。
在S7-200中对步进电机的控制是由高速脉冲输出PTO来控制的。
应用PTO的向导来编制程序非常方便。
但是如果不用向导来编制也无所谓,就要对其控制字节,初始周期,周期增量,脉冲个数处理好也是一样的。
U轴的伸缩运动也是由步进电机来控制,原理和L轴一样,极限位置有缩回限位和伸出限位。
B轴控制爪子的抓紧和放松。
机械手输入和输出信号如下表。
说明
编号
动作
PLCI/O口
执行器件
S轴
(旋转)
直流电动机
F
顺时针旋转
Q1.1
R
逆时针旋转
Q1.2
COM
公共端
电源负极
T轴
(爪子转)
直流电动机
F
顺时针旋转
Q1.3
R
逆时针旋转
Q1.4
COM
公共端
电源负极
L轴
(上下)
步进电机
200step/rev
1.5A
OPT
公共端
电源负极
FREE
脱机工作
不接
CP
脉冲
Q0.0
DIR
方向
Q1.5
U轴
(前后)
步进电机
200step/rev
1.5A
OPT
公共端
电源负极
FREE
脱机工作
不接
CP
脉冲
Q0.1
DIR
方向
Q1.6
B轴
接24V
Q1.7
说明
编号
动作
PLCI/O口
执行器件
S轴
(旋转)
直流电动机
F
顺时针旋转
Q1.1
R
逆时针旋转
Q1.2
COM
公共端
电源负极
T轴
(爪子转)
直流电动机
F
顺时针旋转
Q1.3
R
逆时针旋转
Q1.4
COM
公共端
电源负极
L轴
(上下)
步进电机
200step/rev
1.5A
OPT
公共端
电源负极
FREE
脱机工作
不接
CP
脉冲
Q0.0
DIR
方向
Q1.5
U轴
(前后)
步进电机
200step/rev
1.5A
OPT
公共端
电源负极
FREE
脱机工作
不接
CP
脉冲
Q0.1
DIR
方向
Q1.6
B轴
接24V
Q1.7
停止I0.0
复位I0.1
启动I0.2
编码器I0.3
左限位I0.4
右限位I0.5
上限位I0.6
下限位I0.7
缩回限位I1.0
伸出限位I1.1
爪子左限位I1.2
爪子右限位I1.3
S顺时针Q1.1
S逆时针Q1.2
T顺时针Q1.3
T逆时针Q1.4
L脉冲Q0.0
L方向Q1.5=0向上;=1向下
U脉冲Q0.1
U方向Q1.6=0缩回;=1伸出
B轴Q1.7=0松;=1抓
原点M10.0=1;原点
L轴限位M10.1
U轴限位M10.2
抓放完成M10.3
抓放标志M10.4=1:
抓件;=0:
放件
抓放件初始T34
复位标志M3.0
运行标志M3.1
停止标志M3.2
建立了2个向导,第一个PTO配置Q0.0对L轴的控制,开始地址为vb134~vb267
最大的速度为8000个脉冲每秒,即MAX_SPEED=8000pulses/s,最小为SS_SPEED=500pulses/s.加速时间为1000ms,减速时间为1000ms。
2个运动包络,profile0为单速连续运转,目标速度为2000pulses/s建立一个子程序PTOx_ADV作为一个停止子程序。
Profile1为相对位置(relativeposition)有2步,步0的目标速度为8000p/s,结束位置在24000脉冲位置处。
步1的目标速度为2000P/s,结束位置在10400脉冲位置处。
第二个PTO配置为Q0.1对U轴的控制,开始地址为vb268~vb401,最大速度和最小速度以及加减速时间和Q0.0是一样的。
也是2个运动包络。
Profile0也和上面的,不同的是profile1相对位置,有2步,步0的目标速度为8000P/S,结束位置为20000个脉冲处,步1的目标速度为2000P/S,结束位置在5000个脉冲处。
每个向导建立的子程序有PTOx_ADV,PTOx_CTRL,
PTOx_RUN,PTOx_MAN,PTOx_LDPOS,关于每个子程序的含义请参考相关书籍。
很容易找到的。
旋转编码器用:
HSC4,模式0接I0.3
❑动作要求:
初始化
¦气爪松开
Q1.7=0
¦气爪正转
Q1.3=1;Q1.4=0压到SQ9到位
¦L轴向上
调Q0.0的包络0(PTO0_RUN),向上,压到SQ4调用PTO0-ADV子程序使L轴停止。
再利用PTO0_LDPOS子程序将当前值赋0。
¦U轴缩回
调Q0.1的包络0(PTO1_RUN),U轴缩回,压到SQ6调用PTO1_ADV子程序使U轴停止。
再利用PTO1_LDPOS子程序将当前值赋0。
¦S轴逆时针转
Q1.2=1;Q1.1=0压到SQ2停止。
将HSC的当前值赋0。
¦形成初始化完成标志:
M10.0
主程序:
TITLE=程序注释
//M3.0~M3.2:
系统状态标志
//M4.0~M4:
步
Network1
//L轴PTO初始化
LDSM0.0
=L60.0
LDI0.0
=L63.7
LDI0.0
OM12.0
=L63.6
LDL60.0
CALLSBR3,L63.7,L63.6,V500.0,VB501,VD504
Network2
//U轴初始化控制,
LDSM0.0
=L60.0
LDI0.0
=L63.7
LDI0.0
OM12.0
=L63.6
LDL60.0
CALLSBR8,L63.7,L63.6,V510.0,VB511,VD514
Network3
//M10.2,U轴限位标志
LDI1.0
OI1.1
=M10.2
Network4
//M10.1为L轴限位标志
LDI0.6
OI0.7
=M10.1
Network5
//上电或按复位按钮时,调用初始化子程序
LDI0.1
OM12.1
EU
OSM0.1
SM3.0,1
RM3.1,1
RM3.2,1
Network6
//在初始位置才能按启动按钮
LDM10.0
LDI0.2
OM12.2
ALD
EU
SM3.1,1
RM3.0,1
RM3.2,1
SM4.0,1
RM4.1,9
Network7
LDI0.0
OM12.0
EU
SM3.2,1
RM3.0,1
RM3.1,1
Network8
LDM3.0
EU
RT33,1
Network9
//复位
LDM3.0
LPS
CALLSBR0
AM10.0
RM3.0,1
LPP
RM4.0,10
Network10
//初始位置标志:
爪子,T轴,L轴,U轴,S轴在。
LDNQ1.7
AI1.3
AI0.6
AI1.0
AI0.5
=M10.0
Network11
//M4.0运行状态步1
LDM4.0
SQ1.6,1
Network12
//U轴伸出
LDM3.1
AM4.0
=L60.0
LDM4.0
EU
=L63.7
LDL60.0
CALLSBR9,L63.7,1,I1.1,V510.0,VB511,VB512,VB513,VD514
Network13
LDM4.0
AV510.0
AB=VB511,0
SM4.1,1
RM4.0,1
Network14
//设置为放件状态
//将抓件内的初始定时器复位,抓放件标志设为1(抓件),抓放件完成标志复位。
LDM4.1
EU
RT34,1
SM10.4,1
RM10.3,1
Network15
//抓件
LDM3.1
AM4.1
CALLSBR12
Network16
//抓件完成,转下一步。
LDM4.1
AM10.3
SM4.2,1
RM4.1,1
Network17
//S轴旋转
LDM4.2
SQ1.1,1
RQ1.2,1
Network18
//S轴第一个点旋转到位
LDM4.2
AD>=HC4,VD600
EU
SM4.3,1
RM4.2,1
RQ1.1,1
Network19
//设置为放件状态
//将抓件内的初始定时器复位,抓放件标志设为0(放件),抓放件完成标志复位。
LDM3.1
AM4.3
EU
RT34,1
RM10.4,1
RM10.3,1
Network20
//放件
LDM3.1
AM4.3
CALLSBR12
Network21
//放件完成后
LDM3.1
AM4.3
AM10.3
SM4.4,1
RM4.3,1
Network22
LDM3.1
AM4.4
TONT38,20
EU
RT34,1
RM10.3,1
SM10.4,1
Network23
LDM3.1
AM4.4
AT38
CALLSBR12
Network24
LDM4.4
AM10.3
SM4.5,1
RM4.4,1
Network25
LDM3.1
AM4.5
SQ1.1,1
RQ1.2,1
Network26
LDM4.5
AI0.4
SM4.6,1
RM4.5,1
RQ1.1,1
Network27
LDM3.1
AM4.6
EU
RT34,1
RM10.3,1
RM10.4,1
Network28
LDM3.1
AM4.6
CALLSBR12
Network29
LDM4.6
AM10.3
SM4.7,1
RM4.6,1
Network30
LDM3.1
AM4.7
TONT39,20
EU
RT34,1
RM10.3,1
SM10.4,1
Network31
LDM3.1
AM4.7
AT39
CALLSBR12
Network32
LDM4.7
AM10.3
SM5.0,1
RM4.7,1
Network33
LDM3.1
AM5.0
SQ1.2,1
RQ1.1,1
AI0.5
SM5.1,1
RM5.0,1
RQ1.2,1
Network34
LDM5.1
EU
RT34,1
RM10.3,1
RM10.4,1
Network35
LDM3.1
AM5.1
CALLSBR12
Network36
LDM5.1
AM10.3
SM3.0,1
RM5.1,1
初始化子程序:
TITLE=子程序注释:
上电时做的初始化程序,目的是让各执行单元回到初始状态。
//使用的资源:
//定时器:
T33
//标志位:
M0.0,M0.1,M0.2,M0.3
//VB500~VB517
Network1
//利用T33产生一个单次脉冲。
LDSM0.0
TONT33,5
Network2//网络标题
//初始化高速计数器,进入M0.0步
LDT33
EU
CALLSBR1
SM0.0,1
RQ0.0,16
MOVD22,VD600
Network3
//M0.0步的动作
LDM0.0
RQ1.7,1
RQ1.4,1
SQ1.3,1
Network4
//当T轴旋转到位,从M0.0转移到M0.1
LDM0.0
AI1.3
SM0.1,1
RM0.0,1
Network5
//L轴向上
LDM0.1
RQ1.5,1
RQ1.3,1
Network6
//M0.1的动作
LDM0.1
=L60.0
LDM0.1
EU
=L63.7
LDL60.0
CALLSBR4,L63.7,0,M10.1,V500.0,VB501,VB502,VB503,VD504
Network7
//压到上限位时,使L轴停止
LDI0.6
CALLSBR2
Network8
//让L轴的当前值为0
LDM0.1
=L60.0
LDM0.1
AI0.6
=L63.7
LDL60.0
CALLSBR6,L63.7,0,V500.0,VB501,VD504
Network9
//当压到上限位,同时L轴的当前脉冲数被复位后,从M0.1转移到M0.2
LDM0.1
AI0.6
AD=VD504,0
SM0.2,1
RM0.1,1
Network10
//U轴缩回
LDM0.2
RQ1.6,1
Network11
//使U轴缩回
LDM0.2
=L60.0
LDM0.2
EU
=L63.7
LDL60.0
CALLSBR9,L63.7,0,M10.2,V510.0,VB511,VB512,VB513,VD514
Network12
//U轴缩回到位后,将U轴停止
LDI1.0
CALLSBR7
Network13
//U轴缩回到位后,将U轴的当前值复位。
LDM0.2
=L60.0
LDM0.2
AI1.0
=L63.7
LDL60.0
CALLSBR11,L63.7,0,V510.0,VB511,VD514
Network14
//当U轴缩回到位,同时U轴的当前值复位后,从M0.2转移到M0.3
//
LDM0.2
AI1.0
AD=VD514,0
SM0.3,1
RM0.2,1
Network15
//M0.3的动作
LDM0.3
SQ1.2,1
RQ1.1,1
Network16
//S轴旋转到位后,将高速计数器的当前值复位。
//退出子程序的时做的处理
LDM0.3
AI0.5
RQ1.2,1
CALLSBR1
RT33,1
RM0.3,1
HSC_INIT子程序
TITLE=配置HC4为模式0;CV=0;PV=0;增计数;
Network1//HSC指令向导
//要在程序中使用此配置,请在主程序块中使用SM0.1或一条沿触发指令调用一次此子程序。
//配置HC4为模式0;CV=0;PV=0;增计数;
//开放中断和启动计数器。
//
LDSM0.0
MOVB16#F8,SMB147//设置控制位:
增计数;已使能;
MOVD+0,SMD148//装载CV
MOVD+0,SMD152//装载PV
HDEF4,0
ENI
HSC4
抓放件子程序
TITLE=使用T34T37
//M10.3抓放件完成标志
//M1.0~M1.4步标志
Network1//网络标题
//网络注释
LDSM0.0
TONT34,50
Network2
LDT34
EU
RM10.3,1
SM1.0,1
Network3
//M1.0的动作:
T轴逆时针转
LDM1.0
SQ1.4,1
RQ1.3,1
Network4
//从M1.0转移动M1.1
LDM1.0
AI1.2
SM1.1,1
RM1.0,1
Network5
//M1.1的动作:
控制L轴向下
LDM1.1
SQ1.5,1
RQ1.4,1
Network6
//调Q0.0的包络1。
LDM1.1
OM1.3
=L60.0
LDM1.1
OM1.3
EU
=L63.7
LDL60.0
CALLSBR4,L63.7,1,M10.2,V500.0,VB501,VB502,VB503,VD504
Network7
//如果Q0.0的包络1完成(Done=1)同时没有错误(VB501=0)转移动M1.2
//
LDM1.1
AV500.0
AB=VB501,0
SM1.2,1
RM1.1,1
Network8
//M1.2的动作
LDM1.2
LPS
AM10.4
SQ1.7,1
LRD
ANM10.4
RQ1.7,1
LPP
TONT37,20
Network9
LDM1.2
AT37
SM1.3,1
RM1.2,1
Network10
//M1.3的动作:
L向上
LDM1.3
RQ1.5,1
AI0.6
SM1.4,1
RM1.3,1
Network11
LDM1.4
SQ1.3,1
RQ1.4,1
Network12
LDM1.4
AI1.3
RM1.4,1
RT34,1
RT37,1
SM10.3,1
RQ1.3,1
以上写完了全部程序,但是可能大家还是看的一知半解,为什么呢,因为习惯于梯形图,所以还是要把上面转化为梯形图就好理解多了。
当然大家要对PTO脉冲输出和高速计数器理解的很好以及顺序功能学的比较好,才能看得懂。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S7200 机械手 控制系统 程序 实现