iec61131-3標(biāo)準(zhǔn)中,制定了plc 的六種編程語言,分別是il,ld,fbd,st,cfc,sfc。它們各有千秋,適用不同的場(chǎng)合。今天就跟大家介紹一下cfc。
cfc,是指連續(xù)功能塊圖。有些人認(rèn)為它是dcs的編程語言,其實(shí)這種認(rèn)識(shí)是片面的,是盲人摸象的認(rèn)知,最初,這種語言主要用在過程控制中,比如西門子的pcs7,以及各種dcs系統(tǒng)中。因?yàn)檫^程控制就是一系列連續(xù)的控制,比如,各種化學(xué)反應(yīng),都是一環(huán)套一環(huán),而連續(xù)功能圖正好符合這種控制要求,所以就在dcs中大規(guī)模應(yīng)用。其實(shí),plc也是可以用這種編程方式的,畢竟編程不是目的,實(shí)現(xiàn)工藝才是目的,只不過這種語言在plc中應(yīng)用很少,我第一次接觸也是在codesys的plc中。
其實(shí),cfc 就是一種可以自由移動(dòng)的fbd,它比fbd更自由更靈活。只要你掌握了fbd,就可以輕松掌握cfc,而fbd,又和ld有著千絲萬縷的聯(lián)系。所以,cfc是一種非常簡(jiǎn)單,容易入手的編程語言。我們不妨看一個(gè)例子
cfc編程語言
如上圖所示,這是一個(gè)典型的cfc編程語言,這段程序是plc通過以太網(wǎng)口使用modbustcp協(xié)議和遠(yuǎn)程機(jī)器人交互數(shù)據(jù),程序我只截取了一部分,但已經(jīng)包含了大部分cfc的元素。
黃色熒光筆部分:這部分是程序的注釋,你可以自由輸入各種文本,plc是不會(huì)編譯的。
紅色圓圈部分:這部分是個(gè)黑點(diǎn),和我們電路圖中的實(shí)心點(diǎn)的意思是一樣的,表示電路是相交相通的。
藍(lán)色圓圈部分:這部分沒有黑點(diǎn),同樣,和電路圖是一樣的,表示電路是相交但不相通。
淡藍(lán)色圓圈部分:數(shù)字是軟件自動(dòng)加上的,表示執(zhí)行順序,什么意思呢?plc是循環(huán)掃描的,由于cfc可以自由移動(dòng),因此,循環(huán)掃描可能沒梯形圖那么直觀,就加上數(shù)字,表示掃描順序。
以上,就是cfc 的關(guān)鍵元素,至于其他的輸入,輸出,功能塊調(diào)用和fbd是一模一樣的。個(gè)人認(rèn)為,cfc可以自由移動(dòng)的原因,在高速計(jì)數(shù),運(yùn)動(dòng)控制,總線通訊等大批量使用功能塊,而且功能塊之間聯(lián)系很多的場(chǎng)合是非常方便的。比用fbd和ld方便多了,它只需要輕輕一連就行,不需要使用大量的中間變量轉(zhuǎn)換。