示例项目运行流程
01
上电后,进行HSC0、HSC2以及定时中断的初始化,这部分不需要用户操作
02
在AxisCtrl中执行轴0的使能,点动,回原点等操作,需要用户在触摸屏或程序中操作
03
在Time_Interrupt中执行CatchUpTimeMeasure。设定好程序管脚参数以及VD4000到VD4016之间的参数。
如上图中标号①所示,置位V4205.1(置位一次即可,测量完成后会自复位);如标号②和③所示,程序会计算灌装针的给定速度,并启动灌装针;程序检测到检测开关2对应的I1.1到来时(模式2)或者HC0的计数值大于用户设定的灌装起始位时(模式1),完成测量,得到标号④所示,灌装位对应的瓶子在传送带上行进的距离。
04
在Time_Interrupt中执行Filling。如下图中标号①所示,置位V4225.1;程序检测到检测开关1对应的I1.2信号到来时,开始计算瓶子行进的距离,并根据瓶子行进的距离与步骤3中测量得到的值VD4214比较,置位标号③所示启动指令2对应的V4205.4,启动灌装针。
05
其他辅助程序,用于灌装完成后,灌装针返回等操作
06
AXIS0_GOTO指令也要在Time_Interrupt中调用。AXIS0_GOTO的管脚参数完全由上序程序生成,不需要用户单独控制。
07
根据需要选择是否执行AXIS0_RSEEK指令,进行重新寻找参考点。重新寻找参考点可以避免灌装针往复运动产生的累积误差。
整体思路为,灌装完成后,灌装针不回到原点,而是回到一个接近原点的位置,例如2mm处,避免自动寻参消耗过长时间。此时根据GOTO指令的完成位,触发寻参功能。
本案例中AXIS0_RSEEK指令在AxisCtrl子程序中调用,这样是为了尽量减小对CPU性能的消耗。如有必要,AXIS0_RSEEK指令也可以在Time_Interrupt中调用。
触摸屏画面
触摸屏画面主要包括两部分:系统主页和参数控制界面。
系统主页中包含模式选择、灌装计数、灌装启动按钮以及相关参数设置。
参数控制页面中包含轴的手动控制和测量数据两部分。