可能是自己没有理解透彻,在做项目的时候按照逻辑编写了一段控制程序,可到现场调试的时候就出现了问题,出问题的程序段自我感觉是下图中的JMP指令出了问题。

《炉排翻动正常运行程序》为编写的子程序、S3.6 为顺控指令 Auto_8 为炉排手自动控制开关——此段程序以自动控制为目的;当 Auto_8没有接通时走自动流程控制,当 Auto_8接通时就跳过此程序段(我的目的是避免双线圈输出--不知可行与否)
程序中调用《炉排正常运行程序》的地方在只OB1中,程序段10条件如下图所示

当然,还有一个炉排手动的子程序;位置位OB1程序段12;调用方法与条件如下面三张图所示



当 Auto_8接通时走炉排的手动控制程序。
现在问题来了当M6.2没有接通,也就是没有调用《炉排翻动正常运行程序》时《炉排手动程序》运行起来无任何问题(Q1.0和Q1.1有保持--之前忘记说了 Q接口为IN_OUT类型)。当M6.2接通时,子程序《炉排手动程序》用起来 Q1.0和Q1.1就没有了保持功能。因为在OB1中程序段的序号《炉排翻动正常运行程序》为10,《炉排手动》为12。所以Q1.0和Q1.1还有输出能力(调换一下估计是没有输出,没有试)
后来没有办法,只能把手动程序中的Q和自动程序中的Q分别用两个M位代替,再后来问题就解决了。
当然JMP指令是按照说明使用的

所以总结起来JMP指令没有作用。