邀请码注册

 找回密码
 立即注册
查看: 221|回复: 0

什么是队列,后进先出队列怎么用,PLC编程ST示例代码

[复制链接]

31

主题

27

回帖

191

积分

注册会员

积分
191
发表于 2024-3-16 16:04:56 | 显示全部楼层 |阅读模式
1、进栈操作
bPush为bool类型,用于进栈控制;
DM0为UINT类型,用于存入数值。
num为UINT类型,用于保存队列数量。
  1. //进栈,把DM0的值放进去
  2. IF bPush THEN
  3.         data[num]:=DM0;//进
  4.         INC(num);
  5.         bPush:=FALSE;
  6. END_IF;
复制代码

2、出栈操作(后进先出)
bPOP为bool类型,用于进栈控制;
DM2为UINT类型,用于读出数值。
  1. //出栈(后进先出),DM2
  2. IF bPOP THEN
  3.         IF num>0 THEN
  4.                 DM2:=data[num-1];//出
  5.                 data[num-1]:=0;
  6.                 DEC(num);
  7.         END_IF;
  8.         bPOP:=FALSE;
  9. END_IF;
复制代码

3、出栈操作(先进先出)
data[num]为数组类型,存储队列个体数据。
  1. //出栈(先进先出),DM2
  2. IF bPOP THEN
  3.         IF num>0 THEN
  4.                 DM2:=data[0];//出
  5.                 FOR i:=0 TO num-1 BY 1 DO
  6.                 data[i]:=data[i+1];
  7.                 END_FOR;
  8.                 DEC(num);
  9.                 data[num]:=0;
  10.         END_IF;
  11.         bPOP:=FALSE;
  12. END_IF;
复制代码





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|立爱智能 ( ICP备2021006954号 )

GMT+8, 2024-4-29 06:25 , Processed in 0.241877 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表