恭喜,你发布的帖子
发布于 2015-08-10 23:22:17
3楼
NETWORK
TITLE =
//---cycT定时器 Ton 标准样式
L 0; //初始化值
O #Fwding;
O #Reving;
AN( ;
A #Fwding;
FN #tbFn1;
) ;
AN( ;
A #Reving;
FN #tbFn2;
) ;
JCN aa1;
L #tmpDelayAct;
L #CycT; //程序执行周期
+I ;
L 32000; //递增限值
>I ;
JC aa1;
POP ;
aa1: T #tmpDelayAct;
L #RunDlyT; //设定值
>=I ;
S #strOK; //延时到
O #fwdok;
O #revok;
= #Str;
S #Run;
AN #Str;
R #strOK;
//---停止情况下,才能修改参数:最大速度、加减速时间;
A #Run;
JC rn1;
ini: L #MaxSpd_real;
L #AccT_real;
/R ;
T #accSpd;
L #MaxSpd_real;
L #DecT_real;
/R ;
T #decSpd;
L #AccT;
T #accTact;
L #DecT;
T #decTact;
L 0;
T #SpdHex;
T #Spd;
L 0.000000e+000;
T #dltSpd;
T #deadPos;
T #deadNeg;
T #Spd_real;
CLR ;
= #pos;
= #neg;
= #strOK;
= #Str;
= #Fwding;
= #Reving;
= #fwdok;
= #revok;
= #Arrive;
= #tbFn1;
= #tbFn2;
BE ;
rn1: NOP 0;
NETWORK
TITLE =
//---死区范围确定,防止输出在设定附近震荡,死区要大于增量一个周期增量的的一半
//(一半+0.1)
//--如果对输出精确累计,可以把死区范围设定为0
//-arrive:输出值到达设定值范围内;
L #CycT;
ITD ;
DTR ;
L 1.000000e+003;
/R ;
T #CycT_real; //程序周期s
//--
L #accSpd;
L #CycT_real;
*R ;
L 2.000000e+000;
/R ;
L 1.000000e-001;
+R ;
T #deadPos; //取设定和运算死区最大值
L #decSpd;
L #CycT_real;
*R ;
L 2.000000e+000;
/R ;
L 1.000000e-001;
+R ;
T #deadNeg; //取设定和运算死区最大值
//----------------------------------
请填写推广理由:
分享
只看
楼主