西门子PLC实例讲解:电路图、设计步骤
一、设计思路
PART 01
1、用PLC控制一维运动平台实现电机的自动正反转运行及手动正反转运行;
2、一维运动平台的行程两端各有一行程开关,分别定义为正向限位和负向限位;
3、在电机自动正反转运行前,需对电机进行复位。复位的过程是:启动电机往负向运行,运行至负向限位后,往正向运行一段距离,将该位置作为电机自动正反转运行的初始位置;
4、复位完成后,按下正转按钮,电机往正向运行一段距离(该距离通过运动包络参数设定),到位后停止。按下反转按钮,电机往负向运行一段距离,到位后停止;
5、如正反转运行过程中,触动行程开关,电机停止运行。此时可通过手动正反转按钮控制电机运行离开限位开关,或按下复位按钮对平台重新复位;
6、触动行程开关后,需重新复位才能进行自动正反转运行控制;
7、在电机运行过程中,任何时刻均可通过“停止按钮”和“急停按钮”控制其停止运行;
8、停止运行后,需重新复位才能进行自动正反转运行控制;
9、“复位指示灯”、“运行指示灯”和“停止指示灯”用来指示一维平台的运行状态。
二、机械本体
PART 02
三、硬件电路
PART 03
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能够支持高速脉冲输出功能。
四、运动包络
PART 04
包络(Profile)是一个预先定义的以位置为横坐标,以速度为纵坐标的曲线,包络是运动的图形描述。
一个包络由多段组成,每一段包含一个达到目标速度的加减速过程,和以目标速度匀速运行的一串指定数量的脉冲。如果是单段运动控制或者是多段运动控制的最后一段,还应该包括一个由目标速度到停止的减速过程。
PTO主要通过包络来实现位置控制。位置控制想到通过参数设置来创建包络,并用图形方式显示包络曲线,自动生成位置控制用的子程序。
五、运动包络设定步骤
PART 05
在开始编写程序前,首先设定运动包络,步骤如下:
(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程序
PART 06
1、上电初始化
SM0.1:首次扫描周期时该位打开,用途是调用初始化子程序。
2、电机控制子程序和初始化
PTO0_CTRL在程序中只使用一次,并且在每次扫描时得到执行,所以使用SM0.0作为EN的输入。
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)、指示灯
复位状态下,复位指示灯亮。
正反转运行时,运行指示灯亮。
不处于复位或运行状态时,停止灯亮。