博文

台达DVP系列PLC之DVSPO指令应用

约 2 分钟

前言

今天接到一个客户的反馈情况,说使用台达DVP系列EH3的PLC自带的 API.198 DVSPO 脉冲不准。笔者我之前没有使用过这API,针对这个指令看了一下官方提供的应用手册的说明。

API指令说明

DVSPO可变脉冲输出

DVSPO指令

API引脚说明

  • S1:输出目标频率

  • S2:目标输出个数

  • S3:加减速间隔频率 (单个Word)

  • S3+1:时间频率 (单个Word)

  • D:脉冲输出装置

API相关特殊标志位和特殊寄存器

  • M1029:CH0 脉波输出完毕后,M1029=On

  • M1030:CH1 脉波输出完毕后,M1030=On

  • M1036:CH2 脉波输出完毕后,M1036=On

  • M1037:CH3 脉波输出完毕后,M1037=On

  • M1538: 显示CH0 高速输出已暂停标志

  • M1539: 显示CH1 高速输出已暂停标志

  • M1540: 显示CH2 高速输出已暂停标志

  • M1541: 显示CH3 高速输出已暂停标志

  • M1542:CH0 到达定行程频率标志

  • M1544:CH1 到达定行程频率标志

  • M1546:CH2 到达定行程频率标志

  • M1548:CH3 到达定行程频率标志

  • M1543:CH0 定行程输出完成标志

  • M1545:CH1 定行程输出完成标志

  • M1547:CH2 定行程输出完成标志

  • M1549:CH3 定行程输出完成标志

  • M1528: 启动DICF 指令执行定速输出段功能

  • M1529: 启动DICF 指令执行最终输出段功能

  • D1220: CH0(Y0,Y1)相位设置

  • D1221: CH1(Y2,Y3)相位设置

  • D1229: CH0(Y4,Y5)相位设置

  • D1230: CH0(Y6,Y7)相位设置

  • D1336: CH0 目前输出脉波个数Low word

  • D1337: CH0 目前输出脉波个数High word

  • D1338: CH1 目前输出脉波个数Low word

  • D1339: CH1 目前输出脉波个数High word

  • D1375: CH2 目前输出脉波个数Low word

  • D1376: CH2 目前输出脉波个数High word

  • D1377: CH3 目前输出脉波个数Low word

  • D1378: CH3 目前输出脉波个数High word

看完指令说明,结合魏工的思路,想到了利用以下两个API指令作为配搭,能实现 凸轮脉冲 的效果。两个指令分配是:

  • DICF(立即变更频率)

  • ABSD(绝对凸轮方式控制)

DICF

DICF指令

ABSD

DABSD指令


实现功能:凸轮脉冲

变量

Class	Identifiers	                  Address	 Type	Initial Value	Comment
VAR	    P0_FBInst		                         P0_FB
VAR    	g_b_DvspoEn	                    M0	     BOOL
VAR    	g_b_AxisPulse                   Y0	     BOOL
VAR    	g_b_AxisPosDone             	M1029	 BOOL
VAR    	g_Dw_PulseOutputTargetFrequency	D0	     DWORD	0
VAR     g_Dw_TargetPuu                  D10	     DWORD
VAR     g_w_AccDecTime              	D20	     ARRAY [2] OF WORD
VAR    	g_Dw_MasterAxisPos              D1336	 DWORD	0
VAR   	g_Dw_CamOnOffAngle          	D500	 ARRAY [5] OF DWORD
VAR  	g_b_CamAngleOut            	    M10	     ARRAY [5] OF BOOL	FALSE

PLC程序

初始化赋值

DVSPO配合DABSD指令

凸轮触发调用DICF功能块

Log: 2019-06-11 发布本文

相关阅读

← 返回博文列表