[西门子] 机器人与西门子PLC简单案例讲解

[复制链接]
查看7126 | 回复0 | 2024-8-30 15:00:12 | 显示全部楼层 |阅读模式
一、设计思路

1、用PLC控制一维运动平台实现电机的自动正反转运行及手动正反转运行;

2、一维运动平台的行程两端各有一行程开关,分别定义为正向限位和负向限位;

3、在电机自动正反转运行前,需对电机进行复位。复位的过程是:启动电机往负向运行,运行至负向限位后,往正向运行一段距离,将该位置作为电机自动正反转运行的初始位置;

4、复位完成后,按下正转按钮,电机往正向运行一段距离(该距离通过运动包络参数设定),到位后停止。按下反转按钮,电机往负向运行一段距离,到位后停止;

5、如正反转运行过程中,触动行程开关,电机停止运行。此时可通过手动正反转按钮控制电机运行离开限位开关,或按下复位按钮对平台重新复位;

6、触动行程开关后,需重新复位才能进行自动正反转运行控制;

7、在电机运行过程中,任何时刻均可通过“停止按钮”和“急停按钮”控制其停止运行;

8、停止运行后,需重新复位才能进行自动正反转运行控制;

9、“复位指示灯”、“运行指示灯”和“停止指示灯”用来指示一维平台的运行状态。

二、机械本体

三、硬件电路




S7-200 CPU提供两个高速脉冲输出点(Q0.0和Q0.1),可以分别工作在PTO(脉冲串输出)和PWM(脉宽调制)状态下。使用PTO或PWM可以实现速度、位置的开环运动控制。

PTO功能可以输出一串脉冲,用户可以控制脉冲的周期(频率)和个数。PWM功能可以连续输出一串占空比可调的脉冲,用户可以控制脉冲的周期和脉宽(占空比)。

高速脉冲输出点和普通数字量输出点共用输出映像Q0.0和Q0.1。当在Q0.0和Q0.1上激活PTO或PWM功能时,PTO/PWM发生器对输出拥有控制权,输出波形不受其他影响。

只有晶体管输出类型的CPU能够支持高速脉冲输出功能。

四、运动包络

包络(Profile)是一个预先定义的以位置为横坐标,以速度为纵坐标的曲线,包络是运动的图形描述。

一个包络由多段组成,每一段包含一个达到目标速度的加减速过程,和以目标速度匀速运行的一串指定数量的脉冲。如果是单段运动控制或者是多段运动控制的最后一段,还应该包括一个由目标速度到停止的减速过程。

PTO主要通过包络来实现位置控制。位置控制想到通过参数设置来创建包络,并用图形方式显示包络曲线,自动生成位置控制用的子程序。



五、运动包络设定步骤

在开始编写程序前,首先设定运动包络,步骤如下:

(1)双击左图所示“向导—PTO/PWM”,出现“脉冲输出向导”窗口。





(2)选择Q0.0,单击“下一步”。



(3)选择“线性脉冲串输出(PTO)”,单击“下一步”。



(4)设置项目中应用的电机最高速度、最低速度和电机启动/停止速度。



(5)单击“下一步”,设置加减速时间。



(6)单击“下一步”。



(7)点击“新包络”,选择“是”。



(8)图27灰色部分激活,在其中选择“相对位置”,设置好参数,其中步0的目标位置不要设置太小,需大于加减速脉冲数之和。



(9)单击“确认”。



(10)将参数”VB0”更改为“VB1000”,需注意,不要在程序中再重复定义“VB1000—VB1069”;单击“下一步”。



(11)单击“完成”,在弹出的对话框中选择“是”。



(12)运动包络设置完成。在调用子程序中出现Q0.0对应的位控子程序。





六、PLC程序

1、上电初始化



SM0.1:首次扫描周期时该位打开,用途是调用初始化子程序。

2、电机控制子程序和初始化



PTO0_CTRL在程序中只使用一次,并且在每次扫描时得到执行,所以使用SM0.0作为EN的输入。请加微信公众号:工业智能化(robotinfo) 马云都在关注

EN:使能端,用SM0.0连接,保持常通;

I_STOP:有效时电机立即停止;

D_STOP:有效时电机减速停止;

Done:完成标志。为“1”时表明上一指令执行完成;

Error:显示错误代码,“0”表示无错误;

C_Pos:HSC计数器功能开启时,表示运行脉冲数,否则为0。

3、复位







VD1100:复位返回脉冲数,在数据块的“用户定义1”进行设置。根据电机的减速比和驱动器的细分以及电机行程设置。



VD1043:运行包络恒速段脉冲数;VD1100-VD1080= VD1043。

4、正转



VD60.1:运动包络运行完成标志,PTO0_CTRL中的“Done”参数;v100.1:正转运行状态;v101.3:正转结束;



I0.1:正转按钮;

V100.1:正转运行状态;V101.2:复位完成标志。正反转自动运行前必须复位完成;



Q0.2:电机方向;

VD1104:正反转脉冲数,同VD1100参数一样, 在“数据块”的“用户定义1”中设置.VD1104-VD1080= VD1043。

5、反转



VD60.1:运动包络运行完成标志,PTO0_CTRL中的“Done”参数;v100.2:反转运行状态;v101.4:反转结束;



I0.2:反转按钮;V100.2:反转运行状态;V101.2:复位完成标志。正反转自动运行前必须复位完成;



Q0.2:电机方向;

VD1104:正反转脉冲数,同VD1100参数一样,在“数据块”的“用户定义1”中设置。VD1104-VD1080= VD1043。

6、手动正转



手动正转是对电机的点动控制,需要一直按住按钮,电机才能运行。运行至正限位后,即使按住按钮也不能运行,只能反向运行。

7、手动反转



手动反转是对电机的点动控制,需要一直按住按钮,电机才能运行。运行至负限位后,即使按住按钮也不能运行,只能正向运行。

8、紧急停止



紧急停止:运行至正负限位时,对系统的保护策略。任何情况下,按下紧急停止按钮,使系统紧急停止。

9、输出

(1)、包络运行



EN:使能端,用SM0.0链接表示保持常通;

START:参数开启时,执行运动包络,为确保命令只发送一次,使用上升沿信号;

Profile:设定的运动包络编号;

Abort:位控模块停止参数。开启后停止运行当前包络并减速停止;

Done:完成标志。模块完成该子程序时,此参数为“1”;

Error:错误代码,为“0”表示无错误;

C_Profile:包含位控模块当前执行的轮廓;

C_Step:目前正在执行的轮廓步骤;

C_Pos:如果PTO向导的HSC计数器功能已启用,C_Pos参数包含用脉冲数目表示的模块;否则此数值始终 为0。

(2)、点动运行



EN:使能端,SM0.0保持常通;

RUN:启用该参数加速至设定速度运行,停用该参数电机减速停止;

Speed:设定手动运行的最高速度;

Error:本子程序的错误代码,“0”表示无错误;

C_Pos:如果PTO向导的HSC计数器功能已启用,C_Pos参数包含用脉冲数目表示的模块;否则此数值始终为零。

(3)、指示灯



复位状态下,复位指示灯亮。



正反转运行时,运行指示灯亮。



不处于复位或运行状态时,停止灯亮。



免责声明:本文系网络转载,版权归原作者所有。但因转载众多,无法确认真正原始作者,故仅标明转载来源。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容!本文内容为原作者观点,并不代表本公众号赞同其观点和对其真实性负责。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则