紅綠燈的編程
1. PLC實操編寫紅綠燈,圖文版也很容易就學會!
帶大家實操編寫PLC控制交通信號燈系統。案例介紹:某企業承建十字路口交通燈的PLC控制系統。信號燈由啟動開關控制,啟動後運行指示燈常亮,系統開始工作。停止按鈕按下時,指示燈和所有信號燈熄滅,停止指示燈亮起。繪制時序圖,梳理控制需求,使流程清晰。項目流程圖,優化控制流程,簡化編程任務。I/O分配表,詳細定義流程中各部分功能。實物接線圖,確保硬體正確連接。
PLC程序編寫:通過分析、流程圖、I/O分配,輕松拆解需求。第一部分,啟動開關接通時,運行指示燈亮,系統開始工作,斷開後指示燈常亮。停止按鈕操作時,所有信號燈熄滅,停止指示燈亮起。第二部分,運行指示燈常亮,信號燈按照時間順序循環點亮,南北綠燈與東西綠燈不能同時亮起。計數器記錄循環總次數。
HMI程序編寫:使用軟體繪圖元件模擬十字路口畫面,添加PLC協議實現連接。顯示東南西北方向紅黃綠交通燈,設置燈的顏色和循環數值顯示。通過添加寄存器顯示元件,展示程序中計數器的循環次數。
章節小結:通過圖文指導,實操編寫交通信號燈PLC系統變得簡單。提出問題,邀請討論:嘗試不使用時間判斷方法,能否使用定時器完成編寫?了解100ms定時器設定3分鍾時,x應設為多少?留言參與討論,免費觀看實操視頻教學,獲取更多PLC知識,歡迎關注更多PLC培訓內容。
2. 求高人幫忙十字路口交通燈c語言編程 急急急!!!
#include <reg51.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)
{
uchar i;
while (x--) for (i=0;i<120;i++);
}
void Traffic_Light()
{
switch (Operation_Type)
{
case 1:
RED_A=1;YELLOW_A=1;GREEN_A=0;
RED_B=0;YELLOW_B=1;GREEN_B=1;
DelayMS(2000);
Operation_Type=2;
break;
case 2:
DelayMS(300);
YELLOW_A=!YELLOW_A;GREEN_A=1;
if(++Flash_Count!=10) return;
Flash_Count=0;
Operation_Type=3;
break;
case 3:
RED_A=0;YELLOW_A=1;GREEN_A=1;
RED_B=1;YELLOW_B=1;GREEN_B=0;
DelayMS(2000);
Operation_Type=4;
break;
case 4:
DelayMS(300);
YELLOW_B=!YELLOW_B;GREEN_B=1;
if(++Flash_Count!=10) return;
Flash_Count=0;
Operation_Type=1;
break;
}
}
void main()
{
while(1) Traffic_Light();
}