在西门子SCL编程中语句的使用之IF语句的使用
IF语句
IF Statements
IF语句是条件语句。它提供一个或多个选项,且选择其语句部分之一(或无)执行。
条件语句的执行是给指定逻辑表达式求值。如果表达式的值是TRUE则条件成立,如果是FALSE则不成立。
语法:如下图所示:
一个IF语句按下列规则执行:
逻辑表达式=TRUE则第一部分语句序列执行。其余的语句序列不执行。如下图所示备注:
用一个或多个ELSEIF分支具有跟在一个有效表达式后的逻辑表达式不再求值,与IF语句序列形成对比。而且减少程序的运行时间。
举一个小例子来看一下:
IF I1.1 THEN
N := 0 ;
SUM := 0 ;
OK := FALSE ; // 若I1.1为1,将OK标志设置为FALSE
ELSIF START = TRUE THEN
N := N + 1 ;
SUM := SUM + N ; //若I1.1为0,START为true,则执行求和
ELSE
OK := FALSE ; //若两个条件都没有,则将OK标志设置为FALSE
END_IF ;
[三菱] 三菱ST语言:第7课 IF语句的使用
本期内容: if语句基础 if语句 IF语句的保持性 if.....else......语句 IF语句嵌套 ELS IF语句往期内容:三菱ST语言:第6课 FB、标签的用法三菱ST语言:第5课 数据处理与算法三菱ST语言:第4课 赋值指令的应用三菱ST语言:第3课 传送指令的应用三菱ST语言:第2课 定时器计数器的应用1. if 语句基础 大会读书时都学过语文,记得上小学的时候那会班级刚刚讲完造句时,班上的同学总是喜欢造一些古怪的语句,像什么如果明天下雨,我就不来上学。。。。如果我不上学,我就不会写作业。。。如果我不写作业,我就会被爸爸打。。。诸如此类其实我们的IF语句就像我们的语文一样就是把中文换成了机器能听地懂的语言,而IF语句就是如果..........就...........造句。在我们的ST语言中IF语言是这样体现的IF ?条件式? THEN ?执行语句? ;END_IF;
IF ?条件式? THEN?执行语句? ;END_IF;表示如果 干嘛干嘛 逗号我就干嘛 干嘛 句号结束会话;比如 D0=1时,我就输出Y0 END—IF;IF D0=1 THENY0:=1;END_IF;
这就是IF语句最简单的运用了,我们要注意的是 THEN END-IF这二个是不能漏的分号也是要写上不能不写除去THEN如果 D0 不等于 1, Y0就不输出,这个时候了不输出Y0我可以输出Y1啊,怎么做了 ?可以这么写如果 D0 不等于 1THEN Y0就不输出 ;不然(ELSE) Y1输出;END-IF;这个就是我们的 如果........就..........不然..........语句IF ?条件式? THEN ?执行语句? ;ELSE ?执行语句? ;END_IF;IF D0=1 THENY0:=1 ;ELSEY1:=1 ;END_IF;这就是我们的 如果........就..........不然..........语句if.....else......语句IF语句 BOOL表达示的写法我们的X、Y、M 在IF语句中可以简写比如我的置位电路可以这么写IF X2 THEN Y0:=1;END_IF;只要我们不写ELSE语句时,我们的X2接通过一次Y0就会一直动作
2.这就是IF语句的保持性 那我们怎么停止Y0了,二个办法要么加一条ESLE语句进行复位或做其它,要么在外面复位IF X2 THENY0:=1;ELSEY0:=0;END_IF;IF X2 THEN Y0:=1;END_IF;RST(X1, Y0);
IF语句比较指令使用IF D0>1 AND D0<8 THEN Y0:=1;END_IF;IF语句作为比较条件使用IF (D0+12/2)>6 THENY0:=1;END_IF;都是可以这么写的3.IF语句嵌套 我们可以套着使用IF语句比如我们M0启动后,Y0输出等待D0 D1输入数值,如果输入了就D0 D1相加然后复位M0IF ?条件式? THEN ?执行语句? ;IF ?条件式? THEN ?执行语句? ; END_IF;END_IF;set(X1,M0);IF M0 THENY0:=1;IF D0 <> 0 AND D1<>0 THEND3:=D0+D1;M0:=0;Y0:=0;END_IF;END_IF;IF语句嵌套必须满足前提条件也就是例子上的M0要接通然后才能接通另一条判断条件。当然IF ELSE一样能用IF ?条件式? THEN ?执行语句? ;IF ?条件式? THEN ?执行语句? ;ELSE ?执行语句? ; END_IF;ELSE ?执行语句? ;END_IF;4.ELS IF语句 运用一个或多个ELSE_IF语句可以实现多个不同的条件,而不用使用多个简单的IF语句创建复杂的程序逻辑IF?条件式? THEN?执行语句?;ELSIF?条件式? THEN?执行语句?;ELSIF?条件式? THEN?执行语句?;ELSIF?条件式? THEN?执行语句?; ELSE?执行语句?; END_IF;
什么意思了???就是当我们条件一不满足时执行条件二条件二不满足时执行条件三条件三不满足时执行条件四都不满足就执行ELSE语句比如经典的仓位判断仓库有三个原料仓,分另是A,B,C每个仓位重量50KG放料小车依次从A、B、C三个仓位进行取放原料已知小车每次载重5KG,A仓位要8000个脉冲B仓位要12000个脉冲C仓位要15000个脉冲例如我们的IO分配如下D0为A仓位的当前重量D2为B仓位的当前重量D4为B仓位的当前重D10为小车重量我们可这么写IF D0+D10<50 THEN (*A仓位*)D0:=D0+D10 ;ELSIFD2+D10<50 THEN (*B仓位*)D2:=D0+D10 ;ELSIFD4+D10<50 THEN (*C仓位*)D4:=D0+D10 ;ELSE报警:=0; END_IF;
当然然还有脉冲数发送给小车,我们就不细写了,还有什么时候进行加法,我也不细写,只是一个大至的思路
三菱ST语言:第7课 IF语句的使用
http://bbs.plcjs.com/forum.php?mod=viewthread&tid=493925&fromuid=17
(出处: PLC论坛-全力打造可编程控制器专业技术论坛)
相关问答
plc中if条件判断命令?
IF函数用法:判断一个条件是否满足:如果满足返回一个值,如果不满足则返回另外一个值。IF函数语法格式:=IF(logical_test,value_if_true,value_if_false)...
PLCST语句编程for语句的一个小问题J:=101;FORI:=1TO100BY2DO...
[最佳回答]每一次循环,变量I+2呗,直到I>100时,for循环结束
PLC多故障点连接蜂鸣器程序如何编写?
编写PLC多故障点连接蜂鸣器的程序需要以下步骤:1.首先,定义多个故障点的变量,例如故障点1、故障点2、故障点3等。2.设置一个触发条件,当任何一个故障点发生...
plc比较指令怎么接线?
比较指令用于判断选择相当于if语句,在三菱PLC中,比较指令有=、>、<、<>、<=、>=,用于数据的比较。比较指令不接线,相当于输入的判断,根据判断来选择相应的输...
顺序控制梯形图的编程方法有哪些?
1.利用if-else语句来控制绘制梯形图中的分支流程。2.利用switch-case语句来实现梯形图中各项步骤的选择性执行。3.利用循环语句来不断重复执行某一步骤...
电气自动化需要哪些高级语言?
电气自动化需要哪些高级语言?市面上高级语言挺多,好用的也挺多。工业自动化里常见到的有VB,C++,C#等等。需要哪些?一般一个公司要求并不多,熟悉一种就好。...
plc如何实现两个时间继电器互锁?
要实现两个时间继电器的互锁,可以使用PLC(可编程逻辑控制器)来编程实现以下步骤:1.首先,定义两个时间继电器(TR1和TR2)的状态变量,可以使用一个位变量...要...
三菱PLC温控模块怎么使用
三菱PLC温控模块怎么使用以三菱FX3U系列的PLC为例,模拟量控制有电压·电流输入、电压·电流输出、温度传感器输入3种,其中温度传感器也就是温控模块是转么读取...
plc编程中如何用st语言封装气缸?
IFldp(1,X0)THENa:=a+1;IFa=3THENY0:=1;ELSEY0:=0;END_IF;END_IF;IFX0==trueANDM0<...
themaximalcuttingforcecanbesavedinFIFO(BUF[22]);ifPLC_...
[最佳回答]模式,其最大切削力可以保存在FIFO的(咯[22]);如果plc_cyc=0它指的是机器,在手工模式,最大切削力数据将被丢弃.此外,当复位信号控制器进入8051...