强制结束线程 (主控任务线程句柄 )强制结束线程 (手动任务线程句柄 )强制结束线程 (自动任务1线程句柄 )强制结束线程 (自动任务2线程句柄 )强制结束线程 (数据刷新线程句柄 )配置. 存_标签 (主窗口.标签_文件名_工位1, 主窗口.标签_文件名_工位2 )配置. 存_整数型数组 (“参数1”, 控制.脉冲模式, 控制.脉冲信号电平, 控制.方向信号电平, 控制.轴回原点方向, 控制.轴原点开关选择, 控制.硬件正限位, 控制.硬件负限位, 控制.伺服报警输入, 控制.伺服到位输入 )配置. 存_双精度小数型数组 (“参数2”, 控制.加速度极限, 控制.速度极限, 控制.加减速速度, 控制.起始速度, 控制.停止速度, 控制.轴回原高速, 控制.轴回原低速, 控制.轴原点位置, 控制.软件正限位, 控制.软件负限位 )研为. 连接控制器 ()研为. 默认参数 ()研为. 变量同步 (控制器 )控制.总轴数 = 控制器.控制器信息.总轴数 故障信息初始化 ()工艺程序初始化 ()配置. 配置文件路径 (取运行目录 () + “\data\系统配置.hcc”)配置. 读_标签 (主窗口.标签_文件名_工位1, 主窗口.标签_文件名_工位2 )配置. 读_整数型数组 (“参数1”, 控制.脉冲模式, 控制.脉冲信号电平, 控制.方向信号电平, 控制.轴回原点方向, 控制.轴原点开关选择, 控制.硬件正限位, 控制.硬件负限位, 控制.伺服报警输入, 控制.伺服到位输入 )配置. 读_双精度小数型数组 (“参数2”, 控制.加速度极限, 控制.速度极限, 控制.加减速速度, 控制.起始速度, 控制.停止速度, 控制.轴回原高速, 控制.轴回原低速, 控制.轴原点位置, 控制.软件正限位, 控制.软件负限位 )轴参数初始化 ()启动线程 (&主控任务, , 主控任务线程句柄 )启动线程 (&手动任务, , 手动任务线程句柄 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 循环 | 整数型 | | | 返回值 | 整数型 | | |
循环 = 1 启动线程 (&数据刷新, , 数据刷新线程句柄 )判断循环首 (循环 = 1 )如果 (控制.紧急停止 = 1 )如果真 (强制结束线程 (手动任务线程句柄 )) 手动任务线程句柄 = -1 如果真 (强制结束线程 (自动任务1线程句柄 )) 自动任务1线程句柄 = -1 如果真 (强制结束线程 (自动任务2线程句柄 )) 自动任务2线程句柄 = -1 研为.清空所有指令 ()研为. 默认参数 ()延时 (200 )控制.紧急停止 = 0 如果真 (手动任务线程句柄 = -1 )启动线程 (&手动任务, , 手动任务线程句柄 )延时 (200 )如果真 (控制.轴参数保存 = 1 )控制.轴参数保存 = 0 轴参数初始化 ()判断循环尾 ()
一个按钮按下,变量赋值 控制.紧急停止=1 ,在主控死循环任务里,只要检测到 控制.紧急停止=1 就要强制结束其他3个线程,同时把 控制.紧急停止=0 ,随后开启手动任务线程,
现在的清空是,按下按钮就闪退,提示 被调试易程序运行完毕 。如果是在调试模式一步一步执行,就不会闪退,但是,执行了 启动线程 (&手动任务, , 手动任务线程句柄) 这条程序,线程句柄也有数值,但实际上手动任务没有启动
|