wincc_c語言基礎PPT_第1頁
wincc_c語言基礎PPT_第2頁
wincc_c語言基礎PPT_第3頁
wincc_c語言基礎PPT_第4頁
wincc_c語言基礎PPT_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1,本 章 主 要 內 容,2.1 C腳本的開發(fā)環(huán)境 2.2 變量 2.3 運算符和數學函數 2.4 指針 2.5 循環(huán)和條件語句 2.6 函數 2.7 結構 2.8 WinCC API 2.9 項目環(huán)境 2.10 Windows API 2.11 標準對話框 2.12 文件,2,2.1 C腳本的開發(fā)環(huán)境,圖形編輯器的動作編輯器 用于在對象處創(chuàng)建C動作 。 創(chuàng)建C動作的步驟如下: 1)打開圖形編輯器。 2)選擇期望的屬性或事件。 3)編寫執(zhí)行期望計算的函數主題、動作。 4)翻譯已完成的函數。 5)對于為對象屬性創(chuàng)建的C動作,必須定義觸發(fā)器。對于為對象事件創(chuàng)建的C動作,由于事件本身就是觸發(fā)器,所

2、以不用再定義觸發(fā)器 6)通過單擊動作編輯器的確定按鈕,可將已編寫的C動作放置在期望的屬性或事件處。通過C動作動態(tài)化的屬性或事件將用綠色箭頭標記。,3,全局腳本編輯器 全局腳本編輯器用于創(chuàng)建項目函數、標準函數和動作。 建立項目函數的步驟如下: 1)打開全局腳本編輯器。 2)選擇項目函數條目,單擊鼠標右鍵,從彈出式菜單中選擇新建函數創(chuàng)建新項目函數的基本框架。 3)項目函數可以完全由用戶進行配置,沒有不能編譯的代碼段。編寫函數標題,且函數必須有一個名稱,以便C動作或其他函數調用。此外,必須指定返回值和函數所需的傳遞參數。,4,4)編寫函數主題。 5)編譯已完成的函數。 6)與描述一起定義一個口令,以

3、保護項目函數免遭未授權人員訪問。 7)完成的項目函數用合適的名稱進行保存。 建立全局動作的步驟如下: 1)打開全局腳本編輯器。 2)創(chuàng)建動作的基本框架。 3)編寫動作主體。 4)定義口令來保護項目函數免遭未授權人員的訪問。與函數相比,它還需要設置一個觸發(fā)器來控制動作的執(zhí)行。 5)保存完成的動作。,5,測試輸出 通過執(zhí)行程序來測試輸出,這樣便于在開發(fā)期間進行故 障檢測和錯誤診斷。測試輸出可以通過printf()函數來啟 動,通過該函數,不但可輸出簡單文本,而且可輸出當前變 量值。Printf()函數至少一個參數,該參數是一個字符串, 要傳遞的附加類型和數量取決于該字符串。在prinft()函數

4、中字符“%”用于在該位置插入變量值的標識符,跟在字符“%” 之后的字符確定變量的數據類型。,6,2.2 變量,變量 變量是由程序處理的數據對象。變量只有在定義以后才 能使用。在第一條指令可以執(zhí)行前,必須先定義程序中的所 有變量。 常量 除變量之外,程序中也使用常量。它只是數值的直接使 用。 數據類型 Char為一個字節(jié),可以接受一個字符;Int為整型數值; Float為單精度型浮點數;Double 雙精度型浮點數。Int數據 類型之前可以加關鍵字signed或,7,unsigned。關鍵字signed代表有符號數,關鍵字unsigned 代表無符號數。Int數據類型之前也可以加關鍵字long或

5、 short.這些關鍵字也可以不帶int而單獨使用,其含義仍然 相同。Short(或short int)數據類型的變量需要2個字節(jié) 的存儲空間,long(或longint)數據類型的變量與int數 據的變量一樣需要4個字節(jié)的存儲空間,然而double數據類 型的變量需要8個字節(jié)的存儲空間。每種數據類型都可以顯 示某一數值范圍的數值,其區(qū)別在于不同的數據類型所需 的存儲空間不同,以及是有符號還是無符號數據類型。,8,各數據類型的數值范圍如下: Int 21474836482147483647 Unsigned int 0429967295 Short 3276832767 Unsigtned s

6、hort 065535 Long 21474836482147483647 Unsigned long 04294967295 Char 128127(所有的ASCII字符) Unsigned char 0225(所有的ASCII字符) float 1038z038 double 103080308,9,WinCC變量及C的數據類型,10,靜態(tài)變量和外部變量 1靜態(tài)變量 C變量在定義后才能在函數中生效。在函數終止后, 它又變成無效。如果再次調用該函數,則將會再生成C變 量。然而,如果在變量前加關鍵字static,則在兩次函 數調用之間保留該變量,因此,它將保留其值。然而對 于C動作,只有選擇了

7、WinCC畫面,靜態(tài)變量才會有效。 如果撤消選定畫面,則靜態(tài)變量變成無效。再次打開畫 面后,在C動作期間將會再次生成靜態(tài)變量。,11,2外部變量 C變量只能在定義它的函數內訪問。然而,如果在任 何函數以外定義變量,則該變量將成為全局(外部)變 量。于是,在任何函數中都可以利用關鍵字extern來申 明變量并且可以訪問它。 函數CreateExternalTags() 只用于定義和初始化一 個int類型的外部變量。,12,2.3 C中的運算符和數學函數,運算符 1)數學運算符。 2)按位運算符。這些運算符使得可以對變量中的各個位進行 設置、查詢或重新設定。 3)邏輯運算符。所有的邏輯運算符都遵循

8、相同的原則:0表 示假,所有其他數都表示真。這些運算符不是生成0(假)就 是生成1(真)。 數學函數 在”內部函數” “c”-”bib” “math”中可選擇數學函數。,13,2.4 指針,指針是C語言的重要組件。指針是包含地址的變量, 通常該地址是另一個變量的地址。定義指針就像定義普通變 量一樣,但是指針指向的數據類型名稱要添加單目字符*, 不得將此字符誤認為是用與乘法運算的雙目運算符*。在以 下程序代碼中,定義了int數據類型的指針變量。 Int * piValue = NULL; 要使指針指向int數據類型的變量,必須將變量的地址 分配給它。這通過單目運算符來完成。單目運算符又稱為地 址

9、運算符。此運算符返回變量地址,而不是變量值。,14,在以下程序代碼中,將數據類型為int的變量的 地址分配給指針。 PiValue = ,15,2.5 循環(huán)和條件語句,1循環(huán)語句 (1)while 只要條件滿足,就重復執(zhí)行循環(huán)。 Int i = 0; while (i5) /do something +i; ,16,(2)do-while 該循環(huán)至少執(zhí)行一次,然后只要條件滿足就重復 執(zhí)行。 int i=0; do /do something +I; while(i5);,17,(3)for 只要條件滿足,就重復執(zhí)行循環(huán)。循環(huán)計數器的初始 化以及循環(huán)計數器的運算過程可以在循環(huán)內用公式表示。 in

10、t i = 0 for (i=0,i5,i+) /do something ,18,2條件語句 (1)If-else 如果條件為真就處理if分支中的語句。如果條件不合 適,就執(zhí)行else分支中的語句。如果沒有另一個要執(zhí)行的 語句,也可以省略else分支。 If (i5) /do something else /do something else ,19,(2)switch-case 在這種情況下,檢查變量是否匹配。switch指定要檢 查的變量。程序檢查哪一個case分支與變量的值一致,然 后執(zhí)行該case分支??梢远x任意case分支。每個case分 支必須以break結束。可以選擇插入de

11、fault分支。如果要 檢查的變量的值與任何case分支都不一致,則執(zhí)行此分支。,20,switch(i) case 0:/do something break; case 1:/do something break; default;/do something default break; ,21,2.6 函數,對于經常重復的語句,不必一次又一次地進行編寫, 它們可以移入一個函數。在WinCC中,函數可以創(chuàng)建為項目 函數或標準函數。 可以向函數傳送數值,函數根據這些數值將執(zhí)行相應的 語句。常數、變量可以傳送,只是將變量的數值傳遞給函 數。函數不可以訪問變量本身。指針可以傳送,這使得函數 可以

12、訪問指針的變量。向量和結構只能通過指針分配給函 數。,22,函數可以只執(zhí)行語句而不返回數值。如果是這樣, 則返回值的數據類型為void。但如果是執(zhí)行計算,則確 定的數值可以通過返回值返回給函數的調用者。如果是 這樣,則可以返回數值或其他地址。把數值返回給調用 者的另一個選擇是將其寫入傳遞的地址區(qū)域。向量或結 構只能用這種方式來返回。 數值參數的傳遞 下例中參數以數值的形式傳遞給函數,結果也以數 值的形式返回。,23,項目函數MeanValue() double MeanValue(double dValue1, double dValue2, double dValue3) double dM

13、eanValue; dMeanValue = (dValue1+dValue2+dValue3)/3; return dMeanValue; ,24,在函數標題內,將函數的名稱指定為MeanValue(),將三個 double數據類型的變量傳送給函數。返回的也將是一個 double數據類型的變量。接下來,將定義一個double數據 類型的變量,將返回的值存儲在該變量中。對所傳送的三 個值進行累加,然后將結果除以3得該返回值。通過return 語句,將結果返回給函數的調用者。,25,2.7 結構,結構類型的定義 除默認數據類型以外,自定義的類型也可借助于結構 來進行定義。在定義新的結構類型之后,

14、即可定義struct ExampleStruct數據類型的變量。 如果可利用的不是結構變量而是一個指向結構變量的 指針,則結構的單個元素是可以訪問的,但必須確保指針 指向一個有效的結構變量或至少為其保留存儲空間。,26,2.8 WinCC API,WinCC提供了一種廣義的API(應用程序編程接 口)。這是一種供應用程序訪問,WinCC項目本身中也可 使用WinCC API的函數。 WinCC的每個應用程序都提供 了其自己的API,并位于一個或多個DLL中。DLL(動態(tài)裝 載庫)是一個動態(tài)裝載的函數庫。在關聯的頭文件中, 將提供DLL所包含的函數聲明。,27,在下面的程序代碼中,將顯示如何將D

15、LL集成到C動 作或其他函數中。 #Pragma code(PDLCSAPI. Dll) #includepdlcsapi.h #pragma code ( ) 每個應用程序的API函數可粗略地分為兩種不同的函 數類型。這就是所謂的CS函數(組態(tài)系統(tǒng))和RT函數運 行系統(tǒng))。,28,2.9 項目環(huán)境,在很多情況下,編制C動作或其他函數均需要對文件路 徑、本地計算機名稱等進行詳細說明。然后,根據當前環(huán) 境,將這些值指定為絕對值。如果將項目傳送給另一臺計 算機,則可能會出現問題。這里所遭遇的環(huán)境完全不同于 創(chuàng)建系統(tǒng)中的環(huán)境。因此,建議不要使用絕對路徑進行說 明,在創(chuàng)建一個項目時,尤其如此。子運行系統(tǒng)中應用確 定這類信息。本節(jié)所包含的例子說明了如何訪問與本地計 算機的環(huán)境相關的信息。,29,2.10 Windows API,Windows API : Windows應用程序接口。除WinCC API以外,在WinCC項目中也 可以使用所有的Windows API。,30,2.11 標準對話框,在WinCC中創(chuàng)建對話框的一般過程包括創(chuàng)建一個WinCC 畫面以及用畫面窗口顯示該畫面。也可以用C動作或其他函 數來創(chuàng)建標準對話框。在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論