单片机控制两个气缸动作的程序分享
本人一直在用PLC来控制,目前想改用单片机,谁有一些实例分享一下,比较稳定的,并且经过试用且稳定的工程实例。帮忙分析一下这个案例:用8051的控制两个气缸动作,P0口用作输入,P1口用作输出,P0低电平有效,P1输出高电平控制。
输入IO:P0.0用作启动按钮,P0.1用作气缸1上限感应器,P0.2用作气缸1下限位感应器,P0.3用作气缸2上限位感应器,P0.4用作气缸2下限位感应器;
输出IO:P1.0用作报警指示灯,P1.1为蜂鸣器输出,P1.2为气缸1电磁阀,P1.3为气缸2电磁阀。
控制流程:
1. P0.1和P0.3输入有效时,按启动P0.0输入,P1.2输出;0.5秒后,检测P0.2是否为on(off则输出报警P1.0和P1.1);1秒后,感应器检测没有异常,则P1.2断开;0.5秒后,检测P0.1是否为on(off则输出报警P1.0和P1.1);两个气缸都在原位——按启动开关——气缸1动作——始检测气缸是否到位——到位1秒后断开
2.第一个气缸动作OK,退到位时,P0.1输入,气缸2动作P1.3;0.5秒后,检测P0.4是否为on(off则输出报警P1.0和P1.1);1秒后,感应器检测没有异常,则P1.3断开;0.5秒后,检测P0.3是否为on(off则输出报警P1.0和P1.1);
3.报警处理,P1.0常on直到复位或消除报警输入,P1.1蜂鸣器以1S的on,1S off工作,直到复位或消除报警,有报警输出时,按启动按钮P0.0可以消除报警或复位。
动作流程:
两个气缸都在原位(P0.1,P0.3 为on)——按启动开关(P0.0 为on)——气缸1动作(P1.2 on)——检测气缸是否到位(P0.2 on则往下执行,off则输出报警)——到位1秒后断开(P1.2 off)——检测气缸是否到位(P0.1 on则往下执行,off则输出报警)——气缸2动作(P1.3 on)——检测气缸是否到位(P0.4 on则往下执行,off则输出报警)——到位1秒后断开(P1.2 off)——检测气缸是否到位(P0.3 on则往下执行,off则输出报警)——返回
报警:P1.0 on , P1.1 1S on, 1S off 循环, 按P0.0后可以复位。
延时都是在前一输入有效时开始计算。
希望哪位大侠可以帮忙提供一个汇编语言或C语言的程序提供参考一下,最好有注释的。谢谢分享。
|