Twincat学习笔记 一 电机控制

开发环境

平台:win7 64位系统 twincat3+vs2015

从站:没用用到从站,直接用虚拟轴

1、新建一个Twincat工程,在plc里面添加一个程序,再在VISUs里面添加Visualization,然后再添加四个按钮

Twincat学习笔记 一 电机控制_第1张图片

2、添加运动函数库,在references里面点击右键,添加lib,添加tc2_MC2库

Twincat学习笔记 一 电机控制_第2张图片

3、在MAIN文件的变量声明区按F2,分别添加MC_Power,AXIS_REF,MC_MoveRelative三个模块

Twincat学习笔记 一 电机控制_第3张图片

Twincat学习笔记 一 电机控制_第4张图片

4、连接PLC里面的轴和虚拟轴,需要先编译一下

Twincat学习笔记 一 电机控制_第5张图片

5、编写程序,并且将MAIN里面的变量和按钮连接起来

在程序编写区域按F2,按实例调用,就能快速初始化模块;

a、变量初始化代码

PROGRAM MAIN
VAR
	Axis1_Power:MC_Power;
	Axis1:AXIS_REF;
	Axis1_Move:MC_MoveRelative;
	
	Motor_State:BOOL;
	Motor_Enable:BOOL;
	Motor_CW:BOOL;
	Motor_CCW:BOOL;
	
END_VAR

b、程序

Axis1_Power(
	Axis:=Axis1, 
	Enable:= , 
	Enable_Positive:=TRUE , 
	Enable_Negative:= TRUE, 
	Override:= 100, 
	BufferMode:= , 
	Options:= , 
	Status=> , 
	Busy=> , 
	Active=> , 
	Error=> , 
	ErrorID=> );
	
	
Axis1_Move(
	Axis:=Axis1 , 
	Execute:= , 
	Distance:= , 
	Velocity:= 100, 
	Acceleration:= , 
	Deceleration:= , 
	Jerk:= , 
	BufferMode:= , 
	Options:= , 
	Done=> , 
	Busy=> , 
	Active=> , 
	CommandAborted=> , 
	Error=> , 
	ErrorID=> );
	
	IF Motor_Enable THEN
		
	Axis1_Power.Enable:=TRUE;
	END_IF

Axis1_Move.Execute:=FALSE;	
IF Motor_CW AND Motor_Enable THEN
		Axis1_Move.Distance:=50;
		Axis1_Move.Execute:=TRUE;
		Motor_CCW:=FALSE;
END_IF


IF Motor_CCW AND Motor_Enable THEN
		Axis1_Move.Distance:=-50;
		Axis1_Move.Execute:=TRUE;
		Motor_CW:=FALSE;
END_IF

IF Axis1_Move.Busy THEN
	
	Motor_State:=TRUE;
	ELSE
	Motor_State:=FALSE;		
	Motor_CW:=FALSE;
	Motor_CCW:=FALSE;
	
END_IF

6、实验结果,登录PLC并运行

Twincat学习笔记 一 电机控制_第6张图片

 

你可能感兴趣的:(TWINCAT)