Twincat学习笔记 一 电机控制

开发环境

平台:win7 64位系统 twincat3+vs2015

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

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

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

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

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

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并运行

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值