版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄3.ST根根源理73.1語言描述73.1.1語法圖73.1.2語法圖中的塊73.1.3規(guī)那么的意義〔語義〕83.2根本元素的語言83.2.1ST字符組83.2.2ST中的表記符93.2.2.1表記符的規(guī)那么93.2.2.2表記符舉例103.2.3預(yù)留表記符103.2.3.1保護(hù)表記符113.2.4數(shù)字和布爾值173.2.4.1整數(shù)173.2.4.2浮點(diǎn)數(shù)183.2.4.3指數(shù)183.2.4.4布爾值183.2.4.5數(shù)字的數(shù)據(jù)種類193.2.5字符串193.3ST源文件的結(jié)構(gòu)203.3.1語句213.3.2說明223.4數(shù)據(jù)種類233.4.1根本數(shù)據(jù)種類233.4.1.1根本數(shù)據(jù)種類233.4.1.2基礎(chǔ)數(shù)據(jù)種類的值的范圍限制253.4.1.3普通的數(shù)據(jù)種類263.4.1.4基礎(chǔ)系統(tǒng)數(shù)據(jù)種類273.4.2用戶定義的數(shù)據(jù)種類273.4.2.1用戶定義的數(shù)據(jù)種類273.4.2.2用戶定義的數(shù)據(jù)種類的語法〔種類聲明〕283.4.2.3基礎(chǔ)派生或派生的數(shù)據(jù)種類293.4.2.4派生數(shù)據(jù)種類ARRAY30精選3.4.2.5派生的數(shù)據(jù)種類—列舉313.4.2.6派生的數(shù)據(jù)種類STRUCT〔結(jié)構(gòu)〕323.4.3技術(shù)目標(biāo)數(shù)據(jù)種類343.4.3.1技術(shù)目標(biāo)數(shù)據(jù)種類的描述343.4.3.2軸屬性的繼承353.4.3.3技術(shù)目標(biāo)數(shù)據(jù)種類的例子363.4.4系統(tǒng)數(shù)據(jù)種類373.5變量聲明373.5.1變量聲明的語法373.5.2所有變量聲明的歸納393.5.3變量或數(shù)據(jù)種類的初始值403.6賦值和表達(dá)式433.6.1賦值443.6.1.1賦值的語法圖443.6.1.2基礎(chǔ)數(shù)據(jù)種類的變量的數(shù)值指定453.6.1.3串基礎(chǔ)數(shù)據(jù)種類的變量數(shù)值指定453.6.1.4位數(shù)據(jù)種類的變量的數(shù)值指定463.6.1.5派生的列舉數(shù)據(jù)種類的變量的數(shù)值指定483.6.1.6派生的陣列數(shù)據(jù)種類的變量的數(shù)值指定483.6.1.7派生的STRUCT數(shù)據(jù)種類的變量數(shù)值指定483.6.2表達(dá)式493.6.2.1表達(dá)式結(jié)果493.6.2.2表達(dá)式的解釋序次503.6.3運(yùn)算對(duì)象503.6.4算術(shù)表達(dá)式513.6.4.1算術(shù)表達(dá)式的例子543.6.5關(guān)系表達(dá)式543.6.6邏輯表達(dá)式和位串行表達(dá)式563.6.7運(yùn)算符的優(yōu)先級(jí)573.7控制語句583.7.1IF語句583.7.2CASE語句603.7.3FOR語句613.7.3.1辦理FOR語句623.7.3.2FOR語句規(guī)那么62語句例子63精選3.7.4WHILE語句63語句64語句64語句65語句65語句673.8數(shù)據(jù)種類變換673.8.1基礎(chǔ)數(shù)據(jù)種類變換673.8.1.1隱式數(shù)據(jù)種類變換683.8.1.2顯式數(shù)據(jù)種類變換703.8.2補(bǔ)充的變換714.功能,功能塊和程序714.1創(chuàng)立和調(diào)用功能和功能塊724.1.1定義功能724.1.2定義功能塊73和FB的聲明局部734.1.4FB和FC局部的語句754.1.5功能和功能塊的調(diào)用764.1.5.1參數(shù)轉(zhuǎn)移的原那么764.1.5.2轉(zhuǎn)移給輸入?yún)?shù)的參數(shù)774.1.5.3參數(shù)轉(zhuǎn)移給in/out參數(shù)774.1.5.4參數(shù)轉(zhuǎn)移到輸出參數(shù)〔僅對(duì)FB〕784.1.5.5參數(shù)接見時(shí)間794.1.5.6調(diào)用一個(gè)功能794.1.5.7調(diào)用功能塊〔實(shí)例調(diào)用〕794.1.5.8在FB外接見FB輸出參數(shù)814.1.5.9在FB外接見FB輸入?yún)?shù)814.1.5.10FB調(diào)用時(shí)的錯(cuò)誤源824.2功能和功能塊的比較824.2.1例子說明824.2.2帶說明的源文件844.3程序854.4表達(dá)式875.在SIMOTION中ST的集成895.1源文件局部的使用89精選5.1.1源文件局部的使用895.1.1.1interface局部89局部905.1.1.3程序組織單元〔POU〕915.1.1.4功能〔FC〕915.1.1.5功能塊〔FB〕925.1.1.6程序925.1.1.7表達(dá)式935.1.1.8聲明局部945.1.1.9語句局部945.1.1.10數(shù)據(jù)種類定義945.1.1.11變量聲明955.1.2在ST源文件之間的導(dǎo)入和導(dǎo)出975.1.2.1單元表記符975.1.2.2一個(gè)導(dǎo)出單元的interface局部985.1.2.3一個(gè)導(dǎo)出單元的例子985.1.2.4在一個(gè)導(dǎo)入單元的USES語句995.1.2.5一個(gè)導(dǎo)入單元的例子1005.2在SIMOTION中的變量1015.2.1變量模型1015.2.1.1單元變量1035.2.1.2不保存的單元變量1045.2.1.3保持單元變量1055.2.1.4本地變量〔靜態(tài)和臨時(shí)變量〕1065.2.1.5靜態(tài)變量1075.2.1.6臨時(shí)變量1085.2.2全局設(shè)備變量的使用1095.2.3變量種類的存儲(chǔ)范圍1105.2.3.1存儲(chǔ)地域的例子,有效關(guān)于KernelV3.11115.2.3.2本地?cái)?shù)據(jù)棧變量的存儲(chǔ)要求〔kernelV3.1或更高〕1145.2.4變量初始化的時(shí)間1165.2.4.1保存全局變量的初始化1165.2.4.2不保存的全局變量的初始化1175.2.4.3本地變量的初始化1185.2.4.4靜態(tài)編程變量的初始化1195.2.4.5功能塊實(shí)例的初始化1205.2.4.6技術(shù)目標(biāo)的系統(tǒng)變量的初始化1205.2.4.7全局變量的版本ID和下載時(shí)的初始化1215.2.5變量和HMI設(shè)備1225.3接見輸入和輸出〔過程圖像,I/O變量〕124精選5.3.1接見輸入和輸出的歸納1245.3.2直接接見和過程圖像接見的重要特點(diǎn)1255.3.3直接接見和循環(huán)任務(wù)的過程圖像1265.3.3.1直接接見和循環(huán)任務(wù)的過程圖像的I/O地址的規(guī)那么1275.3.3.2為直接接見和循環(huán)任務(wù)的過程圖像創(chuàng)立一個(gè)I/O變量1285.3.3.3輸入I/O地址的語法圖1295.3.3.4可能的I/O變量的數(shù)據(jù)種類1305.3.4背景任務(wù)的固定過程圖像的接見1305.3.4.1背景任務(wù)的固定過程圖像的絕對(duì)接見〔絕對(duì)PI接見〕1315.3.4.2一個(gè)絕對(duì)過程圖像接見的表記符語法1325.3.4.3背景任務(wù)的固定過程圖像的符號(hào)接見〔符號(hào)PI接見〕1335.3.4.4可能的符號(hào)PI接見的數(shù)據(jù)種類1345.3.4.5符號(hào)PI接見的例子1345.3.4.6為接見背景任務(wù)固定過程圖像而創(chuàng)立一個(gè)I/O變量1345.3.5接見I/O變量1355.4使用庫(kù)1355.4.1編寫一個(gè)庫(kù)1365.4.2庫(kù)的know-how保護(hù)1375.4.3從庫(kù)中使用數(shù)據(jù)種類,功能和功能塊1385.5相同的表記符和命名空間的使用1395.5.1相同的表記符的使用1395.5.2命名空間1415.6參照數(shù)據(jù)1445.6.1交錯(cuò)比較表1455.6.1.1創(chuàng)立一個(gè)交錯(cuò)比較表單1455.6.1.2交錯(cuò)比較表的內(nèi)容1455.6.1.3交錯(cuò)比較表的使用1465.6.2程序結(jié)構(gòu)1465.6.2.1程序結(jié)構(gòu)的內(nèi)容1475.6.3代碼屬性1475.6.3.1代碼屬性內(nèi)容1485.7控制預(yù)辦理器和pragma編寫1485.7.1控制一個(gè)預(yù)辦理器1485.7.1.1預(yù)辦理器語句1495.7.1.2預(yù)辦理器語句的例子1525.7.2屬性控制編寫器153精選5.8跳轉(zhuǎn)語句和標(biāo)簽1556.錯(cuò)誤源和程序調(diào)試1566.1防備錯(cuò)誤和有效編程的說明1566.2程序調(diào)試1566.2.1程序測(cè)試的模式1566.2.1.1SIMOTION設(shè)備模式1566.2.1.2life-sign監(jiān)察的重要信息1586.2.1.3life-sign監(jiān)察參數(shù)1596.2.2符號(hào)瀏覽器1606.2.2.1符號(hào)瀏覽器的屬性1606.2.2.2使用符號(hào)瀏覽器1606.2.3在watch表中監(jiān)察變量1626.2.3.1在watch表中的變量1626.2.3.2使用watch表格1626.2.4程序運(yùn)行1636.2.4.1程序運(yùn)行:顯示代碼地址和調(diào)用路徑1636.2.4.2參數(shù)調(diào)用棧程序運(yùn)行1646.2.4.3程序運(yùn)行工具欄1646.2.5程序狀態(tài)1646.2.5.1程序狀態(tài)的屬性1646.2.5.2使用狀態(tài)程序1656.2.5.3程序狀態(tài)的調(diào)用路徑1676.2.5.4參數(shù)調(diào)用路徑狀態(tài)程序1686.2.6斷點(diǎn)1686.2.6.1設(shè)置斷點(diǎn)的普通步驟1686.2.6.2設(shè)置debug模式1696.2.6.3定義debug任務(wù)組1706.2.6.4debug任務(wù)組參數(shù)1716.2.6.5debug表格參數(shù)1716.2.6.6設(shè)置斷點(diǎn)1726.2.6.7斷點(diǎn)工具欄1736.2.6.8定義一個(gè)單獨(dú)斷點(diǎn)的調(diào)用路徑1746.2.6.9斷點(diǎn)調(diào)用路徑/任務(wù)選擇參數(shù)1756.2.6.10定義所有斷點(diǎn)的調(diào)用路徑1766.2.6.11每個(gè)POU所有斷點(diǎn)的調(diào)用路徑/任務(wù)選擇參數(shù)1776.2.6.12激活斷點(diǎn)1786.2.6.13顯示調(diào)用棧1806.2.6.14斷點(diǎn)調(diào)用棧參數(shù)1806.2.7追想181精選ST根根源理此章節(jié)描述了ST中的語言資源和使用方法。請(qǐng)注意此章節(jié)中描述了功能、功能塊和任務(wù)控制系統(tǒng)。一個(gè)完整正式的語言描述包括語法圖,詳見目錄〔第307頁(yè)〕。3.1語言描述在本手冊(cè)的以下章節(jié)中語法圖用作語言描述的基礎(chǔ),為你提供了對(duì)ST語法結(jié)構(gòu)的新認(rèn)識(shí)。語法圖語法圖是對(duì)語法結(jié)構(gòu)的圖形式的闡述。結(jié)構(gòu)是由一系列的規(guī)那么描述組成??梢曰诂F(xiàn)有的規(guī)那么生成新的規(guī)那么。上圖中的語法圖需從左至右讀。需要注意以下規(guī)那么結(jié)構(gòu):●序列:塊的序列●選項(xiàng):可以跳過的語句●迭代:一個(gè)或多個(gè)語句的重復(fù)●替代:Branch語法圖中的塊塊是根本元素。以下列圖顯示了代表塊而使用的符號(hào)種類。精選要更多解釋的根本元素由更多的語法圖解釋的復(fù)合單元當(dāng)輸入源文本時(shí)需要注意格式化規(guī)那么和非格式化規(guī)那么。比方:把語法圖中的塊或元素轉(zhuǎn)化為源文本〔見幫助中的語言描述,第291頁(yè)〕規(guī)那么的意義〔語義〕規(guī)那么能僅代表語言的格式結(jié)構(gòu)。意義〔語義〕一般不顯然。由于這個(gè)原因,如果意義很重點(diǎn),那么需要在規(guī)那么旁邊寫上額外的信息?!袢绻N類的元素意義不同,需要附上額外的命名。比方,額外指定每個(gè)十進(jìn)制字符串元素—年,月或日〔見308頁(yè)〕。名稱表示了用途●重要的限制也列出。如:整數(shù)規(guī)那么中關(guān)于—〔負(fù)號(hào)〕,注明負(fù)號(hào)只能在SINT,INT,andDINT數(shù)據(jù)種類從前出現(xiàn)〔見308頁(yè)〕3.2根本元素的語言ST語言的根本元素包括ST字符組,根據(jù)ST字符組〔如:語言命令〕創(chuàng)立的預(yù)留表記符,自定義的表記符和數(shù)字。ST字符組合預(yù)留表記符都是根本的元素〔terminals〕,因?yàn)槭菬o需別的的規(guī)那么來描述。自定義的表記符和數(shù)字不是terminals,因?yàn)樗鼈兪怯蓜e的的規(guī)那么來描述。在語法圖中,終端是由圓形也許橢圓形符號(hào)來表示,但是復(fù)合單元由長(zhǎng)方形來表示〔見語法圖中的塊,第72頁(yè)〕。以下內(nèi)容是主要終端的節(jié)選,作為全局預(yù)覽,參照根本元素terminals,第294頁(yè)〕3.2.1ST字符組ST使用ASCII字符組中的以下字母和數(shù)字●從A到Z的大小字母●從0到9的阿拉伯?dāng)?shù)字字母和數(shù)字是最常用的字符。比方,表記符是字母,數(shù)字和下劃線的組合。下劃線是特殊的字符之一。精選特殊字符在ST中有特定的含義〔見第291頁(yè)的正式語言描述和第294頁(yè)的根本元素〕3.2.2ST中的表記符表記符的ST中的名稱。這些名稱可以根據(jù)系統(tǒng)來定義,比方語言命令等。但是,名稱可以是用戶定義,比方常量、變量或功能。3.2.2.1表記符的規(guī)那么表記符是由字母〔A到Z,a到z〕、數(shù)字〔0到9〕或單獨(dú)的下劃線隨意組成,但是首字符必須是字母也許下劃線。大小寫字母沒有劃分〔比方,在編寫器中Anna和AnNa是一樣的〕。一個(gè)正式的表記符可以由以下的語法圖表示:命名時(shí),最好采用唯一的、有意義的命名,以便解釋程序。圖表中的語法圖聲了然一個(gè)表記符的首字符必須是字母也許下劃線。下劃線必須隨著字母或數(shù)字。如:不允許連續(xù)有兩根或以上的下劃線。下劃線可以隨著隨意也許一系列的數(shù)字,下劃線或字母。在這唯一的例外是兩條下劃線可能不會(huì)同時(shí)出現(xiàn)。精選3.2.2.2表記符舉例有效的表記符無效的表記符無效表記符4ter*#ABRR__20valueArray表記符不能用作絕不定義表記符:●與預(yù)留表記符同樣●與任務(wù)命名相匹配
原因第一次字符必須為一個(gè)字母也許下劃線不允許特殊字符〔除了下劃線〕不允許有兩個(gè)下劃線不允許出現(xiàn)空格,因?yàn)槭翘厥庾址m然ARRAY是一個(gè)正式有效的表記符,但是它是一個(gè)預(yù)留表記符。,只能做預(yù)先定義使用。這意味著你不能使用這個(gè)名稱,比方:變量注意:如有可能,防備定義由下劃線,struct,enum,也許command開始的表記符雖然這些是有效的表記符,當(dāng)你下載技術(shù)包時(shí)可能致使出現(xiàn)錯(cuò)誤。在基礎(chǔ)系統(tǒng)和在技術(shù)包中命令詞語,參數(shù)或數(shù)據(jù)種類以這些字符開始。預(yù)留表記符預(yù)留表記符可能和預(yù)先定義的用途不同樣。你不能用預(yù)留表記符的名稱來命名一個(gè)變量也許數(shù)據(jù)種類。符號(hào)的大小寫無區(qū)別。所有表記符的預(yù)先定義的意義可以在SIMOTION根本功能功能手冊(cè)中找到:●·ST編程語言中的保護(hù)也許預(yù)留表記符,欲知更多,請(qǐng)見76頁(yè)和81頁(yè)●·標(biāo)準(zhǔn)功能和功能定義的數(shù)據(jù)種類,欲知更多,請(qǐng)見251頁(yè)●系統(tǒng)的老例功能塊SIMOTION設(shè)備系統(tǒng)功能、系統(tǒng)變量和數(shù)據(jù)種類技術(shù)目標(biāo)的系統(tǒng)功能、系統(tǒng)變量和數(shù)據(jù)種類精選3.2.3.1保護(hù)表記符ST語言中的保護(hù)表記符全列在了下表中。欲見所有預(yù)留詞的簡(jiǎn)短描述,請(qǐng)見附錄預(yù)留詞語〔第299頁(yè)〕和規(guī)那么附錄中的語法圖〔第頁(yè)〕精選精選精選精選3.2.3.2額外的預(yù)留表記符下表包含了將來擴(kuò)展所有的預(yù)留表記符。精選精選數(shù)字和布爾值在ST中可以經(jīng)過多種方式編寫數(shù)字。數(shù)字可以包括一個(gè)符號(hào)、一個(gè)小數(shù)點(diǎn)也許一個(gè)指數(shù)。以下規(guī)那么適用于所有的數(shù)字:●數(shù)字中不能出現(xiàn)逗號(hào)和空格●下劃線允許作為視覺上的分開線●數(shù)字可以冠以正號(hào)〔+〕也許負(fù)號(hào)〔—〕,如果沒有使用符號(hào)那么認(rèn)為數(shù)字為正。●數(shù)字不能超過確定的最大值或最小值3.2.4.1整數(shù)整數(shù)既不包括小數(shù)點(diǎn)也不包括指數(shù)。一個(gè)整數(shù)是一系列的數(shù)字,也可以在前面加上一個(gè)符號(hào)。以下為有效的整數(shù):01+1-1743-528060000-32211321以下整數(shù)為無效,并且已經(jīng)列出原因:123,456不允許有逗號(hào)整數(shù)不能包括小數(shù)點(diǎn)102030不允許有空格在ST中,你可以使用不同的編號(hào)體系來表示整數(shù)。經(jīng)過插入編號(hào)系統(tǒng)的重點(diǎn)字前綴來實(shí)精選現(xiàn)。2#為二進(jìn)制8#為八進(jìn)制16#為十六進(jìn)制十進(jìn)制小數(shù)15的有效表示方式為:2#11118#1716#F3.2.4.2浮點(diǎn)數(shù)以下為有效的浮點(diǎn)數(shù)0.01.3-0.2827.6020000.0+0.00074360_000.15-315.0066以下為無效的浮點(diǎn)數(shù)數(shù)字必須出現(xiàn)在小數(shù)點(diǎn)從前或之后1,000.0不允許有逗號(hào)不允許有兩個(gè)小數(shù)點(diǎn)3.2.4.3指數(shù)指數(shù)可以用來定義小數(shù)點(diǎn)的地址。如果沒有出現(xiàn)小數(shù)點(diǎn),我們就假設(shè)位于數(shù)字的右側(cè)。指數(shù)必須為正整數(shù)或負(fù)整數(shù)?;鶖?shù)10用字母E來表示。x108在ST中可以經(jīng)過以下正確的浮點(diǎn)數(shù)來表示:3.0E+83.0E83e+83E80.3E+90.3e930.0E+730e7以下浮點(diǎn)數(shù)是無效的:3.E+8數(shù)字必須出現(xiàn)在小數(shù)點(diǎn)從前或之后8e2.3指數(shù)必須為一個(gè)整數(shù).333e-3數(shù)字必須出現(xiàn)在小數(shù)點(diǎn)從前或之后30E8不允許有空格3.2.4.4布爾值布爾值是恒定常量。必須經(jīng)過0也許1,TRUE也許FALSE來表示。精選3.2.4.5數(shù)字的數(shù)據(jù)種類編寫器根據(jù)數(shù)值和使用來自動(dòng)選擇適合數(shù)字的根本數(shù)據(jù)種類。也可以直接指定數(shù)據(jù)種類。在數(shù)字前面輸入數(shù)據(jù)種類〔數(shù)字?jǐn)?shù)據(jù)種類〕和字符“#〞。字符串什么是字符串?一個(gè)字符串是好多的0或在最前面也許最后邊帶撇號(hào)的多字符。每個(gè)字符在串中一個(gè)字符可以如下輸入:●可打印的字符〔ASCIIcode$20to$7E,$80to$FF〕,除了美元符號(hào)(ASCIIcode$24)和撇號(hào)(ASCIIcode$27)之外,因?yàn)檫@些符號(hào)在字符串中有著特殊的含義。●美元符號(hào)($)之后的相關(guān)字符的2位的十六進(jìn)制ASCIIcode●根據(jù)下表組成的兩個(gè)字符的組合精選3.3ST源文件的結(jié)構(gòu)一個(gè)ST源包含連續(xù)的文本,經(jīng)過劃分為邏輯塊形成文本。詳細(xì)的規(guī)那么見源文件章節(jié)〔第頁(yè)〕。簡(jiǎn)單的總結(jié)如下:●一個(gè)ST源文件是可以在工程中創(chuàng)立的一個(gè)邏輯單元,可以出現(xiàn)屢次。平時(shí)被稱為一個(gè)單元。●一個(gè)ST源文件的邏輯局部被稱為Section〔見表格〕●一個(gè)用戶程序是所有程序源的會(huì)集〔如:ST源文件,MCC單元〕每個(gè)ST源文件的邏輯局部的開頭和結(jié)尾都有特定重點(diǎn)詞精選沒有必要自己對(duì)每個(gè)功能編程,可以使用SIMOTION系統(tǒng)組件。這些是預(yù)先編程好的局部,如系統(tǒng)功能或技術(shù)目標(biāo)的功能。源文件局部描述單元語句〔可選的〕包括ST的名稱interface局部包括導(dǎo)入和導(dǎo)出變量的語句,種類和POUimplementation局部包括ST源文件的執(zhí)行局部POU〔程序組織單元〕ST源文件〔程序,功能,功能塊〕單獨(dú)的可執(zhí)行局部聲明局部包含聲明〔如變量和種類〕,可以被包含在interface局部和implementation局部,以及POU中語句局部包含一個(gè)POU的可執(zhí)行語句注意:在線幫助中有好多可用的示范單元的模板。你可以使用作為一個(gè)新ST源文件的模板。調(diào)用ST編寫器幫助,點(diǎn)擊相關(guān)鏈接。復(fù)制文本到ST編寫器窗口,根據(jù)你的需求更正模板。示范單元的模板包括此模板的復(fù)制件語句一個(gè)POU的語句局部包括重復(fù)的單獨(dú)語句。隨著POU的聲明局部,以POU的結(jié)束而結(jié)束。首尾沒有顯然的重點(diǎn)詞。精選在ST中有三種根本語句:●賦值:從表達(dá)式到變量的賦值,見105頁(yè)變量聲明●控制語句:語句的分支的重復(fù),見130頁(yè)控制●子程序執(zhí)行:功能和功能塊,見147頁(yè)功能,功能塊和程序說明說明用作編制文件,同時(shí)也幫助用戶理解源文件局部。在編制后,關(guān)于程序執(zhí)行沒有任何意義。說明有兩種:●線說明●塊說明線說明由//開始。編寫器將進(jìn)行隨從的文本,知道線說明結(jié)束你可以在好多線之后輸入一個(gè)塊說明,如果(首尾都是*〕先于它。當(dāng)插入說明時(shí)注意:●在說明中可以使用完整的擴(kuò)展ASCII字符集●在線型說明中可以忽略字符組(*和*)●不允許塊說明的嵌套。但是,在塊說明中你可以嵌套線說明?!窨梢栽陔S意地址插入說明,但是不能在保持的規(guī)那么中插入,如表記符的名稱中。欲知更多規(guī)那么信息,見291頁(yè)語言描述源。精選3.4數(shù)據(jù)種類使用數(shù)據(jù)種類來定義怎樣在程序源中使用變量或常量值。以下數(shù)據(jù)種類對(duì)用戶是可用的:●根本數(shù)據(jù)種類●用戶定義的數(shù)據(jù)種類〔UDT〕—簡(jiǎn)單的導(dǎo)數(shù)—陣列—列舉—結(jié)構(gòu)●技術(shù)目標(biāo)數(shù)據(jù)種類●系統(tǒng)數(shù)據(jù)種類見根本數(shù)據(jù)種類〔第90頁(yè)〕技術(shù)目標(biāo)數(shù)據(jù)種類〔第101頁(yè)〕系統(tǒng)數(shù)據(jù)種類〔第104頁(yè)〕根本數(shù)據(jù)種類3.4.1.1根本數(shù)據(jù)種類根本數(shù)據(jù)種類定義了不能分成更小的單元的數(shù)據(jù)結(jié)構(gòu)。一個(gè)根本數(shù)據(jù)種類描述了有固定長(zhǎng)度的存儲(chǔ)地域,代表了數(shù)字?jǐn)?shù)據(jù)、整數(shù)、浮點(diǎn)值、時(shí)間、日期和字符串。精選所有的根本數(shù)據(jù)種類在下表中列出:種類預(yù)留詞位寬度值的范圍位數(shù)據(jù)種類:此種類的數(shù)據(jù)使用1位、8位、16位或32位。此數(shù)據(jù)種類的變量初始值為0位BOOL10,1orFALSE,TRUE字節(jié)BYTE816#0to16#FF字WORD1616#0to16#FFFF雙字DWORD3216#0to16#FFFF_FFFF數(shù)字種類:此類數(shù)據(jù)種類可用于辦理數(shù)值。此數(shù)據(jù)種類的變量初始值為0〔全為整數(shù)〕或0.0〔全為浮點(diǎn)數(shù)〕短整數(shù)SINT8-128to127(-27to27-1)無符號(hào)短整數(shù)USINT80to255(0to28-1)整數(shù)INT16-32_768to32_767(-215to215-1)無符號(hào)整數(shù)UINT160to65_535(0to216-1)雙整數(shù)DINT32-2_147_483_648to2_147_483_647(-231to231-1)無符號(hào)雙整數(shù)UDINT320to4_294_96_7295(0to232-1)浮點(diǎn)數(shù)(perIEEEREAL32-3.402_823_466E+38to-754)1.175_494_351E-38,0.0,+1.175_494_351E-38to+3.402_823_466E+38精度:23位尾數(shù)〔對(duì)應(yīng)6位小數(shù)〕,8位指數(shù),1位字符長(zhǎng)浮點(diǎn)數(shù)LREAL64-1.797_693_134_862_315_8E+308〔IEEE-754〕to-2.225_073_858_507_201_4E-308,0.0,+2.225_073_858_507_201_4E-308to+1.797_693_134_862_315_8E+308精度:52位尾數(shù)〔對(duì)應(yīng)15位小數(shù)〕,11位指數(shù),1位字符時(shí)間種類:此類數(shù)據(jù)用于表示不同的時(shí)間或日期1分鐘的增量的持TIME32T#0d_0h_0m_0s_0msto續(xù)時(shí)間T#49d_17h_2m_47s_295ms天,小時(shí),分鐘的數(shù)值最多為2位。里程碑最多為3位。初始為T#0d_0h_0m_0s_0ms1天的增量的日期DATE32D#1992-01-01toD#2200-12-31需要考慮閏年,年份為4位,月份和天數(shù)為2位。初始為D#0001-01-01分鐘為單位的當(dāng)日TIME_OF_DAY(TOD)64TOD#0:0:0.0toTOD#23:59:59.999時(shí)間天,小時(shí),分鐘的數(shù)值最多為2位。里程碑最多為3位。初始為精選TOD#0:0:0.0日期和時(shí)間DATE_AND_TIME(DT)64DT#1992-01-01-0:0:0.0toDT#2200-12-31-23:59:59.999日期和時(shí)間包括日期和時(shí)間的類型。初始為DT#0001-01-01-0:0:0.0串種類:此類數(shù)據(jù)代表字符串,每個(gè)字符使用特定字節(jié)的數(shù)字來編碼。串的長(zhǎng)度可以在聲明中定義。用"["和"]"來表示長(zhǎng)度。如:STRING[100]。默認(rèn)的設(shè)置包含個(gè)字符。指定〔初始〕字符的數(shù)字可以少于聲明的長(zhǎng)度。1字節(jié)/字符的串STRING8ASCIIcode$00到$F的所有字符都是允許的。默認(rèn)’空’字(符串)注意:當(dāng)導(dǎo)出變量到其他系統(tǒng)時(shí),需要考慮對(duì)應(yīng)的目標(biāo)系統(tǒng)的數(shù)據(jù)種類的值的范圍3.4.1.2基礎(chǔ)數(shù)據(jù)種類的值的范圍限制基礎(chǔ)數(shù)據(jù)種類的值的范圍作為常量可用。精選3.4.1.3普通的數(shù)據(jù)種類普通的數(shù)據(jù)種類被用作系統(tǒng)功能和系統(tǒng)功能塊的輸入和輸出參數(shù)。子程序被稱做包含在普通數(shù)據(jù)種類中的每個(gè)數(shù)據(jù)種類的變量。下表列出了可用的普通數(shù)據(jù)種類:精選3.4.1.4基礎(chǔ)系統(tǒng)數(shù)據(jù)種類在SIMOTION系統(tǒng)中,表格中指出的數(shù)據(jù)種類使用與基礎(chǔ)數(shù)據(jù)種類近似。和好多系統(tǒng)功能一起使用。表記符位寬度用途StructAlarmId32alarmld的數(shù)據(jù)種類用于鑒別唯一的信息。alarmld用于生成信息。見功能手冊(cè)SIMOTION根本功能。初始為STRUCTALARMID#NILStructTaskId32taskld的數(shù)據(jù)種類是在執(zhí)行系統(tǒng)中鑒別唯一的任務(wù)。見功能手冊(cè)SIMOTION根本功能。初始為STRUCTTASKID#NIL無效的基礎(chǔ)數(shù)據(jù)種類數(shù)值的符號(hào)常量符號(hào)常量數(shù)據(jù)種類意義STRUCTALARMID#NILStructAlarmId無效AlarmIdSTRUCTTASKID#NILStructTaskId無效TaskId用戶定義的數(shù)據(jù)種類3.4.2.1用戶定義的數(shù)據(jù)種類用戶定義的數(shù)據(jù)種類〔UDT〕經(jīng)過在聲明章節(jié)中隨后的源文件局部和以下內(nèi)容來創(chuàng)立TYPE/END_TYPE:interface局部implementation局部●程序組織單元〔POU〕可以使用在聲明章節(jié)中創(chuàng)立的數(shù)據(jù)種類。源文件局部決定了種類聲明的范圍。精選3.4.2.2用戶定義的數(shù)據(jù)種類的語法〔種類聲明〕關(guān)于每個(gè)聲明的數(shù)據(jù)種類,需要按照以下:1.名稱:數(shù)據(jù)種類的名稱必須按照表記符的規(guī)那么。2.數(shù)據(jù)種類聲明數(shù)據(jù)種類包括〔見第96頁(yè),基礎(chǔ)派生或派生數(shù)據(jù)種類〕-根本數(shù)據(jù)種類-從前聲明的UDT-TO數(shù)據(jù)種類-系統(tǒng)數(shù)據(jù)種類以下數(shù)據(jù)種類聲明也是可能的:-陣列數(shù)據(jù)種類聲明〔見派97頁(yè)生數(shù)據(jù)種類ARRAY〕-列舉數(shù)據(jù)種類聲明〔見派99頁(yè)生數(shù)據(jù)種類Enumerator〕-STRUCT數(shù)據(jù)種類聲明〔見派100頁(yè)生數(shù)據(jù)種類STRUCT〕括號(hào)中的內(nèi)容只可以參照的章節(jié),相關(guān)的數(shù)據(jù)種類聲明詳細(xì)描述在這些章節(jié)中。3.可選的初始值你可以為每個(gè)數(shù)據(jù)種類指定初始值。如果你聲明一個(gè)數(shù)據(jù)種類的變量,初始值被指定為變量。精選例外:在STRUCT數(shù)據(jù)種類中,每個(gè)單獨(dú)的組件的初始值范圍規(guī)定在數(shù)據(jù)種類聲明中見變量或數(shù)據(jù)種類的初始化〔第107頁(yè)〕完整的UDT聲明用END_TYPE重點(diǎn)詞來結(jié)束。你可以使用TYPE/END_TYPE結(jié)構(gòu)來創(chuàng)立隨意數(shù)據(jù)種類的數(shù)字。你可以使用定義的數(shù)據(jù)種類來聲明變量或參數(shù)。只要語法在圖標(biāo)中可見,UDT可以用隨意方式嵌套。比方:你可以使用從前定義的UDT或嵌套結(jié)構(gòu)作為一個(gè)數(shù)據(jù)種類聲明。種類聲明僅可以連續(xù)使用,并不是以嵌套結(jié)構(gòu)的形式。注意:你可以學(xué)習(xí)怎樣在所有變量聲明的歸納〔見106頁(yè)〕中聲明變量和參數(shù),以及如何在語法中使用UDT來數(shù)值指定〔見113頁(yè)〕。3.4.2.3基礎(chǔ)派生或派生的數(shù)據(jù)種類在數(shù)據(jù)種類的派生中,一個(gè)基礎(chǔ)或用戶定義的數(shù)據(jù)種類〔UDT〕使用TYPE/END_TYPE結(jié)構(gòu)來定義。TYPE表記符:根本數(shù)據(jù)種類{:=initialization};END_TYPETYPE表記符:用戶定義數(shù)據(jù)種類{:=initialization};END_TYPE一旦你已聲明數(shù)據(jù)種類,你可以定義派生的數(shù)據(jù)種類表記符的變量。這等同于聲明變量。精選3.4.2.4派生數(shù)據(jù)種類ARRAYARRAY派生數(shù)據(jù)種類包括用TYPE/END_TYPE結(jié)構(gòu)來定義的同種數(shù)據(jù)種類。以下列圖的語法圖展示了這種數(shù)據(jù)種類,在預(yù)留表記符OF之后這種數(shù)據(jù)種類聲明得更加詳細(xì)。TYPE表記符:ARRAY數(shù)據(jù)種類聲明{:=initialization};END_TYPE索引聲明書描述了陣列的限制:●陣列限制聲了然索引值的最大和最小值??梢允褂贸A炕虺A勘磉_(dá)式。數(shù)據(jù)種類為DINT〔或轉(zhuǎn)變?yōu)镈INT-詳見141頁(yè)基礎(chǔ)數(shù)據(jù)種類轉(zhuǎn)變〕●陣列限制必須用兩個(gè)句號(hào)分開●全部的索引聲明須在方括號(hào)中●索引可以為一個(gè)數(shù)據(jù)種類DINT〔或轉(zhuǎn)變?yōu)镈INT-詳見141頁(yè)基礎(chǔ)數(shù)據(jù)種類轉(zhuǎn)變〕的整數(shù)值注意:如果運(yùn)行時(shí)陣列超限,程序會(huì)產(chǎn)生過程故障〔見SIMOTION根本功能功能手冊(cè)〕用數(shù)據(jù)種類聲明來聲明陣列組件的數(shù)據(jù)種類。本章節(jié)中所描述的所有的選項(xiàng)都可以用作數(shù)據(jù)種類,甚至是用戶定義數(shù)據(jù)〔UDT〕。有多種不同的陣列種類:●一維陣列種類為升序排列的一列數(shù)據(jù)元素●二維陣列是一個(gè)包括行和列的數(shù)據(jù)表。第一維是指行數(shù),第二維是指列數(shù)。●更高維的陣列種類是二維陣列種類的擴(kuò)展精選二維陣列可以與帶行和列的表格比較。可以經(jīng)過多層次的種類聲明來創(chuàng)立二維或多維陣列。在例子中,你可以定義:●表格列a[1]到a[3]作為一維陣列,將包含整數(shù)●表格行矩陣1[1]到矩陣2[4]作為一個(gè)陣列,但是作為使用表格中的列創(chuàng)立的陣列的數(shù)據(jù)種類聲明。當(dāng)你在數(shù)據(jù)種類聲明中聲明陣列時(shí),創(chuàng)立了一個(gè)第二維度??梢允褂么朔绞絼?chuàng)立更多的維度。使用創(chuàng)立此表格的數(shù)據(jù)種類來聲明一個(gè)變量。使用方括號(hào)為表格中的每個(gè)維度尋址。3.4.2.5派生的數(shù)據(jù)種類—列舉在列舉的數(shù)據(jù)種類中,使用受限的表記符或名稱來定義TYPE/END_TYPE結(jié)構(gòu)。TYPE表記符:列舉數(shù)據(jù)種類聲明{:=initialization};END_TYPE精選一旦你已聲了然表記符的數(shù)據(jù)種類,可以在列舉中定義變量。在語句局部,可以從這些變量的定義表記符〔列舉元素〕表單中數(shù)值指定??梢灾苯勇暶鲾?shù)據(jù)種類:把列舉數(shù)據(jù)種類表記符和“#〞放在列舉前面??梢园瑤num_type#MIN和enum_type#MAX結(jié)構(gòu)的列舉數(shù)據(jù)種類的第一和最后一個(gè)值,enum_type為列舉數(shù)據(jù)種類表記符??梢园瑤NUM_TO_DINT轉(zhuǎn)變功能的列舉元素的數(shù)值。注意:你將會(huì)得知列舉數(shù)據(jù)種類為系統(tǒng)數(shù)據(jù)種類。列舉數(shù)據(jù)種類可以為一個(gè)結(jié)構(gòu)的局部,意味著在用戶定義的數(shù)據(jù)結(jié)構(gòu)中可以在隨意的初級(jí)別中被找到。3.4.2.6派生的數(shù)據(jù)種類STRUCT〔結(jié)構(gòu)〕派生的數(shù)據(jù)種類STRUCT,也許結(jié)構(gòu)包括TYPE/END_TYPE結(jié)構(gòu)的固定數(shù)量的組件。這些組件的數(shù)據(jù)種類可以變化:TYPE表記符:STRUCT數(shù)據(jù)種類聲明;END_TYPE精選以下為數(shù)據(jù)種類:基礎(chǔ)數(shù)據(jù)種類●從前聲明過的UDT●系統(tǒng)數(shù)據(jù)種類●TO數(shù)據(jù)種類●ARRAY數(shù)據(jù)種類聲明你可以選擇給組件賦初始值。持續(xù)關(guān)于變量初始值或數(shù)據(jù)種類〔見107頁(yè)變量或數(shù)據(jù)類型的初始值〕注意:以下數(shù)據(jù)聲明不可以在組件聲明中直接使用●STRUCT數(shù)據(jù)種類聲明●列舉數(shù)據(jù)種類聲明解決方案:用從前提到的聲明在組件聲明中預(yù)先聲明UDT〔用戶定義數(shù)據(jù)種類〕這允許嵌套STRUCT數(shù)據(jù)種類同樣可能會(huì)發(fā)現(xiàn)STRUCT數(shù)據(jù)種類為系統(tǒng)數(shù)據(jù)種類這個(gè)例子說了了一個(gè)UDT是怎樣定義的,在變量聲明中又是怎樣使用的這種數(shù)據(jù)種類精選技術(shù)目標(biāo)數(shù)據(jù)種類3.4.3.1技術(shù)目標(biāo)數(shù)據(jù)種類的描述可以用技術(shù)目標(biāo)來聲明變量。下表給出了可用的技術(shù)目標(biāo)的數(shù)據(jù)種類。比方,可以用數(shù)據(jù)種類posaxis來聲明一個(gè)變量,然后指配一個(gè)是適合的地址軸。精選可以經(jīng)過結(jié)構(gòu)接見技術(shù)目標(biāo)的元素。3.4.3.2軸屬性的繼承軸的繼承聲明所有的數(shù)據(jù)種類,系統(tǒng)變量和TOdriveAxis的功能都全部包含在TOpositionAxis中。同樣,地址軸頁(yè)包含在TOfollowingAxis中,以下軸是在TOpathAxis中,有以下影響:●如果一個(gè)功能或功能塊,除了driveAxis數(shù)據(jù)種類的輸入?yún)?shù)之外,調(diào)用時(shí)你可以使用positionaxis也許followingaxis或pathaxis?!袢绻幸粋€(gè)功能或功能塊,除了posAxis數(shù)據(jù)種類的輸入?yún)?shù)之外,調(diào)用時(shí)你可以使用followingaxis或pathaxis。精選3.4.3.3技術(shù)目標(biāo)數(shù)據(jù)種類的例子以下,你將看見可選的技術(shù)目標(biāo)數(shù)據(jù)種類〔你將在SIMOTION根本功能功能手冊(cè)中找到強(qiáng)制使用TO數(shù)據(jù)種類的變量〕的變量使用。第二個(gè)例子介紹了無需使用TO數(shù)據(jù)種類的變量的替代方法。TO功能將被用為在程序的主要局部啟用一個(gè)軸,因此軸能定位。在定位操作結(jié)束后,現(xiàn)行的軸的地址將使用結(jié)構(gòu)接見來進(jìn)行記錄。第一個(gè)例子使用了TO數(shù)據(jù)種類的變量來演示用途。第二個(gè)例子未使用TO數(shù)據(jù)種類的變量。精選你將在SIMOTION運(yùn)動(dòng)控制功能描述中招待技術(shù)目標(biāo)的組態(tài)和配置細(xì)節(jié)。系統(tǒng)數(shù)據(jù)種類有好多可用的喜悅數(shù)據(jù)種類,無需預(yù)先聲明就可以使用。每個(gè)導(dǎo)入的技術(shù)包提供了一庫(kù)的系統(tǒng)數(shù)據(jù)種類。額外的系統(tǒng)數(shù)據(jù)種類可以找到●在普通標(biāo)準(zhǔn)功能中的參數(shù)〔見SIMOTION根本功能功能手冊(cè)〕●在普通標(biāo)準(zhǔn)功能模塊中的參數(shù)〔見SIMOTION根本功能功能手冊(cè)〕●在SIMOTION設(shè)備的系統(tǒng)變量中〔見相關(guān)的參數(shù)手冊(cè)〕●在SIMOTION設(shè)備的系統(tǒng)功能參數(shù)中〔見相關(guān)的參數(shù)手冊(cè)〕●在技術(shù)目標(biāo)的系統(tǒng)變量和組態(tài)〔見相關(guān)的參數(shù)手冊(cè)〕●在技術(shù)目標(biāo)的系統(tǒng)功能參數(shù)中〔見相關(guān)的參數(shù)手冊(cè)〕3.5變量聲明一個(gè)變量定義了可在ST源文件中使用的變量?jī)?nèi)容的數(shù)據(jù)項(xiàng)。一個(gè)變量包括一個(gè)可以自由選擇的表記符〔如myVar1)〕和一個(gè)數(shù)據(jù)種類〔如BOOL〕。預(yù)留的表記符〔見75頁(yè)預(yù)留表記符〕不能作為表記符使用。變量聲明的語法變量平時(shí)是根據(jù)源文件聲明局部的相同模式來創(chuàng)立的?!窠?jīng)過適宜的重點(diǎn)詞來開始一個(gè)聲明塊(如VAR,VAR_GLOBAL-見106頁(yè)所有變量聲明的歸納●按照實(shí)際的變量聲明〔見圖表〕,也可以如你所愿盡可能的創(chuàng)立,序次是隨意的。●以END_VAR來結(jié)束一個(gè)聲明塊●你可以創(chuàng)立更多的聲明塊〔要有同樣的重點(diǎn)詞〕精選注意●變量的名稱必須是一個(gè)表記符,如,只能包含字母,數(shù)字或下劃線,但是不能包含特殊字符。●允許作為數(shù)據(jù)種類的以下項(xiàng):基礎(chǔ)數(shù)據(jù)種類—UDT〔用戶定義數(shù)據(jù)種類〕—系統(tǒng)數(shù)據(jù)種類—TO數(shù)據(jù)種類—ARRAY數(shù)據(jù)種類聲明—功能塊的設(shè)計(jì)●可以在聲明語句中直接給變量賦初始值,這叫做初始化從格式來的派生如下:●常量聲明〔常量必須有初始值,見111頁(yè)常量〕●過程圖像接見〔見106頁(yè)所有變量聲明的歸納〕—不需要一個(gè)變量聲明作為絕對(duì)過程圖像接見—不允許初始化作為符號(hào)過程接見控制精選所有變量聲明的歸納在變量和參數(shù)聲明中聲明名稱、數(shù)據(jù)種類和變量的初始值。在以下源文件的聲明局部執(zhí)行這些聲明:●interface局部●implementation執(zhí)行局部●POU(程序、功能、功能塊、表達(dá)式)源文件局部也決定了你可以聲明的變量和范圍欲知源文件局部的更多信息,參見86頁(yè)的ST源文件結(jié)構(gòu)個(gè)169頁(yè)的源文件局部。重點(diǎn)詞意義聲明VAR暫時(shí)或靜態(tài)變量的聲明,見隨意POU184頁(yè)變量模型VAR_GLOBAL單元變量聲明,見184頁(yè)變interface局部量模型implementation局部VAR_IN_OUT輸入/出參數(shù)的變量聲明;功能POU直接接見變量〔使用參功能塊考〕,也可直接更正。見148表達(dá)式頁(yè)定義功能,149頁(yè)定義功能塊VAR_INPUT輸入?yún)?shù)的變量聲明;數(shù)值功能是外部賦予,不能在POU里功能塊面改變這個(gè)數(shù)值。表達(dá)式見148頁(yè)定義功能,149頁(yè)定義功能塊VAR-OUTPUT輸出參數(shù)的變量聲明;數(shù)值功能塊是從功能塊傳達(dá)的。見148頁(yè)定義功能,149頁(yè)定義功能塊VAR_TEMP臨時(shí)變量的聲明程序見184頁(yè)變量模型功能塊RETAIN保存變量的聲明僅作為補(bǔ)充見184頁(yè)的變量模型interface和implementation局部的VAR_GLOBALCONSTANT常量的聲明,見111頁(yè)常量?jī)H作為補(bǔ)充在FB,FC或程序中的VAR在interface或implementation部分的VAR_GLOBAL精選變量或數(shù)據(jù)種類的初始值在聲明中指定初始值給變量或數(shù)據(jù)種類是可選的〔見圖表語法:變量聲明或語法:用戶定義數(shù)據(jù)種類〕●如果在變量聲明中沒有特別指定初始值,編譯程序自動(dòng)給變量指定在數(shù)據(jù)種類聲明中聲明的初始值●如果在數(shù)據(jù)種類聲明中也沒有特別指定初始值,編譯程序自動(dòng)給變量或數(shù)據(jù)種類指定值為0。例外:—時(shí)間數(shù)據(jù)種類:初始值—列舉數(shù)據(jù)種類:1.列舉值預(yù)先給變量或用戶定義的數(shù)據(jù)種類指定初始值在數(shù)據(jù)種類聲明之后〔見語法圖表:變量初始化〕●根據(jù)語法圖表:常量表達(dá)式來給基礎(chǔ)數(shù)據(jù)種類〔或從基礎(chǔ)數(shù)據(jù)種類派生的數(shù)據(jù)種類〕賦常量表達(dá)式●根據(jù)語法圖:域初始化給域〔陣列〕指定域初始化列表●根據(jù)語法圖:結(jié)構(gòu)初始化列表來給單獨(dú)的結(jié)構(gòu)成分來指定結(jié)構(gòu)初始化列表●給列舉數(shù)據(jù)種類指定列舉元素在編譯程序時(shí)給變量賦的初始值是從常量表達(dá)式計(jì)算得知的。見語法圖。欲知更多常量表達(dá)式的信息,見常量表達(dá)式的語法圖。注意一個(gè)變量列表(a1,a2,a3,..:INT:=..可)以是由普通數(shù)值初始化的。在這種情況下,不需要單獨(dú)初始化變量(a1:INT:=..;a2:INT:=..;etc.)精選精選技術(shù)目標(biāo)〔TO〕數(shù)據(jù)種類的變量由編寫器用TO#NIL初始化。任務(wù)對(duì)變量初始化的影響在SIMOTION根本功能功能手冊(cè)中描述。3.5.4常量常量是帶固定值的數(shù)據(jù),在程序運(yùn)行時(shí)不能更改固定數(shù)值。常量的聲明方式與變量同樣?!癖镜爻A康腜OU聲明局部〔見語法圖:POU中的常量塊和語法圖:常量聲明〕●在ST源文件單元常量是interface或implementation局部〔見語法圖:在interface或implementation局部的單元常量和語法圖:常量聲明〕??梢栽趇nterface局部導(dǎo)入單元常量到其他ST源文件〔見184頁(yè)常量模型〕精選源文件局部也決定常量聲明的范圍。賦給常量的值是經(jīng)過在編譯時(shí)計(jì)算常量表達(dá)式得出的。欲知更多常量表達(dá)式的語法圖和信息,見常量表達(dá)式的語法圖。3.6賦值和表達(dá)式你已經(jīng)用字符串來創(chuàng)立數(shù)值指定,也許是一個(gè)作為局部例子的語句〔見87頁(yè)語句示范表〕,也許是在源文件聲明局部初始化變量的時(shí)候。精選但是這只是對(duì)可用的公式化指定數(shù)值的小范圍的選擇。手冊(cè)的本章節(jié)經(jīng)過使用大量的例子詳細(xì)描述了這個(gè)重要的話題。注意:在算法和邏輯表達(dá)式中,結(jié)果平時(shí)是經(jīng)過最大數(shù)值格式化表達(dá)式和轉(zhuǎn)變數(shù)據(jù)種類所得出的。隱式轉(zhuǎn)變?cè)跀?shù)值指準(zhǔn)時(shí)不總是可行的。欲知更多錯(cuò)誤源文件和解決方法的信息,見SIMOTION根本功能功能手冊(cè)。賦值3.6.1.1賦值的語法圖使用指定的數(shù)值來給變量數(shù)值指定。重寫從前的數(shù)值。在一個(gè)數(shù)字可以正確指定前,在聲明局部必須聲明一個(gè)變量〔見105頁(yè)變量聲明語法圖〕如下面的語法圖所示,表達(dá)式位于右側(cè)。結(jié)果保存在變量中,變量的名稱列于左側(cè)。所有的目標(biāo)變量在圖表中顯示以下包含了左側(cè)的數(shù)值指定的解釋和例子:●基礎(chǔ)數(shù)據(jù)種類的變量數(shù)值指定〔114頁(yè)〕精選●派生的列舉數(shù)據(jù)種類的變量數(shù)值指定〔117頁(yè)〕●派生的陣列數(shù)據(jù)種類的變量數(shù)值指定〔118頁(yè)〕●派生的結(jié)構(gòu)數(shù)據(jù)種類的變量數(shù)值指定〔118頁(yè)〕●絕對(duì)的PI接見的數(shù)值指定〔給過程圖像尋址〕,見221頁(yè)絕對(duì)PI接見3.6.1.2基礎(chǔ)數(shù)據(jù)種類的變量的數(shù)值指定當(dāng)以下情況之一知足時(shí),基礎(chǔ)數(shù)據(jù)種類〔90頁(yè)〕的表達(dá)式可以指定給一個(gè)變量:●表達(dá)式和目標(biāo)變量是同樣的數(shù)據(jù)種類注意關(guān)于字符串?dāng)?shù)據(jù)種類(114頁(yè))的以下信息●表達(dá)式的數(shù)據(jù)種類可以隱式轉(zhuǎn)變?yōu)槟繕?biāo)變量的數(shù)據(jù)種類3.6.1.3串基礎(chǔ)數(shù)據(jù)種類的變量數(shù)值指定串?dāng)?shù)據(jù)種類的變量之間的數(shù)值指定不同長(zhǎng)度的串基礎(chǔ)數(shù)據(jù)種類的變量之間的數(shù)值指定沒有限制,如果聲明的目標(biāo)變量的長(zhǎng)度要短于現(xiàn)在指定的字符串的長(zhǎng)度,字符串被截取成目標(biāo)變量的長(zhǎng)度。例外:in/out數(shù)值指定的應(yīng)用〔參數(shù)轉(zhuǎn)變?yōu)閕n/out參數(shù)〕:指定變量的聲明長(zhǎng)度必須長(zhǎng)于也許等同于目標(biāo)變量〔正式in/out參數(shù)〕的聲明長(zhǎng)度。見154頁(yè)參數(shù)轉(zhuǎn)變?yōu)閕n/out參數(shù)。例子:string20:='ABCDEFG';string20:=string30;一個(gè)字符串元素的接見一個(gè)字符串的單獨(dú)元素可以用陣列[1..n]的元素的相同方式尋址。這些元素隱式轉(zhuǎn)變成基礎(chǔ)數(shù)據(jù)元素BYTE。經(jīng)過這種方式,字符串元素和BYTE數(shù)據(jù)種類的變量之間的指定是可行的。例子:byteVar:=string20[5];string20[10]:=byteVar;需要考慮到下面的特殊情況:精選1.當(dāng)把BYTE數(shù)據(jù)種類的變量指定給一個(gè)字符串元素時(shí):(e.g.stringVar[n:]:=byteVar):—給字符串元素的數(shù)值超出了聲明的字符串的長(zhǎng)度字符串保持不變,TSI#ERRNO被設(shè)為1—給字符串元素的數(shù)值超出了指定的字符串的長(zhǎng)度(n>LEN(stringVar)),但是在聲明的長(zhǎng)度之內(nèi)〕字符串的長(zhǎng)度被更改,在LEN(stringvar)和N之間的字符串元素被設(shè)為$002.當(dāng)給BYTE數(shù)據(jù)種類的一個(gè)變量指定一個(gè)字符串元素時(shí)(byteVar:=stringVar[n:]):—給字符串元素的數(shù)值超出了指定的字符串的長(zhǎng)度(n>LEN(stringVar))變量設(shè)為16#00,TSI#ERRNO設(shè)為2編寫字符串不同的系統(tǒng)功能關(guān)于編寫字符串都是可用的,比方插入字符串,替換和字符等。見SIMOTION根本功能功能手冊(cè)數(shù)字和字符串之間的變換不同的系統(tǒng)功能關(guān)于數(shù)字?jǐn)?shù)據(jù)種類的變量和字符串之間的變換是可用的,見141頁(yè)基礎(chǔ)數(shù)據(jù)種類轉(zhuǎn)變和SIMOTION根本功能功能手冊(cè)3.6.1.4位數(shù)據(jù)種類的變量的數(shù)值指定接見單獨(dú)的位數(shù)據(jù)種類的變量的二進(jìn)制數(shù)字接見單獨(dú)的BYTE,WORD或DWORD數(shù)據(jù)種類的變量的二進(jìn)制數(shù)字:●經(jīng)過標(biāo)準(zhǔn)功能可以經(jīng)過使用_getBit,_setBit和_toggleBit功能來讀,寫或轉(zhuǎn)變隨意位字符串可以經(jīng)過變量來指定位數(shù)●直接的位接見可以定義你需要接見的變量的位,經(jīng)過變量后邊的一個(gè)分開的點(diǎn)可以經(jīng)過一個(gè)常量來指定位數(shù)必須先開啟編寫器功能選項(xiàng)“允許語言擴(kuò)展〞才能使用〔見45全局編寫器設(shè)置和46頁(yè)本地編寫器設(shè)置〕精選注意:接見I/O變量也許系統(tǒng)變量的二進(jìn)制數(shù)字可以被其他任務(wù)攪亂。所以不能保證一致性。編寫位數(shù)據(jù)種類的變量你可以:1.可以把同數(shù)據(jù)種類的不同變量合為一種高級(jí)其他數(shù)據(jù)種類的變量〔比方:BYTE數(shù)據(jù)種類的兩個(gè)變量變?yōu)橐环NWORD數(shù)據(jù)種類〕。不同的系統(tǒng)功能都可以使用此功能,如WORD_FROM_2BYTE2.把一個(gè)變量拆分成初級(jí)其他幾種數(shù)據(jù)種類的變量〔如:SWORD數(shù)據(jù)種類的一個(gè)變量分為4個(gè)BYTE數(shù)據(jù)種類的變量〕。不同的系統(tǒng)功能都可以使用此功能,如DWORD_TO_4BYTE精選3.在一個(gè)變量中旋轉(zhuǎn)或移位字節(jié)。位字符串標(biāo)準(zhǔn)功能ROL,ROR,SHL和SHR都可使用此功能這些系統(tǒng)功能和系統(tǒng)功能塊在SIMOTION根本功能功能手冊(cè)中有詳細(xì)描述。邏輯運(yùn)算符位數(shù)據(jù)種類的變量可以和邏輯運(yùn)算符一起結(jié)合,見127頁(yè)邏輯表達(dá)式和位串行表達(dá)式。3.6.1.5派生的列舉數(shù)據(jù)種類的變量的數(shù)值指定每個(gè)表達(dá)式和派生的列舉數(shù)據(jù)種類的每個(gè)變量〔見99頁(yè)派生數(shù)據(jù)種類—列舉可以指定同數(shù)據(jù)種類的其他變量〕3.6.1.6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版聯(lián)合開發(fā)合同(新能源技術(shù))
- 2025年版產(chǎn)業(yè)園區(qū)招商引資代理服務(wù)合同6篇
- 2025年度快遞收派服務(wù)外包管理合同4篇
- 2025年度個(gè)人房地產(chǎn)投資融資委托服務(wù)協(xié)議4篇
- 2025年度行政效能監(jiān)察合作協(xié)議書2篇
- 2025年榆林神木精益化工有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年江蘇南京市建鄴區(qū)人才集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 2025年個(gè)人借款逾期違約金計(jì)算說明協(xié)議4篇
- 2025年浙江金華市婺城區(qū)招商引才專員及訊城公司招聘筆試參考題庫(kù)附帶答案詳解
- 2025年度個(gè)人房產(chǎn)交易貸款擔(dān)保合同樣本
- 常見老年慢性病防治與護(hù)理課件整理
- 履約情況證明(共6篇)
- 云南省迪慶藏族自治州各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 設(shè)備機(jī)房出入登記表
- 六年級(jí)語文-文言文閱讀訓(xùn)練題50篇-含答案
- 醫(yī)用冰箱溫度登記表
- 零售學(xué)(第二版)第01章零售導(dǎo)論
- 大學(xué)植物生理學(xué)經(jīng)典05植物光合作用
- 口袋妖怪白金光圖文攻略2周目
- 光伏發(fā)電站集中監(jiān)控系統(tǒng)通信及數(shù)據(jù)標(biāo)準(zhǔn)
- 三年級(jí)下冊(cè)生字組詞(帶拼音)
評(píng)論
0/150
提交評(píng)論