一、设计思路

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

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

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

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

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

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

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

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

三、硬件电路

西门子plc接线实物图讲解(西门子PLC实例讲解)(1)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(2)

五、运动包络设定步骤

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

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(3)

西门子plc接线实物图讲解(西门子PLC实例讲解)(4)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(5)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(6)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(7)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(8)

(6)单击“下一步”。

西门子plc接线实物图讲解(西门子PLC实例讲解)(9)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(10)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(11)

(9)单击“确认”。

西门子plc接线实物图讲解(西门子PLC实例讲解)(12)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(13)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(14)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(15)

西门子plc接线实物图讲解(西门子PLC实例讲解)(16)

六、PLC程序

1、上电初始化

西门子plc接线实物图讲解(西门子PLC实例讲解)(17)

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

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(18)

PTO0_CTRL在程序中只使用一次,并且在每次扫描时得到执行,所以使用SM0.0作为EN的输入。

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

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

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

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

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

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

3、复位

西门子plc接线实物图讲解(西门子PLC实例讲解)(19)

西门子plc接线实物图讲解(西门子PLC实例讲解)(20)

西门子plc接线实物图讲解(西门子PLC实例讲解)(21)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(22)

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

4、正转

西门子plc接线实物图讲解(西门子PLC实例讲解)(23)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(24)

I0.1:正转按钮;

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(25)

Q0.2:电机方向;

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

5、反转

西门子plc接线实物图讲解(西门子PLC实例讲解)(26)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(27)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(28)

Q0.2:电机方向;

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

6、手动正转

西门子plc接线实物图讲解(西门子PLC实例讲解)(29)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(30)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(31)

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

9、输出

(1)、包络运行

西门子plc接线实物图讲解(西门子PLC实例讲解)(32)

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

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

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

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

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

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

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

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

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

(2)、点动运行

西门子plc接线实物图讲解(西门子PLC实例讲解)(33)

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

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

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

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

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

(3)、指示灯

西门子plc接线实物图讲解(西门子PLC实例讲解)(34)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(35)

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

西门子plc接线实物图讲解(西门子PLC实例讲解)(36)

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

,