V80的軟硬件結(jié)構(gòu)和實(shí)現(xiàn)原理
在講PLC的原理的時(shí)候,我們重點(diǎn)以V80小型PLC為模板,其它的中大型PLC就不再多說。
PLC是一種提供給用戶進(jìn)行二次開發(fā)的通用控制系統(tǒng)。
大家以前可能學(xué)過C語言,比方說C語言常見的編譯器有Borland公司的Borland C/C++、微軟的Visual C++以及Symantec C/C++和Watcom C/C++等,學(xué)習(xí)過標(biāo)準(zhǔn)C語法的同志都能看懂任何其它工具寫的C語言代碼,不同的只是各廠商提供的函數(shù)庫不同以及工具操作習(xí)慣的不同。在不同工具下的移植也是相對(duì)比較方便的,大家可以很容易的把用Borland C/C++寫的程序用Visual C++打開。
但這一切在工控行業(yè)卻相當(dāng)困難,比方說用三菱軟件編寫的程序,是無法用西門子的軟件打開的,如果一個(gè)工程師當(dāng)初學(xué)習(xí)的是日系的編程習(xí)慣,那么給他一份施耐德的程序,他可能要暈一禮拜才能搞明白。
為此,國際上成立了PLCopen組織,它的宗旨是促進(jìn)PLC兼容軟件的開發(fā)和使用。PLCopen組織推廣的核心是PLC的國際標(biāo)準(zhǔn)——IEC61131,IEC61131標(biāo)準(zhǔn)是由國際標(biāo)準(zhǔn)化組織IEC(國際電工技術(shù)委員會(huì))的SC65BWG7工作組制訂的。它包括1至8部分,每個(gè)部分分別對(duì)應(yīng)于PLC的不同部件或者不同功能的描述和定義,由于PLC標(biāo)準(zhǔn)的制定包含了巨大的利益在中間,所以國外的各大PLC廠商對(duì)于IEC61131標(biāo)準(zhǔn)的執(zhí)行和推廣一直并不是特別熱心,目前大家比較關(guān)心的是IEC61131-3,IEC61131-3是為工業(yè)控制系統(tǒng)提供標(biāo)準(zhǔn)化編程語言的國際標(biāo)準(zhǔn),目前一共制定了五種語言作為PLC的標(biāo)準(zhǔn),包括LD(梯形圖)、IL、SFC、ST、FBD。
PLCOPEN組織把IEC61131-3標(biāo)準(zhǔn)的符合程序分了三級(jí):
1、基本級(jí)(Base Level,BL):編程系統(tǒng)開發(fā)的程序的基本結(jié)構(gòu)必須兼容IEC61131-3,必須提供編程語言的基本語言元素。
2、符合級(jí)(Conbbbbity Level,CL)
3、移植級(jí)(Reusability Level,RL)
第二級(jí)和第三級(jí)是組合使用的,如果符合第二級(jí)和第三級(jí)則稱為全兼容級(jí),能實(shí)現(xiàn)跨平臺(tái)的程序移植。
從我們理解將PLC標(biāo)準(zhǔn)化分為三個(gè)層次:
第一個(gè)層次是語言的標(biāo)準(zhǔn)化,也就是說各PLC的語法要求一致,工程師學(xué)過德維森的V80再用三菱PLC編程,就不需要重新學(xué)習(xí)編程。
第二個(gè)層次是文件的標(biāo)準(zhǔn)化,要求用西門子軟件編寫的程序,可以用德維森或者任何第三方的軟件打開。
第三個(gè)層次是目標(biāo)碼的標(biāo)準(zhǔn)化,每種PLC編程軟件編寫的程序都將編譯成它的下位機(jī)可以執(zhí)行的目標(biāo)程序,如果每種PLC使用相同的目標(biāo)碼,那么上位機(jī)編程軟件與下位機(jī)就可以分離開,用戶可以選用自己最適應(yīng)的軟件開發(fā)自己的控制程序,并將程序下載給任一種硬件平臺(tái),同時(shí)配置和資源可以很容易的重定義;同時(shí)大家使用相同的通信協(xié)議,包括編程通信、現(xiàn)場(chǎng)總線、模塊間接口協(xié)議,這時(shí)用戶就可以達(dá)到與PC類似的標(biāo)準(zhǔn)化程度,跨系統(tǒng)跨廠商的互聯(lián)和編程將成為可能。
當(dāng)然達(dá)到這么一致的標(biāo)準(zhǔn)化程度需要很多年的過程,需要工控行業(yè)更多的兼并和重組,從現(xiàn)在來看只要能走完第一個(gè)和第二個(gè)層次就相當(dāng)不錯(cuò)了,第三個(gè)層次可能需要更長的時(shí)間。
技術(shù)行業(yè)最領(lǐng)先的廠商是標(biāo)準(zhǔn)的制定者,但工控行業(yè)因?yàn)闋可婷總€(gè)國家的工業(yè)、軍事競(jìng)爭(zhēng)力,所以這個(gè)行業(yè)的標(biāo)準(zhǔn)化也是最困難的,目前歐洲對(duì)于IEC61131的熱心程度是最高的,因?yàn)闃?biāo)準(zhǔn)的領(lǐng)導(dǎo)者大多是歐洲企業(yè),而其它國家的廠商明顯對(duì)此并不是太積極。
就像現(xiàn)場(chǎng)總線國際標(biāo)準(zhǔn)IEC61158,制定花了13年,最后制定了一個(gè)包含8種協(xié)議的標(biāo)準(zhǔn),全是標(biāo)準(zhǔn)就意味著沒有標(biāo)準(zhǔn),我們希望IEC61131不要步其后塵。
PLC從系統(tǒng)而言可以分為兩個(gè)部分:

用戶通過使用PC上的編程軟件Vladder進(jìn)行梯形圖的編輯,編完后的程序編譯下載到下位機(jī)PLC內(nèi)運(yùn)行。習(xí)慣上我們把PC上的軟件稱為上位機(jī)軟件,把PLC內(nèi)的軟件稱為下位機(jī)軟件。
上位機(jī)軟件主要由以下功能模塊組成:
1、多語言編輯模塊
2、編譯模塊
3、通信模塊
4、IO管理模塊
5、調(diào)試模塊
6、工程和文件管理模塊
其中對(duì)系統(tǒng)影響最大的是1、2、5這三個(gè)部分,這三個(gè)部分的好與壞決定了整個(gè)PLC軟件的好與壞。我們?cè)诤竺娴奈臋n中將專門講解這一部分的功能和應(yīng)用。
V80下位機(jī)系統(tǒng)分為硬件和軟件兩個(gè)部分:
硬件部分可以簡(jiǎn)單的定義如下:

1、CPU單元:大家注意到上面有兩塊CPU,其中專用CPU正是用來執(zhí)行PLC邏輯的,有了它整個(gè)系統(tǒng)的速度可以提升20倍左右,通用CPU用于處理其它的工作,包括功能塊、通信、IO掃描、運(yùn)控等。
德維森正在研發(fā)的新一代N系列PLC將把通用CPU和專用CPU合二為一,專門開發(fā)一顆PLC專用的CPU芯片并將通用CPU、專用CPU、運(yùn)控MCU合并在一起,中型PLC和小型PLC的CPU也將統(tǒng)一起來,從而達(dá)到最佳的性能與成本結(jié)合點(diǎn)。
2、固件ROM:用來存放PLC廠商程序。
3、LD ROM:用來存放用戶的邏輯程序,這一塊有48K字的空間,也就是最多可以放下48K步的梯形圖指令。
4、RAM:存放用戶的數(shù)據(jù),也用來暫存用戶下載的梯形圖程序,實(shí)際上梯形圖的解算也是在RAM內(nèi)執(zhí)行的。
5、實(shí)時(shí)時(shí)鐘:年月日時(shí)分秒星期,這是一塊專用的時(shí)鐘芯片。
6、電池:保證實(shí)時(shí)時(shí)鐘在掉電后的運(yùn)行,同時(shí)使RAM在掉電情況下10年不丟失數(shù)據(jù)。
7、運(yùn)控單元:專用的運(yùn)控邏輯單元,可以完成高速計(jì)數(shù)和脈沖輸出的功能,因?yàn)槭怯布WC的,所以不用CPU單元的介入,速度高達(dá)50K~100K,實(shí)際上可以做得更高速,當(dāng)然這種速度對(duì)于步進(jìn)和大多數(shù)伺服來說已經(jīng)夠用了。
8、IO接口:本體模塊自帶的IO,包括數(shù)字量輸入、數(shù)字量輸出、電位器輸入,部分CPU模塊還帶有模擬量的輸入輸出如M20MAD就有6路模擬量輸入和2路模擬量輸出。
因?yàn)镻LC是工作在工業(yè)環(huán)境,現(xiàn)場(chǎng)情況比較復(fù)雜,PLC采集和控制的信號(hào)經(jīng)常并不是共地的,跨步電動(dòng)勢(shì)和強(qiáng)干擾是經(jīng)常存在的,為防止對(duì)PLC的損壞,同時(shí)為了隔絕各種非共地信號(hào)的相互影響和損壞,PLC一般要求IO接口隔離,數(shù)字量一般是單路隔離的,而模擬量一般是模擬電路與數(shù)字電路之間隔離,所以用戶在使用時(shí)需核對(duì)硬件手冊(cè),并根據(jù)現(xiàn)場(chǎng)實(shí)際情況安排使用。
9、擴(kuò)展接口:使本體能聯(lián)接各種擴(kuò)展模塊,對(duì)于V80系統(tǒng),所有的擴(kuò)展模塊都被看成是總線上的一塊存儲(chǔ)器,這就要求所有的擴(kuò)展模塊上有MCU芯片,幾乎可以說V80是所有小型PLC中擴(kuò)展總線最快的,可以達(dá)到2M BYTE。
PLC軟件執(zhí)行的標(biāo)準(zhǔn)框圖大家在一般的書上都可以看到,一般的實(shí)現(xiàn)分為兩類,一類是沒有多任務(wù)操作系統(tǒng)的,一類是有多任務(wù)操作系統(tǒng)的,前者在可靠性和實(shí)時(shí)性方面有一定的優(yōu)勢(shì),后者對(duì)于結(jié)構(gòu)化編程方面有一定的幫助。我們的V80系列屬于前一者,而N80系統(tǒng)將支持這兩種結(jié)構(gòu)。
實(shí)際上的PLC執(zhí)行情況要復(fù)雜得多,但大體流程是一致的。

1、系統(tǒng)初始化:一般小型PLC的系統(tǒng)初始化主要是進(jìn)行初始化、設(shè)置、查找擴(kuò)展模塊等。
2、掃描輸入:掃描IO輸入信號(hào)。
3、執(zhí)行邏輯:根據(jù)用戶PLC程序執(zhí)行邏輯。
4、家務(wù)管理:PLC診斷、維護(hù)和其它系統(tǒng)程序執(zhí)行。
5、掃描輸出:將邏輯執(zhí)行的結(jié)果輸出。
6、通信管理單元:通信服務(wù)程序,響應(yīng)編程軟件和其它通信任務(wù)。
PLC運(yùn)行方式:
由上面可以看到PLC的運(yùn)行是一種循環(huán)掃描的運(yùn)行方式,實(shí)際上PLC還有定時(shí)掃描和中斷掃描共三種掃描方式。
循環(huán)掃描:PLC按上圖循環(huán)執(zhí)行。
定時(shí)掃描:PLC根據(jù)用戶設(shè)置的時(shí)間定時(shí)掃描,比方說50ms掃描一次,使用這種掃描方式,用戶需要保證用戶程序在設(shè)定時(shí)間內(nèi)一定能掃描完畢,一般PLC使用定時(shí)中斷和子程序結(jié)合起來實(shí)現(xiàn)這個(gè)功能(這種情況下與中斷掃描方式并無不同),但在IO掃描方面會(huì)有一些細(xì)微的不同,很可能會(huì)用到立即刷新IO的功能塊UpData_IO。
中斷掃描:中斷掃描根據(jù)外部或者內(nèi)部中斷的激活中斷掃描程序的運(yùn)行。比方說外部IO中斷、高速計(jì)數(shù)中斷、定時(shí)中斷等。
通常PLC都采用上面的三種運(yùn)行方式中的一種或者幾種,用戶需要對(duì)其有一定的了解,這可以使大家在編程的時(shí)候更加清晰,V80支持三種運(yùn)行方式。
PLC是一種提供給用戶進(jìn)行二次開發(fā)的通用控制系統(tǒng)。
大家以前可能學(xué)過C語言,比方說C語言常見的編譯器有Borland公司的Borland C/C++、微軟的Visual C++以及Symantec C/C++和Watcom C/C++等,學(xué)習(xí)過標(biāo)準(zhǔn)C語法的同志都能看懂任何其它工具寫的C語言代碼,不同的只是各廠商提供的函數(shù)庫不同以及工具操作習(xí)慣的不同。在不同工具下的移植也是相對(duì)比較方便的,大家可以很容易的把用Borland C/C++寫的程序用Visual C++打開。
但這一切在工控行業(yè)卻相當(dāng)困難,比方說用三菱軟件編寫的程序,是無法用西門子的軟件打開的,如果一個(gè)工程師當(dāng)初學(xué)習(xí)的是日系的編程習(xí)慣,那么給他一份施耐德的程序,他可能要暈一禮拜才能搞明白。
為此,國際上成立了PLCopen組織,它的宗旨是促進(jìn)PLC兼容軟件的開發(fā)和使用。PLCopen組織推廣的核心是PLC的國際標(biāo)準(zhǔn)——IEC61131,IEC61131標(biāo)準(zhǔn)是由國際標(biāo)準(zhǔn)化組織IEC(國際電工技術(shù)委員會(huì))的SC65BWG7工作組制訂的。它包括1至8部分,每個(gè)部分分別對(duì)應(yīng)于PLC的不同部件或者不同功能的描述和定義,由于PLC標(biāo)準(zhǔn)的制定包含了巨大的利益在中間,所以國外的各大PLC廠商對(duì)于IEC61131標(biāo)準(zhǔn)的執(zhí)行和推廣一直并不是特別熱心,目前大家比較關(guān)心的是IEC61131-3,IEC61131-3是為工業(yè)控制系統(tǒng)提供標(biāo)準(zhǔn)化編程語言的國際標(biāo)準(zhǔn),目前一共制定了五種語言作為PLC的標(biāo)準(zhǔn),包括LD(梯形圖)、IL、SFC、ST、FBD。
PLCOPEN組織把IEC61131-3標(biāo)準(zhǔn)的符合程序分了三級(jí):
1、基本級(jí)(Base Level,BL):編程系統(tǒng)開發(fā)的程序的基本結(jié)構(gòu)必須兼容IEC61131-3,必須提供編程語言的基本語言元素。
2、符合級(jí)(Conbbbbity Level,CL)
3、移植級(jí)(Reusability Level,RL)
第二級(jí)和第三級(jí)是組合使用的,如果符合第二級(jí)和第三級(jí)則稱為全兼容級(jí),能實(shí)現(xiàn)跨平臺(tái)的程序移植。
從我們理解將PLC標(biāo)準(zhǔn)化分為三個(gè)層次:
第一個(gè)層次是語言的標(biāo)準(zhǔn)化,也就是說各PLC的語法要求一致,工程師學(xué)過德維森的V80再用三菱PLC編程,就不需要重新學(xué)習(xí)編程。
第二個(gè)層次是文件的標(biāo)準(zhǔn)化,要求用西門子軟件編寫的程序,可以用德維森或者任何第三方的軟件打開。
第三個(gè)層次是目標(biāo)碼的標(biāo)準(zhǔn)化,每種PLC編程軟件編寫的程序都將編譯成它的下位機(jī)可以執(zhí)行的目標(biāo)程序,如果每種PLC使用相同的目標(biāo)碼,那么上位機(jī)編程軟件與下位機(jī)就可以分離開,用戶可以選用自己最適應(yīng)的軟件開發(fā)自己的控制程序,并將程序下載給任一種硬件平臺(tái),同時(shí)配置和資源可以很容易的重定義;同時(shí)大家使用相同的通信協(xié)議,包括編程通信、現(xiàn)場(chǎng)總線、模塊間接口協(xié)議,這時(shí)用戶就可以達(dá)到與PC類似的標(biāo)準(zhǔn)化程度,跨系統(tǒng)跨廠商的互聯(lián)和編程將成為可能。
當(dāng)然達(dá)到這么一致的標(biāo)準(zhǔn)化程度需要很多年的過程,需要工控行業(yè)更多的兼并和重組,從現(xiàn)在來看只要能走完第一個(gè)和第二個(gè)層次就相當(dāng)不錯(cuò)了,第三個(gè)層次可能需要更長的時(shí)間。
技術(shù)行業(yè)最領(lǐng)先的廠商是標(biāo)準(zhǔn)的制定者,但工控行業(yè)因?yàn)闋可婷總€(gè)國家的工業(yè)、軍事競(jìng)爭(zhēng)力,所以這個(gè)行業(yè)的標(biāo)準(zhǔn)化也是最困難的,目前歐洲對(duì)于IEC61131的熱心程度是最高的,因?yàn)闃?biāo)準(zhǔn)的領(lǐng)導(dǎo)者大多是歐洲企業(yè),而其它國家的廠商明顯對(duì)此并不是太積極。
就像現(xiàn)場(chǎng)總線國際標(biāo)準(zhǔn)IEC61158,制定花了13年,最后制定了一個(gè)包含8種協(xié)議的標(biāo)準(zhǔn),全是標(biāo)準(zhǔn)就意味著沒有標(biāo)準(zhǔn),我們希望IEC61131不要步其后塵。
PLC從系統(tǒng)而言可以分為兩個(gè)部分:
用戶通過使用PC上的編程軟件Vladder進(jìn)行梯形圖的編輯,編完后的程序編譯下載到下位機(jī)PLC內(nèi)運(yùn)行。習(xí)慣上我們把PC上的軟件稱為上位機(jī)軟件,把PLC內(nèi)的軟件稱為下位機(jī)軟件。
上位機(jī)軟件主要由以下功能模塊組成:
1、多語言編輯模塊
2、編譯模塊
3、通信模塊
4、IO管理模塊
5、調(diào)試模塊
6、工程和文件管理模塊
其中對(duì)系統(tǒng)影響最大的是1、2、5這三個(gè)部分,這三個(gè)部分的好與壞決定了整個(gè)PLC軟件的好與壞。我們?cè)诤竺娴奈臋n中將專門講解這一部分的功能和應(yīng)用。
V80下位機(jī)系統(tǒng)分為硬件和軟件兩個(gè)部分:
硬件部分可以簡(jiǎn)單的定義如下:
1、CPU單元:大家注意到上面有兩塊CPU,其中專用CPU正是用來執(zhí)行PLC邏輯的,有了它整個(gè)系統(tǒng)的速度可以提升20倍左右,通用CPU用于處理其它的工作,包括功能塊、通信、IO掃描、運(yùn)控等。
德維森正在研發(fā)的新一代N系列PLC將把通用CPU和專用CPU合二為一,專門開發(fā)一顆PLC專用的CPU芯片并將通用CPU、專用CPU、運(yùn)控MCU合并在一起,中型PLC和小型PLC的CPU也將統(tǒng)一起來,從而達(dá)到最佳的性能與成本結(jié)合點(diǎn)。
2、固件ROM:用來存放PLC廠商程序。
3、LD ROM:用來存放用戶的邏輯程序,這一塊有48K字的空間,也就是最多可以放下48K步的梯形圖指令。
4、RAM:存放用戶的數(shù)據(jù),也用來暫存用戶下載的梯形圖程序,實(shí)際上梯形圖的解算也是在RAM內(nèi)執(zhí)行的。
5、實(shí)時(shí)時(shí)鐘:年月日時(shí)分秒星期,這是一塊專用的時(shí)鐘芯片。
6、電池:保證實(shí)時(shí)時(shí)鐘在掉電后的運(yùn)行,同時(shí)使RAM在掉電情況下10年不丟失數(shù)據(jù)。
7、運(yùn)控單元:專用的運(yùn)控邏輯單元,可以完成高速計(jì)數(shù)和脈沖輸出的功能,因?yàn)槭怯布WC的,所以不用CPU單元的介入,速度高達(dá)50K~100K,實(shí)際上可以做得更高速,當(dāng)然這種速度對(duì)于步進(jìn)和大多數(shù)伺服來說已經(jīng)夠用了。
8、IO接口:本體模塊自帶的IO,包括數(shù)字量輸入、數(shù)字量輸出、電位器輸入,部分CPU模塊還帶有模擬量的輸入輸出如M20MAD就有6路模擬量輸入和2路模擬量輸出。
因?yàn)镻LC是工作在工業(yè)環(huán)境,現(xiàn)場(chǎng)情況比較復(fù)雜,PLC采集和控制的信號(hào)經(jīng)常并不是共地的,跨步電動(dòng)勢(shì)和強(qiáng)干擾是經(jīng)常存在的,為防止對(duì)PLC的損壞,同時(shí)為了隔絕各種非共地信號(hào)的相互影響和損壞,PLC一般要求IO接口隔離,數(shù)字量一般是單路隔離的,而模擬量一般是模擬電路與數(shù)字電路之間隔離,所以用戶在使用時(shí)需核對(duì)硬件手冊(cè),并根據(jù)現(xiàn)場(chǎng)實(shí)際情況安排使用。
9、擴(kuò)展接口:使本體能聯(lián)接各種擴(kuò)展模塊,對(duì)于V80系統(tǒng),所有的擴(kuò)展模塊都被看成是總線上的一塊存儲(chǔ)器,這就要求所有的擴(kuò)展模塊上有MCU芯片,幾乎可以說V80是所有小型PLC中擴(kuò)展總線最快的,可以達(dá)到2M BYTE。
PLC軟件執(zhí)行的標(biāo)準(zhǔn)框圖大家在一般的書上都可以看到,一般的實(shí)現(xiàn)分為兩類,一類是沒有多任務(wù)操作系統(tǒng)的,一類是有多任務(wù)操作系統(tǒng)的,前者在可靠性和實(shí)時(shí)性方面有一定的優(yōu)勢(shì),后者對(duì)于結(jié)構(gòu)化編程方面有一定的幫助。我們的V80系列屬于前一者,而N80系統(tǒng)將支持這兩種結(jié)構(gòu)。
實(shí)際上的PLC執(zhí)行情況要復(fù)雜得多,但大體流程是一致的。
1、系統(tǒng)初始化:一般小型PLC的系統(tǒng)初始化主要是進(jìn)行初始化、設(shè)置、查找擴(kuò)展模塊等。
2、掃描輸入:掃描IO輸入信號(hào)。
3、執(zhí)行邏輯:根據(jù)用戶PLC程序執(zhí)行邏輯。
4、家務(wù)管理:PLC診斷、維護(hù)和其它系統(tǒng)程序執(zhí)行。
5、掃描輸出:將邏輯執(zhí)行的結(jié)果輸出。
6、通信管理單元:通信服務(wù)程序,響應(yīng)編程軟件和其它通信任務(wù)。
PLC運(yùn)行方式:
由上面可以看到PLC的運(yùn)行是一種循環(huán)掃描的運(yùn)行方式,實(shí)際上PLC還有定時(shí)掃描和中斷掃描共三種掃描方式。
循環(huán)掃描:PLC按上圖循環(huán)執(zhí)行。
定時(shí)掃描:PLC根據(jù)用戶設(shè)置的時(shí)間定時(shí)掃描,比方說50ms掃描一次,使用這種掃描方式,用戶需要保證用戶程序在設(shè)定時(shí)間內(nèi)一定能掃描完畢,一般PLC使用定時(shí)中斷和子程序結(jié)合起來實(shí)現(xiàn)這個(gè)功能(這種情況下與中斷掃描方式并無不同),但在IO掃描方面會(huì)有一些細(xì)微的不同,很可能會(huì)用到立即刷新IO的功能塊UpData_IO。
中斷掃描:中斷掃描根據(jù)外部或者內(nèi)部中斷的激活中斷掃描程序的運(yùn)行。比方說外部IO中斷、高速計(jì)數(shù)中斷、定時(shí)中斷等。
通常PLC都采用上面的三種運(yùn)行方式中的一種或者幾種,用戶需要對(duì)其有一定的了解,這可以使大家在編程的時(shí)候更加清晰,V80支持三種運(yùn)行方式。
本文標(biāo)簽:V80的軟硬件結(jié)構(gòu)和實(shí)現(xiàn)原理
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《V80的軟硬件結(jié)構(gòu)和實(shí)現(xiàn)原理》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
關(guān)于“V80的軟硬件結(jié)構(gòu)和實(shí)現(xiàn)原理”的更多資訊










