chenpingyg
機械是柱石,電氣是靈魂.
級別: VIP會員
|
目前的所有PLC都是采用獨立的CPU和I/O模塊,PC機只是用于編寫和下載程序以及監控,而PLC的CPU性能遠不及PC機的速度快,價格卻不在PC機之下。 介于以上因素,我個人認為使用PC機代替PLC非常有必要。 8051單片機有32個I/0引腳,分別為P0,P1,P2,P3。如果使用單片機做為終端站,PC為上位機,則只需要使上位機與終端站建立通訊關系即可實現簡單 的邏輯控制。 1.通訊協議 輸入模塊 1位起始位 9位數據位 其中,前4位為站號,中4位為地址位,后1位為開關位, 前4位由4位二進制組合表示站地址0-15共16個站.中4位由4位二進制組合表示位地址,后1位表示位的開或關 1停止位 當輸入模塊的任何引腳檢測到高電平時則向上位機發送一幀數據.例如:P0.0有低到高的電平跳變時,則想上位機發送0 0000 0001 1 1 表示方法:第1位表示開始 發送數據,第2-5位表示0號站,第6-9位表示P0.0 第10位表示位邏輯1 第11位表示發送結束. 第2-5位可以組合為16種變化,分別表示16個站, 第6-9位可以組合為16種變化,分別表示16個輸入點. 這一幀數據表示0號站的P0.0有高電平輸入. 輸出模塊 位起始位 9位數據位 其中,前4位為站號,中4位為地址位,后1位為開關位, 前4位由4位二進制組合表示站地址0-15共16個站.中4位由4位二進制組合表示位地址,后1位表示位的開或關 1停止位 當需要使某個站的某個引腳產生高電平時則由上位機發送一幀數據.例如:需要使12號站的第10個引腳產生高電平則發送 01100 1010 1 1 2.采用此種方式工作需要在I/0模塊中編寫程序同時控制程序存在PC機上.所有的輸入模塊只需要將檢測到的信號傳輸給上位機. 所有的輸出模塊只需要接收上位機的信號,然后輸出相應的引腳即可. 所有的邏輯程序存在于PC機中. 3.每個模塊上都使用P3.2-P3.5組成0-15的站號. 0號站代碼 00000*****1 1號站代碼 00001*****1 2號站代碼 00010*****1 3號站代碼 00011*****1 4號站代碼 00100*****1 5號站代碼 00101*****1 6號站代碼 00110*****1 7號站代碼 00111*****1 8號站代碼 01000*****1 9號站代碼 01001*****1 10號站代碼 01010*****1 11號站代碼 01011*****1 12號站代碼 01100*****1 13號站代碼 01101*****1 14號站代碼 01110*****1 15號站代碼 01111*****1 4.由于采用RS485通訊控制,因此模塊最大距離可達1200米,可以把模塊安裝在一起,也可以分開安裝,只需要把所有的模塊用RS485 通訊線連接起來即可. 5.每個模塊可配置COM端口,這樣,在模塊里寫入不同的程序就可實現不同的功能,即可做I/O模塊,也可做單機PLC.升級空間很大,靈活配置. 我正在做這方面的研究,希望和志同道合的朋友一起討論.謝謝! 聯系方式 13158650515 QQ395894765 陳平 版權所有,未經授權不得轉載! [ 此帖被chenpingyg在2010-03-28 23:31重新編輯 ] |
|
---|---|---|
|
ak47m16u571
苦海無邊,柴米似鞭。歡樂無限,煩擾靠邊。得逍遙處且逍遙
級別: 家園常客
|
這樣的帖子我在單片機網站很多啊。。。 我還看到有人發起的plc開源項目,就是用單片機來仿FX plc,直接就可以用三菱的老版本的編程軟件來編程,不過最后要將程序轉換為hex文件下載進單片機。。。 單片機作485不難。。。 難就難在單片機的抗干擾電路。。。 |
---|---|
|
qj_wgx
級別: 論壇先鋒
|
這個東西有現成產品的 具有通訊組網功能的IO模塊組件都具有這個功能,呵呵 如果你能開發出來,就看你銷售能力如何了,成本上你是占不了什么優勢的了, |
---|---|
|