课程中心
HOME
课程中心
正文内容
plc移位编程方法 在PLC编程使用结构文本ST语言编程中使用CASE语句实现移位功能
发布时间 : 2024-10-12
作者 : 小编
访问数量 : 23
扫码分享至微信

在PLC编程使用结构文本ST语言编程中使用CASE语句实现移位功能

在PLC进行编程中常常会用到移位指令,大家也都是很熟悉,今天要跟大家聊聊的就是如何使用case语句来实现移位指令的功能。

一、首先条件语句CASE的语法结构和功能

CASE语句 :用来选择几个分支程序部分之一。选择是基于选择表达式当前值的。

语法:

CASE语句按下列规则执行:

选择表达式必须返回一个整数类型的值。当CASE语句被处理时,程序检查是否选择表达式的值包含在指定的值表之中。如果找到匹配项,列表指定的语句部分将被执行。如果没有发现匹配项,程序选择ELSE后面的语句,或者如果ELSE分支不存在则无语句可执行。

下表列出了case语句的参数:

值表 :包含允许的选择表达式的值。如下面的语句表达:

二、通过一个示例来看看如何通过CASE语句来实现移位的功能

功能要求,当按下启动按钮,六盏灯每隔2s,从左到右依次点亮;当按下停止按钮,灯全部熄灭。

看到本例,相信大家首先想到的就是移位指令,可以很容易实现此功能,今天我们主要要练习的就是CASE语句的使用,所以,看看如何通过CASE语句来实现本例的功能。

编程过程:

1、使用条件语句IF,当按下启动按钮来对灯赋值1(点亮第一盏灯),当按下停止按钮,则对灯赋值0(熄灭所有灯)

IF #START THEN

#LIGHT_TEMP := 1;

ELSIF #STOP THEN

#LIGHT_TEMP := 0;

END_IF;

2、设定时间,间隔2s

#TIME.TON(IN := (#LIGHT_TEMP = 1),

PT := T#2S);

#TIME_1.TON(IN := (#LIGHT_TEMP = 2),

PT := T#2S);

#TIME_2.TON(IN := (#LIGHT_TEMP =4),

PT := T#2S);

#TIME_3.TON(IN := (#LIGHT_TEMP = 8),

PT := T#2S);

#TIME_4.TON(IN := (#LIGHT_TEMP = 16),

PT := T#2S);

#TIME_5.TON(IN := (#LIGHT_TEMP = 32),

PT := T#2S);

3、使用CASE语句来进行选择赋值

CASE #LIGHT_TEMP OF

1:IF #TIME.Q AND #LIGHT_TEMP=1 THEN

#LIGHT_TEMP := 2;

END_IF;

2:IF #TIME_1.Q AND #LIGHT_TEMP=2 THEN

#LIGHT_TEMP := 4;

END_IF;

4:IF #TIME_2.Q AND #LIGHT_TEMP=4 THEN

#LIGHT_TEMP := 8;

END_IF;

8:IF #TIME_3.Q AND #LIGHT_TEMP=8 THEN

#LIGHT_TEMP := 16;

END_IF;

16:IF #TIME_4.Q AND #LIGHT_TEMP=16 THEN

#LIGHT_TEMP := 32;

END_IF;

32:IF #TIME_5.Q AND #LIGHT_TEMP = 32 THEN

#LIGHT_TEMP := 1;

END_IF;

END_CASE;

4、赋值输出

#LIGHT := #LIGHT_TEMP;

5、完整程序如下图所示:

6、仿真运行:

注:通过本示例,主要是跟大家看看case语句的使用,同时,也是通过本示例来看看使用结构文本ST编程的多种方法。

西门子PLC编程学习之移位&循环指令(科普篇)

引言

移位操作指令:前世今生,它属于汇编语言逻辑指令中的一部分,它包括移位指令(含算术移位指令、逻辑移位指令),循环移位指令(含带进位的循环移位指令),双精度移位指令三大类。其功能为将目的操作数的所有位按操作符规定的方式移动1位或按寄存器CL规定的次数(0~255)移动,结果送入目的地址。目的操作数是8位(或16位)的寄存器数据或存储器数据。

一、指令简介

1.1SHR右移

1.2 SHL左移

1.3 ROR:循环右移

1.4 ROL:循环左移

二、实验编程

2.1 SHR右移 & SHL左移

程序编写:插入相关指令

建立监控变量表

测试程序记录结果

右移空出位置填充1,左移空出位置填充0

2.2 ROR:循环右移 & ROL:循环左移

程序编写

变量监控表建立

测试程序记录结果

无空位填充问题。

相关问答

有哪些“plc移位指令”的实例?

字节移位指令一共有四个循环右移、循环左移、右移、左移循环移位指令(左、右)八个位是循环移动的也就是说循环左移1位就是向左移动1位最高位移到最低位处...

plc移位寄存器的使用方法?

关于这个问题,PLC移位寄存器是一种常用的逻辑控制元件,用于实现二进制数值在寄存器中的移位操作。其使用方法如下:1.选择适当的移位寄存器类型,包括左移、...

plc中的左移位指令是什么?

PLC中的左移位指令(SHL)是一种位移指令,用于将一个数据类型的操作数的二进制位向左移动指定的位数。例如,将一个32位的整数左移3位,可以使用SHL指令,操作...

西门子plc循环移位指令的用法?

右移字节(SRB)和左移字节(SLB)指令将输入数值(IN)根据移位计数(N)向右或向左移动,并将结果载入输出字节(OUT)。移位指令对每个移出位补0。如果移位数...右移...

西门子PLC移位与循环指令,怎样应用?

右移字节(SRB)和左移字节(SLB)指令将输入数值(IN)根据移位计数(N)向右或向左移动,并将结果载入输出字节(OUT)。移位指令对每个移出位补0。如果移位数...右移...

PLC中寄存器移位的SHRB指令怎么使用的?

SHRB:移位寄存器指令,其中:EN:为使能端;DATA:需要保存的数据位(bit);S_BIT:移位寄存器的最低位N:移位寄存器的长度(bits)你程序中的意思就...SHRB:移位寄.....

PLC移位指令能提前控制么?

PLC移位指令可以提前控制提前控制的前提是对移位指令的赋值。因为移位指令都是对无符号数进行的处理,执行时只考虑要移位的存储单元中每一位数字的状态,而不...

NJ系列PLC用位移指令五个灯流水灯梯形图,主要是如何用MOVE指令将信号传送到五个BOOL型元件上?

你好,可以用一个计数器记录按钮按的次数,然后用0.5秒被按钮次数除,得到亮和灭的时间,程序开始时触发亮的定时器,定时到点自动复位亮定时器,并且SET灯,然后...

三菱PLC的SMOV、SFTL等移位指令的用法,他们主要起什么作用?

SFTR,SFTL:连续执行型指令。SFTRP,SFTLP:脉冲执行型指令。位右移SFTR与位左移SFTL指令编程方式如下:SFTRPM0M20K16K4。SFTLPM0M20K...

各位朋友!怎么选择,台达plc移位指令?

[回答]台达的智能工厂展区里,我们可以一览基于台达变频器家族的应用方案:MH300配合台达PLC的脉冲定位方案,反应迅速,定位精准,可应用于塑料,线缆等应用场...

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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