0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

h1654155282.3538 ? 來源:網(wǎng)絡(luò)整理 ? 2018-02-06 14:55 ? 次閱讀

plcC語(yǔ)言有什么關(guān)系

PLC為可編程邏輯控制器(Programmable Logic Controller)的首字母縮寫。是一種面向工業(yè)控制的微型計(jì)算機(jī)系統(tǒng)。

PLC的硬件系統(tǒng)必須有控制器(單片機(jī)、CPUFPGA等)、執(zhí)行器(繼電器、光耦輸入等)、主板(電路板),三者缺一不可。由于現(xiàn)在的8位單片機(jī)片內(nèi)存儲(chǔ)容量最大可達(dá)64kB的程序存儲(chǔ)器或4kB的數(shù)據(jù)存儲(chǔ)器,32位單片機(jī)也有512kB的程序存儲(chǔ)器和128kB的數(shù)據(jù)存儲(chǔ)器,所以功能簡(jiǎn)單的PLC不需要片外存儲(chǔ)器(內(nèi)存芯片、內(nèi)存條)也可以運(yùn)行。而功能較強(qiáng)的PLC則需要片外存儲(chǔ)器、輔助存儲(chǔ)器(硬盤、SD卡)等附加設(shè)備。

PLC的軟件系統(tǒng)分為三個(gè)部分:

1、PLC主機(jī)上運(yùn)行的下位機(jī)程序。用于控制輸出、檢測(cè)輸入以及與上位機(jī)進(jìn)行通訊。該程序是梯形圖轉(zhuǎn)C語(yǔ)言或匯編語(yǔ)言,再編譯后燒寫到PLC的程序存儲(chǔ)器內(nèi)的。雖然編譯的過程要經(jīng)過C語(yǔ)言或匯編語(yǔ)言,但是PLC廠家一般不允許用戶直接使用C語(yǔ)言或匯編語(yǔ)言編寫PLC主機(jī)的下位機(jī)程序。

2、PLC編程軟件。用于向下位機(jī)寫入用戶的控制方法。它將用戶的梯形圖轉(zhuǎn)換成C語(yǔ)言程序或匯編語(yǔ)言程序,編譯后燒寫到PLC的程序存儲(chǔ)器中。編程軟件本身可以由C語(yǔ)言、C++語(yǔ)言等高級(jí)語(yǔ)言開發(fā)。具體使用的開發(fā)語(yǔ)言需要向相應(yīng)的PLC廠家了解。

3、上位機(jī)軟件。用于宏觀上協(xié)調(diào)控制PLC的運(yùn)行狀態(tài),代替PLC進(jìn)行復(fù)雜的計(jì)算,存儲(chǔ)設(shè)備的運(yùn)行記錄,并以可視化方式向管理員反饋系統(tǒng)信息。常見的上位機(jī)軟件為“組態(tài)軟件”,它是由PLC廠家或軟件公司開發(fā)的上位機(jī)控制平臺(tái)。用戶可以使用指定的腳本語(yǔ)言進(jìn)行二次開發(fā)。如“組態(tài)王”軟件就指定使用BASIC語(yǔ)言進(jìn)行二次開發(fā)。如果不使用組態(tài)軟件,用戶也可以使用匯編、C語(yǔ)言、C++、JAVA、BASIC等各種編程語(yǔ)言,在它們各自的編譯器上編寫代碼,開發(fā)自己的上位機(jī)軟件。

C語(yǔ)言是一種面向過程的通用計(jì)算機(jī)編程語(yǔ)言,作為編程語(yǔ)言用戶數(shù)量排行榜上穩(wěn)坐前4的編程語(yǔ)言,廣泛應(yīng)用于工業(yè)控制(*PLC驅(qū)動(dòng)、*嵌入式系統(tǒng)、上位機(jī)軟件)、游戲開發(fā)(▲DirectX、▲PhysicX、大型游戲開發(fā))、操作系統(tǒng)開發(fā)(*Windows核心、*Linux核心、*Android核心)、驅(qū)動(dòng)程序開發(fā)(*USB驅(qū)動(dòng)、*串口驅(qū)動(dòng)、*網(wǎng)卡驅(qū)動(dòng)、*硬盤驅(qū)動(dòng))、軟件平臺(tái)搭建(JAVA虛擬機(jī)、Oracle數(shù)據(jù)庫(kù))、大型應(yīng)用軟件開發(fā)(OFFICE、VM WorkStation、CAD、PhotoShop、SolidWorks、Matlab)之中。

上述例子中,凡左邊帶“*”的例子,如果不使用C語(yǔ)言,就只能選擇匯編語(yǔ)言,沒有其它選擇的余地,凡左邊帶“▲”的例子,必須經(jīng)過C語(yǔ)言進(jìn)行過渡才能使用其它語(yǔ)言,左邊不帶標(biāo)志的,可以使用C語(yǔ)言以外的語(yǔ)言,但使用C語(yǔ)言將大大簡(jiǎn)化軟件的開發(fā)(主要是軟件性能很容易提升)。另外,C語(yǔ)言之所以叫“C”語(yǔ)言,是因?yàn)樗抢^“B語(yǔ)言”之后出現(xiàn)的編程語(yǔ)言,這個(gè)C代表的只是一個(gè)順序。

對(duì)比之后可知,PLC是一個(gè)工業(yè)控制系統(tǒng),包含軟硬件的概念。C語(yǔ)言是構(gòu)建工業(yè)控制系統(tǒng)及其它軟件的工具之一。它們之間是房屋與符號(hào)的關(guān)系。PLC是房屋,C語(yǔ)言是符號(hào)。符號(hào)連同其它圖素在紙上繪成藍(lán)圖、再將各種材料按藍(lán)圖進(jìn)行組裝就成了房屋。可是建成的房屋上卻看不到符號(hào)的存在,而符號(hào)不止可以用來設(shè)計(jì)房屋,還可以做更多更偉大的事情。

plc可以用c語(yǔ)言編程嗎

PLC有自己的編程語(yǔ)言,不能用c語(yǔ)言編程的。每個(gè)廠家有各自的編程軟件,幾個(gè)大公司的視窗版編程軟件如 三菱公司的GPP For Windows編程軟件,HMI人機(jī)界面畫面設(shè)計(jì)軟件,MELSEC-MEDOC編程軟件。

世界出名的PLC生產(chǎn)廠家還有,美國(guó)通用電氣公司,美國(guó)艾倫-布拉德利公司,日本三菱公司,日本富士電機(jī)公司,日本歐姆龍公司,德國(guó)西門子公司,的過通用電氣公司,法國(guó)TE公司,不同廠家的產(chǎn)品在使用上相差甚遠(yuǎn),甚至同一廠家不同系列產(chǎn)品在編程語(yǔ)言和編程方法上也有較大差異的!

plc的C語(yǔ)言編程詳解

本章重點(diǎn)介紹C語(yǔ)言編輯功能塊的特點(diǎn)、、編輯、指令調(diào)用、函數(shù)的存儲(chǔ)、應(yīng)用要點(diǎn)等,并附有常用函數(shù)列表。

1、功能概述

XCP新增功能,支持用戶在XCP Pro編程軟件中利用C語(yǔ)言編寫功能塊,在需要的地方進(jìn)行調(diào)用,其最大的優(yōu)點(diǎn)是支持幾乎所有的C語(yǔ)言函數(shù),增強(qiáng)了程序的保密性,同時(shí)由于可進(jìn)行多處調(diào)用和不同文件的調(diào)用,大大提高了編程人員的效率。

2、指令形式

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

適用于XC系列PLC V3.0C及以上版本,XC1、XC3、XC5都支持。

名稱由數(shù)字,英文,下劃線組成,首字符不能為數(shù)字,名稱長(zhǎng)度需《=9個(gè)字符。 ?

名稱不能與PLC內(nèi)置指令名稱沖突,如LD,ADD,SUB,PLSR等。 ?

名稱不能與當(dāng)前PLC已經(jīng)存在的函數(shù)功能塊同名。

3、操作步驟

1、打開PLC編輯軟件,在左側(cè)的“工程”工具欄內(nèi)選擇“函數(shù)功能塊”,右擊選擇“添加新函數(shù)功能塊”。

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

2、出現(xiàn)如下對(duì)話框,填寫所要編輯函數(shù)的信息。

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

3、在新建完成后,會(huì)出現(xiàn)下面的編輯畫面。

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

參數(shù)傳遞方式: 在梯形圖調(diào)用時(shí),傳入的D和M,即為W和B的起始地址。如上圖 D0,M0開始,則W[0]為D0,W[10]為D10,B[0]為M0, B[10]為M10。如梯形圖中使用的參數(shù)為D100,M100,則W[0]為D100,B[0]為M100。因此,字與位元件的首地址由用戶在PLC程序中設(shè)定。

參數(shù)W: 表示字軟元件,使用時(shí)按數(shù)組使用,如W[0]=1;W[1]=W[2]+W[3];在程序中可按照標(biāo)準(zhǔn)C規(guī)范使用。

參數(shù)B: 表示位軟元件,使用時(shí)也按數(shù)組使用,支持位置1和位清零,如B[0]=1;B[1]=0; 以及賦值,如B[0]=B[1]。

雙字運(yùn)算: 在W前加個(gè)D,如DW[10]=100000,表示給W[10]W[11]合成的雙字賦值。

浮點(diǎn)運(yùn)算: 支持在函數(shù)中定義浮點(diǎn)變量,以及進(jìn)行浮點(diǎn)運(yùn)算。

函數(shù)庫(kù):用戶功能塊可以直接使用函數(shù)庫(kù)中定義的函數(shù)和常量,函數(shù)庫(kù)中包含的函數(shù)和常量見后附部分。 ?

支持的其他數(shù)據(jù)類型:

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

預(yù)定義的宏:

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

四、函數(shù)的導(dǎo)入、導(dǎo)出

1、導(dǎo)出

(1)功能:將函數(shù)導(dǎo)出為文件,供其他PLC程序?qū)胗谩?/p>

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

(2)導(dǎo)出方式

a)可編輯:將源代碼也導(dǎo)出,并保存為文件.再次導(dǎo)入后,可再次編輯

b)不可編輯:源代碼不導(dǎo)出.再次導(dǎo)入后只可使用,無法編輯

2、導(dǎo)入

功能:導(dǎo)入已存在的函數(shù)功能塊文件,供該P(yáng)LC程序使用。

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

選中函數(shù)功能塊,右鍵點(diǎn)擊菜單“從硬盤導(dǎo)入函數(shù)功能塊文件”,選擇相應(yīng)文件,按確定即可。

五、功能塊的編輯

例:將PLC中寄存器D0,D1相加,然后將值賦給D2;

(1)首先在“工程”工具欄里,新建一個(gè)函數(shù)功能塊,在這里我們把它命名為ADD_2,并且

編輯C語(yǔ)言程序。

(2)編輯完之后,點(diǎn)擊編譯;

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

根據(jù)編譯信息列表內(nèi)所顯示的信息,我們可以查找修改C語(yǔ)言程序里的語(yǔ)法漏洞。在這里比較容易的發(fā)現(xiàn)程序中W[2]=W[0]+W[1]的后面缺少符號(hào)“;”。

當(dāng)我們將程序修改后,再次進(jìn)行編譯。從列表信息里可以確認(rèn),在程序里面并沒有語(yǔ)法錯(cuò)誤。

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

(3)然后再編寫PLC程序,分別賦值十進(jìn)制數(shù)10,20到寄存器D0,D1中,并調(diào)用函數(shù)功能塊ADD_2。如下所示:

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

(4)然后將程序下載到PLC當(dāng)中,運(yùn)行PLC,并置位M0。

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

(5)我們可以通過工具欄上的自由監(jiān)控觀察到D2的值變成了30,說明賦值成功了。

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

六、程序舉例

功能:利用函數(shù)功能塊計(jì)算出CRC校驗(yàn)值。 ?

CRC校驗(yàn)運(yùn)算規(guī)則如下:

(1)令16-bit寄存器(CRC寄存器)=FFFFH。

(2)將第一個(gè)8-bit byte 的訊息與低位元16-bit CRC寄存器異或(Exclusive OR)內(nèi)。

(3)右移一位CRC寄存器,將0填入高位元處。

(4)檢查右移的值,如果是0,就將第三步的新值存入CRC寄存器內(nèi),如果為非0,那么

將CRC寄存器的值與A001H異或,將結(jié)果存入CRC寄存器內(nèi)。 (5)重復(fù)(3)到(4),將8-bit全部運(yùn)算完成。 (6)重復(fù)(2)到(5),取下一個(gè)8-bit的訊息指令,直到所有訊息指令運(yùn)算完成。最后,

得到的CRC寄存器的值,即是CRC的校驗(yàn)碼。值得注意的是CRC的校驗(yàn)碼必須交換放

置與訊息指令的檢查碼中。

編輯C語(yǔ)言功能塊程序,如下:

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

編寫PLC梯形圖程序,D0:校驗(yàn)數(shù)據(jù)的字節(jié)個(gè)數(shù),D1~D5:校驗(yàn)數(shù)據(jù)的內(nèi)容。如下:

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

下載到PLC里,然后運(yùn)行,使M0置 ON,通過自由監(jiān)控就會(huì)發(fā)現(xiàn)寄存器D6 ,D7內(nèi)分別存入了CRC校驗(yàn)值的高位與底位。

七、應(yīng)用要點(diǎn)

使用函數(shù)功能塊的PLC程序,上傳后.該函數(shù)功能塊無法上傳,將出現(xiàn)一個(gè)未知指令錯(cuò)誤。

一個(gè)函數(shù)功能塊文件內(nèi)部,可以寫多個(gè)子函數(shù),進(jìn)行相互調(diào)用。

多個(gè)函數(shù)功能塊文件彼此獨(dú)立,不能相互調(diào)用各自擁有的函數(shù)。 ?

函數(shù)功能塊文件可以調(diào)用浮點(diǎn),算術(shù)等C語(yǔ)言庫(kù)函數(shù),如sin,cos,tan

八、附函數(shù)表

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5011

    文章

    13297

    瀏覽量

    463337
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136820
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PLC入門必看基礎(chǔ)知識(shí)

    PLC基礎(chǔ)知識(shí)(PLC入門必看)與C語(yǔ)言什么關(guān)系_plc
    發(fā)表于 09-09 08:39

    請(qǐng)問plc可以用c語(yǔ)言編程嗎?

    plc可以用c語(yǔ)言編程嗎?
    發(fā)表于 11-02 06:25

    PLC編程語(yǔ)言_操作指令_使用步驟詳解

    PLC編程語(yǔ)言_操作指令_使用步驟詳解,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 05-12 10:36 ?0次下載

    plc編程語(yǔ)言幾種_plc常用編程語(yǔ)言介紹

    PLC編程語(yǔ)言與一般計(jì)算機(jī)語(yǔ)言相比具有明顯的特點(diǎn),它既不同于一般高級(jí)語(yǔ)言,也不同于一般匯編語(yǔ)言
    的頭像 發(fā)表于 02-06 14:32 ?5.5w次閱讀
    <b class='flag-5'>plc</b><b class='flag-5'>編程</b><b class='flag-5'>語(yǔ)言</b><b class='flag-5'>有</b>幾種_<b class='flag-5'>plc</b>常用<b class='flag-5'>編程</b><b class='flag-5'>語(yǔ)言</b>介紹

    最常用的PLC編程語(yǔ)言編程方法詳解

    繼電器梯形圖(LD-Ladder Diagram)語(yǔ)言PLC首要選用的編程語(yǔ)言,也是PLC最普遍選用的
    的頭像 發(fā)表于 05-06 16:52 ?6280次閱讀
    最常用的<b class='flag-5'>PLC</b><b class='flag-5'>編程</b><b class='flag-5'>語(yǔ)言</b>和<b class='flag-5'>編程</b>方法<b class='flag-5'>詳解</b>

    PLC編程語(yǔ)言的類型和具有哪些特點(diǎn)

      PLC編程語(yǔ)言是工業(yè)控制領(lǐng)域內(nèi)用于編寫PLC程序的語(yǔ)言,旨在實(shí)現(xiàn)對(duì)工業(yè)設(shè)備和生產(chǎn)流程的自動(dòng)化控制和監(jiān)測(cè)。
    發(fā)表于 03-17 16:41 ?1407次閱讀

    PLC編程語(yǔ)言的國(guó)際標(biāo)準(zhǔn) 和C語(yǔ)言的區(qū)別

      PLC編程語(yǔ)言是工業(yè)控制領(lǐng)域內(nèi)用于編寫PLC程序的語(yǔ)言,旨在實(shí)現(xiàn)對(duì)工業(yè)設(shè)備和生產(chǎn)流程的自動(dòng)化控制和監(jiān)測(cè)。
    發(fā)表于 03-17 17:13 ?5370次閱讀

    plc編程是什么 plc編程語(yǔ)言

    PLC編程是指通過PLC編程軟件,使用PLC編程語(yǔ)言
    發(fā)表于 04-14 15:44 ?6982次閱讀

    PLC編程語(yǔ)言的特點(diǎn)

    公司的產(chǎn)品它自己的編程語(yǔ)言,OMRON公司的產(chǎn)品也有它自己的語(yǔ)言。但不管什么型號(hào)的PLC,其編程
    的頭像 發(fā)表于 07-04 17:13 ?978次閱讀

    五種支持plc編程語(yǔ)言哪些

    PLC控制系統(tǒng)設(shè)計(jì)中,不同型號(hào)的PLC編程軟件對(duì)以上五種編程語(yǔ)言的支持種類是不同的,所以不但對(duì)PLC
    發(fā)表于 08-31 14:54 ?1387次閱讀
    五種支持<b class='flag-5'>plc</b><b class='flag-5'>編程</b>的<b class='flag-5'>語(yǔ)言</b><b class='flag-5'>有</b>哪些

    plc編程語(yǔ)言c語(yǔ)言的聯(lián)系 c語(yǔ)言PLC什么區(qū)別

    語(yǔ)言,主要用于開發(fā)各種應(yīng)用程序。盡管PLC編程語(yǔ)言C語(yǔ)言
    的頭像 發(fā)表于 02-05 14:21 ?4128次閱讀

    PLC常用編程語(yǔ)言哪些

    在工業(yè)自動(dòng)化領(lǐng)域,PLC(Programmable Logic Controller,可編程邏輯控制器)作為一種核心控制設(shè)備,其編程語(yǔ)言的選擇對(duì)于控制系統(tǒng)的設(shè)計(jì)、開發(fā)和維護(hù)具有重要影響
    的頭像 發(fā)表于 06-14 16:58 ?1454次閱讀

    PLC編程語(yǔ)言C語(yǔ)言的區(qū)別

    在工業(yè)自動(dòng)化和計(jì)算機(jī)編程領(lǐng)域中,PLC(可編程邏輯控制器)編程語(yǔ)言C
    的頭像 發(fā)表于 06-14 17:11 ?2824次閱讀

    PLC編程方式及編程語(yǔ)言

    在工業(yè)自動(dòng)化領(lǐng)域,PLC(Programmable Logic Controller,可編程邏輯控制器)因其強(qiáng)大的控制功能和靈活的編程方式而得到了廣泛應(yīng)用。PLC
    的頭像 發(fā)表于 06-27 14:08 ?738次閱讀

    plc編程語(yǔ)言編程相關(guān)技巧哪些

    PLC(可編程邏輯控制器)編程語(yǔ)言及相關(guān)編程技巧是工業(yè)自動(dòng)化領(lǐng)域中不可或缺的知識(shí)。 一、PLC
    的頭像 發(fā)表于 10-21 16:56 ?342次閱讀