目前的所有PLC都是采用獨(dú)立的CPU和I/O模塊,PC機(jī)只是用于編寫和下載程序以及監(jiān)控,而PLC的CPU性能遠(yuǎn)不及PC機(jī)的速度快,價(jià)格卻不在PC機(jī)之下。
介于以上因素,我個(gè)人認(rèn)為使用PC機(jī)代替PLC非常有必要。
8051單片機(jī)有32個(gè)I/0引腳,分別為P0,P1,P2,P3。如果使用單片機(jī)做為終端站,PC為上位機(jī),則只需要使上位機(jī)與終端站建立通訊關(guān)系即可實(shí)現(xiàn)簡(jiǎn)單
的邏輯控制。
1.通訊協(xié)議
輸入模塊
1位起始位
9位數(shù)據(jù)位
其中,前4位為站號(hào),中4位為地址位,后1位為開(kāi)關(guān)位,
前4位由4位二進(jìn)制組合表示站地址0-15共16個(gè)站.中4位由4位二進(jìn)制組合表示位地址,后1位表示位的開(kāi)或關(guān)
1停止位
當(dāng)輸入模塊的任何引腳檢測(cè)到高電平時(shí)則向上位機(jī)發(fā)送一幀數(shù)據(jù).例如:P0.0有低到高的電平跳變時(shí),則想上位機(jī)發(fā)送0 0000 0001 1 1 表示方法:第1位表示開(kāi)始
發(fā)送數(shù)據(jù),第2-5位表示0號(hào)站,第6-9位表示P0.0 第10位表示位邏輯1 第11位表示發(fā)送結(jié)束.
第2-5位可以組合為16種變化,分別表示16個(gè)站,
第6-9位可以組合為16種變化,分別表示16個(gè)輸入點(diǎn).
這一幀數(shù)據(jù)表示0號(hào)站的P0.0有高電平輸入.
輸出模塊
位起始位
9位數(shù)據(jù)位
其中,前4位為站號(hào),中4位為地址位,后1位為開(kāi)關(guān)位,
前4位由4位二進(jìn)制組合表示站地址0-15共16個(gè)站.中4位由4位二進(jìn)制組合表示位地址,后1位表示位的開(kāi)或關(guān)
1停止位
當(dāng)需要使某個(gè)站的某個(gè)引腳產(chǎn)生高電平時(shí)則由上位機(jī)發(fā)送一幀數(shù)據(jù).例如:需要使12號(hào)站的第10個(gè)引腳產(chǎn)生高電平則發(fā)送 01100 1010 1 1
2.采用此種方式工作需要在I/0模塊中編寫程序同時(shí)控制程序存在PC機(jī)上.所有的輸入模塊只需要將檢測(cè)到的信號(hào)傳輸給上位機(jī).
所有的輸出模塊只需要接收上位機(jī)的信號(hào),然后輸出相應(yīng)的引腳即可.
所有的邏輯程序存在于PC機(jī)中.
3.每個(gè)模塊上都使用P3.2-P3.5組成0-15的站號(hào).
0號(hào)站代碼 00000*****1
1號(hào)站代碼 00001*****1
2號(hào)站代碼 00010*****1
3號(hào)站代碼 00011*****1
4號(hào)站代碼 00100*****1
5號(hào)站代碼 00101*****1
6號(hào)站代碼 00110*****1
7號(hào)站代碼 00111*****1
8號(hào)站代碼 01000*****1
9號(hào)站代碼 01001*****1
10號(hào)站代碼 01010*****1
11號(hào)站代碼 01011*****1
12號(hào)站代碼 01100*****1
13號(hào)站代碼 01101*****1
14號(hào)站代碼 01110*****1
15號(hào)站代碼 01111*****1
4.由于采用RS485通訊控制,因此模塊最大距離可達(dá)1200米,可以把模塊安裝在一起,也可以分開(kāi)安裝,只需要把所有的模塊用RS485
通訊線連接起來(lái)即可.
5.每個(gè)模塊可配置COM端口,這樣,在模塊里寫入不同的程序就可實(shí)現(xiàn)不同的功能,即可做I/O模塊,也可做單機(jī)PLC.升級(jí)空間很大,靈活配置.
我正在做這方面的研究,希望和志同道合的朋友一起討論.謝謝!
聯(lián)系方式 13158650515 QQ395894765 陳平
版權(quán)所有,未經(jīng)授權(quán)不得轉(zhuǎn)載!
[ 此帖被chenpingyg在2010-03-28 23:31重新編輯 ]