冲床等设备的双手同步启动按钮(t<0.5S)是如何实现双手同步的?工作原理需要哪些电器元件?

冲床等设备的双手同步启动按钮(t<0.5S)是如何实现双手同步的?工作原理需要哪些电器元件?,第1张

双手0.5秒系统可以通过专门的双手控制器、PLC程序或是继电器、时间继电器配合实现困纯。

最后一种方案最经济配磨,我工厂用了很多年,没有出现过问题。

原汪卖咐理:

很简单渣带乎,我做行宴过很多

LD X0

OUT T0 K30

LD X2

OUT T1 K30

LD X1

AND X2

AND T0

AND T1

SET Y0

END

以上程序如悉中,X1.X2必须是3秒内同时按下才可用(Y0才输出),

两个按键,一个开始键,一个解除贺洞者键。按开始后按钮灯亮,5分钟后指示灯亮并等待颤闭按解除键。等待期间可长按1秒的解除键解除计时,防止误 *** 作。

我理解的对吗,可以改。

#include<reg52.h>

sbit key=P1^0 //开始键

sbit warm=P1^1 //解除键

sbit light_key=P1^2 //按键灯

sbit light_warm=P1^3 //指示灯

unsigned int count,intr_index

void initialize()//初始化,关总中断禅薯

{

intr_index=0

count=0

TMOD=0x01//设置工作方式

TH0=(65536-46080)/256

TL0=(65536-46080)%256//设初值

EA=0//开总中断

ET0=1//开计时器0中断

TR0=1//启动计时器0

}

void delay(unsigned int delay_num) //毫秒级参数延时函数

{

unsigned int x,y

for(x=delay_numx>0x--)

for(y=110y>0y--)

}

void timer0() interrupt 1//每50ms一次中断,intr_index+1

{

TH0=(65536-46080)/256

TL0=(65536-46080)%256//重新装初值

intr_index++

if(intr_index==20) //每秒count加1

{

intr_index=0

count++

}

}

void main()

{

initialize() //初始化并关中断

while(1)

{

if(key==0)

{

light_key=1

delay(1)

if(key==0)

EA=1

}

if(warm==0)

{

delay(1000) //等待期间若误按键则长按1S取消

if(warm==0)

initialize()

}

if(count==300) //5分钟后进入等待解除按键

{

light_warm=1

while(1)

if(warm==0)

{

delay(1)

if(warm==0)

{

while(!warm)

initialize()

break

}

}

}

}

}


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

原文地址: https://outofmemory.cn/yw/12564379.html

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

发表评论

登录后才能评论

评论列表(0条)

保存