plc排队程序怎么写

plc排队程序怎么写,第1张

写plc排队程序的步骤:

1、分别衫芦有1、2、3、4、5共计5个开关点,暂且定义为I0.0--I0.4,分别对应输出点Q0.0--Q0.4。

2、当这5个开关点无顺序依次接通时,相对应的输出点高塌世按照先来后到,排队的形式进戚肢行输出,同时输出不超过两个。

3、等这两个输出保持30秒以后断开,重新再检测这5个开关点的闭合状态,再按照排队的形式输出先接通开关点对应的输出点。

PLC一进一出才走输出的程序,其实是一个初级的排队控制程序,可以通过以下的简单程序实现:

1. 创建两个计时器,分别为T1、T2,用于衡纯卜控制进入队列和出队列。

2. 创建一个用于控制队列长度的计数器,用于记录当前队列中的数量。

3. 为进出队列分别定义一个触点I1和I2。

4. 创建一个输出Q1,用于在出队列时输出信号。

下面是具体的程序流程:

主程序:

- 开始时,初始化计数器CT0值为0,将T1、T2复位,并将输出Q1初始值设为0。

- 若I1触点被触发,则T1开始计时。在T1计时结束之前,如果I2触点被触发,则不做处理。若计时器T1计时结束,队列长度增加1,计数器CT0加1,并清零计时器T1。

- 若I2触点被触发,则T2开始计时。在T2计时结束之前,裤昌如果I1触点被触发,则不做处理。若计时器T2计时结束,队列长度减1,计数器CT0减1,并清零计时器T2。

- 若队列中有物体,则输出Q1为咐穗1,否则Q1为0。

- 继续执行主程序。

程序结束。

需要注意的是,该程序只适用于简单的一进一出排队控制,对于具体的场景需求,程序可能需要进行修改。

#include<stdio.h>

#include<malloc.h>

#define N 10

int main(void)

{

int i,j,x,m,flag=1

char ch

m=N

char (*p)[10]=(char (*)[10])calloc(N,10*sizeof(char))

for(i=0i<10i++)

for(j=0j<10j++)

p[i][j]='\0'

printf("伏蔽戚输入ID时不超过10位,第一位不能为'*'\n")

i=0

while(1)

{

while(i<m)

{

printf("请输入第%d名并举的ID:",i+1)

ch=getchar()

for(j=0j<10j++)

{

if(j==0&&ch=='*')

{

flag=0

break

}

if(ch=='\n')

break

p[i][j]=ch

ch=getchar()

}

if(flag==0)

break

i=i+1

}

if(flag==0)

break

m=m+N

p=(char (*)[10])realloc(p,m*10*sizeof(char))

for(x=ix<mx++)

for(j=0j<10j++)

p[x][j]='\0'

}

for(j=0j<ij++)

{

printf("第%d名缺陵:",j+1)

printf("%s\n",p[j])

}

free(p)

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12494294.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存