菜鳥0001
級(jí)別: 探索解密
![]() |
一臺(tái)設(shè)備,當(dāng)一個(gè)plc脈沖口不夠用,采用兩個(gè)PLC通訊控制方案,我傾向主站寫主流程+子流程,從站只寫子流程通過主站調(diào)用子站程序塊,從站跟主站共用一套流程控制,就是從站讀取主站運(yùn)動(dòng)狀態(tài),但是看有些人寫的從站只寫脈沖軸指令,主站通過M點(diǎn)通訊映射控制從站軸,從站僅作為發(fā)脈沖的,這樣省事但是靠譜嗎 |
---|---|
|
金蛇郎君czz
車到山前必有路 czz674613079@163.com
級(jí)別: 網(wǎng)絡(luò)英雄
![]() |
必須靠譜 ![]() |
|
---|---|---|
|
gengjie
級(jí)別: 正式會(huì)員
![]() |
你只要把從站看做成主站的擴(kuò)展IO點(diǎn)就好理解了。原理一樣,只是走的通訊而已。 |
---|---|
|
工控菜鳥
菜鳥一只
級(jí)別: 論壇先鋒
![]() |
主站運(yùn)算,從站只寫運(yùn)動(dòng)指令,后面調(diào)試修改你就知道這樣效率最高了 |
---|---|
|
gxtmdb82164
級(jí)別: 論壇先鋒
![]() |
如果有良好的封裝的情況下,通過共享內(nèi)存做交互,甚至可以做到在主站連運(yùn)動(dòng)指令(經(jīng)過封裝的)都保持一致。 在真正的業(yè)務(wù)邏輯上,甚至都感覺不到這個(gè)脈沖是在主站發(fā)還是在從站發(fā)。 簡(jiǎn)單來說,rAbsMoveTo(軸號(hào),位置,速度) 前面這個(gè)軸號(hào),隨便寫,約定好哪個(gè)軸在主站,哪個(gè)軸在從站就完事了,中間層調(diào)用PLC指令也幾乎是一模一樣的,只不過從站的交互變量要從通信過一遍。 |
---|---|
|
gxtmdb82164
級(jí)別: 論壇先鋒
![]() |
當(dāng)然,方法不是唯一的,如果是比較大型的復(fù)雜設(shè)備,從業(yè)務(wù)上進(jìn)行解耦,直接把一些機(jī)構(gòu)獨(dú)立出來放在從PLC上也是可以的,而且可以保證除了脈沖以外的包括IO在內(nèi)的資源使用起來更方便(畢竟少了一層通信),單純的發(fā)脈沖,還是上面的方法更好。 還是舉例:比如說你設(shè)備上有個(gè)比較復(fù)雜的上料機(jī)構(gòu),桁架結(jié)構(gòu)的,PLC自己發(fā)脈沖去跑位置,而整個(gè)上料機(jī)構(gòu)和主業(yè)務(wù)流程真正要交互的東西實(shí)際上非常少,無非是取料申請(qǐng)、取料到位、報(bào)警(參數(shù)設(shè)置是獨(dú)立的,單獨(dú)的上料機(jī)構(gòu)參數(shù)設(shè)置),這種情況下,就非常適合把整個(gè)取料機(jī)構(gòu)的程序?qū)懙綇腜LC里面去。 實(shí)際上這樣的程序我也寫過的,封裝完了以后,在主程序里面就是out(xx機(jī)構(gòu).do) wait(xx機(jī)構(gòu).done) |
---|---|
|