测试系统的程序设计较复杂,整个系统主要分为位置判断、中断处理、电动机启停等部分,读者可先依据程序流程图了解程序结构,再阅读程序代码就较清晰了。
硬件电路模块搭建好后,根据系统要求设计系统软件,软件程序流程图如图 10-4 所示。首先将伺服设备准备好、完成 I/O 端口初始化设置,并将电动机保持回归到原点位置;其次读取上位机传送的参数值,自动启动整个过程,设置测试流程计数器值为 1,开始耐久测试,对每个运动到位位置的标志信号进行处理;然后按前面模型所述顺序动作,达到位置 I 时确认 1 个测试流程完成,比较测试流程次数;若未达到循环次数则继续自动启动整个过程、修改当前测试次数值并完成新测试;最后完成设定的循环次数后停止测试,电动机归位,等待上位机数据再次传送。
图 10-4 软件程序流程图

根据运动模型的运行位置图,PLC 程序顺序运动控制子程序流程图大体如下:
(1) 自动运行启动,B 位置启动,置位顺动作标志、复位返回动作标志;
(2) A→B 完成,复位 B 位置启动标志、C 位置启动;
(3) B→C 完成,复位 C 位置启动标志、D 位置启动,下压汽缸置位;
(4) C→D 完成,复位 D 位置启动标志、E 位置启动,下压汽缸复位;
(5) D→E 完成,复位 E 位置启动标志、K 位置启动;
(6) E→K 完成,复位 K 位置启动标志、F 位置启动,下压汽缸置位;
(7) K→F 完成,复位 F 位置启动标志、G 位置启动;
(8) F→G 完成,复位 G 位置启动标志、M 位置启动,下压汽缸复位;
(9) G→H 完成,复位 H 位置启动标志、M 位置启动;
(10) H→M 完成,复位 M 位置启动标志、I 位置启动;
(11) M→I 完成,复位 I 位置启动标志、复位顺动作标志、置位返回动作标志、延时 M 位置启动;
(12) I→M 完成,复位返回 M 位置启动标志、H 位置启动;
(13) M→H 完成,复位返回 H 位置启动标志、G 位置启动,下压汽缸置位;
(14) H→G 完成,复位返回 G 位置启动标志、F 位置启动;
(15) G→F 完成,复位返回 F 位置启动标志、K 位置启动,下压汽缸复位;
(16) F→K 完成,复位返回 K 位置启动标志、E 位置启动,下压汽缸置位;
(17) K→E 完成,复位返回 E 位置启动标志、D 位置启动;
(18) E→D 完成,复位返回 D 位置启动标志、C 位置启动,下压汽缸复位;
(19) D→C 完成,复位返回 C 位置启动标志、B 位置启动;
(20) C→B 完成,复位返回 B 位置启动标志、A 位置启动;
(21) B→A 完成,复位返回 A 位置启动标志、复位返回动作标志、计数器加 1、置位顺动作标志、延时 A 位置启动;
(22) 比较测试计数器值,每完成一次值加 1,未到最大值时返回第 (1) 步重复以上动作;达到最大值时结束整个测试流程,系统归位。