那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

h1654155282.3538 ? 來源:網絡整理 ? 2018-02-06 14:55 ? 次閱讀

plcC語言有什么關系

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

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

PLC的軟件系統分為三個部分:

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

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

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

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

上述例子中,凡左邊帶“*”的例子,如果不使用C語言,就只能選擇匯編語言,沒有其它選擇的余地,凡左邊帶“▲”的例子,必須經過C語言進行過渡才能使用其它語言,左邊不帶標志的,可以使用C語言以外的語言,但使用C語言將大大簡化軟件的開發(主要是軟件性能很容易提升)。另外,C語言之所以叫“C”語言,是因為它是繼“B語言”之后出現的編程語言,這個C代表的只是一個順序。

對比之后可知,PLC是一個工業控制系統,包含軟硬件的概念。C語言是構建工業控制系統及其它軟件的工具之一。它們之間是房屋與符號的關系。PLC是房屋,C語言是符號。符號連同其它圖素在紙上繪成藍圖、再將各種材料按藍圖進行組裝就成了房屋。可是建成的房屋上卻看不到符號的存在,而符號不止可以用來設計房屋,還可以做更多更偉大的事情。

plc可以用c語言編程嗎

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

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

plc的C語言編程詳解

本章重點介紹C語言編輯功能塊的特點、、編輯、指令調用、函數的存儲、應用要點等,并附有常用函數列表。

1、功能概述

XCP新增功能,支持用戶在XCP Pro編程軟件中利用C語言編寫功能塊,在需要的地方進行調用,其最大的優點是支持幾乎所有的C語言函數,增強了程序的保密性,同時由于可進行多處調用和不同文件的調用,大大提高了編程人員的效率。

2、指令形式

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

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

名稱由數字,英文,下劃線組成,首字符不能為數字,名稱長度需《=9個字符。 ?

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

名稱不能與當前PLC已經存在的函數功能塊同名。

3、操作步驟

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

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

2、出現如下對話框,填寫所要編輯函數的信息。

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

3、在新建完成后,會出現下面的編輯畫面。

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

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

參數W: 表示字軟元件,使用時按數組使用,如W[0]=1;W[1]=W[2]+W[3];在程序中可按照標準C規范使用。

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

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

浮點運算: 支持在函數中定義浮點變量,以及進行浮點運算。

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

支持的其他數據類型:

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

預定義的宏:

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

四、函數的導入、導出

1、導出

(1)功能:將函數導出為文件,供其他PLC程序導入用。

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

(2)導出方式

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

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

2、導入

功能:導入已存在的函數功能塊文件,供該PLC程序使用。

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

選中函數功能塊,右鍵點擊菜單“從硬盤導入函數功能塊文件”,選擇相應文件,按確定即可。

五、功能塊的編輯

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

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

編輯C語言程序。

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

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

根據編譯信息列表內所顯示的信息,我們可以查找修改C語言程序里的語法漏洞。在這里比較容易的發現程序中W[2]=W[0]+W[1]的后面缺少符號“;”。

當我們將程序修改后,再次進行編譯。從列表信息里可以確認,在程序里面并沒有語法錯誤。

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

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

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

(4)然后將程序下載到PLC當中,運行PLC,并置位M0。

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

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

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

六、程序舉例

功能:利用函數功能塊計算出CRC校驗值。 ?

CRC校驗運算規則如下:

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

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

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

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

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

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

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

編輯C語言功能塊程序,如下:

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

編寫PLC梯形圖程序,D0:校驗數據的字節個數,D1~D5:校驗數據的內容。如下:

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

下載到PLC里,然后運行,使M0置 ON,通過自由監控就會發現寄存器D6 ,D7內分別存入了CRC校驗值的高位與底位。

七、應用要點

使用函數功能塊的PLC程序,上傳后.該函數功能塊無法上傳,將出現一個未知指令錯誤。

一個函數功能塊文件內部,可以寫多個子函數,進行相互調用。

多個函數功能塊文件彼此獨立,不能相互調用各自擁有的函數。 ?

函數功能塊文件可以調用浮點,算術等C語言庫函數,如sin,cos,tan

八、附函數表

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

plc與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • plc
    plc
    +關注

    關注

    5016

    文章

    13387

    瀏覽量

    465367
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137702
收藏 人收藏

    評論

    相關推薦

    PLC入門必看基礎知識

    PLC基礎知識(PLC入門必看)與C語言什么關系_plc
    發表于 09-09 08:39

    請問plc可以用c語言編程嗎?

    plc可以用c語言編程嗎?
    發表于 11-02 06:25

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

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

    plc編程語言幾種_plc常用編程語言介紹

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

    最常用的PLC編程語言編程方法詳解

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

    最常用的PLC編程語言編程方法詳解

    IEC 1131-3的編程語言是IEC工作組對世界規模的PLC廠家的編程語言合理地吸收、學習的基礎上構成的一套針對工業操控體系的世界
    的頭像 發表于 05-12 10:58 ?6779次閱讀
    最常用的<b class='flag-5'>PLC</b><b class='flag-5'>編程</b><b class='flag-5'>語言</b>和<b class='flag-5'>編程</b>方法<b class='flag-5'>詳解</b>

    PLC編程語言的國際標準 和C語言的區別

      PLC編程語言是工業控制領域內用于編寫PLC程序的語言,旨在實現對工業設備和生產流程的自動化控制和監測。
    發表于 03-17 17:13 ?5458次閱讀

    plc編程是什么 plc編程語言

    PLC編程是指通過PLC編程軟件,使用PLC編程語言
    發表于 04-14 15:44 ?7155次閱讀

    PLC編程語言的特點

    公司的產品它自己的編程語言,OMRON公司的產品也有它自己的語言。但不管什么型號的PLC,其編程
    的頭像 發表于 07-04 17:13 ?1041次閱讀

    五種支持plc編程語言哪些

    PLC控制系統設計中,不同型號的PLC編程軟件對以上五種編程語言的支持種類是不同的,所以不但對PLC
    發表于 08-31 14:54 ?1516次閱讀
    五種支持<b class='flag-5'>plc</b><b class='flag-5'>編程</b>的<b class='flag-5'>語言</b><b class='flag-5'>有</b>哪些

    plc編程語言c語言的聯系 c語言PLC什么區別

    語言,主要用于開發各種應用程序。盡管PLC編程語言C語言
    的頭像 發表于 02-05 14:21 ?4420次閱讀

    PLC常用編程語言哪些

    在工業自動化領域,PLC(Programmable Logic Controller,可編程邏輯控制器)作為一種核心控制設備,其編程語言的選擇對于控制系統的設計、開發和維護具有重要影響
    的頭像 發表于 06-14 16:58 ?1735次閱讀

    PLC編程語言C語言的區別

    在工業自動化和計算機編程領域中,PLC(可編程邏輯控制器)編程語言C
    的頭像 發表于 06-14 17:11 ?3229次閱讀

    PLC編程方式及編程語言

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

    plc編程語言編程相關技巧哪些

    PLC(可編程邏輯控制器)編程語言及相關編程技巧是工業自動化領域中不可或缺的知識。 一、PLC
    的頭像 發表于 10-21 16:56 ?439次閱讀
    百家乐赌经| 百家乐最好打法与投注| 乐天堂百家乐娱乐网| 威尼斯人娱乐城真钱百家乐| 北碚区| 百家乐官网冲动| 网上百家乐能作弊吗| 百家乐官网娱乐网开户| 百家乐官网策略介绍| 百家乐官网怎么对冲打| 威尼斯人娱乐城吃饭| 百家乐小游戏开发| 花垣县| 百家乐龙虎玩| 真人百家乐官网视频赌博| 博狗足球开户| 百家乐博百家乐的玩法技巧和规则| 黄金城百家乐官网手机用户| 百家乐官网买隔一数| 大发8881| 试玩百家乐的玩法技巧和规则| 百家乐官网群shozo| 鲨鱼百家乐官网游戏平台| 博盈开户| 威尼斯人娱乐城老品牌lm0| 太子百家乐官网娱乐城| 百家乐官网投注双赢技巧| 网上百家乐官网玩法| 威尼斯人娱乐网代理| 百家乐鸿泰棋牌| 明溪百家乐官网的玩法技巧和规则 | 永利高百家乐官网进不去| 网络篮球投注| 太阳城88娱乐城| 百家乐长龙技巧| 萨迦县| 真人百家乐试玩账号| 皇冠网赌球安全吗| 大发百家乐现金网| 涂山国际娱乐城| 百家乐如何洗吗|