C++ 是當(dāng)今使用最廣泛的編程語言之一,備受 IT 和計(jì)算機(jī)科學(xué)領(lǐng)域用戶的青睞,尤其是在涉及到硬件相關(guān)的編程時(shí)。在一個(gè)活躍的開發(fā)者社區(qū)的推動(dòng)下,C++ 在過去的幾十年里取得了長(zhǎng)足發(fā)展,編譯器和工具獲得了很大改進(jìn)。因此,倍福在 TwinCAT 自動(dòng)化軟件中提供 C++ 作為實(shí)時(shí)編程語言。
通過 TwinCAT 3 C++ 可以在工業(yè) PC 上實(shí)時(shí)執(zhí)行 C++ 代碼,倍?蔀榇颂峁┳约旱 TwinCAT Software Development Kit(SDK)和 Common Runtime(CRT)。倍福采用獲得廣泛應(yīng)用的 Microsoft 編譯器執(zhí)行高效代碼。通過使用這些組件以及在開發(fā)環(huán)境中生成大量代碼,即可編寫出一個(gè)日后可以通過任務(wù)循環(huán)執(zhí)行的模塊 — 與 PLC 程序一樣。倍福提升了各種 Visual Studio® 調(diào)試界面的性能,并完善了實(shí)時(shí)典型顯示功能,從而簡(jiǎn)化了開發(fā)工作。重要的一點(diǎn)是,不同的實(shí)時(shí)模塊之間可以無縫交互,這使得 PLC 和 C++ 能夠以不同的方式交換信息,當(dāng)然,交換也是實(shí)時(shí)的。
傳統(tǒng) PLC 編程語言與其它編程語言的一個(gè)重要區(qū)別是,它可以在不重新啟動(dòng)設(shè)備控制器的情況下交換代碼,即在線更改。倍福也為 TwinCAT C++ 模塊提供了這個(gè)功能。倍福還不斷調(diào)整 TwinCAT C++ 編程語言的更新,以便客戶也能實(shí)時(shí)獲取這些更新。
高級(jí)語言編程無縫集成到 TwinCAT C++ 的控制項(xiàng)目開發(fā)過程中
為什么是 PLC?為什么是 C++?
編程語言在不同的用途中具有不同的優(yōu)勢(shì),因此 TwinCAT C++ 也有不同的應(yīng)用場(chǎng)景。C++ 在一些行業(yè)領(lǐng)域是最受青睞的編程語言。此外,用 PLC 語言和 C++ 語言編寫的混合代碼經(jīng)常被用在同一臺(tái)設(shè)備上。通常情況下,算法由 C++ 開發(fā),而設(shè)備的實(shí)際順序控制一般用 PLC 語言編寫。
很多 TwinCAT 組件和高級(jí)產(chǎn)品也基于 TwinCAT C++,例如 TwinCAT 3 Target for Simulink®,它生成的 C++ 代碼可以用作 TwinCAT C++ 模塊。倍福為 TwinCAT 用戶提供了一個(gè)性能強(qiáng)大的開放式接口。在某些方面,這也超出了 PLC 編程的范圍,例如,當(dāng)涉及到實(shí)時(shí)集成第三方硬件時(shí),傳統(tǒng)的 PLC 方法根本無法實(shí)現(xiàn)這一點(diǎn)。
非實(shí)時(shí)應(yīng)用
除了用于實(shí)時(shí)控制設(shè)備的 TwinCAT C++ 接口之外,其它用 C++ 語言編寫的程序和代碼也可以由倍福工業(yè) PC 上安裝的操作系統(tǒng)執(zhí)行。ADS 開放式標(biāo)準(zhǔn)提供了一個(gè)免授權(quán)接口,用作與實(shí)時(shí)環(huán)境交互的功能庫,ADS 同時(shí)從實(shí)時(shí)編程語言中抽象出來:因此,通過 ADS 實(shí)現(xiàn)的訪問完全獨(dú)立于實(shí)時(shí)環(huán)境中的項(xiàng)目。