轴数据构造变量(Axis.nAxisState) 来指示轴确当前运行状态,该变Axis.nAxisState 为列举型变量,共有以下8 种状态:
0:Poweroff — 轴未使能,运动之前需实行MC_Power 指令给轴使能 1:Errorstop — 轴缺点状态,需实行MC_Reset给轴复位 2:Stopping — 轴停滞状态 3:Standstill — 轴静止状态 4:Discrete Motion — 轴处于离散运行状态 5:Continuous Motion —– 轴处于连续运行中 6:Synchronized Motion — 轴处于同步运行中 7:Homing — 轴处于回零运行中,等待归零操作实行完成状态机转换条件
轴状态转移图如下,详细描述了轴在不同逻辑状态间的转换过程。在这些状态转换中,每个转换都依赖于特定的条件触发,如实行特定的MC(运动掌握)指令或外部故障的发生。用户无法直接逼迫轴的状态,这确保了系统的安全性和稳定性。在编程时,必须严格遵守这些逻辑哀求,确保按照精确的顺序和条件实行干系指令,以担保轴能够按照预期在状态转移图中顺利移动。

轴在静止状态(Standstill,即 Axis.nAxisState=3)时,可以通过运动功能块切换到各种运行状态;在Continuous_Motion、Synchronized_Motion状态时,需通过MC_Halt才能切换到Standstill状态;若伺服轴涌现告警(Errorstop,即 Axis.nAxisState=1),就要先运行 MC_Reset 指令,复位轴缺点;Homing回零状态( Axis.nAxisState=7),不能被其他运动指令打断,只能被MC_Stop打断;
如果不按照上图所示的办法利用 MC 指令来命令轴进走运动,轴将不会相应,并且将收到关于 MC 功能块的缺点信息。nAxisState在程序中的运用
程序中当须要确认轴是否处于空闲状态,即可以运动且没有被其他运动指令占用时,可以判断Axis.nAxisState是否即是3(Standstill状态)Axis.nAxisState即是3表明轴当前是静止的,没有实行任何运动指令。判断轴是否可以运动(能打断其他运动指令),可以判断Axis.nAxisState>=3且Axis.nAxisState<=6 ;
在调试过程中,监控Axis.nAxisState变量是一个很有用的方法,由于它能直不雅观地显示轴状态机的转换,帮助判断轴是否发生报警,以及轴当前处于何种运动模式(如离散、连续、同步)。程序中,根据Axis.nAxisState来判断轴的状态,相较于仅仅依赖MC功能块的Done旗子暗记,常日更为准确可靠。由于Axis.nAxisState供应了轴当前状态的详细信息,而Done旗子暗记可能只表示上一个MC指令是否完成,而不涉及轴的实际状态。
因此,熟习轴状态图的转移条件,并在编程时仔细考虑MC指令的利用逻辑和顺序,是编写稳定可靠运用程序的关键。这样不仅能确保轴的精确操作,还能提高全体系统的效率和安全性。
运动掌握之轴状态
http://bbs.plcjs.com/forum.php?mod=viewthread&tid=496589&fromuid=17
(出处: PLC论坛-全力打造可编程掌握器专业技能论坛)