引言:
昨天测试一个PDF文档中的STL程序,照着录入后,竟然在程序保存的时候就出错了,不能保存!研究了一下发现是JL指令的使用造成的,所以今天写篇文章来聊一下,STEP7项目STL编程中的JL 跳转指令。
正文:
在STEP7软件STL语言编程中,跳转指令是属于逻辑控制指令的,除了LOOP循环指令外,其他的逻辑控制指令都是跳转指令。跳转指令基本可以分为4类,而这个JL指令是比较特殊的一个,所以今天来讲一下。
先来看一下JL指令引起的错误吧:

FC1中因为JL指令保存时候提示有错误
首先说一句,这个程序是不严谨的,这里只用来说明报错问题,大家不要纠结!图中有JC指令和JL指令,为何我说不能保存的错误是JL指令造成的呢?
先来说一下这个JC指令,这个指令是根据上一条指令产生的逻辑运算结果(RLO)来判断是否跳转的,整数比较指令(>=I)条件成立的时候就会使状态字的RLO=1进而去激活JC跳转指令。
再来说一下JL指令,JL指令就是跳转到标号指令,但是JC指令也是跳转到标号指令(循环跳转指令的标号标签大家可以视为是一样的,其实我个人更习惯叫标签,但是今天这个编程手册上写的标号)。
那么JC和JL有何不同呢?最大的不同就是JL跳转指令其实是有一个跳转列表的,或者说叫跳转目标列表!这个目标列表最大允许包含256个条目,意思是可以跳转到0-255个标号(标签)处。
之前图片上的错误是“跳转分配器:可能丢失的跳转目标之前存在非法语句。”我在STEP7的帮助文件中搜索“跳转分配器”没有搜索到结果,但是我在一些相关的资料上介绍JL指令的时候也有提到“跳转分配器”这个词,而