线下实训
HOME
线下实训
正文内容
plc编程及应用tag 通过示例学习三菱ST编程(条件语句及定时器的综合应用示例)
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

通过示例学习三菱ST编程(条件语句及定时器的综合应用示例)

今天跟大家分享的是三菱结构化文本ST编程的条件语句和定时器的综合应用示例。

什么是条件语句?

在我前面的文章和西门子SCL专栏中都有明确的介绍,这里不做过多的介绍,简要就如下图所示:

那么定时器在三菱ST编程中怎么用?

指令格式:

BOOL_EN:定时器使能信号

BOOL_TCoil:定时器线圈(定时器编号)

TValue:定时时间设定

比如下面示例中会用到的:

OUT_T( ( B点 AND NOT B点记忆)OR (C点 AND NOT C点记忆)OR (D点 AND NOT D点记忆) OR E点, TC3 , K20 );

这条指令就是当(( B点 AND NOT B点记忆)OR (C点 AND NOT C点记忆)OR (D点 AND NOT D点记忆) OR E点)条件满足,则启动定时器T3,定时2s。

定时器的输出就是TS3。就如下面的用法:

下面就看看今天这个示例:

功能要求:一个小车在A、B、C、D、E五点间自动往返运动,流程示意图就上图所示,当按下启动按钮,小车前进到B点,当到达B点后,停止2s后,自动后退到A点,再前进到C点,停2s,再退回A点。如此循环。

编程说明:

1、首先考虑是小车的前进条件,第一次启动时通过按启动按钮,小车前进,第二次之后就是当A点的行程开关动作,小车前进。当第二次到达B点后,小车依然要前进,同理当第二次到达C点和D点,都是要前进。

其次考虑小车的停止条件:当第一次到达B点、C点、D点、E点,小车都是要停止的。因此,我们编写第一段条件语句:

IF 启动 OR A点 THEN 前进:=1;

ELSIF 前进 AND (B点 AND B点记忆) THEN 前进:=1;

ELSIF 前进 AND (C点 AND C点记忆) THEN 前进:=1;

ELSIF 前进 AND (D点 AND D点记忆) THEN 前进:=1;

ELSIF (B点 AND NOT B点记忆) OR (C点 AND NOT C点记忆) OR (D点 AND NOT D点记忆) OR E点 THEN

前进:=0;

END_IF;

注:在上面程序中,用局部标签来记录过程值,来用于判断。本例定义的标签如下图所示:

2、我们来编写后退程序:

首先就是当第一次到达B点、C点、D点、E点要停止2s,这时我们就用定时器指令来完成:

OUT_T( ( B点 AND NOT B点记忆)OR (C点 AND NOT C点记忆)OR (D点 AND NOT D点记忆) OR E点, TC3 , K20 );

其次就是后退程序,当定时时间到,则小车后退,后退的停止条件就是到达A点。程序如下:

IF TS3 THEN 后退:=1;

ELSIF A点 THEN 后退:=0;

END_IF;

3、过程记忆程序的编写。

对小车经过的点进行记忆,当到达E点后,则对记忆值进行清零。

IF B点 AND TS3 THEN B点记忆:=1;

ELSIF E点 THEN B点记忆:=0;

END_IF;

IF C点 AND TS3 THEN C点记忆:=1;

ELSIF E点 THEN C点记忆:=0;

END_IF;

IF D点 AND TS3 THEN D点记忆:=1;

ELSIF E点 THEN D点记忆:=0;

END_IF;

到此,一个完整的程序就编写完了。完整程序如下图所示:

仿真示例图:

小车前进:

第二次到达B点,小车依然前进:

第一次到达C点,小车停止:

定时时间到,小车自动后退:

S7-1200 PLC跳转与标签指令的使用

对于PLC的指令中有一部分是程序控制指令,程序控制指令就包括了用来改变程序执行顺序的跳转指令,以及在程序运行中用于控制的指令。

这一篇文章中先介绍一下跳转与标签指令。

对于S7-200/200 SMART PLC的跳转指令只有JMP这么一个指令,但是对于S7-1200 PLC来说,则是新增了一些指令,比如定义跳转列表的跳转指令JMP_LIST,和跳转分支指令SWITCH等,我们会介绍指令的不同的地方。

下面我们就开始吧~

首先提个问题?

什么是跳转,使用跳转指令可以实现什么功能?

所谓跳转,就是跳过某段程序不去执行,使用跳转指令可以实现改变程序的执行顺序的功能。如果我们没有执行跳转指令的话,各个程序段是按照从上往下的顺序进行执行的,当执行了跳转指令之后,跳转指令会中止程序的顺序执行,跳转到指定的位置的程序开始往下执行。

那么我们怎么去指定这个位置呢?

这时我们就需要用到标签指令了!

所以,跳转指令和标签指令是配对使用的。跳转时,跳转指令和标签指令之间的程序,CPU是不再进行扫描执行的,这个是我们需要注意的。

S7-1200 PLC的跳转指令包括了逻辑结构跳转指令、定义跳转列表的跳转指令JMP_LIST,和跳转分支指令SWITCH。

我们分别看一下这几个指令的功能是怎么样的。

1、逻辑结果跳转指令

逻辑运算结果为1时,执行跳转指令JMP,逻辑运算结果为0时,执行跳转指令JMPN。配套使用的标签指令是LABLE,标签指令上需要标上标签号,可以是数字,也可以是字母或汉字哦。

对于S7-200/200 SMART PLC的跳转指令只有JMP和配套的LBL指令,并不是根据逻辑结果的跳转指令,所以也没有JMPN这个指令,而且对于标签LBL指令,S7-200/200 SMART PLC的标签号只能是数字,不可以是字母和汉字的哦。

2、定义跳转列表的跳转指令JMP_LIST

JMP_LIST指令可以定义多个有条件的跳转,跳转到由K管脚的值指定的标签段的程序去继续执行,而跳转的标签号是在指令框的输出端进行指定的。

我们可以通过点击指令上的增加输出管脚的按钮去增加输出管脚,最多可以增加到32个管脚,也就是DEST0~DEST31,所以K的值的范围也应该是在0~31之间,如果不是这些编号是不执行跳转的。

如上图程序,当JMP_LIST指令的EN驱动条件满足,会根据K的值决定跳转到相应的标签处开始执行,K的值是1,就代表是跳转到DEST1管脚所链接的标签_002处开始执行。

3、跳转分支指令SWITCH

SWITCH指令是根据一个或多个比较指令的结果,定义要执行的多个程序标签处跳转,在管脚K中指定的是要比较的值,将这个值跟各个输入管脚提供的值进行比较,如果比较条件满足的话,就跳转到对于的标签处开始执行程序。

如上图程序中,当K的值等于47.0时,就跳转到DEST0管脚对应的001标签处开始执行,当K的值等于24.6时,就跳转到DEST1管脚对应的002标签处开始执行,当K的值小于或等于14.9时,就跳转到DEST2管脚对应的003标签处开始执行,如果K的值与以上三个比较条件的比较结果都不满足的话,就跳转到ELSE管脚对应的004标签处开始执行。

我们在使用跳转指令的时候有一些注意事项需要注意一下的,

1、跳转指令可以往前跳转,也可以往后跳转。

2、只能在同一个代码块中跳转,不能从一个代码块跳转到另外的代码块中。

3、在一个块中跳转标签的名称只能使用一次。

4、一个程序断中只能设置一个跳转标签。

在执行跳转的过程中又有这样的一个问题,如果跳转执行后的程序希望执行到指定的地方可以自动返回,不再往下执行,这时怎么办呢?

其实这种情况下我们可以利用另外一个指令——返回指令RET实现,返回指令RET是可以用来实现对程序执行的控制,当执行到RET指令时,退出代码块的执行,也就是说RET指令之后的程序段CPU将不再执行。

所以说跳转指令和返回指令RET一起配合使用,可以实现对程序段的选择执行。

比如在每个标签段中加入这个RET指令,那么执行完这个标签到RET指令之间的程序之后,可以自动返回,不再去执行后续的程序。

以上就是S7-1200 PLC的跳转指令相关内容,这个指令可以用于做手自动切换等功能,应用的还是比较多的,大家还是需要掌握好这个指令的使用哦。

在下一篇文章中继续给大家介绍运行时的控制指令,大家可以继续关注哦~

(培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究)

相关问答

三菱PLC编程使用标签是什么意思,怎么使用啊,万分感谢?

标签和变量,可以认为是一个意思,都是PLC编程中的重要基础概念,一般美系和日系的称作标签,比如三菱和AB,而欧系的称为变量,比如西门子。PLC的实质就是计算机...标...

西门子PLC软件怎样将程序标签导出与导入?

“导出”命令能够导出POU(主程序、子程序和中断程序)和数据块。?如果您选择导出OB1(主程序),则所有现有项目POU均作为ASCII文本文件组合和导出。?如...

plc程序启动几秒停几秒循环?

“在线和...你可以设置这一值,同样是在“周期”标签页,勾选“启用循环OB的最小循环时间”,然后输入你想要的值即可。在“在线和诊断”页面下可以看到循环周期...

三菱PLC跳转指令怎么用?

在三菱PLC中,跳转指令用于在程序中实现跳转到指定的程序段或标签。使用跳转指令可以实现程序的灵活控制和流程的跳转。要使用跳转指令,首先需要定义跳转的目标...

西门子1200plc上升沿怎么用?

在西门子1200PLC中,上升沿常常被用作触发PLC输入信号的方式,类似于按钮按下的那一瞬间。以下是如何在西门子1200PLC上使用上升沿的步骤:1.在PLC编程软件中...

三菱plc怎么建立标签?

以下是在三菱PLC编程软件MELSOFTGXWorks3中建立标签的步骤:1.打开三菱PLC编程软件MELSOFTGXWorks3,选择要建立标签的工程,选择系列、机型和梯形图语言。...

远程模拟量输入模块求助?

在往PLC添加模块的时候,会在controllertags(机器级标签)中自动添加全局标签,一般都是结构体数据,结构体里面有你要的数据。本地模块Tag名会用Local开头,...

世界自动化技术的成就?

1913年,福特汽车公司在新建的工厂中引进了汽车生产装配线。因此,装配线可以被认为是制造业中最早的自动化形式之一。制造自动化福特的流水线和量产世界第一...

ABPLC在使用MSG指令时,通常要在梯形图前加控制标签EN位的常闭节点,请问作用是什么?

EN是MSG的ENABLE的状态位,这样的逻辑是如果MSG没有ENABLE你就ENABLE,一旦ENABLE了就不再重复ENABLE了EN是MSG的ENABLE的状态位,这样的逻辑是如...

上位机可以改变fx5u标签的数据吗?

上位机可以通过编程或者使用专门的软件来改变FX5U标签的数据。这通常需要通过PLC(可编程逻辑控制器)与上位机之间的通讯来实现。具体步骤如下:1.首先,...

 长泰一中  蛟龙弓 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部