三菱plc编程,FOR循环指令详解
当一个或者多个指令(程序)重复多次(次数可知)时,可使用FOR指令。FOR为有限次循环指令。程序的执行过程主要分为3个步骤,输入检测、程序扫描、输出刷新。这是plc一个工作周期的工作顺序,在扫描的时候某些程序段需要执行多遍,这个时候我们可以使用FOR指令。让程序中的某一段反复执行多遍,然后再往下扫描。
那么,在哪些地方用到它呢。下面我们来看2个应用案例。
程序的0到9步,触发X0的上升沿信号,把M0导通,Z0、D10全部清空;第9到23步,是一段循环指令,FOR K10表示这段程序循环10遍。
第一遍,由于变址寄存器Z0里面的数字为0,D0Z0这个地址变为D0(具体参考变址寄存器的用法),ADD D10 D0Z0 D10,这条指令把D10加D0的数据放到D10里面了,由于在程序上面用了D10,所以一开始D10保存的数据为0,经过加法指令,D10里面保存数据就是D0,然后通过INC Z0加一指令,让Z0自加1,等于1.然后进入循环第二遍.
第二遍,Z0里面的数据为1,D0Z0这个地址变为D1,ADD D10 D0Z0 D10这条指令把D10(经过第一遍扫描,D10里面保存了D0)加D1的数据放到D10里面了,那么 D10里面的数据变为D0+D1,然后通过INC Z0加一指令,让Z0自加1,等于2.然后进入循环第三遍。
… …
第10遍,Z0里面的数据为9,D0Z0这个地址变为D9,ADD D10 D0Z0 D10这条指令把D10(经过第9遍扫描,D10里面保存了D0+D1+… +D8)加D9的数据放到D10里面了,那么 D10里面的数据变为D0到D9里面全部数据的总和,然后通过INC Z0加一指令,然后退出循环,进入下一步。
M8000常通触点段开M0,当进入PLC下一个工作周期时,由于循环指令里面的程序都是由M0常开触点触发的,这是就不会再触发了,也就是,经过一个PLC的工作周期,就把D0到D9里面的数据加起来,放到了D10里面了。
当然,我们也可以写程序来做一些其他的计算。下面我们来看下另外一个应用案例:
有54个X点,对应启动54个Y点,需要保持自锁,当按下按钮M0时所有输出停止。
面对这样一个要求,在没有学习循环指令之前,你可能会一段一段的写,需要写54段程序,今天,我们来尝试下用FOR指令来写,如下图:
每次进行扫描都会先把Z0清0,然后进入循环(54次),第一遍Z0=0,这时X000Z0的地址是X000,Y000Z0的地址是Y000,X000触发Y000线圈并形成自锁,通过INC指令Z0自加1;第二遍,Z0等于1,这时X000Z0的地址是X001,Y000Z0的地址是Y001,X001触发Y001线圈并形成自锁,通过INC指令Z0自加1;… …
这样的话,就把本来很冗长的一大段简化成了一小段,节省程序步数的同时减少了编程的时间。
关于FOR指令,除了以上两种,大家平时还有什么用法?
#三菱plc# #循环指令# #工控自动化#
PLC顺序控制梯形图的编程方式
顺序控制梯形图的编程方式是指根据系统的顺序功能图设计梯形图的方法
本章主要介绍使用STL指令和起保停电路的编程方式,以转换为中心的编程方式和仿STL指令的编程方式
绘制顺序功能图时的注意事项
1)步与步之间不能直接相连,必须用一个转换条件将它们隔开;
2)转换条件与转换条件之间也不能直接相连,必须用一个步将它们隔开;
3)顺序功能图中的初始步一般对应于系统等待起动的初始状态,这一步可能没有输出,只是做好预备状态;
6.1使用STL指令的编程方式
6.1.1单序列的编程方式
STL指令:步进梯形指令
RET:使STL复位的指令,使LD点返回左侧母线
状态S的使用:
S0-S9用于初始步
S10-S19用于返回原点
S20-S499通用状态
S500-S899有断电保持功能
S900-S999用于报警
注意:用S编制顺序控制程序时,应与步进指令一起使用。使用STL指令
的状态的常开触点称为STL触点,它在梯形图中的符号如下图所示
3PLC只执行活动步对应的电路块,不同的STL触点可以分别驱动同一编程
元件的1个线圈。但是同一元件的线圈不能在可能同时为活动步的STL区内
出现,在有并行序列 的顺序功能图中,应特别注意
4STL触点驱动的电路中不能使用MC和MCR指令
5在中断程序与子程序内,不能使用STL指令
6状态器S编号不能重复使用
7STL触点断开时,与其相连的回路不动作,一个扫描周期后不再执行STL
指令
8 定时器线圈与输出线圈一样,也可在不同的状态时间对同一定时器软件编程,但是,在相邻状态下对同一定时器编程时,则状态转移时定时器线圈不断开,当前值不能复位,因此需要注意在相邻状态不要对同一定时器编程
补充:状态转移图
一个控制过程可以分为若干个阶段,这些阶段称为状态。状态与状态之间由转换条件分隔,相邻的状态具有不同的动作,当相邻两状态之间的转换条件得到满足时,相邻状态就实现转换,即上面的动作结束下面的动作开始,描述这一状态转换过程的图就称为状态转移图
状态器软器件S是构成状态转移图的基本元素,共有1000点
步进梯形图指令的特点
步进梯形指令仅对状态器S有效,但是对于用作一般辅助继电器的状态器S,则不能采用STL指令,而只能采用基本指令。在STL指令后,只能采用SET和RST指令作为状态器S的置位或复位输出。STL与LD指令比较
转移源自自动复位:采用STL指令,当状态器S接通时,顺序控制转移状态器S的相继状态,同时,转移源状态器S自动复位
允许双重输出:由于STL指令具有转移源自动复位功能,因此STL指令允许双重甚至多重输出,
主控功能:使用STL指令,取指令LD移到右边,使用RET指令后,取指令返回到原来的母线上。
6.3.6各种编程方式的比较
1 编程方式的通用性
2 不同编程方式设计的程序长度比较
3 电路结构及其他方面的比较
STL指令的优点
相关问答
plc编程能不能有重复输出?
Plc可以有重复输出,多个OUT指令控制同一个软元件,这种叫做重复输出,也有叫双线圈输出的。很多资料上,说要禁止这种重复输出,说不允许,但是在实际上,是允...P...
简易plc一体机如何控制启动停止重复?
简单plc一体机可以使用一个基本的逻辑控制器来控制启动和停止重复。通过连接输入和输出,PLC可以检测到设备的状态,例如电机是否运行,并采取适当的措施。为了...
三菱plc怎么控制伺服电机重复运动?
三菱plc控制伺服电机重复运动的方法:设定伺服电机参数:通过三菱plc的编程软件,设定伺服电机的相关参数,如额定转速、最大转矩、加速/减速时间等。创建运动...
三菱plc怎么不重复输入?
Plc它的工作原理是重复扫描,在一定的时间和周期下,重复性的工作,他的工作扫描时间为毫秒,我们的输入点位,它是通过多次的循环扫描啊,运算的,假如我们在上...P...
plc编程循环问题怎么整?
在PLC编程中,处理循环问题需要注意以下几点:确定循环条件:使用比较指令或逻辑指令对循环条件进行判断,根据判断结果决定是否继续循环。比如,可以使用比较指...
plc比较指令能循环吗?
可以使用循环指令(LOOP)可以多次重复执行包括比较指令的程序段,由累加器1确定重复执行的次数,即以累加器1的低字为循环计数器。LOOP指令执行时,将累加器1字...
在s7200同一个程序中,可以对同一输出线圈多次使用置位和复位指令吗?
可以的,但是使用的时候还要要注意,程序是从上往下扫描的,假如线圈同时置位复位了,PLC输出的时候只认程序最下面那个状态!可以的,但是使用的时候还要要注意,程...
同型号plc能直接替换吗?
能。同型号PLC能直接替换它们。不过新换去的PLC由于没有原来的程序,得将原来的PLC程序写进新更换的PLC中。因为更换新的PLC里面是没有程序的。如果把旧...同...
plc同一个线圈可以两次置位吗?
可以可以的,但是使用的时候还要要注意,程序是从上往下扫描的,假如线圈同时置位复位了,PLC输出的时候只认程序最下面那个状态!置位指令SET和复位指令RST可以...
三菱5u字符串怎样合并?
3.最后,要确保字符串的编码格式是正确的,比如使用UTF-8编码格式。个人心得小贴士:在使用三菱字符串拼接方法时,要确保使用的字符串拼接方法是正确的,字符串...