博文

DVP-MC系列轴组学习笔记

约 1 分钟

前言

今天下午刚好有时间,学习了一下有关DVP-MC系列下的轴组的功能。

变量声明

范围名称地址数据类型
VAR_GLOBALuDMC_AddAxisToGroupARRAY[1..5] OF DMC_AddAxisToGroup
VAR_GLOBALuDMC_GroupEnableDMC_GroupEnable
VAR_GLOBALuDMC_GroupReadActualPositionDMC_GroupReadActualPosition
VAR_GLOBALuDMC_MoveDirectRelativeDMC_MoveDirectRelative
VAR_GLOBALuDMC_MoveDirectAbsoluteDMC_MoveDirectAbsolute
VAR_GLOBALAxisGroupVelARRAY[1..5] OF LREAL
VAR_GLOBALAxisGroupAccARRAY[1..5] OF LREAL
VAR_GLOBALAxisGroupDecARRAY[1..5] OF LREAL
VAR_GLOBALAxisGroupJerkARRAY[1..5] OF LREAL
VAR_GLOBALLrAxisDirRelDisARRAY[1..5] OF LREAL
VAR_GLOBALLrAxisDirAbsPosARRAY[1..5] OF LREAL
VAR_GLOBALbMoveDirRelBOOL
VAR_GLOBALbMoveDirAbsBOOL
VAR_GLOBALbAxisGroupEnableBOOL

程序内容

CASE iSystemStatus OF
	1:
	FOR UsiAxisNumber := 1 TO 5 BY 1 DO
		uDMC_AddAxisToGroup[UsiAxisNumber].Axis         := UsiAxisNumber ;
		uDMC_AddAxisToGroup[UsiAxisNumber].IdentInGroup := UsiAxisNumber ;
		uDMC_AddAxisToGroup[UsiAxisNumber].Execute      := TRUE ;
	END_FOR;
	IF EDGEPOS(uDMC_AddAxisToGroup[1].Done AND
		uDMC_AddAxisToGroup[2].Done AND
		uDMC_AddAxisToGroup[3].Done AND
		uDMC_AddAxisToGroup[4].Done AND
		uDMC_AddAxisToGroup[5].Done ) THEN
		iSystemStatus := 2 ;
	END_IF;
	2:
	IF bAxisGroupEnable THEN
		uDMC_GroupEnable.Enable := TRUE ;
	ELSE
		uDMC_GroupEnable.Enable := FALSE ;
	END_IF;
	IF EDGEPOS(uDMC_GroupEnable.Status) THEN
		iSystemStatus := 3 ;
	END_IF;
	3:
	uDMC_MoveDirectRelative.Distance := LrAxisDirRelDis ;
	uDMC_MoveDirectRelative.Execute  := bMoveDirRel ;
	IF EDGEPOS(uDMC_MoveDirectRelative.Done) THEN
		bMoveDirRel := FALSE ;
	END_IF;
	4:
	uDMC_MoveDirectAbsolute.Position := LrAxisDirAbsPos ;
	uDMC_MoveDirectAbsolute.Execute  := bMoveDirAbs ;
	IF EDGEPOS(uDMC_MoveDirectAbsolute.Done) THEN
		bMoveDirAbs := FALSE ;
	END_IF;
END_CASE;

uDMC_AddAxisToGroup[1](AxesGroup:= 1);
uDMC_AddAxisToGroup[2](AxesGroup:= 1);
uDMC_AddAxisToGroup[3](AxesGroup:= 1);
uDMC_AddAxisToGroup[4](AxesGroup:= 1);
uDMC_AddAxisToGroup[5](AxesGroup:= 1);
uDMC_GroupEnable(AxesGroup:= 1,	MoveDirectVelocity:= AxisGroupVel,	MoveDirectAcceleration:= AxisGroupAcc,	MoveDirectDeceleration:= AxisGroupDec,MoveDirectJerk:= AxisGroupJerk);
uDMC_GroupReadActualPosition(AxesGroup:= 1,Enable:= TRUE);
uDMC_MoveDirectRelative(AxesGroup:= 1,BufferMode:= 1,TransitionMode:= 0,TransitionParameter:= 0);
uDMC_MoveDirectAbsolute(AxesGroup:= 1,BufferMode:= 1,TransitionMode:= 0,TransitionParameter:= 0);

结尾

轴组的功能很强大,今天只学习了5个指令。明天继续,本文后期继续补充完善有关轴组的使用。

Log: 2019-11-15 发布本文

相关阅读

← 返回博文列表