登录
首页
PLC论坛
PLC论坛
回帖
发帖
正文
主题:三菱FOR NEXT循环怎么写
点击:1992 回复:7
楼主
编辑
引用
管理
czhaii
不知道我这样写对不,按下X0,M0吸合,进入FOR语句,X1按下,Y1输出并计时,T0时间到断开Y1.
按下X2,Y2得电 T1计时,T1计时到,断开M1,M0吸合,返回FOR语句下一条指令出执行,
执行FOR 3次跳出循环,按下X3 Y3输出。程序重复执行。
23-04-26 22:02
1楼
编辑
引用
管理
Brainy_fa
你这是典型的拿高级语言思维来理解PLC的程序执行了。
PLC的扫描过程与高级语言一个很重要的不同点在于:即使运行条件不满足,程序仍然是往下执行的。
比如你按下X0,再按X1让Y1输出后,继续按X3就会发现Y1立即断开了。X3这段程序并不会等T0--X2--T1依次满足之后才去执行。
想要实现Y1、Y2交替输出三次的程序,用个计数器串联T1并到X0上。
23-04-26 22:36
2楼
编辑
引用
管理
czhaii
谢谢,编惯了C语言,刚刚接触PLC,
还没有吃透PLC编程书写格式。
C语言这种循环就是用for,或者do while来编写
for(i=0;i<5;i++)
{
}
do
{
}
while{1};
我再试试,我是想让PLC在这一段程序中停止运行,
必须循环FOR K值之后再向下执行。
23-04-27 08:03
3楼
编辑
引用
管理
czhaii
跟我动手学FX系列PLC,小车往返控制
23-04-28 11:45
4楼
编辑
引用
管理
xuhuifox
应该有跳转到指定标签的功能,三菱的我也不是很熟!
23-04-28 11:50
5楼
编辑
引用
管理
czhaii
看来PLC需要像C语言状态机一样来控制,在整个循环周期内,
需要某一部分动作,用计数器和D寄存器,M继电器来配合,
方便之处是所有软元件的常开常闭触点不限个数。
软元件数量也比较多
23-04-28 17:50
6楼
编辑
引用
管理
lvpretend
三菱的FOR NEXT意思就是在一个扫描周期中,重复执行FOR -----NEXT之间的程序。
你这个程序的FOR是没有意义的,执行过程如下:
0--->3
6--->28
6--->28
6--->28
29-->34
也就是FOR---NEXT之间的程序被连续重复执行了3次。
PLC的程序执行非常特别,是从上到下依次扫描执行的,不会中断,跟状态机也不相同,与汇编语言相同。
PLC最常用的梯形图是一种继电回路描述语言,继电回路是并行执行的,比如有100个继电回路,只要一通电那么100个回路就同时开始执行。PLC就是用串行执行的方式来模拟继电回路的并行执行过程,如上述的哪100个回路,被PLC从上到下依次通电,一次通电一个回路(就是扫描)。
比如你上面的程序,如果没有用到FOR NEXT,那么就是
先把0行通电:如果X0闭合,那么Y0接通,M0被置位。如果X0没有闭合,那么Y0不会接通,M0也不会被置位。
类似于C的if else 语句
if X0{
Y0=1;
M0=1; //M0在梯形图中是置位
}
else{
Y0=0; //这里没有M0=0,因为是置位
}
然后执行第6行(实际是第6步):如果X0或者Y1是接通的,那么
if (X0 or Y0){
if M0{
if not(T0){
T0 K200; //如果条件满足执行到这一步,定时器就启动开始工作,到达20S后T0的接点就闭合。如果下次
Y1=1; //执行程序时无法满足条件T0如果已经接通则立即断开,如果还没有接通这时间立即回0
else{
T0=0;
Y1=0
}
else{
T0=0;
Y1=0
}
else{
T0=0;
Y1=0
}
总之C转PLC有个过程,只要理解了“扫描”的概念就好了,如果你懂汇编就没什么障碍了,PLC妥妥的汇编语言。
23-05-02 12:41
7楼
编辑
引用
管理
czhaii
汇编和C语言执行指令的流程是一样的,
都是逐条语句执行的,
只不过汇编直接操作寄存器,
必须对寄存器非常熟悉。
C语言编写起来更方便一点,
特别是处理16位数据,加减乘除。
还有一些复杂的函数调用。
;--------------------------------------
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV P3,#0FFH
MOV P1,#0FFH
CLR P3.5 ;电机停止
LCALL DE3 ;延时8秒
SETB P3.5 ;电机输出
MAN: JB P3.7,MAI
LCALL DSS ;延时等待红外输入
JB P3.7,MAI
MK1: CLR P1.7 ;电机输出
LCALL DE3 ;延时3秒
SETB P1.7 ;电机停止
LCALL DE8 ;延时8秒
CLR P1.7 ;电机输出
LJMP LOOP ;跳检测对接
;--------------------------------------
MAI: JB P3.2,MAN
LCALL DSS ;延时等待行程输入
JB P3.2,MAN
LJMP MK1
;--------------------------------------
LOOP: JB P1.2,LSSP ;********
LCALL DSS ;延时等待对接输入
JB P1.2,LSSP ;********
SETB P1.7 ;电机上升停止
LTTP: JNB P1.2,LTTP ;延时等待对接脱离
LCALL DSS
JNB P1.2,LTTP
CLR P1.7 ;电机输出
LJMP LSSP ;检测上升限位
;--------------------------------------
LSSP: JB P1.4,LOOP
LCALL DSS ;延时检测上升限位
JB P1.4,LOOP
;--------------------------------------
SETB P1.7 ;电机上升停止
LCALL DEL ;延时缓冲
CLR P1.6 ;电机下降输出
LXXP: JB P1.3,LXXP
LCALL DSS ;延时检测上升限位
JB P1.3,LXXP
SETB P1.6 ;电机下降停止
LJMP MAN
DEL: MOV R1,#0FFH
DEL3: MOV R2,#0E1H
DEL2: MOV R3,#08H
DEL1: DJNZ R3,DEL1
DJNZ R2,DEL2
DJNZ R1,DEL3
RET
;--------------------------------------
DSS: MOV R1,#0FFH
DES3: MOV R2,#0AFH
DES2: DJNZ R2,DES2
DJNZ R1,DES3
RET
;--------------------------------------
DE3: MOV R4,#03H
DE33: LCALL DEL
DJNZ R4,DE33
RET
;--------------------------------------
DE8: MOV R4,#03H
DE88: LCALL DEL
DJNZ R4,DE88
RET
;--------------------------------------
END
23-05-02 16:57
工控新闻
天硕工业级M.2 NVMe SSD固态硬盘30μ镀金接口适配严苛环境
直播预告 AMTS 2025同期论坛 | 图尔克现场分布式解决方案在汽车行业的应用
霍尼韦尔中国总裁余锋:专注中国本土创新 聚焦绿色发展
新加坡制造业增速放缓行业分化
投资1亿元!智能制造产业园+1
艾默生为学术应用赋能,重磅发布新型一体化工程实验室
大联大品佳集团推出基于Microchip产品的3.3KW双向图腾柱PFC逆变电源方案
“AI慧聚·智造焕新”2025数字之友会AI+产业应用合作交流会成功举办
更多新闻资讯