His PLC program has the usual All-in-one DC servo brake logic:
Code: Select all
IF (SV_PC_POWER_AXIS_3) THEN (ZBrakeRelease) ;Turns on OUT9 for Z-axis brake
The name implies, and the PLC Programming Manual states, that SV_PC_POWER_AXIS_3 is controlled by the CNC11 software running on the PC. However, whether an axis is powered or not is generally determined by the MPU11. Does the information really have to make a round trip to the PC before the PLC program learns that the axis has been powered off? Or is the system variable really controlled by MPU11?
Note that, with the above logic in a normal PLC program stage, there will be a lag of between 1ms and 20ms between the change in SV_PC_POWER_AXIS_3 and the change in OUT9, because the scan period is just once every 20ms. Moving that logic to a designated fast stage (FSTG) would ensure that it gets acted upon within 1ms. However, it sounds like he is describing a delay of more than 20ms.