西门子S7-1200 PLC的PTO(脉冲串输出)不执行,通常与硬件组态、指令调用条件或输出点配置有关。请按以下步骤排查:
1. **检查硬件组态**:在TIA Portal中,确认CPU的“高速输出”功能已启用,且输出点(如Q0.0或Q0.1)分配给了正确的“脉冲发生器”(如PTO1/PTO2),注意S7-1200仅支持特定输出点作为PTO,且不能与常规数字输出复用。
2. **验证指令调用**:使用“CTRL_PTO”指令(或Motion Control中的“MC_MoveAbsolute”等)时,确保EN使能条件为TRUE,且模式参数正确(如选择“位置控制”或“速度控制”)。程序扫描周期内指令必须持续调用,不能仅在初始化时执行一次。
3. **检查输出点类型**:S7-1200的PTO要求晶体管输出(如CPU 1212C DC/DC/DC),继电器输出型号不支持高速脉冲。确认CPU型号和输出模块类型。
4. **查看诊断缓冲区**:在TIA Portal在线监控CPU的诊断缓冲区,若有“组态错误”或“输出点冲突”提示,需修正组态。
5. **测试空程序**:新建一个空白项目,仅配置PTO并直接调用指令,排除程序中其他逻辑干扰(如定时器或中断冲突)。
6. **硬件接线**:确认脉冲输出端子与驱动器信号线连接正确,且驱动器侧共地,避免因电平不匹配导致无脉冲。
若以上均正常,可更换输出点或CPU测试,排除硬件损坏可能。西门子官方手册《S7-1200 Motion Control》提供了详细案例,建议参考。