定时器控制led灯闪烁实验报告plc(定时器控制led灯闪烁实验报告)
PLC利用定时器设计一个闪烁电路,闪烁周期为1秒,占空比为80%
每一种PLC都有内部的脉冲功能继电器M。可以从编程手册上找到。找到后利用这个功能继电器M作为条件,后面连接外部输出Y就可以实现这个功能。
网络1
LD SM0.0
AN T38
TON T37, 100
网络2
LD T37
TON T38, 100
参数定义:time_set:MD0,32位浮点数,PWM波周期,单位:s
pwm_set:MD4,32位浮点数,PWM占空比,范围0-1。
Q0.0:PWM输出。其他均为临时变量,可以忽略。
扩展资料:
定时设置完成后,应按“设定”键检查多次定时设定情况是否与实际情况一致。如有异,请按时间需要进行调整或重新设定。
注:如果每天不需要设定20组,而其他组已设定,必须按“清除”键,将多余各组的时间程序清除。如设置的时间程序是跨天的,需要逐一将“开”与“关”时间程序相对应的星期模式对应好。
定时器一直有电源输出,没有定时功能;“关”:定时器无电源输出,呈关闭状态;“自动开”:定时器接通电源时有电源输出,之后按设定的程序工作;“自动关”:定时器接通电源时无电源输出,之后按设定的程序工作。
参考资料来源:百度百科-定时器
PLC(三菱)彩灯闪烁电路的控制
这个题目不应该很难的。很多书上都有关于这个题目的内容。综合一下,画出顺序功能图,然后再逐步调试。最好手里有个三菱的FX1S系列的PLC,这样能随时验证正确与否。自己独立完成吧,相信你能完成的很好!
如何用PLC来控制灯光的闪烁频率
采用线圈驱动指令实现起动、自锁和停止控制。
点击起动按钮SB1时,PLC内部梯形图程序中的起动触点X000闭合,输出线圈Y000得电,输出端子Y0内部硬触点闭合,Y0端子与COM端子之间内部接通,接触器线圈KM得电,主电路中的KM主触点闭合,电动机得电起动。
点击停止按钮SB2时,PLC内部梯形图程序中的停止触点X001断开,输出线圈Y000失电, Y0、COM端子之间的内部硬触点断开,接触器线圈KM失电,主电路中的KM主触点断开,电动机失电停转。
扩展资料
可编程逻辑控制器(Programmable Logic Controller,PLC),一种具有微处理器的用于自动化控制的数字运算控制器,可以将控制指令随时载入内存进行储存与执行。可编程控制器由CPU、指令及数据内存、输入/输出接口、电源、数字模拟转换等功能单元组成。
早期的可编程逻辑控制器只有逻辑控制的功能,所以被命名为可编程逻辑控制器,后来随着不断地发展,这些当初功能简单的计算机模块已经有了包括逻辑控制、时序控制、模拟控制、多机通信等各类功能;
名称也改为可编程控制器(Programmable Controller),但是由于它的简写PC与个人电脑(Personal Computer)的简写相冲突,加上习惯的原因,人们还是经常使用可编程逻辑控制器这一称呼,并仍使用PLC这一缩写。
怎样用PLC的一个定时器控制一个灯的闪烁
在很多工业场合中,经常用LED按一定的频率闪烁来实现信号指示功能,例如红灯闪烁表示报警,黄灯闪烁表示设备处于准备状态等。如何实现LED灯的闪烁效果呢?通常使用以下两种方法:
例题:Q0.0外接一个LED发光二极管作为信号指示灯,要求PLC系统上电后LED灯以1Hz频率闪烁。
方法一:两个定时器交替工作产生脉冲信号,程序如下图所示
方法二:使用系统时钟脉冲存储器直接产生脉冲信号
在S7-1200PLC程序中除了使用两个定时器来产生脉冲信号,还可以应用PLC的系统和时钟存储器来产生特定频率的脉冲信号。时钟存储器的设置和使用步骤如下:
(1)在博图项目文件中双击“设备和网络”;
(2)鼠标双击PLC的CPU图标,下方将弹出该PLC的属性窗口;
(3)在属性窗口左侧目录中双击“系统和时钟存储器”选项;
(4)勾选启用时钟存储器字节将其激活;
(5)如下图所示可以看到PLC中支持几种特定频率的时钟存储器,我们需要选用的是1Hz的始终存储器,其默认地址为M0.5。
(6)在程序中只需调用该存储器就可以产生1Hz的脉冲信号,编程PLC程序如下图所示
这种方式的优点是程序结构简单,使用方便。缺点是产生的时钟脉冲频率是固定的。
专栏
轻松学会KUKA工业机器人
作者:电气技术微课堂
29币
47人已购
查看
[img]plc控制led灯
用的是BCD码控制发方式,总共有七个点,用指令MOVK()K2Y0.用的是二进制传送方式。八个一组,分别是1286432168421。按照这个设置K多少传送到K2Y0,就能实现了,比如你要显示8,就是7个Y点全亮,就是(64+32+16+8+4+2+1=127)MOVK127K2Y0,显示的就是8了,有个指令很简单的,我忘了,不同那么复杂的,反正原理就是这样
单片机实验利用定时器控制八个LED灯每隔1S每四个为一组轮流点亮
03 8只LED左右来回点亮
/* 名称:8只LED左右来回点亮
说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果
*/
#includereg51.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchari;
while(x--)
{
for(i=0;i120;i++);
}
}
//主程序
void main()
{
uchari;
P2=0x01;
while(1)
{
for(i=0;i7;i++)
{
P2=_crol_(P2,1);//P2的值向左循环移动
DelayMS(150);
}
for(i=0;i7;i++)
{
P2=_cror_(P2,1);//P2的值向右循环移动
DelayMS(150);
}
}
}
04 花样流水灯
/* 名称:花样流水灯
说明:16只LED分两组按预设的多种花样变换显示
*/
#includereg51.h
#define uchar unsigned char
#define uint unsigned int
uchar code Pattern_P0[]=
{
0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,
0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,
0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,
0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff
};
uchar code Pattern_P2[]=
{
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff,
0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,
0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,
0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,
0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff
};
//延时
void DelayMS(uint x)
{
uchari;
while(x--)
{
for(i=0;i120;i++);
}
}
//主程序
void main()
{
uchari;
while(1)
{ //从数组中读取数据送至P0和P2口显示
for(i=0;i136;i++)
{
P0=Pattern_P0[i];
P2=Pattern_P2[i];
DelayMS(100);
}
}
}
05 LED模拟交通灯
/* 名称:LED模拟交通灯
说明:东西向绿灯亮若干秒,黄灯闪烁5次后红灯亮, 红灯亮后,南北向由红灯变为绿灯,若干秒后南北向黄灯闪烁5此后变红灯,东西向变绿灯,如此重复。
*/
#includereg51.h
#define uchar unsigned char
#define uint unsigned int
sbit RED_A=P0^0; //东西向灯
sbit YELLOW_A=P0^1;
sbit GREEN_A=P0^2;
sbit RED_B=P0^3; //南北向灯
sbit YELLOW_B=P0^4;
sbit GREEN_B=P0^5;
uchar Flash_Count=0,Operation_Type=1; //闪烁次数,操作类型变量
//延时
void DelayMS(uint x)
{
uchari;
while(x--)for(i=0;i120;i++);
}
//交通灯切换
void Traffic_Light()
{
switch(Operation_Type)
{
case1: //东西向绿灯与南北向红灯亮
RED_A=1;YELLOW_A=1;GREEN_A=0;
RED_B=0;YELLOW_B=1;GREEN_B=1;
DelayMS(2000);
Operation_Type=2;
break;
case2: //东西向黄灯闪烁,绿灯关闭
DelayMS(300);
YELLOW_A=~YELLOW_A;GREEN_A=1;
if(++Flash_Count!=10)return; //闪烁5次
Flash_Count=0;
Operation_Type=3;
break;
case3: //东西向红灯,南北向绿灯亮
RED_A=0;YELLOW_A=1;GREEN_A=1;
RED_B=1;YELLOW_B=1;GREEN_B=0;
DelayMS(2000);
Operation_Type=4;
break;
case4: //南北向黄灯闪烁5次
DelayMS(300);
YELLOW_B=~YELLOW_B;GREEN_B=1;
if(++Flash_Count!=10)return;
Flash_Count=0;
Operation_Type=1;
}
}
//主程序
void main()
{
while(1)Traffic_Light();
}
06 单只数码管循环显示0~9
/* 名称:单只数码管循环显示0~9
说明:主程序中的循环语句反复将0~9的段码送至P0口,使数字0~9循环显示
*/
#includereg51.h
#includeintrins.h
#define uchar unsigned char
#define uint unsigned int
uchar codeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
//延时
void DelayMS(uint x)
{
uchart;
while(x--)for(t=0;t120;t++);
}
//主程序
void main()
{
uchari=0;
P0=0x00;
while(1)
{/* for(;i11;i++){ P0=~DSY_CODE[i]; DelayMS(300);} //注:另一方案 */
P0=~DSY_CODE[i];
i=(i+1)%10;
DelayMS(300);
}
}
定时器控制led灯闪烁实验报告plc的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于定时器控制led灯闪烁实验报告、定时器控制led灯闪烁实验报告plc的信息别忘了在本站进行查找喔。微信号:ymsc_2016
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~