wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区
標題:
Arduino簡易小型PLC代碼
[打印本頁]
作者:
lamyauhoi
時間:
2022-11-28 12:45
標題:
Arduino簡易小型PLC代碼
簡昜小型PLC只有16個指令,這幾個是PLC基本功能,如需要其它功能可自行加上。
輸入輸出可自行更改位置點數。
內部繼電器M,計數器,計時器,可增加所需要個數。
如果要在設備上運行。
需要在輸入,輸出,電源,每個部份要做好抗干擾功能。
連接人機介面HMI可成為小型控制系統。在小型設備使用很方便。
沒有實際在設備上測試,只在arduino LGT8F328 nulllab mini arduino nano板上測試過!
easy_mini_plc.ino
//在arduino LGT8F328 nulllab mini arduino nano板上測試過,
//這幾個都是PLC基本功能,如需要其它功能可自行加上。
//------------------------------------------------------
#include "macrodef.h"
unsigned int T2ovfcount=10; //timers 100ms
//-------------------------------------------------------
void setup()
{
Serial.begin(115200);
//----------------------------------------
//更改自己的輸入輸出點
//-----------------------------------------
pinMode(A2, INPUT_PULLUP);
pinMode(A3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
//----------------------------------------
// fastioMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(13, OUTPUT);
//----------------------------------------
// T2 10ms Interrupt setup
//----------------------------------------
noInterrupts();
TCCR2A =
1 << WGM20;
TCCR2B =
1 << WGM22 |
1 << CS22 |
1 << CS21 |
1 << CS20;
TIMSK2 =
1 << TOIE2;
OCR2A = 78;
interrupts();
//--------------------------------
count0=0;
timer0=0;
count1=0;
timer1=0;
count2=0;
timer2=0;
count3=0;
timer3=0;
}
//-------------------------------
void loop()
{
//---------------------------------------------
// 其它程式
//---------------------------------------------
test_plc1();
//test_plc2();
//test_plc3();
//test_plc4();
//test_plc5();
//---------------------------------------------
PlcEnd();
//---------------------------------------------
//test output
Serial.print(stb);
Serial.print("\t");
Serial.print(count0);
Serial.print("\t");
Serial.print(timer30);
Serial.print("\t");
Serial.print(Y3);
Serial.print("\t");
Serial.print(T30);
Serial.println();
}
//---------------------------------------
// ISR Timer Routine 10ms Interrup
//---------------------------------------
ISR(TIMER2_OVF_vect){
T2ovfcount--;
isrtimer(30); //10ms 0.01s timer
isrtimer(31);
if(T2ovfcount<=0){
T2ovfcount=10;
isrtimer(0); //100ms 0.1s timer
isrtimer(1);
isrtimer(2);
isrtimer(3);
isrtimer(4);
}
}
//-------------------------------------
// PLC io input output
///更改自己的輸入輸出點
//-------------------------------------
void PlcEnd() {
digitalWrite(9,Y0);
digitalWrite(7,Y1);
digitalWrite(8,Y2);
digitalWrite(13,Y3);
X0=!digitalRead(A2);
X1=!digitalRead(A3);
X2=!digitalRead(4);
X3=!digitalRead(5);
X4=!digitalRead(6);
stb=0;
}
//--------------------------------
//X0,X1,其中一個接GND 生效
//test plc
//-------------------------------------------------------------------------------------
void test_plc1(){
LD(X0) // |----||----------|---|/|--------------------------( )-----|
OR(X1) // | LD X0 | ANI M1 OUT T3,2 | 0.2s
ANI(M1) // |----||----------| |
OUTT(3,2) // | OR X1 |
LD(T3) // |----||-------------------------------|-----------( )-----|
ATL(0,Y3) // | LD T2 | ATL Y3 |
OUT(M1) // | |-----------( )-----|
LD(Y3) // | OUT M1 |
OUTC(0,20) // |----||-------------------------------------------( )-----|
LD(C0) // | LD Y3 OUT C0,20 | 20
RSTC(0) // |----||-------------------------------------------( )-----|
// | LD C0 RST C0
}
//-------------------------------------------------------------------------------------------
void test_plc2(){
LD (X4) // |-------||-------|--------||-------||-------|------( )----|
LD (X0) // | LD X4 | LD X0 AND X1 | OUT Y3 |
AND(X1) // | |--------||-------||-------| |
LD (X2) // LD X2 AND X3
AND(X3)
ORB
ANB
OUT(Y3)
}
//-----------------------------------------------------------------------------------------
void test_plc3(){
LD (X0) // |------||------|------||------|--------------------( )-----|
OR (X2) // | LD X0 | AND X1 | OUT Y3
AND (X1) // |------||------| |
LD (X3) // | ORI X2 |
AND (X4) // |------||------||-------------|
ORB // | LD X3 AND X4
OUT(Y3)
}
//-------------------------------------------------------------------
void test_plc4(){
LD (X0)
SET(M0)
LD (M0)
OUT(Y3)
LD (X1)
RST(M0)
}
//------------------------------------------------------------------
void test_plc5(){
LD (X2)
ATL(0,Y3)
}
//------------------------------------------------------------------
復制代碼
macrodef.h
//----------------------------------------------------------
//計時器 中斷 時間 -- isrtimer(0)---
//------------------------------------------------------------
#define isrtimer(x)\
if (startt##x){\
if(!T##x){\
if(!timer##x){\
T##x=1;\
}\
else{\
timer##x--;\
}\
}\
}
//-------------------------------------------------------
//計時器 OUT x=計時器號,k=計時器時間 ----OUTT(2,5)----
//-------------------------------------------------------
#define OUTT(x, k)\
stb=0;\
if (st0) {\
if(!T##x){\
if(!startt##x){\
startt##x=1;\
timer##x=k;\
}\
}\
}\
else {\
timer##x=0;\
startt##x=0;\
T##x=0;\
}
//-----------------------------------------------------------
//按一次鍵ON 又按一次鍵OFF ATL(a,d) a=ATL號 d=輸出 --ATL(0,Y3)---
//-----------------------------------------------------------
#define ATL(a,d)\
if(st0){\
if (!atl##a){\
d =(st0^d);\
atl##a=1;\
}\
}\
else{\
atl##a=0;\
}
//---------------------------------------------------
//counter 計數器 x=計數器號 k=計數器數值----OUTC(0,20)---
//---------------------------------------------------------
#define OUTC(x,k)\
stb=0;\
if(C##x==0){\
if(st0){\
if(cset##x==0) { count##x=k; cset##x=1;}\
if(cst##x==0){\
cst##x=1;\
count##x--;\
if(count##x==0){\
C##x=1;\
}\
}\
}\
else{\
cst##x=0;\
}\
}
//---------------------------------------------------------
//reset 計數器 x=計數器號
//------------------------------------------------
#define RSTC(x)\
if(st0){\
C##x=0;\
cst##x=0;\
cset##x=0;\
count##x=0;\
}
//----------------------------------------------------------
//reset timer 計時器 ---RSTT(0)
//-------------------------------------------------------------
#define RSTT(d)\
if(st0){\
timer##x=0;\
startt##x=0;\
T##d=0;\
}
//-------------------------------------------------------
#define SET(d) if(st0){d=1;}
#define RST(d) if(st0){d=0;}
#define LD(d) stu[stb]=st0;stb++; st0=d;
#define LDI(d) stu[stb]=st0;stb++; st0 =!d;
#define OUT(d) d=st0;stb=0;
#define ANB stb--;st0=(st0 & stu[stb]);
#define AND(d) st0=(st0 & d);
#define ANI(d) st0=(st0 &!d);
#define ORB stb--;st0=(st0 | stu[stb]);
#define OR(d) st0=(st0 | d);
#define ORI(d) st0=(st0 |!d);
//------------------------------------------------
//內部狀態使用
//-------------------------------------------------
bool stu[8]{};
unsigned int stb;
bool st0;
//------ATL------
bool atl0;
bool atl1;
bool atl2;
bool atl3;
bool atl4;
//-----------------------------------------
//PLC 輸入
//----------------------------------------------
bool X0;
bool X1;
bool X2;
bool X3;
bool X4;
//---------------------------------------------
//PLC 輸出
//----------------------------------------------
bool Y0;
bool Y1;
bool Y2;
bool Y3;
bool Y4;
//--------------------------
//PLC 內部繼電器
//---------------------------
bool M0;
bool M1;
bool M2;
bool M3;
bool M4;
//----------------------------
//計時器狀態使用
//------------------------------
unsigned int timer0;
bool startt0;
bool T0;
//------------------------
unsigned int timer1;
bool startt1;
bool T1;
//------------------------
unsigned int timer2;
bool startt2;
bool T2;
//------------------------
unsigned int timer3;
bool startt3;
bool T3;
//------------------------
unsigned int timer4;
bool startt4;
bool T4;
//------------------------
unsigned int timer30;
bool startt30;
bool T30;
//------------------------
unsigned int timer31;
bool startt31;
bool T31;
//----------------------------
//計數器狀態使用
//------------------------------
unsigned int count0;
bool C0;
bool cset0;
bool cst0;
//--------------------------------
unsigned int count1;
bool C1;
bool cset1;
bool cst1;
//-------------------------------
unsigned int count2;
bool C2;
bool cset2;
bool cst2;
//-----------------------------------
unsigned int count3;
bool C3;
bool cset3;
bool cst3;
//----------------------------------------
unsigned int count4;
bool C4;
bool cset4;
bool cst4;
//---------------------------------------
unsigned int count30;
bool C30;
bool cset30;
bool cst30;
//-----------------------------------------
復制代碼
作者:
gaoxinhang
時間:
2023-2-28 14:16
樓主厲害!👍👍👍請問這個怎么實現
作者:
smartphone
時間:
2023-3-2 20:10
這個厲害呀,應該會有實用性。
作者:
yctjs
時間:
2024-8-21 15:22
建議看看OpenPLC
作者:
zxy2266
時間:
2025-6-9 16:27
能做成通用arduino就完美了,這樣可以不用328芯片了 古董芯片沒有價值了,
作者:
b136082098
時間:
2025-6-25 04:32
分享即是美德
作者:
GlenXu
時間:
2025-6-26 09:23
很好的思路,感謝分享!
作者:
6899518
時間:
2025-7-23 05:46
感謝分享!
作者:
GlenXu
時間:
2025-7-31 10:29
感覺像30年前的匯編和西門子的語句表,
可讀,但自己寫不了
歡迎光臨 (http://www.izizhuan.cn/bbs/)
Powered by Discuz! X3.1
亚洲毛片免费看
|
自拍偷拍欧美激情
|
欧美日韩不卡中文字幕在线
|
欧美熟妇精品一区二区
|
欧美精品一区二区三区蜜桃视频
|
91极品视觉盛宴
|
国产成人自拍网
|
99久久影视
|
爱情电影社保片一区
|
蜜桃特黄a∨片免费观看
|
99国产精品一区二区三区
|
日本黄xxxxxxxxx100
|
欧美一级大胆视频
|
亚洲黄色www
|
精品美女永久免费视频
|
成人免费毛片a
|
国产精品日韩
|
国产成人av
|
高清电影一区
|
黄网站在线播放
|
2019一级黄色毛片免费看网
|
香蕉国产在线视频
|
乱子伦一区二区三区
|
任你操精品视频
|
中文字幕一二三区
|
国产乱淫av片杨贵妃
|
久久久久久久久一区
|
欧洲中文字幕国产精品
|
亚洲性视频网站
|
91精品在线免费观看
|
亚洲制服丝袜在线
|
久久精品水蜜桃av综合天堂
|
嫩草国产精品入口
|
少妇视频在线观看
|
免费在线观看黄色
|
国产香蕉视频在线观看
|
人人爱人人爽
|
久久爱com
|
香蕉久久久久久久
|
极品人妻一区二区
|
欧美 日韩精品
|
一区二区免费电影
|
国内精品视频一区
|
亚洲色图欧美制服丝袜另类第一页
|
欧美三级欧美一级
|
福利一区二区在线
|
久久精品免费
|
亚洲视频观看
|
成人羞羞网站入口
|
av第一福利在线导航
|
亚洲综合色视频在线观看
|
男女交配网站
|
99久久精品国产一区二区成人
|
日韩av片在线播放
|
视频一区二区精品
|
国产九色91
|
日韩亚洲欧美中文高清在线
|
在线国产电影不卡
|
好看的av在线不卡观看
|
日韩www.
|
成人在线国产
|
欧美精选一区二区三区
|
亚州综合一区
|
日韩成人影音
|
sm久久捆绑调教精品一区
|
日本成人网址
|
69久久久久
|
成人午夜影视
|
av在线1区2区
|
欧美69xxx
|
免费黄网站在线播放
|
毛片免费不卡
|
av网站大全在线
|
av在线免费在线观看
|
无码aⅴ精品一区二区三区
|
精品99久久久久成人网站免费
|
亚洲欧洲精品一区二区精品久久久
|
97久久精品人人澡人人爽
|
欧美91视频
|
91青青国产在线观看精品
|
亚洲午夜久久
|
欧美天天综合
|
亚洲成人三区
|
国产综合精品
|
久久综合九色综合欧美狠狠
|
久久精品亚洲
|
九一久久久久久
|
自拍偷拍欧美专区
|
欧美喷水视频
|
男人的天堂成人在线
|
久久人人精品
|
国产一区二区美女
|
日韩高清在线
|
在线日韩成人
|
精品视频国产
|
精品av久久久久电影
|
久久久久中文
|
国产成人精品免费
|
久久久国产精品麻豆
|
日韩一区欧美小说
|
欧美日韩激情美女
|
91精品婷婷国产综合久久性色
|
精品久久久久久久人人人人传媒
|
奇米精品一区二区三区在线观看一
|
91超碰rencao97精品
|
国产精品第八页
|
国产精品视频九色porn
|
久久久久久com
|
91嫩草|国产丨精品入口
|
91社区在线观看播放
|
亚洲综合999
|
粉嫩av懂色av蜜臀av分享
|
亚洲日本成人女熟在线观看
|
国产视频久久久久久久
|
在线观看亚洲精品视频
|
欧美日韩国产在线播放网站
|
亚洲精品视频免费在线观看
|
欧美成人免费观看
|
国产一区在线播放
|
欧美又大又粗又长
|
成人羞羞视频免费
|
亚洲国产精品影视
|
99sesese
|
中文字幕五月天
|
一级黄色片免费
|
欧美高清性粉嫩交
|
毛片视频免费观看
|
日本无删减在线
|
福利电影一区
|
亚洲欧美久久精品
|
精品国产一区二区三区久久久蜜臀
|
在线欧美日韩
|
99久久精品99国产精品
|
欧美性猛交xxxx黑人猛交
|
精品国产在天天线2019
|
久久久噜噜噜久噜久久
|
久久99九九
|
男女av免费观看
|
国产伦精品一区二区三区高清版
|
国产 国语对白 露脸
|
亚洲日本黄色片
|
久久久精品人妻一区二区三区四
|
国产探花精品一区二区
|
成人欧美精品久久久久影院
|
在线理论视频
|
日韩中文在线播放
|
欧美激情视频一区二区三区在线播放
|
国产成人精品一区二三区在线观看
|
曰本大片免费观看视频
|
天堂av网在线
|
一本大道香蕉久在线播放29
|
免费网站在线观看人
|
国产精品极品国产中出
|
亚洲综合三区
|
亚洲欧洲在线观看av
|
亚洲国产99精品国自产
|
国产精品美女免费
|
成人在线国产视频
|
99精品全国免费观看
|
国产福利免费视频
|
99在线免费观看
|
大胆人体一区二区
|
午夜日韩av
|
国产精品理论在线观看
|
日韩av在线导航
|
成人有码在线播放
|
久久久久久香蕉
|
久久国产精品波多野结衣
|
最新亚洲精品国自产在线观看
|
最新av免费在线
|
国产精品日本一区二区三区在线
|
欧美一级久久
|
精品国产乱码久久久久久虫虫漫画
|
综合网中文字幕
|
欧美高清视频免费观看
|
国产精品免费视频xxxx
|
亚洲乱码日产精品bd在线观看
|
亚洲一区视频在线播放
|
亚洲欧美激情国产综合久久久
|
最近中文av字幕在线中文
|
男女视频在线观看
|
av老司机免费在线
|
欧美精品偷拍
|
亚洲欧美偷拍三级
|
久久成人18免费网站
|
亚洲黄色一区二区三区
|
丰满少妇高潮一区二区
|
亚洲美女性生活
|
蝌蚪91视频
|
日韩精品分区
|
在线成人黄色
|
高跟丝袜一区二区三区
|
人体精品一二三区
|
狠狠操精品视频
|
在线观看国产区
|
亚欧黄色av
|
精品国内亚洲2022精品成人
|
99久久精品免费精品国产
|
亚洲精品福利视频
|
日本不卡一区二区三区视频
|
精品国产成人亚洲午夜福利
|
最新国产麻豆精品
|
99爱在线视频
|
奇米四色…亚洲
|
欧美一区二区三区男人的天堂
|
www.欧美三级电影.com
|
好色先生视频污
|
在线免费观看毛片
|
www 四虎
|
九一成人免费视频
|
亚洲视频在线一区
|
欧美最猛性xxxxx(亚洲精品)
|
男操女免费网站
|
亚洲AV无码精品自拍
|
欧美成年黄网站色视频
|
妖精视频成人观看www
|
在线视频一区二区三
|
97se在线视频
|
jizzjizz日本少妇
|
激情亚洲综合网
|
国产精品传媒
|
亚洲精品高清在线观看
|
日韩av不卡在线
|
好吊操视频这里只有精品
|
高清1区2区
|
中文字幕21页在线看
|
日韩欧美综合
|
欧美日韩国产综合新一区
|
国产一区二区在线免费
|
疯狂揉花蒂控制高潮h
|
欧美成人亚洲高清在线观看
|
99精品在免费线偷拍
|
久久女同互慰一区二区三区
|
欧美激情久久久久久
|
日本高清一区二区视频
|
欧洲vodafonewi精品
|
国产精品久久久久久久久免费高清
|
国产成人av电影在线
|
日韩在线视频网站
|
欧美三级理论片
|
亚洲综合在线不卡
|
欧美三区四区
|
国产农村妇女毛片精品久久麻豆
|
五月色婷婷综合
|
都市激情综合
|
91女神在线视频
|
91国自产精品中文字幕亚洲
|
www.欧美com
|
娇小的粉嫩xxx极品
|
亚洲盗摄视频
|
欧美综合一区二区
|
亚洲一区二区三区欧美
|
国产精品久久久久久免费
|
日韩专区av
|
aa级大片欧美
|
国产精品第3页
|
а天堂中文在线资源
|
免费特级黄毛片
|
亚洲人体偷拍
|
欧美午夜电影在线
|
玛丽玛丽电影原版免费观看1977
|
魔女鞋交玉足榨精调教
|
免费观看四虎精品成人
|
日韩午夜电影免费看
|
亚洲免费观看在线观看
|
国产精品二区三区四区
|
在线观看日本视频
|
都市激情久久综合
|
国产三级欧美三级日产三级99
|
欧洲激情一区二区
|
欧美性受xxxx黑人猛交88
|
丁香花免费高清完整在线播放
|
成人在线视频免费
|
中文字幕第一区综合
|
av激情久久
|
国产成人av免费
|
亚洲第一影院
|
亚洲一区二区中文在线
|
日韩免费av电影
|
www.色婷婷.com
|
麻豆精品一区
|
欧美日韩国产电影
|
国产无套内射久久久国产
|
一个人看的www视频免费观看
|
精品免费一区二区
|
亚洲精品二三区
|
日韩大尺度视频
|
日本我和搜子同居的日子高清在线
|
国产精品日韩久久久
|
日韩视频一区在线
|
xxx在线播放
|
福利在线午夜
|
久久久国际精品
|
久久国产一区
|
色综合久久久久久
|
午夜精品福利影院
|
精品国偷自产国产一区
|
中文字幕55页
|
亚洲视频精品在线观看
|
国产精品综合av一区二区国产馆
|
日本久久久久久久久久久
|
日韩av一二三区
|
美女久久久久久
|
精品1区2区3区
|
国产亚洲色婷婷久久
|
最新天堂资源在线资源
|
成人av第一页
|
欧美亚洲另类久久综合
|
久久久久久久99
|
日韩在线短视频
|
欧美日韩精品久久久
|
www日韩在线观看
|
男人的天堂网av
|
不卡视频免费播放
|
蜜桃视频在线观看成人
|
免费永久视频
|
国产精品va
|
欧美性视频精品
|
丰满熟女人妻一区二区三
|
日韩丝袜视频
|
日韩在线视频网
|
久久精品一级片
|
日韩av黄色
|
亚洲第一区在线观看
|
37p粉嫩大胆色噜噜噜
|
在线观看操人
|
黑人巨大精品欧美一区二区免费
|
国产精品99一区二区
|
97av在线视频
|
怡春院在线视频
|
久久99高清
|
欧美肥臀大乳一区二区免费视频
|
国产精品久免费的黄网站
|
2020国产精品极品色在线观看
|
日韩精品亚洲视频
|
五月综合色婷婷
|
日韩一区中文
|
亚洲精品一区二区三区不
|
男人的午夜天堂
|
久久婷婷五月综合色丁香
|
亚洲韩国日本中文字幕
|
国产美女福利视频
|
日本超碰一区二区
|
少妇av一区二区三区
|
欧美性猛交bbbbb精品
|
深夜成人在线
|
亚洲爱爱爱爱爱
|
国产一区二区三区在线视频观看
|
免费高清视频在线一区
|
亚洲国产成人精品久久
|
亚洲天堂黄色片
|
欧美电影完整版在线观看
|
欧美韩国理论所午夜片917电影
|
国产精品亚洲lv粉色
|
在线国产精品一区
|
成人免费在线一区二区三区
|
欧美日韩看片
|
国产一区二区按摩在线观看
|
中文字幕黄色大片
|
亚洲精品7777
|
人人狠狠综合久久亚洲
|
欧美日本国产精品
|
黄色免费电影网站
|
久久精品日韩一区二区三区
|
国产99久久九九精品无码
|
久草在现在线
|
欧美主播一区二区三区
|
我不卡一区二区
|
豆花视频一区二区
|
欧美一级片在线播放
|
好吊色视频一区二区三区
|
www.久久
|
久久99热精品
|
黄色av网址在线
|
免费成人你懂的
|
麻豆一区二区三区在线观看
|
国产裸舞福利在线视频合集
|
欧美视频日韩视频
|
亚洲一级生活片
|
久久久影院免费
|
成人xxxxx色
|
av在线dvd
|
激情亚洲一区二区三区四区
|
玖玖爱在线观看
|
韩国女主播一区二区三区
|
欧美有码在线观看
|
青娱乐在线视频观看
|
国产精品国产三级国产aⅴ中文
|
国产欧美va欧美va香蕉在
|
国产7777
|
亚洲欧美在线观看
|
香蕉视频黄色在线观看
|
精品五月天堂
|
国产欧美亚洲精品
|
2018天天操夜夜操
|
欧美日韩一区免费
|
亚洲色婷婷一区二区三区
|
天天综合亚洲
|
亚洲电影网站
|
在线免费看av
|