国产AV88|国产乱妇无码在线观看|国产影院精品在线观看十分钟福利|免费看橹橹网站

LM小型可編程控制器軟件手冊(cè)_202103

發(fā)布時(shí)間:2021-11-23 | 雜志分類:其他
免費(fèi)制作
更多內(nèi)容

LM小型可編程控制器軟件手冊(cè)_202103

當(dāng)主程序和子程序有變量傳遞時(shí),需要定義一些輸入輸出變量,或者定義全局變量。關(guān) 于變量,請(qǐng)參見(jiàn) 4.4 章節(jié)。 7.4.8 添加注釋 為了增加程序的可讀性,需要給程序、節(jié)或者變量和地址添加注釋。PowerPro 提供多種 方式用于添加注釋。 ? 程序和節(jié)的注釋 程序的注釋與節(jié)的注釋一致。PowerPro 可以對(duì)每一節(jié)添加注釋,如圖 7-4-21 所示。具體 注釋方法,請(qǐng)參見(jiàn) 7.4.1 章節(jié)。 ? 變量注釋 PowerPro 允許對(duì)變量進(jìn)行注釋。在定義變量時(shí),可以在變量聲明對(duì)話框中直接進(jìn)行注釋, 也可以在變量聲明區(qū)進(jìn)行注釋,如圖 7-4-21 所示。 ? 地址注釋 假如在程序中用到 I 區(qū)、Q 區(qū)或 M 區(qū)的地址,那么也可以對(duì)地址進(jìn)行注釋。在高級(jí)菜單 /選項(xiàng)中,選擇每一個(gè)觸點(diǎn)的注釋,并操作應(yīng)用選項(xiàng)后,就可以在梯形圖中,對(duì)地址參數(shù)進(jìn)行 注釋,如圖 7-4-21 所示。關(guān)于梯形圖選項(xiàng),請(qǐng)參見(jiàn) 7.4.9 章節(jié)。 ... [收起]
[展開(kāi)]
LM小型可編程控制器軟件手冊(cè)_202103
粉絲: {{bookData.followerCount}}
文本內(nèi)容
第101頁(yè)

? 返回:當(dāng)調(diào)用 POU 時(shí),可以利用返回,當(dāng)條件滿足后,被調(diào)用的 POU 不再繼續(xù)執(zhí) 行,而返回調(diào)用的 POU 中。 右鍵菜單/返回,或者在“插入”菜單中選擇“返回”,均可插入返回,如圖 7-4-19 所示。 圖 7-4-19 返回 7.4.7 子程序調(diào)用 當(dāng)程序比較復(fù)雜時(shí),往往需要建立許多程序。在前面的章節(jié)中曾多次提到,PowerPro 把 程序名為“PLC_PRG”默認(rèn)為主程序,其余均為子程序。 在調(diào)用子程序之前,首先應(yīng)該建立子程序。關(guān)于子程序的建立,請(qǐng)參見(jiàn) 5.2 創(chuàng)建 POU 章 節(jié)。建立完子程序后,在主程序中,用使能運(yùn)算符的形式調(diào)用,將運(yùn)算符關(guān)鍵字修改為子程 序的名字即可,如圖 7-4-20 所示。關(guān)于使能運(yùn)算符調(diào)用,請(qǐng)參見(jiàn) 7.4.3 章節(jié)。 圖 7-4-20 子程序調(diào)用 - 91 -

第102頁(yè)

當(dāng)主程序和子程序有變量傳遞時(shí),需要定義一些輸入輸出變量,或者定義全局變量。關(guān) 于變量,請(qǐng)參見(jiàn) 4.4 章節(jié)。 7.4.8 添加注釋 為了增加程序的可讀性,需要給程序、節(jié)或者變量和地址添加注釋。PowerPro 提供多種 方式用于添加注釋。 ? 程序和節(jié)的注釋 程序的注釋與節(jié)的注釋一致。PowerPro 可以對(duì)每一節(jié)添加注釋,如圖 7-4-21 所示。具體 注釋方法,請(qǐng)參見(jiàn) 7.4.1 章節(jié)。 ? 變量注釋 PowerPro 允許對(duì)變量進(jìn)行注釋。在定義變量時(shí),可以在變量聲明對(duì)話框中直接進(jìn)行注釋, 也可以在變量聲明區(qū)進(jìn)行注釋,如圖 7-4-21 所示。 ? 地址注釋 假如在程序中用到 I 區(qū)、Q 區(qū)或 M 區(qū)的地址,那么也可以對(duì)地址進(jìn)行注釋。在高級(jí)菜單 /選項(xiàng)中,選擇每一個(gè)觸點(diǎn)的注釋,并操作應(yīng)用選項(xiàng)后,就可以在梯形圖中,對(duì)地址參數(shù)進(jìn)行 注釋,如圖 7-4-21 所示。關(guān)于梯形圖選項(xiàng),請(qǐng)參見(jiàn) 7.4.9 章節(jié)。 圖 7-4-21 注釋 注意: 添加節(jié)的注釋與 7.4.6 章節(jié)中提到的跳轉(zhuǎn)標(biāo)簽是有區(qū)別的。添加注釋,必須通過(guò)選擇右鍵菜單 /注釋或插入菜單/注釋來(lái)實(shí)現(xiàn)。 7.4.9 梯形圖選項(xiàng) 打開(kāi)高級(jí)菜單/選項(xiàng),彈出如圖 7-4-22 所示對(duì)話框,可以對(duì)梯形圖顯示進(jìn)行設(shè)置。 - 92 -

第103頁(yè)

圖 7-4-22 梯形圖選項(xiàng) ? 最小注釋行數(shù)和最大注釋行數(shù)用于選擇節(jié)注釋的行數(shù)。 ? 每一個(gè)觸點(diǎn)的注釋用于設(shè)置觸點(diǎn)的注釋行數(shù)以及變量名的行數(shù)。 ? 自動(dòng)換行:當(dāng)一節(jié)的長(zhǎng)度超過(guò)顯示長(zhǎng)度后,可以自動(dòng)換行,保證在一個(gè)畫(huà)面中顯示 所有的觸點(diǎn)、線圈和指令。 ? 輸入地址后由變量名替代:當(dāng)變量定義地址后,在程序中輸入地址,則自動(dòng)變?yōu)橄? 應(yīng)的變量名。 ? 將觸點(diǎn)注釋轉(zhuǎn)化為變量名注釋:將觸點(diǎn)的注釋轉(zhuǎn)化為變量名的注釋。 ? 顯示地址:當(dāng)變量定義了地址后,在程序中輸入變量名,自動(dòng)顯示相應(yīng)的地址。 ? 顯示變量注釋:在每一節(jié)中,顯示該節(jié)所使用的變量名、數(shù)據(jù)類型、地址及注釋。 7.4.10 保存文件 在主菜單中選擇“文件”/“保存”菜單,或在工具欄中點(diǎn)擊“ ”按鈕,可以保存當(dāng)前工 程。 在“文件名”中填入新建工程的文件名,建議使用具有一定實(shí)際含義的字母或數(shù)字。 “保存類型”選擇“*.pro”,工程文件將保存在默認(rèn)目錄\\Hollysys\\PowerPro\\Projects 下,如 圖 7-4-23 所示。 - 93 -

第104頁(yè)

圖 7-4-23 保存工程(1) 工程文件保存后,主界面左上角的“(Untitled)*”變?yōu)楸4娴墓こ涛募?,如圖 7-4-24 所示。在創(chuàng)建工程的整個(gè)過(guò)程中,要養(yǎng)成隨時(shí)存盤(pán)的習(xí)慣,以免由于誤操作而造成數(shù)據(jù)的丟 失。當(dāng)工程內(nèi)容改變未保存時(shí),主界面左上角工程名的后面會(huì)出現(xiàn)一個(gè)“*”號(hào),保存后“*”號(hào) 消失。 圖 7-4-24 保存工程(2) 可以使用“工程”/“選項(xiàng)”菜單或者“資源”選項(xiàng)卡中的“工程選項(xiàng)”,來(lái)設(shè)置系統(tǒng)的某些屬性。 使用選擇“工程”/“選項(xiàng)”會(huì)自動(dòng)彈出設(shè)置對(duì)話框。在對(duì)話框的左邊選定一個(gè)分類后,在右邊出 現(xiàn)相應(yīng)的設(shè)置選項(xiàng)。所做的更改立即生效,同時(shí)被保存入初始化文件中,并在下一次啟動(dòng)系 統(tǒng)時(shí)自動(dòng)載入。 7.5 管理工程菜單 PowerPro 軟件以工程文件的形式來(lái)保存用戶程序,所有的信息都集成存放在以*.pro 為 后綴的工程文件中。PowerPro 軟件的默認(rèn)安裝目錄結(jié)構(gòu)如圖 7-5-1 所示,其中“Library”和 “Projects”分別用來(lái)存放庫(kù)文件和工程文件。系統(tǒng)提供了很多針對(duì)工程的操作,幫助用戶更好 地管理工程。 - 94 -

第105頁(yè)

D:\\ :目錄 Hollysys PowerPro InstallTarget.exe Library Iecsfc.lib SysLibC16x.lib Util.lib Projects Pro1.pro Pro2.pro 圖 7-5-1 軟件目錄結(jié)構(gòu) 打開(kāi)主菜單中的“工程”菜單,如圖 7-5-2 所示。 圖 7-5-2 管理工程菜單 下面介紹幾項(xiàng)常用的工程管理命令。 7.5.1 打印工程文件 使用“工程”/“工程文件”命令可以打印整個(gè)工程的文檔,或者選擇其中的一部分打印。工 程文件由工程信息、文檔內(nèi)容、程序和資源等元素構(gòu)成,如圖 7-5-3 所示,其中資源包括全 局變量、PLC 配置、報(bào)警配置、工程選項(xiàng)、監(jiān)視與接收管理器、任務(wù)配置和參數(shù)管理器等內(nèi) 容。 - 95 -

第106頁(yè)

圖 7-5-3 打印工程文件 用藍(lán)色高亮可以選擇需要打印的區(qū)域。如果要選定整個(gè)工程,直接在第一行選中工程文 件夾即可。如果只想選定一個(gè)單獨(dú)的對(duì)象,點(diǎn)擊相應(yīng)的對(duì)象。對(duì)象的前面帶有加號(hào)的為多重 對(duì)象,點(diǎn)擊加號(hào)可擴(kuò)展。選好后彈出打印對(duì)話框,可設(shè)置打印屬性??梢园凑找欢ǖ母袷酱? 印一個(gè)工程文件。選擇“文件”/“打印機(jī)設(shè)置”,彈出如圖 7-5-4 所示的對(duì)話框。 圖 7-5-4 Documentation Setup 對(duì)話框 ? 文件 在文件字段,輸入帶“.dfr”擴(kuò)展名的文件名,頁(yè)面布局會(huì)保存在此文件中。保存設(shè)置的缺 省文件是 DEFAULT.DFR。 ? 瀏覽 如果要保存在一個(gè)已存在的布局里,可點(diǎn)擊“瀏覽”按鈕瀏覽目錄找到所需的文件。 ? 編輯 如果點(diǎn)擊“編輯”按鈕,設(shè)置頁(yè)的對(duì)話框則會(huì)出現(xiàn)。選擇“插入”/“占位符”,可分別插入頁(yè)、 程序組織單元名、文件名、日期、內(nèi)容。選擇好插入的內(nèi)容及位置后,按住鼠標(biāo)左鍵,將其 拉伸為矩形后,松開(kāi)鼠標(biāo)左鍵,即可將其放在可打印的頁(yè)面上和文本區(qū)。 ? 為每一個(gè)工程開(kāi)始新頁(yè) 如果選中“為每一個(gè)工程開(kāi)始一個(gè)新頁(yè)”,則打印時(shí)另起新頁(yè),否則不另起新頁(yè)。 ? 為每一個(gè)子工程開(kāi)始新頁(yè) 如果選中“為每一個(gè)子工程開(kāi)始一個(gè)新頁(yè)”,則打印時(shí)另起新頁(yè),否則不另起新頁(yè)。 - 96 -

第107頁(yè)

? 打印機(jī)設(shè)置 使用“打印機(jī)設(shè)置”按鈕,打開(kāi)打印機(jī)設(shè)置。點(diǎn)擊“屬性”,同樣可以彈出“打印”對(duì)話框。 圖 7-5-5 所示為一個(gè)自定義的頁(yè)面布局,分別在相應(yīng)的位置插入頁(yè)碼(Page)、程序組 織單元名(POUName)、文件名(FileName)、日期(Date)和內(nèi)容(Content)等占位符, 占位符相當(dāng)于通過(guò)將矩形置于布局中進(jìn)行占位。在打印輸出時(shí),相應(yīng)的內(nèi)容會(huì)映射在相應(yīng)位 置處。當(dāng)布局設(shè)置好后,點(diǎn)擊“確認(rèn)”。 如果模板被更改,則 PowerPro 軟件會(huì)提示是否關(guān)閉以前保存的信息。 另外,在“工程”/“選項(xiàng)”/“Desktop”下,如果選中“顯示打印邊界”,則會(huì)在程序的相應(yīng)范圍 內(nèi)出現(xiàn)紅色虛線,以示打印界限。否則,不會(huì)顯示該虛線。 圖 7-5-5 頁(yè)面布局設(shè)置 7.5.2 導(dǎo)入導(dǎo)出工程 “工程”/“導(dǎo)入”、“導(dǎo)出”命令可以導(dǎo)入或?qū)С龉こ虒?duì)象,以便在不同的工程文件中交換程 序。在導(dǎo)出文件時(shí),對(duì)話框底部的“每個(gè)對(duì)象對(duì)應(yīng)一個(gè)文件”選項(xiàng),可以選擇對(duì)象導(dǎo)出到同一 個(gè)文件,還是導(dǎo)出到不同的文件中,如圖 7-5-6 所示。 - 97 -

第108頁(yè)

圖 7-5-6 導(dǎo)出工程(1) 設(shè)定完成后,彈出導(dǎo)出工程對(duì)話框,如圖 7-5-7 所示。在“目錄”下指定導(dǎo)出對(duì)象的保存 路徑,即在指定目錄下生成以*.exp 為擴(kuò)展名的若干導(dǎo)出文件,同時(shí)彈出消息窗口列表,顯示 相關(guān)信息。 圖 7-5-7 導(dǎo)出工程(2) - 98 -

第109頁(yè)

導(dǎo)入工程對(duì)象時(shí),選定導(dǎo)入的文件*.exp,對(duì)象即被導(dǎo)入到當(dāng)前工程的相應(yīng)窗口中去。如 果在該窗口中,已經(jīng)有一個(gè)同名的對(duì)象存在,則會(huì)出現(xiàn)對(duì)話框,詢問(wèn)是否替換它:“對(duì)象已存 在,要替換它嗎?”,如圖 7-5-8 所示。 圖 7-5-8 覆蓋提示 導(dǎo)入的對(duì)象和導(dǎo)出的結(jié)果都存放在*.exp 文件中。通過(guò)*.exp 文件,可以在不同的工程之 間搭起一座溝通的橋梁,可以方便地交換工程中的所有對(duì)象,如圖 7-5-9 所示。 ProjectA ProjectB ProgA ProgB FB1 FBx 導(dǎo)出 FBy FB2 FB2 *.exp文件 FB3 導(dǎo)入 圖 7-5-9 導(dǎo)出、導(dǎo)入示意圖 7.5.3 合并工程 “工程”/“合并”命令可以把其它工程中的對(duì)象合并到當(dāng)前工程中。打開(kāi)合并工程對(duì)話框, 選定一個(gè)工程,彈出該工程的所有對(duì)象列表,選擇需要合并的對(duì)象,如圖 7-5-10 所示。 對(duì)于庫(kù)或資源的合并,也會(huì)彈出對(duì)話框提示是否覆蓋。 對(duì)于程序的合并,會(huì)將新程序添加到原程序列表中。如果合并的程序與當(dāng)前工程中的程 序同名,則會(huì)彈出對(duì)話框詢問(wèn)是否覆蓋。 圖 7-5-10 合并工程 需要注意的是,在合并工程時(shí),系統(tǒng)事件不會(huì)被合并。 - 99 -

第110頁(yè)

7.5.4 比較工程 “工程”/“比較”命令可比較當(dāng)前工程與另一個(gè)工程的所有對(duì)象的內(nèi)容。如果想知道是否在 當(dāng)前工程中做了修改,那么可以比較當(dāng)前打開(kāi)的工程和它的前一個(gè)版本。當(dāng)執(zhí)行此命令后, 彈出工程比較對(duì)話框,如圖 7-5-11 所示。 圖 7-5-11 比較工程(1) 選定與當(dāng)前工程比較的目標(biāo)工程后,彈出比較結(jié)果列表,如圖 7-5-12 所示。不同顏色的 對(duì)象文字代表不同的比較結(jié)果,共有五種可能的顏色: ? 黑色:對(duì)象內(nèi)容相同。 ? 紅色:對(duì)象內(nèi)容不一致。 ? 藍(lán)色:當(dāng)前工程中新增加的對(duì)象。 ? 綠色:當(dāng)前工程中沒(méi)有的對(duì)象。 ? 灰色:兩個(gè)工程中內(nèi)容不一致的對(duì)象,鼠標(biāo)雙擊對(duì)象可查看詳細(xì)內(nèi)容。 圖 7-5-12 比較工程(2) 在具體的程序編寫(xiě)過(guò)程中,還可以利用“比較”命令,對(duì)修改前后的程序代碼進(jìn)行比較, 如圖 7-5-13 所示。在比較模式下,不允許編輯工程對(duì)象,所有操作功能禁用。只有關(guān)閉了比 較列表窗口,才能對(duì)工程進(jìn)行編輯。 另外,比較工程不支持硬件配置的比較。 - 100 -

第111頁(yè)

圖 7-5-13 比較工程 7.5.5 用戶口令 “工程”/“選項(xiàng)”/“Passwords”選項(xiàng)可以設(shè)定單一用戶口令,保護(hù) CPU 免受未授權(quán)的訪問(wèn), 防止文件被隨意地打開(kāi)和更改,如圖 7-5-14 所示。其中“口令”字段為工程設(shè)置瀏覽權(quán)限,“寫(xiě) 保護(hù)口令”字段中為工程設(shè)置更改權(quán)限。 圖 7-5-14 設(shè)定口令選項(xiàng) 輸入口令時(shí),對(duì)應(yīng)每一個(gè)字符出現(xiàn)一個(gè)星號(hào)(*),在“確認(rèn)口令”字段再次輸入同樣的內(nèi) 容。設(shè)定成功后,下次打開(kāi)工程時(shí),就需要通過(guò)口令驗(yàn)證。如果出現(xiàn)如圖 7-5-15 所示的對(duì)話 框,說(shuō)明兩次輸入口令不一致,需要重新輸入。 圖 7-5-15 口令錯(cuò)誤提示 - 101 -

第112頁(yè)

對(duì)于一個(gè)寫(xiě)保護(hù)的工程,在沒(méi)提供口令的情況下是不能被更改的。如果打開(kāi)一個(gè)文件時(shí) 系統(tǒng)提示輸入寫(xiě)保護(hù)口令,而只是簡(jiǎn)單地點(diǎn)擊“取消”按鈕,那么工程中所有的編輯設(shè)定功能 都禁用,只可以使用編譯或仿真等查看功能。 如果存在多個(gè)用戶,需要定義用戶組,為每個(gè)用戶組分配不同的訪問(wèn)權(quán)限。系統(tǒng)共提供 了 8 個(gè)用戶組,它們對(duì)工程對(duì)象擁有不同的訪問(wèn)權(quán)限。每個(gè)用戶組的成員都通過(guò)口令來(lái)確認(rèn) 身份?!肮こ獭?“用戶組命令”用來(lái)設(shè)定用戶組的口令。用戶組從 0 到 7,0 組擁有管理員權(quán)限, 只有 0 組的成員可以決定其它用戶組和對(duì)象的口令和訪問(wèn)權(quán),如圖 7-5-16 所示。 建立一個(gè)新工程時(shí),所有的口令初始狀態(tài)都是空的。當(dāng)一個(gè)口令被設(shè)置為 0 組,用戶以 0 組成員的身份進(jìn)入工程時(shí),就可以對(duì)其它級(jí)別的組設(shè)定口令。如圖 7-5-16 所示,在左邊的 組合框“用戶組”中選定組,在右邊輸入相應(yīng)的口令。 圖 7-5-16 用戶組命令 使用“工程”/“對(duì)象”/“屬性”命令可以為用戶組設(shè)置不同的訪問(wèn)權(quán)限,如圖 7-5-17 所示。訪 問(wèn)權(quán)限有三種可用的設(shè)置: ? 無(wú)訪問(wèn)權(quán)限:對(duì)象不允許被此用戶組的成員打開(kāi)。 ? 只讀權(quán)限:對(duì)象能夠被此用戶組的成員讀入,但不能被更改。 ? 完全權(quán)限:對(duì)象能夠被此用戶組的成員打開(kāi)和更改。 訪問(wèn)權(quán)限的設(shè)置僅對(duì)選中的對(duì)象有效,每個(gè) POU、硬件配置或全局變量都是對(duì)象成員。 如果忘記了口令請(qǐng)及時(shí)與制造商聯(lián)系,口令隨工程一起保存。 圖 7-5-17 用戶操作權(quán)限設(shè)定 - 102 -

第113頁(yè)

下面是一個(gè)簡(jiǎn)單的用戶組命令的應(yīng)用例子。 打開(kāi)“工程”/“對(duì)象”/“屬性”,設(shè)置用戶組權(quán)限,如圖 7-5-18 所示。 設(shè)置用戶組 0 和 1 的訪問(wèn)權(quán)限為完全權(quán)限。 設(shè)置用戶組 2 和 3 的訪問(wèn)權(quán)限為只讀權(quán)限。 設(shè)置用戶組 4、5、6 和 7 的用戶權(quán)限為無(wú)訪問(wèn)權(quán)限。 設(shè)定好用戶組權(quán)限后,分別對(duì)各用戶組設(shè)置相應(yīng)口令。 圖 7-5-18 設(shè)定用戶組權(quán)限屬性 這里簡(jiǎn)單設(shè)定用戶組口令,如圖 7-5-19 所示。 先對(duì)“Level 0”進(jìn)行口令設(shè)置,在“口令”空欄處填入“0”,在“口令確認(rèn)”空欄處填入“0”,點(diǎn) 擊“確認(rèn)”,則“Level0”口令設(shè)置完畢。 同樣,分別對(duì) Level1、Level2 和 Level3 設(shè)置口令。用戶組與口令的對(duì)應(yīng)關(guān)系設(shè)置如表 7-5-1 所示。 由于用戶組 4、5、6 和 7 的用戶權(quán)限為無(wú)訪問(wèn)權(quán)限,所以無(wú)需設(shè)置其口令。 圖 7-5-19 設(shè)定用戶組權(quán)限口令 表 7-5-1 用戶組與口令 用戶組 口令 Level 0 0 Level 1 1 Level 2 2 Level 3 3 - 103 -

第114頁(yè)

分別設(shè)置好不同用戶組的口令后,在下一次打開(kāi)程序時(shí),會(huì)提示要求輸入用戶組口令。 對(duì)于不同用戶組,因其設(shè)置的口令不同,可以不同的身份進(jìn)入程序,而且享有不同的操作權(quán) 限?,F(xiàn)以“Level0”的用戶組進(jìn)入,輸入口令如圖 7-5-20 所示。 圖 7-5-20 輸入用戶組權(quán)限口令 如果輸入的口令與用戶組 0 所設(shè)置的口令不同時(shí),會(huì)出現(xiàn)如圖 7-5-21 所示的提示。 圖 7-5-21 輸入用戶組權(quán)限口令錯(cuò)誤 如果輸入的口令與用戶組“Level0”所設(shè)置的口令一致,則會(huì)以用戶組“Level0”的身份進(jìn) 入。對(duì)于用戶組 Level4、Level5、Level6、Level7 和 Level8 的成員,由于無(wú)訪問(wèn)權(quán)限,則會(huì) 彈出如圖 7-5-22 所示的對(duì)話框。 圖 7-5-22 用戶組無(wú)訪問(wèn)權(quán)限 7.6 工程選項(xiàng)設(shè)置 “工程選項(xiàng)”有兩種打開(kāi)方式。一種是點(diǎn)擊“工程”下拉菜單中的“選項(xiàng)”,另一種是雙擊“資 源”選項(xiàng)卡中的“工程選項(xiàng)”,如圖 7-6-1 所示。 圖 7-6-1 工程選項(xiàng)設(shè)置 - 104 -

第115頁(yè)

打開(kāi)“工程選項(xiàng)”設(shè)置對(duì)話框,該選項(xiàng)被分為幾大類。每個(gè)選項(xiàng)對(duì)應(yīng)右邊的不同設(shè)置。這 些選項(xiàng)包括: ? 下載與保存 Load&Save ? 用戶信息 User Information ? 編輯器 Editor ? 窗口 Desktop ? 顏色 Color ? 目錄 Directories ? 日志 Log ? 編譯 Build ? 口令 Passwords ? 源代碼下載 Source download ? 符號(hào)配置 Symbol configuration ? 數(shù)據(jù)庫(kù)連接 Database-connection ? 宏 Macro 在 上 述 選 項(xiàng) 中 , PLC 不 支 持 “ 源 代 碼 下 載 Source download” 、 “ 符 號(hào) 配 置 Symbol configuration”、“數(shù)據(jù)庫(kù)連接 Database-connection”和“宏 Macro”,這里不作介紹。 下面分別對(duì)“下載與保存 Load&Save”、“用戶信息 User Information”、“編輯器 Editor”、“窗 口 Desktop”、“顏色 Color”、“目錄 Directories”、“日志 Log”、“編譯 build”和“口令 passwords” 等進(jìn)行介紹,其余均采用默認(rèn)值。 7.6.1 下載與保存 在“工程選項(xiàng)”下,選擇“Load&Save”選項(xiàng),在窗口右側(cè)顯示其設(shè)置選項(xiàng),如圖 7-6-1 所示。 下載與保存“Load&Save”的具體選項(xiàng)設(shè)置可以分為如下幾類情況。 ? 選中“創(chuàng)建備份”,系統(tǒng)會(huì)在保存工程的時(shí)候以相同路徑建立一個(gè)擴(kuò)展名為“.bak”的備 份文件。通過(guò)這種方式可以保存最后一次保存之前的工程文件。 ? 選中“自動(dòng)保存”,那么工作時(shí),工程會(huì)經(jīng)常不斷按照設(shè)定的“自動(dòng)保存時(shí)間間隔”, 以擴(kuò)展名“.asd”保存臨時(shí)文件。該文件會(huì)在程序正常退出時(shí)被刪除,系統(tǒng)默認(rèn)的保存 路徑為 D:\\Hollysys\\PowerPro\\Projects。如果系統(tǒng)非正常退出(例如電源故障),文 件就會(huì)被保留下來(lái)。當(dāng)再次打開(kāi)程序時(shí),出現(xiàn)如圖 7-6-2 所示的消息框,可以選擇 是打開(kāi)自動(dòng)保存文件還是打開(kāi)原始文件。 圖 7-6-2 自動(dòng)恢復(fù)提示 - 105 -

第116頁(yè)

? 選中“編譯前保存”,每次執(zhí)行編譯命令前,自動(dòng)保存“*.asd”臨時(shí)文件。 ? 選中“需要工程信息”,那么當(dāng)保存一個(gè)新工程或用新名字另存成一個(gè)工程時(shí),工程 信息對(duì)話框會(huì)自動(dòng)被調(diào)用,相當(dāng)于自動(dòng)執(zhí)行“工程”/“項(xiàng)目信息”命令。項(xiàng)目信息包含 工程的標(biāo)題、目錄、作者和版本等信息,作為工程文件的一部分,可打印。 ? 選中“自動(dòng)裝載”,軟件在運(yùn)行時(shí)會(huì)自動(dòng)載入上一次最后打開(kāi)的工程。 ? 選中“退出時(shí)提醒啟動(dòng)工程”,如果工程已經(jīng)改變和下載,但是自從上次下載啟動(dòng)工 程之后沒(méi)有創(chuàng)建新的啟動(dòng)工程,那么在用戶退出前將會(huì)彈出如圖 7-6-3 所示的對(duì)話 框:“自上次下載后,沒(méi)有創(chuàng)建啟動(dòng)工程,是否退出?”。這里對(duì)啟動(dòng)工程加以定義。 所謂“啟動(dòng)工程”,即保存在 PLC 的 flash 中,上電后運(yùn)行的用戶程序。 ? 選中“保存 ENI 許可證”,則會(huì)保存 ENI 許可證。 圖 7-6-3 “退出時(shí)提醒啟動(dòng)工程”對(duì)話框 7.6.2 用戶信息 在“工程選項(xiàng)”下,選擇“user-info”選項(xiàng),在窗口右側(cè)顯示其設(shè)置選項(xiàng)。用戶信息的具體內(nèi) 容設(shè)置如圖 7-6-4 所示。在相應(yīng)的用戶名、姓名縮寫(xiě)和公司等空格處填入相應(yīng)的用戶信息內(nèi) 容。 圖 7-6-4 用戶信息 7.6.3 編輯器 在“工程選項(xiàng)”下,選擇“Editor”選項(xiàng),在窗口右側(cè)顯示其設(shè)置選項(xiàng)。編輯器的設(shè)定包括自 動(dòng)聲明、自動(dòng)格式化、表元素、聲明為表、標(biāo)記、位值等選項(xiàng),如圖 7-6-5 所示。 - 106 -

第117頁(yè)

圖 7-6-5 編輯器選項(xiàng) ? 選中“自動(dòng)聲明”,那么在用戶編輯的程序中一旦出現(xiàn)了沒(méi)有定義的新變量,系統(tǒng)會(huì) 自動(dòng)彈出對(duì)此變量定義的窗口,提示定義變量。 ? 選中“自動(dòng)格式化”,系統(tǒng)在編輯器中將會(huì)執(zhí)行自動(dòng)格式,即當(dāng)編輯完成一行后,這 一行會(huì)自動(dòng)進(jìn)行格式轉(zhuǎn)化,將小寫(xiě)的操作數(shù)用大寫(xiě)表示,插入空格使各列均勻分開(kāi)。 ? 選中“聲明為表”,聲明編輯器將以表格的形式出現(xiàn),如圖 7-6-6 所示。用戶可以采 用填表的方式定義變量。這張表是卡片索引形式的對(duì)話框,共有六張變量卡和一張 信息卡。變量卡分別是 VAR 本地、VAR_INPUT 輸入、VAR_OUTPUT 輸出、 VAR_IN_OUTPUT 輸入/輸出、CONSTANT 常數(shù)和 RETAIN 保留型變量等。對(duì)于每 一個(gè)變量,需要設(shè)置變量的名稱、地址、類型、初始值和注釋等字段。INFO 信息 卡自動(dòng)顯示 POU 類型及名稱。 圖 7-6-6 表格聲明 ? “跳格寬度”設(shè)定在編輯器中空格的寬度,缺省的設(shè)置是 4 個(gè)字符寬。字符的寬度取 決于選擇的字體。 ? “字體”按鈕設(shè)定工作區(qū)域中所有窗口的字體。大字體放大了打印輸出的大小,對(duì)每 一種編輯器都適用。 ? “標(biāo)記”設(shè)定在圖形編輯器中當(dāng)前選擇是由虛線矩形表示,還是由實(shí)線矩形表示,或 是由填充矩形表示。 ? “位值”設(shè)定在線模式下變量(類型 BYTE、WORD 和 DWORD 等)顯示的格式是十 進(jìn)制[D]數(shù),還是二進(jìn)制[B]數(shù),或是十六進(jìn)制[H]數(shù)。 ? 舉例 十進(jìn)制[D] 二進(jìn)制[B] 十六進(jìn)制[H] a=53 a=2#0000 0000 0011 0101 a=16#0035 b=57 b=2#0000 0000 0011 1001 b=16#0039 ? “禁止復(fù)雜類型監(jiān)視(數(shù)組,指針,VAR_IN_OUT)”P(pán)LC 不支持此功能。 - 107 -

第118頁(yè)

? 選中“顯示程序組織單元符”選項(xiàng),則在程序編輯過(guò)程中,如果調(diào)用相應(yīng)的功能塊, 會(huì)自動(dòng)添加“PowerPro/Library”路徑下的 bmp 文件,豐富功能塊內(nèi)容,增加軟件的友 好性。 7.6.4 窗口 在“工程選項(xiàng)”下,選擇“Desktop”選項(xiàng),在窗口右側(cè)顯示其設(shè)置選項(xiàng),如圖 7-6-7 所示。 圖 7-6-7 窗口選項(xiàng) ? 選中“工具欄”,在主窗口中出現(xiàn)工具欄,顯示菜單的常用命令快捷按鈕。 ? 選中“狀態(tài)欄”,在主窗口的最下部出現(xiàn)狀態(tài)欄。 ? 選中“在線安全模式”,當(dāng)執(zhí)行在線命令時(shí),例如“運(yùn)行”、“停止”、“復(fù)位”或“斷點(diǎn)” 等在線命令,會(huì)彈出確認(rèn)對(duì)話框,再次確認(rèn)操作。這樣可以進(jìn)一步提高安全性,避 免誤操作。 ? 選中“登錄前詢問(wèn)通信參數(shù)”,則會(huì)在登錄時(shí)提示通訊參數(shù)對(duì)話框,方便校準(zhǔn)通訊參 數(shù),例如參數(shù)是否設(shè)置及其設(shè)置的正確性。這就無(wú)須再打開(kāi)“在線”菜單來(lái)設(shè)置“通訊 參數(shù)”。否則,則不具備此項(xiàng)功能。 ? 在“語(yǔ)言”選項(xiàng)中,只能選擇菜單和對(duì)話框的顯示語(yǔ)言,默認(rèn)為 English。 ? 選中“顯示打印邊界”,在每一個(gè)編輯窗口,將每頁(yè)打印紙可打印區(qū)域用紅色虛線框 出。這個(gè)區(qū)域的大小取決于打印機(jī)屬性(紙張、布局)和“Content”區(qū)域的大小(文 件/打印機(jī)設(shè)置),如圖 7-6-8 所示。 ? 選中“F4 忽略警告”,當(dāng)程序編譯后,在消息窗口使用快捷鍵 F4 快速跳轉(zhuǎn)時(shí),會(huì)略 過(guò)出現(xiàn)警告(warning)的行,只跳到出現(xiàn)錯(cuò)誤(error)的行。 圖 7-6-8 可打印區(qū)域顯示 - 108 -

第119頁(yè)

7.6.5 顏色 在“工程選項(xiàng)”下,選擇“Colors”選項(xiàng),在窗口右側(cè)顯示其設(shè)置選項(xiàng),如圖 7-6-9 所示。 圖 7-6-9 顏色選項(xiàng) 根據(jù)用戶的需求和習(xí)慣,可對(duì)系統(tǒng)的某些特定顯示顏色進(jìn)行重新設(shè)置。采用顏色標(biāo)識(shí), 主要針對(duì)在線調(diào)試的情況,可以直觀方便地觀察程序當(dāng)前運(yùn)行的情況。點(diǎn)擊對(duì)應(yīng)選項(xiàng)按鈕, 打開(kāi)顏色對(duì)話框,按照特定需求設(shè)定相應(yīng)的顏色。一般情況采用默認(rèn)值。 ? “行數(shù)”:缺省淺灰色,程序編輯器中網(wǎng)絡(luò)號(hào)或行號(hào)的背景顏色。 ? “當(dāng)前位置”:缺省紅色,在線運(yùn)行時(shí),遇到斷點(diǎn)停止的網(wǎng)絡(luò)號(hào)或行號(hào)的背景顏色。 ? “斷點(diǎn)位置”:缺省深灰色,可設(shè)置斷點(diǎn)的網(wǎng)絡(luò)號(hào)或行號(hào)的背景顏色。 ? “已到達(dá)的位置”:缺省綠色,顯示流控制時(shí),已執(zhí)行的網(wǎng)絡(luò)號(hào)或行號(hào)的背景顏色。 ? “設(shè)置斷點(diǎn)”:缺省淺藍(lán)色,設(shè)置了斷點(diǎn)的網(wǎng)絡(luò)號(hào)或行號(hào)的背景顏色。 ? “邏輯監(jiān)視”:缺省深藍(lán)色,在線模式下,數(shù)字邏輯 TRUE 的顏色。 7.6.6 目錄 在“工程選項(xiàng)”下,選擇“Directory”選項(xiàng),在窗口右側(cè)顯示其設(shè)置選項(xiàng),如圖 7-6-10 所示。 在“工程”欄內(nèi)可以設(shè)置工程的庫(kù)、編譯文件、配置文件和文件視圖等所在的目錄。在“目標(biāo)” 欄內(nèi)顯示“配置文件”所在目錄,對(duì)于“庫(kù)”默認(rèn)為無(wú)路徑,此項(xiàng)是系統(tǒng)自動(dòng)生成的,不可修改。 PowerPro 軟件安裝時(shí)自動(dòng)生成的文件目錄會(huì)顯示在“公用”欄內(nèi)的庫(kù)、編譯文件、上傳文件、 配置文件和文件視圖等的目錄中。 圖 7-6-10 目錄 - 109 -

第120頁(yè)

7.6.7 日志 所謂“日志”表示工程按一定的年月日順序記錄用戶所作的一系列動(dòng)作。其中記錄內(nèi)容包 括登錄、運(yùn)行、初始化、輸入值、退出、清除緩存區(qū)和無(wú)法登錄等。在“工程選項(xiàng)”下,選擇“Log” 選項(xiàng),在窗口右側(cè)顯示其設(shè)置選項(xiàng),如圖 7-6-11 所示。 圖 7-6-11 日志選項(xiàng) ? 選中“工程日志目錄”,可以修改工程日志的保存路徑,其默認(rèn)的路徑為 D:\\Hollysys\\PowerPro。 ? “最大工程日志”設(shè)定日志窗口中最多顯示的在線會(huì)話的個(gè)數(shù)。 ? 選中“激活日志”,在工程中啟用日志記錄功能,顯示日志列表,如圖 7-6-12 所示。 在日志中分別記錄了登錄、運(yùn)行、初始化、輸入值、退出和清除緩存區(qū)等一系列用 戶動(dòng)作、狀態(tài)變化或內(nèi)部動(dòng)作。 在線會(huì)話 圖 7-6-12 日志列表 ? 在“選擇”欄中,選定每個(gè)在線會(huì)話所記錄的內(nèi)容,包括用戶動(dòng)作、狀態(tài)變化、內(nèi)部 動(dòng)作和例外等。 ? “日志”窗口在“離線”和“在線”兩種模式下均可使用。圖 7-6-12 所示為一個(gè)在離線仿 真模式下產(chǎn)生的日志列表。 7.6.8 編譯 在“工程選項(xiàng)”下,選擇“Build”選項(xiàng),在窗口右側(cè)顯示其設(shè)置選項(xiàng),如圖 7-6-13 所示。 - 110 -

第121頁(yè)

圖 7-6-13 編譯 ? “調(diào)試”:當(dāng)此項(xiàng)被選中時(shí),附加的調(diào)試代碼會(huì)增加代碼段長(zhǎng)度。當(dāng)此項(xiàng)未被選中時(shí), 會(huì)加快工程的速度,減少代碼段長(zhǎng)度。另外,只有選中該項(xiàng),登錄后才可以運(yùn)行“斷 點(diǎn)”和“單步”等調(diào)試功能。 ? “常量代替”:每個(gè)常量的值是直接下載的,在“在線模式”下,常量的值為綠色,強(qiáng) 制值、輸入值和監(jiān)視常量不再有效。如果此選項(xiàng)無(wú)效,則該常量值會(huì)通過(guò)變量訪問(wèn) 下載到存儲(chǔ)區(qū)。 ? “嵌套注釋”:允許使用嵌套的注釋語(yǔ)句。 ? 舉例:嵌套注釋 (* a:=inst.out; (*檢查*) b:=b+1; *) ? “數(shù)據(jù)段數(shù)目”:用于設(shè)置編譯的數(shù)據(jù)段的個(gè)數(shù)。 ? “編輯器版本”:如果選中“最近使用”,會(huì)給出最近使用的版本號(hào)。 ? “自動(dòng)檢查”: 選中“未用變量”,在編譯時(shí)會(huì)自動(dòng)檢查未使用的變量。 選中“重疊內(nèi)存區(qū)”,在編譯時(shí)會(huì)自動(dòng)檢查重疊內(nèi)存區(qū)。 選中“同時(shí)訪問(wèn)”,在編譯時(shí)會(huì)自動(dòng)檢查同時(shí)訪問(wèn)。 選中“多路寫(xiě)輸出”,在編譯時(shí)會(huì)自動(dòng)檢查多路寫(xiě)輸出。 - 111 -

第122頁(yè)

“自動(dòng)檢查”與“工程”菜單欄里的“查看”具有同樣的功能。唯一不同的是,“工程/查看”只 有在編譯后,可以通過(guò)“查看”選擇要查看的內(nèi)容,例如未用變量等,而且只能一一查看。而 自動(dòng)檢查則可以選擇多項(xiàng),在編譯時(shí)一起實(shí)現(xiàn)自動(dòng)檢查。 圖 7-6-14 所示為當(dāng)上述四項(xiàng)均選中,在編譯時(shí),消息窗口自動(dòng)生成的檢查情況。 圖 7-6-14 編譯消息 7.6.9 口令 如果程序需要加密,則需要對(duì)該程序設(shè)置相應(yīng)的口令。 在“工程選項(xiàng)”下,選擇“Passwords”選項(xiàng),在窗口右側(cè)顯示其設(shè)置選項(xiàng),即可設(shè)置相應(yīng)的 口令??诹畲a完全根據(jù)個(gè)人需求自行設(shè)置。如果保密性強(qiáng),建議多設(shè)置幾位口令代碼。在 圖 7-6-15 所示的例子中,設(shè)置了六位代碼的口令,下面介紹其使用方法。 圖 7-6-15 口令設(shè)置 在對(duì)程序進(jìn)行口令設(shè)置且保存后,在下一次打開(kāi)該程序時(shí),系統(tǒng)會(huì)提示要求輸入口令。 輸入相應(yīng)的口令,點(diǎn)擊“確認(rèn)”,如圖 7-6-16 所示。 - 112 -

第123頁(yè)

圖 7-6-16 輸入口令 點(diǎn)擊“確認(rèn)”后,窗口會(huì)彈出如圖 7-6-17 所示的對(duì)話框,要求輸入寫(xiě)保護(hù)口令。如果所輸 入的口令正確,則程序被打開(kāi),而且可以進(jìn)行編輯。 圖 7-6-17 輸入寫(xiě)保護(hù)口令 對(duì)于已經(jīng)加密的程序,如果現(xiàn)在不需要加密,則只需打開(kāi)“工程選項(xiàng)”\\“Passwords”,將以 前設(shè)置的所有密碼刪除并存盤(pán)。當(dāng)再次打開(kāi)該程序時(shí),密碼保護(hù)功能失效。 - 113 -

第124頁(yè)

第8章 編譯與調(diào)試 當(dāng)程序編寫(xiě)完畢后,要對(duì)程序進(jìn)行編譯。當(dāng)編譯通過(guò)后,才能將程序下載到 PLC 中。本 章主要對(duì) PowerPro 軟件的編譯與下載過(guò)程進(jìn)行介紹。 8.1 編譯 PowerPro 軟件的“工程”菜單提供了“編譯”和“全部編譯”兩種編譯命令,用于檢查程序有 無(wú)語(yǔ)法錯(cuò)誤,如圖 8-1-1 所示。 ? 編譯:僅對(duì)程序的變化部分進(jìn)行編譯,并更新到原有的目標(biāo)文件中。 ? 全部編譯:與“編譯”命令不同,可以完全重新編譯整個(gè)工程。 ? 清空:清除上次編譯和下載的信息。 ? 載入在線修改信息:PLC 不支持此項(xiàng)功能。 圖 8-1-1 工程菜單 沒(méi)有語(yǔ)法錯(cuò)誤的程序才能生成可執(zhí)行的目標(biāo)文件。編譯的結(jié)果會(huì)顯示在消息窗口中,如 圖 8-1-2 所示。 常見(jiàn)編譯錯(cuò)誤信息參見(jiàn) 無(wú)錯(cuò)誤無(wú)警告,編譯通過(guò)。 發(fā)現(xiàn)一個(gè) 4001 號(hào)錯(cuò)誤。 圖 8-1-2 編譯信息顯示 - 114 -

第125頁(yè)

8.2 顯示參考數(shù)據(jù) PowerPro 軟件的“工程”菜單提供顯示一些參考數(shù)據(jù)的命令,這些命令只有在編譯通過(guò)后 才有效。 8.2.1 查看調(diào)用樹(shù) “工程”/“查看調(diào)用樹(shù)”命令可以在一個(gè)新窗口中顯示當(dāng)前對(duì)象調(diào)用程序、函數(shù)和功能塊的 樹(shù)型結(jié)構(gòu),直觀地指出當(dāng)前 POU 與工程中其它 POU 的先后調(diào)用關(guān)系,如圖 8-2-1 所示。工 程必須通過(guò)編譯,該命令才有效。 圖 8-2-1 查看調(diào)用樹(shù) 8.2.2 查看交叉引用列表 “工程”/“查看交叉引用列表”命令可以顯示并查看所有應(yīng)用程序點(diǎn),如圖 8-2-2 所示。所 謂“應(yīng)用程序點(diǎn)”是指某一個(gè)變量、地址或程序在全部工程中的位置。工程必須通過(guò)編譯,該 命令才有效。 圖 8-2-2 查看交叉引用列表 首先需要選擇變量(Variable)、地址(Address)或程序(POU)的類別,然后輸入名 稱,最后點(diǎn)擊“獲得引用”按鈕,在“引用”欄中就得到相應(yīng)的應(yīng)用程序點(diǎn)列表,列出該點(diǎn)的信 息。例如,是只讀還是可寫(xiě),是局部變量還是全局變量,變量是否被連到硬件地址上等信息。 - 115 -

第126頁(yè)

選中交叉參考列表中的一行,按“轉(zhuǎn)到”按鈕,或者直接雙擊此行,程序會(huì)在編輯器中顯 示出相應(yīng)的點(diǎn)。通過(guò)這種方式,可以任意跳到所需的應(yīng)用程序點(diǎn)處,而無(wú)須進(jìn)行費(fèi)時(shí)的搜索。 還可以使用“到消息窗口”按鈕,使交叉參考列表直接顯示在消息窗口中。鼠標(biāo)雙擊跳到相應(yīng) 的程序位置,搜索起來(lái)更加方便。 8.2.3 查看 “查看”菜單,僅適用于“仿真模式”下,如圖 8-2-3 所示。 圖 8-2-3 查看菜單 ? “查看”/“未使用變量” 編寫(xiě)算法時(shí),常常會(huì)刪除某個(gè)變量,或重新命名某個(gè)變量,此時(shí)原變量的聲明不會(huì)被自 動(dòng)刪除,仍保留在聲明編輯窗口中。這樣,工程里就可能存在只有聲明卻從未被使用過(guò)的變 量,占用內(nèi)存空間,也不利于變量的管理。 “工程”/“查看”/“未使用變量”命令用來(lái)檢查工程中是否存在只有聲明卻沒(méi)有被使用的變 量。工程必須通過(guò)編譯,該命令才有效。檢查結(jié)束后,消息窗口出現(xiàn)所有未使用變量的列表, 如圖 8-2-4 所示。 圖 8-2-4 查看未使用變量 ? “查看”/“重疊內(nèi)存區(qū)” 選擇此項(xiàng),工程自動(dòng)查看重疊內(nèi)存區(qū)。如果沒(méi)有重疊內(nèi)存區(qū),則會(huì)在消息窗口顯示如下 提示:No variables with overlapping memory area found(沒(méi)有重疊內(nèi)存區(qū))。 ? “查看”/“同時(shí)訪問(wèn)” 選擇此項(xiàng),工程自動(dòng)查看有無(wú)同時(shí)訪問(wèn),如果沒(méi)有同時(shí)訪問(wèn),則會(huì)在消息窗口顯示如下 提示:No concurrent accesses found(沒(méi)有同時(shí)訪問(wèn)情況)。 ? “查看”/“多路寫(xiě)輸出” 選擇此項(xiàng),工程自動(dòng)查看多路寫(xiě)輸出情況,如果沒(méi)有檢查多路寫(xiě)輸出情況,則會(huì)在消息 窗口顯示如下提示:No outputs found which are written to at more than one location(沒(méi)有多路 寫(xiě)輸出)。 - 116 -

第127頁(yè)

8.3 下載 8.3.1 設(shè)備安裝與連接 ? 設(shè)備安裝 首先根據(jù)實(shí)際工程的需要,選擇合適的 CPU 模塊和擴(kuò)展模塊。然后根據(jù)現(xiàn)場(chǎng)情況確定模 塊的安裝方式,并初步確定 PLC 的工作方式。最后規(guī)劃并制定合理的接線方案,將現(xiàn)場(chǎng)的傳 感器或執(zhí)行器連接到 PLC 模塊的接線端子上。 ? 連接電纜 根據(jù)所選 CPU 模塊的型號(hào)和類型,連接電源線,如圖 8-3-1 所示。電源線接好之后,先 不要接通電源。在檢查所有電纜連接無(wú)誤后,再接通系統(tǒng)電源,并確認(rèn) CPU 模塊面板上的 RUN 指示燈點(diǎn)亮,并顯示正常,以保證 PLC 可靠運(yùn)行。注意,當(dāng)電源線連接好之后,應(yīng)該 把端子蓋扣好,以免造成不必要的人身傷害或設(shè)備損壞。 圖 8-3-1 連接電源線 ? 建立 PC 通訊 通過(guò)配套的編程電纜,將 CPU 模塊連接到個(gè)人計(jì)算機(jī)(PC)的 RS232 串行通信接口, 建立數(shù)據(jù)傳遞通道,如圖 8-3-2 所示。由于 CPU 模塊的 RS232 串行通訊接口是非隔離的,所 以編程電纜的連接應(yīng)該在 PLC 上電之前進(jìn)行。 注意,CPU 模塊 LM3108 和 LM3109 有 2 個(gè)串口,通過(guò)左邊的 PORT1 串口將程序下載 到 PLC 中。 圖 8-3-2 連接編程電纜 8.3.2 建立通信連接 將編譯生成的目標(biāo)文件下載到 CPU 模塊中去,需要配置并選定通訊線路,建立本地計(jì)算 機(jī)與目標(biāo)模塊之間的通信連接。實(shí)現(xiàn)步驟如下所述。點(diǎn)擊“在線”菜單中的“通訊參數(shù)”,彈出 “Communication Parameters”通訊參數(shù)對(duì)話框,如圖 8-3-3 所示。 - 117 -

第128頁(yè)

圖 8-3-3 通訊參數(shù)對(duì)話框 點(diǎn)擊“Gateway”進(jìn)入信道參數(shù)設(shè)置,確認(rèn)“Connection”通道參數(shù)設(shè)置為“Local”,點(diǎn)擊“OK” 按鈕,如圖 8-3-4 所示。 圖 8-3-4 通道參數(shù)設(shè)置 確認(rèn)后返回“Communication Parameters”通訊參數(shù)對(duì)話框,點(diǎn)擊“New”按鈕添加新信道, 出現(xiàn)如圖 8-3-5 所示的對(duì)話框。其中,信道名稱默認(rèn)為“Local_”,通信協(xié)議使用缺省的 RS232 協(xié)議,點(diǎn)擊“OK”按鈕返回“Communication Parameters”通訊參數(shù)對(duì)話框。 信道名稱 通訊協(xié)議 圖 8-3-5 添加新信道 改變通訊速率。連續(xù)雙擊“Baudrate”中“Value”的對(duì)應(yīng)值,使其變?yōu)椤?8400”,如圖 8-3-6 所示,點(diǎn)擊“OK”按鈕確認(rèn)。這樣就建立了本地計(jì)算機(jī)與 PLC 的 CPU 模塊之間的通信連接。 - 118 -

第129頁(yè)

圖 8-3-6 通訊速率設(shè)置 8.3.3 程序下載 ? 下載程序 點(diǎn)擊“在線”菜單中“登錄”,可以實(shí)現(xiàn)程序的下載。編譯通過(guò)的目標(biāo)文件在進(jìn)行下載 時(shí),會(huì)將全部的目標(biāo)文件下載到模塊中。同時(shí)將模塊復(fù)位,所有變量返回到初始狀態(tài)。在“在 線”菜單中選定“登錄”,建立本地計(jì)算機(jī)與 CPU 模塊的連接,并出現(xiàn)系統(tǒng)提示下載信息,如 圖 8-3-7 所示。 圖 8-3-7 下載提示信息 當(dāng)下載的 PLC 程序與 PLC 內(nèi)部不符的時(shí)候,就會(huì)彈出該對(duì)話框。 如果要更改程序,選擇“是”按鈕,將新程序下載到 CPU 模塊中去。如果不想下載到 PLC 中,只想建立連接,則選擇否。 點(diǎn)擊“是”按鈕,下載到 PLC 后,出現(xiàn)如圖 8-3-8 所示的創(chuàng)建啟動(dòng)工程提示信息。啟動(dòng) 工程是指下載至 Flash 中的程序。PLC 為了保證在斷電重新上電后,程序不丟失,會(huì)在 Flash 中重新創(chuàng)建程序,稱為啟動(dòng)程序。 在圖 8-3-8 中,點(diǎn)擊“是”按鈕,確保 PLC 斷電后再上電時(shí),運(yùn)行此下載工程。下載結(jié)束。 圖 8-3-8 創(chuàng)建啟動(dòng)工程提示信息 - 119 -

第130頁(yè)

? 不下載而進(jìn)入在線監(jiān)控狀態(tài) 若不希望下載程序,僅想在線監(jiān)控 PLC 內(nèi)的數(shù)值,可以在系統(tǒng)提示下載信息時(shí)選擇“否”, 此時(shí)對(duì)工程的修改不會(huì)被下載到模塊中,但可以監(jiān)控模塊中原有程序的運(yùn)行情況。注意,如 果在線監(jiān)控之后仍然需要下載程序,可以選擇“在線”下拉菜單中的“下載”來(lái)實(shí)現(xiàn)下載。 ? 登錄、下載、創(chuàng)建啟動(dòng)工程的區(qū)別 為了解釋清楚這幾個(gè)名詞,需要了解一下 PLC 程序的下載過(guò)程。PowerPro 需要將編譯 好的程序下載到 PLC,首先需要將 PowerPro 與 PLC 之間建立一個(gè)連接?!暗卿洝泵畹淖? 用就是將 PLC 和 PowerPro 建立一個(gè)連接。建立完連接后,PowerPro 會(huì)自動(dòng)判斷程序是否改 變。若程序沒(méi)有改變,則自動(dòng)轉(zhuǎn)入在線監(jiān)控狀態(tài),通過(guò) PowerPro 就可以在線監(jiān)控當(dāng)前 PLC 的狀態(tài)。若程序發(fā)生了改變,則會(huì)提示 “是否要下載新的程序”,選擇“否”,則不下載程 序,轉(zhuǎn)入在線監(jiān)控狀態(tài);這時(shí)若想下載程序,可以通過(guò)在線菜單中的“下載”命令下載程序。 也就是說(shuō),“下載”命令只有在登錄以后才有效。若選擇“是”,則會(huì)把修改后的程序下載 指 PLC 的 CPU 內(nèi)。但是因?yàn)?CPU 斷電后,數(shù)據(jù)全部清除,所以為了保證程序在 PLC 重新 上電后依然存在,在下載到 CPU 后,還需要將程序保存到 FLASH 內(nèi),這個(gè)過(guò)程叫創(chuàng)建啟動(dòng) 工程。在下載至 CPU 完成后,PowerPro 還會(huì)彈出一個(gè)對(duì)話框,是否在創(chuàng)建啟動(dòng)工程是停止 目標(biāo)文件,無(wú)論選擇是還是否,都會(huì)創(chuàng)建啟動(dòng)工程。若選擇“取消”,則不會(huì)創(chuàng)建啟動(dòng)工程, 這樣在斷電重新上電后,剛下載的程序不會(huì)保存,而是之前保存的原始程序。此時(shí),可以點(diǎn) 擊創(chuàng)建啟動(dòng)工程命令,重新往 FLASH 中創(chuàng)建程序。 8.4 調(diào)試 系統(tǒng)所支持的調(diào)試命令都在“在線”菜單下,并且在調(diào)試狀態(tài)下可以使用,如圖 8-4-1 所 示。在調(diào)試狀態(tài)下,系統(tǒng)用不同的默認(rèn)顏色來(lái)代表不同的狀態(tài)和操作,例如邏輯真(藍(lán))、 邏輯假(黑)、斷點(diǎn)(淺藍(lán))、流控制(綠色)等等,這些顏色可以在“工程”/“選項(xiàng)”/“Color”中 設(shè)定。了解各種顏色的含義,有利于程序的調(diào)試和監(jiān)視。 圖 8-4-1 在線菜單 - 120 -

第131頁(yè)

8.4.1 進(jìn)入調(diào)試狀態(tài) 執(zhí)行“在線“/“登錄”命令進(jìn)入調(diào)試狀態(tài)。將程序下載到 PLC 的 CPU 硬件模塊中,稱為在 線調(diào)試狀態(tài)。如果沒(méi)有連接硬件模塊,在本地計(jì)算機(jī)模擬運(yùn)行用戶程序,稱為仿真模式?!霸? 線”/“仿真模式”被選中(出現(xiàn)“√”),登錄時(shí)便會(huì)進(jìn)入仿真模式。 在程序中,如果調(diào)用了與 RTS 上硬件相關(guān)的功能塊,則不可以使用仿真模式。例如,系 統(tǒng)事件不可以使用仿真模式。與 RTS 上硬件相關(guān)的功能塊包括定制庫(kù)中的外部擴(kuò)展功能塊和 外部功能塊,均不可使用仿真模式。 另外,設(shè)定自由口參數(shù)后,如果想要恢復(fù)原編程系統(tǒng)的下載與調(diào)試功能,需要將 RUN/STOP 開(kāi)關(guān)撥到 STOP 位置,才可以進(jìn)行編程系統(tǒng)登錄。 8.4.2 退出調(diào)試狀態(tài) 執(zhí)行“在線”/“退出”命令退出調(diào)試狀態(tài),進(jìn)入編程狀態(tài)。 8.4.3 運(yùn)行程序 執(zhí)行“在線”/“運(yùn)行”命令,啟動(dòng)下載到模塊中的程序,或者啟動(dòng)處于仿真模式下的程序。 一般需要運(yùn)行程序的情況有以下幾種: ? “在線”/“登錄”之后。 ? 用戶程序使用“停止”命令終止之后。 ? 用戶程序設(shè)置了斷點(diǎn)之后。 ? 執(zhí)行一個(gè)“單循環(huán)”之后。 8.4.4 停止程序 執(zhí)行“在線”/“停止”命令,暫停程序在模塊或在仿真模式下的運(yùn)行,保存當(dāng)前變量值。此 時(shí)程序仍處于調(diào)試狀態(tài)下,使用“在線”/“運(yùn)行”命令可重新啟動(dòng)程序,從上次停止的地方開(kāi)始 繼續(xù)運(yùn)行。 8.4.5 復(fù)位 如果已經(jīng)明確地定義了變量的初始值,“復(fù)位”命令會(huì)把當(dāng)前變量的值設(shè)置為初始值,保 留型變量的值保持當(dāng)前值。按“F5”鍵,程序會(huì)重新按照復(fù)位后的初始值運(yùn)行。 ? “冷復(fù)位”命令重置所有的變量為初始值,包括保留型變量。只有常量在“冷復(fù)位”后 保持原來(lái)的值不變。按“F5”鍵,程序會(huì)重新按照冷復(fù)位后的初始值運(yùn)行。 ? “清空用戶程序”命令重置所有的變量為初始值,包括保留型變量和常量,并刪除模 塊中的用戶程序,模塊返回到初始狀態(tài)。 以上命令都會(huì)出現(xiàn)對(duì)話框,需要進(jìn)一步確認(rèn)復(fù)位操作,如圖 8-4-2 所示。 - 121 -

第132頁(yè)

圖 8-4-2 復(fù)位確認(rèn)對(duì)話框 8.4.6 斷點(diǎn) 斷點(diǎn)是指可以在程序中設(shè)置進(jìn)程停止的地方。通過(guò)設(shè)置斷點(diǎn),可以在程序的具體地點(diǎn)觀 察當(dāng)前的變量值,便于分段調(diào)試程序。 ? 設(shè)置斷點(diǎn) 執(zhí)行“在線”/“斷點(diǎn)”命令,可在當(dāng)前位置設(shè)置或刪除一個(gè)斷點(diǎn)。斷點(diǎn)的設(shè)置位置取決于活 動(dòng)窗口中程序的語(yǔ)言類型。黑色背景的行號(hào)(網(wǎng)絡(luò)號(hào))表示該行可以設(shè)置斷點(diǎn),而灰色背景 的行號(hào)(網(wǎng)絡(luò)號(hào))表示該行不可設(shè)置斷點(diǎn),如圖 8-4-3 所示。 可以設(shè)置斷點(diǎn)的行 不可設(shè)置斷點(diǎn)的行 圖 8-4-3 斷點(diǎn)設(shè)置(1) 在 IL 和 ST 中,斷點(diǎn)設(shè)置在當(dāng)前光標(biāo)所在的行。在 FBD 和 LD 中,斷點(diǎn)設(shè)置在當(dāng)前被選 定的網(wǎng)絡(luò)中。在 SFC 中,斷點(diǎn)設(shè)置在當(dāng)前選定的步上。 可以直接用鼠標(biāo)點(diǎn)擊黑色背景的行號(hào)(網(wǎng)絡(luò)號(hào))設(shè)置或刪除斷點(diǎn)。如果該行被設(shè)置為斷 點(diǎn),對(duì)應(yīng)的行號(hào)(網(wǎng)絡(luò)號(hào))會(huì)呈現(xiàn)淺藍(lán)色背景。 當(dāng)程序運(yùn)行到達(dá)所設(shè)置的斷點(diǎn)處終止時(shí),相應(yīng)的行號(hào)(網(wǎng)絡(luò)號(hào))以紅色背景來(lái)顯示。使 用“在線”/“運(yùn)行”、“跳進(jìn)”或“跳出”命令,可以繼續(xù)運(yùn)行程序。 例如,“登錄”后在 0004 行設(shè)置一個(gè)斷點(diǎn),如圖 8-4-4 所示。 - 122 -

第133頁(yè)

斷點(diǎn) 圖 8-4-4 斷點(diǎn)設(shè)置(2) 運(yùn)行程序,執(zhí)行到 0004 行斷點(diǎn)處時(shí),程序中斷,變量 b 保持初始值不變,而上一行的變 量 a 被重新賦值。如圖 8-4-5 所示。 圖 8-4-5 斷點(diǎn)設(shè)置(3) ? 編輯斷點(diǎn) 執(zhí)行“在線”/“斷點(diǎn)對(duì)話框”命令,彈出如圖 8-4-6 所示的斷點(diǎn)對(duì)話框,可以顯示和編輯整 個(gè)工程的斷點(diǎn)。 設(shè)置斷點(diǎn):在“程序組織單元”項(xiàng)中選擇一個(gè)需要設(shè)置斷點(diǎn)的程序,在“位置”項(xiàng)中選擇設(shè) 置斷點(diǎn)的行號(hào)(網(wǎng)絡(luò)號(hào)),點(diǎn)擊“添加”,則斷點(diǎn)被添加到列表中。 刪除斷點(diǎn):選中斷點(diǎn),點(diǎn)擊“刪除”,則刪除該斷點(diǎn)。 查看斷點(diǎn):選中斷點(diǎn),點(diǎn)擊“轉(zhuǎn)到”,則立即跳轉(zhuǎn)到編輯器中斷點(diǎn)設(shè)置的位置。 圖8-4-6 設(shè)置斷點(diǎn)對(duì)話框 - 123 -

第134頁(yè)

當(dāng)“在線”退出之后,所設(shè)置的斷點(diǎn)被刪除。注意,斷點(diǎn)的個(gè)數(shù)應(yīng)當(dāng)限制在 100 以內(nèi),如 果超出范圍,則會(huì)出現(xiàn)如圖 8-4-7 所示的提示。 圖8-4-7 斷點(diǎn)設(shè)置(2) 8.4.7 單步 利用單步可以逐步檢查程序邏輯的正確性。在對(duì)應(yīng)的活動(dòng)窗口中,對(duì)于不同的編程語(yǔ)言, 單步的含義有所不同。 ? 在 IL 中,執(zhí)行程序直到下一個(gè) CAL、LD 或者 JMP 命令。 ? 在 ST 中,執(zhí)行下一個(gè)指令。 ? 在 LD 和 FBD 中,執(zhí)行下一個(gè)節(jié)。 ? 在 SFC 中,繼續(xù)執(zhí)行動(dòng)作,直到下一步。 執(zhí)行“在線”/“跳出”或“跳進(jìn)”命令實(shí)現(xiàn)單步執(zhí)行。當(dāng)遇到斷點(diǎn)時(shí),程序執(zhí)行當(dāng)前語(yǔ)句后停 止。當(dāng)遇到功能塊或函數(shù)時(shí),“跳出”命令會(huì)跳過(guò)功能塊或函數(shù)執(zhí)行下一條語(yǔ)句,而“跳進(jìn)”命 令則跳入功能塊或函數(shù)的內(nèi)部單步執(zhí)行。 8.4.8 單循環(huán) 執(zhí)行“在線”/“單循環(huán)”命令使程序運(yùn)行完一個(gè)周期后就停止運(yùn)行。從本質(zhì)上來(lái)說(shuō),“單循環(huán)” 命令等同于“運(yùn)行”命令,都可以使用戶程序在線運(yùn)行。只不過(guò)“單循環(huán)”命令讓程序運(yùn)行完一 個(gè)周期后就自動(dòng)停止,而“運(yùn)行”命令讓程序循環(huán)運(yùn)行,直到執(zhí)行“停止”命令為止。 8.4.9 變量輸入值 ? 設(shè)定新值 在調(diào)試狀態(tài)下,用鼠標(biāo)直接雙擊聲明編輯器中的變量,彈出寫(xiě)變量對(duì)話框,如圖 8-4-8 所示。在“新值”中填入變量的新值,點(diǎn)擊“確認(rèn)”按鈕,當(dāng)前變量的后面即出現(xiàn)淡藍(lán)色文本標(biāo) 示的新值。對(duì)于布爾型變量,雙擊后直接在當(dāng)前值的后面用淡藍(lán)色文本標(biāo)出 TRUE/FALSE 的狀態(tài)切換,不使用寫(xiě)變量對(duì)話框輸入。 ? 激活新值 執(zhí)行“在線”/“輸入值”命令,或使用快捷鍵“Ctrl+F7”,變量的新值才能被激活,即輸入到 模塊中。允許對(duì)在多個(gè)變量寫(xiě)入新值后執(zhí)行“輸入值”命令,將多個(gè)新值同時(shí)輸入模塊。 圖8-4-8 寫(xiě)變量 - 124 -

第135頁(yè)

8.4.10 變量強(qiáng)制值 ? 強(qiáng)制值 強(qiáng)制寫(xiě)變量的方法與“輸入值”命令一樣,先輸入新值,然后執(zhí)行“在線”/“強(qiáng)制值”命令, 或者使用快捷鍵“F7”寫(xiě)入強(qiáng)制值。 被強(qiáng)制的變量,在程序的每個(gè)循環(huán)之后都被寫(xiě)入強(qiáng)制值,直到執(zhí)行“解除強(qiáng)制”命令后為 止。對(duì)于“輸入值”命令,變量只被寫(xiě)一次,而且允許變量被其它程序賦值。 當(dāng)開(kāi)關(guān)量的輸入為物理點(diǎn)輸入時(shí),例如 I0.0,必須使用強(qiáng)制值,但在仿真模式下可以使 用輸入值。允許多個(gè)變量寫(xiě)入新值后執(zhí)行“強(qiáng)制值”命令。 變量被強(qiáng)制時(shí),其值用紅色文本表示,如圖 8-4-9 所示。 圖8-4-9 強(qiáng)制值 通過(guò)下面這個(gè)例子,可以清楚地看出“輸入值”和“強(qiáng)制值”的差別。 程序主體: 輸入 a、b 值 強(qiáng)制 c、d 值 運(yùn)行后顯示: “輸入值”命令只改變了變量 a、b 的當(dāng)前值,程序一旦運(yùn)行起來(lái),變量 a、b 將會(huì)按照程 序的設(shè)定自行累加,每執(zhí)行一次,程序重新賦值一次。而“強(qiáng)制值”命令使變量 c、d 在每次程 序執(zhí)行時(shí)都被賦予強(qiáng)制值,所以一直保持 3、4 不變。 ? 解除強(qiáng)制 執(zhí)行“在線”/“解除強(qiáng)制”命令,終止對(duì)變量的強(qiáng)制賦值命令。強(qiáng)制賦值被解除后,變量值 恢復(fù)黑色。 ? 輸入/強(qiáng)制對(duì)話框 執(zhí)行“在線”/“輸入/強(qiáng)制對(duì)話框”命令,則會(huì)彈出如圖 8-4-10 所示的對(duì)話框,其中包括監(jiān)視 列表選項(xiàng)卡和強(qiáng)制列表選項(xiàng)卡。 - 125 -

第136頁(yè)

圖8-4-10 輸入/強(qiáng)制對(duì)話框 8.4.11 查看調(diào)用棧 執(zhí)行“在線”/“查看調(diào)用?!泵?,則會(huì)在某個(gè)斷點(diǎn)處,程序停止執(zhí)行,顯示調(diào)用堆棧里的 當(dāng)前程序的列表,如圖 8-4-11 所示。 列表中第一個(gè)程序是系統(tǒng)默認(rèn)的程序,或者是在“任務(wù)配置”中設(shè)定的第一個(gè)被調(diào)用的程 序。列表中最后一個(gè)程序是當(dāng)前被執(zhí)行的程序。 選定了一個(gè)程序后,點(diǎn)擊“跳轉(zhuǎn)到”按鈕,則立即跳到該程序的執(zhí)行窗口,顯示正在被處 理的行或段。 圖8-4-11 堆棧調(diào)用 8.4.12 顯示流控制 如果選擇了流控制,“在線”/“顯示流控制”菜單命令前會(huì)有一個(gè)“√”號(hào)出現(xiàn)。此后,在當(dāng)前 循環(huán)中,被執(zhí)行的每一行或每一個(gè)網(wǎng)絡(luò)都會(huì)被做上標(biāo)記,運(yùn)行的行和行號(hào)(或網(wǎng)絡(luò)號(hào))以綠 色顯示。在“單循環(huán)”模式下,用該命令可非常直觀地看到程序的當(dāng)前運(yùn)行流程。 圖 8-4-12 所示為一個(gè)簡(jiǎn)單的小程序,定義初值為 0 的整型變量 a。當(dāng) a<=0 時(shí)累加 1,當(dāng) a>0 時(shí)累加 2。 - 126 -

第137頁(yè)

圖8-4-12 程序示例(1) “登錄”后選中“顯示流控制”命令,然后選擇“單循環(huán)”方式。由于 a 的初值為 0,所以在第 一次運(yùn)行時(shí),a 滿足條件<=0,累加 1,當(dāng)前 a 值變?yōu)?1?!帮@示流控制”命令將本次循環(huán)執(zhí)行 的行(2 行和 3 行)用綠色標(biāo)示,如圖 8-4-13 所示。 圖8-4-13 程序示例(2) 再次選擇“單循環(huán)”,此時(shí)由于 a 的值已經(jīng)變?yōu)?1,滿足程序中“ELSE”的條件,累加 2, 當(dāng)前值變?yōu)?3?!帮@示流控制”命令將本次循環(huán)執(zhí)行的行(2 行和 5 行)用綠色標(biāo)示,如圖 8-4-14 所示。 圖8-4-14 程序示例(3) 8.4.13 監(jiān)視與接收管理器 在對(duì)象組織器的“資源”選項(xiàng)卡中,可以打開(kāi)監(jiān)視與接收管理器的窗口,如圖 8-4-15 所示。 在調(diào)試過(guò)程中,可以在監(jiān)視與接收管理器的窗口中集中監(jiān)控工程中各程序的變量。監(jiān)視與接 收管理器可以將數(shù)值預(yù)置入某個(gè)變量,然后把它們作為一組發(fā)送到模塊。同樣,當(dāng)前模塊的 值可以讀入和存儲(chǔ)在監(jiān)視與接收管理器中。 - 127 -

第138頁(yè)

圖8-4-15 監(jiān)視與接收管理器 ? 創(chuàng)建監(jiān)視列表 在監(jiān)視與接收管理器的列表區(qū)(左區(qū))點(diǎn)擊鼠標(biāo)右鍵,從彈出的菜單中選擇“增加監(jiān)視列 表”,并為列表輸入合適的名稱,點(diǎn)擊“確認(rèn)”。也可通過(guò)執(zhí)行“插入”/“增加監(jiān)視列表”命令創(chuàng)建 監(jiān)視列表。 ? 修改監(jiān)視列表名稱 執(zhí)行“重命名監(jiān)視變量”,可以改變監(jiān)視列表的名稱。 ? 選擇監(jiān)控變量 選擇“輸入幫助”,或者利用編輯菜單,列出工程中已定義了的所有變量,用鼠標(biāo)選擇即 可將變量加入到監(jiān)視列表中。 ? 保存監(jiān)視列表 執(zhí)行“存監(jiān)視列表”,可以保存監(jiān)視列表,擴(kuò)展名為“*.wtc”。 ? 導(dǎo)入監(jiān)視列表 執(zhí)行“取監(jiān)視列表”,可以重新載入已經(jīng)保存的監(jiān)視列表。 ? 激活監(jiān)視列表 使“激活”之前出現(xiàn)符號(hào)“√”,激活監(jiān)視列表,才可以監(jiān)控列表中的變量。創(chuàng)建監(jiān)視列表的 各項(xiàng)功能僅在未激活前有效。 ? 修改變量值 執(zhí)行“寫(xiě)入批處理數(shù)據(jù)”,可以將變量的值改寫(xiě)為設(shè)置的變量值。 ? 讀取變量值 執(zhí)行“讀出批處理數(shù)據(jù)”,可以讀取變量的當(dāng)前值。 - 128 -

第139頁(yè)

第9章 IEC 編程基礎(chǔ) PowerPro 軟件遵循國(guó)際電工技術(shù)委員會(huì)(International Electrotechnical Commission,縮寫(xiě) 為 IEC)的 IEC61131-3 標(biāo)準(zhǔn)。之前在 7.4 章節(jié),講述了 LD 語(yǔ)言編程的規(guī)范,本章主要介紹 FBD、IL、ST、SFC 及 CFC 等其他 IEC 標(biāo)準(zhǔn)編程語(yǔ)言。 9.1 功能塊圖 FBD FBD 是功能塊圖(Function Block Diagram)的簡(jiǎn)稱。FBD 是一種圖形化的編程語(yǔ)言,與 LD 的結(jié)構(gòu)類似。FBD 由一系列“節(jié)”組成,每“節(jié)”由一系列方塊組成。每“節(jié)”完成一段相對(duì)獨(dú) 立的運(yùn)算,這些運(yùn)算可以包括邏輯表達(dá)式、算術(shù)表達(dá)式、功能塊、連線、輸入、輸出、跳轉(zhuǎn) 和返回等,如圖 9-1-1 所示。 圖 9-1-1 功能塊圖語(yǔ)言 9.1.1 光標(biāo)位置 通過(guò)虛線矩形框確認(rèn)當(dāng)前的光標(biāo)位置。下面介紹可能的光標(biāo)位置,便于在使用“插入”菜 單下的各項(xiàng)命令時(shí)識(shí)別當(dāng)前位置。 ? 文本(光標(biāo)位置 1): ? 輸入(光標(biāo)位置 2): ? 操作符、函數(shù)或功能塊(光標(biāo)位置 3): ? 輸出(光標(biāo)位置 4,后面緊跟著賦值或跳轉(zhuǎn)): - 129 -

第140頁(yè)

? 賦值、跳轉(zhuǎn)或返回的線段交叉點(diǎn)(光標(biāo)位置 5): ? 節(jié)的末尾輸出端(光標(biāo)位置 6): ? 賦值前面的交叉線(光標(biāo)位置 7): 9.1.2 操作說(shuō)明 ? 添加“輸入” 快捷菜單: 。在當(dāng)前光標(biāo)位置插入一個(gè)函數(shù)或功能塊的輸入端。 對(duì)于某些運(yùn)算符,輸入的數(shù)量是變化的,有時(shí)需要擴(kuò)展運(yùn)算符的輸入。例如,ADD 可以 是兩個(gè)數(shù)相加,也可以是更多的數(shù)相加。選中輸入(光標(biāo)位置 2),插入的新輸入成為功能 塊的第一個(gè)輸入。如果要插入一個(gè)位于末端位置的輸入,必須選中功能塊本身(光標(biāo)位置 3)。 插入的輸入缺省值為文本“???”。點(diǎn)擊選中文本,改變成所需要的常量或變量。對(duì)此可以使用 輸入輔助。 在需要的時(shí)候,增加功能塊的輸入可以大大簡(jiǎn)化程序,如圖 9-1-2 所示。 圖 9-1-2 擴(kuò)展輸入端 如何快速切換輸入端?位于運(yùn)算符右邊的分支與函數(shù)的第一個(gè)輸入端相連,但此時(shí)需要 改為與第二個(gè)輸入端相連??梢赃x中第一個(gè)輸入執(zhí)行命令“編輯”/“剪切”。然后選中第二 個(gè)輸入執(zhí)行命令“編輯”/“粘貼”。這樣,此分支連接到第二個(gè)輸入端。 ? 添加“輸出” 快捷菜單: 。在當(dāng)前光標(biāo)位置插入一個(gè)功能塊的輸出端。 對(duì)于某些功能塊,輸出的數(shù)量可能是變化的。此命令可以擴(kuò)展功能塊的輸出。 - 130 -

第141頁(yè)

? 插入“運(yùn)算符” 快捷菜單: 。在當(dāng)前位置插入一個(gè)運(yùn)算符。 如果輸入被選中(光標(biāo)位置 2),運(yùn)算符被插入到輸入的前面。此運(yùn)算符的第一個(gè)輸入 連接到選中輸入的左邊分支,新運(yùn)算符的輸出連接到選中的輸入。 如果輸出被選中(光標(biāo)位置 4),運(yùn)算符被插入到輸出的后面。此運(yùn)算符的第一個(gè)輸入 連接到選中的輸出,新運(yùn)算符的輸出連接到原來(lái)連接的分支上。 如果運(yùn)算符、函數(shù)或功能塊被選中(光標(biāo)位置 3),舊的元素被新的運(yùn)算符代替。分支 的連接與沒(méi)有被替換之前的情形相同。如果舊元素有比新運(yùn)算符分支更多,那么多余的分支 將被刪除。 如果一個(gè)跳轉(zhuǎn)或返回被選中,那么運(yùn)算符會(huì)插入到跳轉(zhuǎn)或返回之前。運(yùn)算符的第一個(gè)輸 入與選中的元素的左邊的分支相連,運(yùn)算符的輸出連接到選中元素的右邊的分支。 如果“節(jié)”的最后一個(gè)光標(biāo)位置被選中(光標(biāo)位置 6),那么運(yùn)算符會(huì)被插入到最后一個(gè) 元素之后,運(yùn)算符的第一個(gè)輸入連接到選中位置的左邊分支。 被插入的運(yùn)算符缺省總是 AND。選中關(guān)鍵字,可以把 AND 轉(zhuǎn)換成其它的運(yùn)算符。也可 以借助“提示輸入”從運(yùn)算符類型列表中選擇所要的運(yùn)算符。新運(yùn)算符的輸入端將被自動(dòng)連接 到前面分支上。所有沒(méi)有連接的輸入端都標(biāo)以“???”,可以將其刪除或改變成所要的常量或變 量。 ? 添加“賦值” 快捷菜單: 。插入一個(gè)賦值符號(hào),將運(yùn)算符的結(jié)果賦值輸出。 根據(jù)當(dāng)前選中位置的不同,插入的位置也有所不同。具體地說(shuō),賦值符號(hào)插入到輸入(光 標(biāo)位置 2)的前面,在輸出(光標(biāo)位置 4)的后面,在交叉線(光標(biāo)位置 5)的前面,在節(jié)的 末尾(光標(biāo)位置 6)的后面。 為了給一個(gè)已存在的賦值插入一個(gè)附加賦值,使用“輸出”命令。 ? 設(shè)置“跳轉(zhuǎn)” 快捷菜單: 。設(shè)置一個(gè)跳轉(zhuǎn)。如果條件為真,則跳轉(zhuǎn)到指定位置。 根據(jù)選中的位置,插入到輸入的前面(光標(biāo)位置 2)、輸出的后面(光標(biāo)位置 4)、交叉 線的前面(光標(biāo)位置 5)或節(jié)末尾(光標(biāo)位置 6)的后面。 對(duì)于插入的跳轉(zhuǎn),可以被賦給它的標(biāo)簽代替。 ? 插入“返回” 快捷菜單: 。插入一個(gè)返回。 在當(dāng)前 POU 被其它 POU 調(diào)用,且返回條件為真時(shí),返回到調(diào)用它的 POU。 根據(jù)選中的位置,插入到選中的輸入的前面(光標(biāo)位置 2)、選中的輸出的后面(光標(biāo) 位置 4)、選中的交叉線前面(光標(biāo)位置 5)或“節(jié)”的末尾(光標(biāo)位置 6)。 ? “反向”操作 快捷菜單: 。反向輸入、輸出、跳轉(zhuǎn)或返回指令。 反向的圖標(biāo)是一個(gè)連接的小圓。如果光標(biāo)選中輸入(光標(biāo)位置 2),那么輸入被反向。 - 131 -

第142頁(yè)

如果選中輸出(光標(biāo)位置 4),那么輸出被反向。如果選中跳轉(zhuǎn)或返回,那么跳轉(zhuǎn)或返回的 輸入端被反向。再次執(zhí)行反向命令,則取消反向。 ? “置位/復(fù)位”操作 快捷菜單: 。定義輸出為置位輸出或復(fù)位輸出。 置位輸出顯示為 S,復(fù)位輸出顯示為 R,如圖 9-1-3 所示。如果輸出 TRUE 值,則置位端 設(shè)為 TRUE 并一直保持此值。如果輸出 FALSE,則復(fù)位端設(shè)為 FALSE 并一直保持此值。此 命令多次交替執(zhí)行,輸出在置位、復(fù)位和正常值之間交替。 圖 9-1-3 置位與復(fù)位 FBD 語(yǔ)言的簡(jiǎn)單應(yīng)用示例如圖 9-1-4 所示。本程序可以產(chǎn)生“1s 斷 2s 通”的脈沖信號(hào)。 圖 9-1-4 FBD 語(yǔ)言示例 9.2 指令列表 IL 指令列表(IL)是一種匯編語(yǔ)言風(fēng)格的編程語(yǔ)言,程序不易閱讀,但執(zhí)行速度最快。IL - 132 -

第143頁(yè)

語(yǔ)言包含一系列的指令,每條指令占據(jù)一行,包含一個(gè)運(yùn)算符和一個(gè)或多個(gè)用逗號(hào)隔開(kāi)的操 作數(shù)。操作數(shù)之間用逗號(hào)分隔。每行開(kāi)始可以有標(biāo)簽,標(biāo)簽后要有冒號(hào)。每行結(jié)束可以有注 釋,注釋用“(* *)”括起來(lái)。每行指令之間可以插入空行。IL 編輯器是一種文本編輯器, 具有常見(jiàn) Windows 文本編輯器的功能,點(diǎn)擊菜單欄或鼠標(biāo)右鍵可以進(jìn)行編輯。 9.2.1 操作說(shuō)明 打開(kāi)“插入”菜單,選擇所要插入的內(nèi)容,如圖 9-2-1 所示。 圖 9-2-1 “插入”菜單 ? “插入”/“操作符” 在編程區(qū)任何位置點(diǎn)擊此命令,從彈出窗口中選擇所需的操作符,例如“ABS”。 ? “插入”/“操作數(shù)” 在編程區(qū)任何位置點(diǎn)擊此命令,從彈出窗口中選擇所需的操作數(shù),點(diǎn)擊“確認(rèn)”。 ? “插入”/“函數(shù)” 在編程區(qū)任何位置點(diǎn)擊此命令,從彈出窗口中選擇所需的函數(shù),點(diǎn)擊“確認(rèn)”。 ? “插入”/“功能塊” 在編程區(qū)任何位置點(diǎn)擊此命令,從彈出窗口中選擇所需的功能塊,點(diǎn)擊“確認(rèn)”。 9.2.2 程序舉例 ? 舉例 下面是一個(gè)用 IL 語(yǔ)言實(shí)現(xiàn)的簡(jiǎn)單運(yùn)算程序。 聲明: VAR A:REAL; B:REAL; C:REAL; END_VAR 程序: LD 10 (*將數(shù)字 10 賦予當(dāng)前值*) ADD A (*當(dāng)前值與變量 A 加運(yùn)算后結(jié)果存入當(dāng)前值*) GE B (*當(dāng)前值與變量 B 進(jìn)行大于等于比較*) JMPC Next1 (*上一表達(dá)式結(jié)果為真,則跳轉(zhuǎn)至標(biāo)志 Next1 處*) - 133 -

第144頁(yè)

LD A (*將變量 A 的值賦予當(dāng)前值*) ADD B (*當(dāng)前值與變量 B 加運(yùn)算后結(jié)果存入當(dāng)前值*) ST C (*將當(dāng)前值賦予變量 C*) JMP Next2 (*無(wú)條件跳轉(zhuǎn)至標(biāo)志 Next2 處*) Next1: (*標(biāo)志*) LD A (*將變量 A 的值賦予當(dāng)前值*) SUB B (*當(dāng)前值與變量 B 減運(yùn)算后結(jié)果存入當(dāng)前值*) ST C (*將當(dāng)前值賦予變量 C*) Next2: (*標(biāo)志*) IL 語(yǔ)言支持兩種修飾符 C 和 N。C 表示條件執(zhí)行,只有當(dāng)前一個(gè)表達(dá)式的值為真(TRUE) 時(shí),指令才被執(zhí)行。N 與 JMP、CAL 和 RET 連用時(shí)表示條件非執(zhí)行,只有當(dāng)前一個(gè)表達(dá)式 的值為假(FALSE)時(shí),指令才被執(zhí)行;其它情況下,表示操作數(shù)取負(fù)。表 5-4-1 列出了 IL 的所有運(yùn)算符以及它們的修飾符和相應(yīng)意義。 表9-2-1 IL語(yǔ)言運(yùn)算符列表 運(yùn)算符 修飾符 意義 將操作數(shù)賦予當(dāng)前值 LD N 將當(dāng)前值賦予操作數(shù) 如果當(dāng)前結(jié)果是 TRUE,把布爾型操作數(shù)置為 TRUE ST N 如果當(dāng)前結(jié)果是 TRUE,把布爾型操作數(shù)置為 FALSE 位邏輯運(yùn)算符 AND S 位邏輯運(yùn)算符 OR 位邏輯運(yùn)算符 XOR R 加 減 AND N、( 乘 除 OR N、( >大于判斷 >=大于等于判斷 XOR N、( =等于判斷 <>不等于判斷 ADD ( <=小于等于判斷 <小于判斷 SUB ( 轉(zhuǎn)移到標(biāo)簽 調(diào)用其它 POU MUL ( 退出 POU 并且返回到調(diào)用處 計(jì)算延遲操作 DIV ( GT ( GE ( EQ ( NE ( LE ( LT ( JMP C、N CAL C、N RET C、N ) ? 舉例 以下是利用修飾符進(jìn)行 IL 編程的例子: LD TRUE (*將 TRUE 賦予當(dāng)前值*) - 134 -

第145頁(yè)

ANDN BOOL1 (*BOOL1 變量取反后與當(dāng)前值進(jìn)行與運(yùn)算*) JMPC mark (*如果結(jié)果是真,那么跳轉(zhuǎn)到標(biāo)簽“mark”處*) LDN BOOL2 (*將 BOOL2 取反后賦予當(dāng)前值*) ST ERG (*將當(dāng)前值存入 ERG*) Mark: LD BOOL2 (*將 BOOL2 賦予當(dāng)前值 *) ST ERG (*將當(dāng)前值存入 ERG*) 如果在運(yùn)算符之后插入括號(hào),那么括號(hào)里的值可以看成是一個(gè)操作數(shù)。例如: LD 2 MUL 2 ADD 3 ST ERG 運(yùn)行后 ERG 的值是 7。但是,如果加入一對(duì)圓括號(hào): LD 2 MUL (2 ADD 3 ) ST ERG 運(yùn)行后 ERG 的值是 10,MUL 運(yùn)算符只有到“)”才執(zhí)行,等同于執(zhí)行 MUL 5。 ? 舉例 IL 語(yǔ)言簡(jiǎn)單應(yīng)用示例如圖 9-2-2 所示。本程序產(chǎn)生“1s 斷 2s 通”的脈沖信號(hào) 圖 9-2-2 IL 語(yǔ)言示例 - 135 -

第146頁(yè)

9.3 結(jié)構(gòu)化文本 ST 結(jié)構(gòu)化文本(ST)可以執(zhí)行選擇語(yǔ)句(IF…THEN…ELSE)和循環(huán)語(yǔ)句(WHILE…DO), 類似于 PASCAL 和 BASIC 等高級(jí)語(yǔ)言。 9.3.1 ST 表達(dá)式 ST 語(yǔ)言中的表達(dá)式由運(yùn)算符和操作數(shù)組成。操作數(shù)可以是常量、變量、函數(shù)調(diào)用或另一 個(gè)表達(dá)式。表達(dá)式的計(jì)算通過(guò)執(zhí)行具有不同優(yōu)先級(jí)的運(yùn)算符完成。有最高優(yōu)先級(jí)的運(yùn)算符先 被執(zhí)行,然后依次執(zhí)行下一個(gè)優(yōu)先級(jí)的運(yùn)算符,直到所有的運(yùn)算符被處理完。有相同優(yōu)先級(jí) 的運(yùn)算符按從左到右的順序執(zhí)行。ST 語(yǔ)言的運(yùn)算符如表 9-3-1 所示。 表9-3-1 ST語(yǔ)言運(yùn)算符 運(yùn)算 符號(hào) 優(yōu)先級(jí) 放入圓括號(hào) (表達(dá)式) 最高優(yōu)先級(jí) 函數(shù)名(參數(shù)列表) 函數(shù)調(diào)用 最弱優(yōu)先級(jí) 求冪 EXPT 求負(fù) - 求補(bǔ) 乘積 NOT 除 * 取模 / 加 減 MOD 比較 + 相等 - 不等 邏輯與 <、>、<=、>= = 邏輯異或 <> 邏輯或 AND XOR OR 9.3.2 ST 指令 例子 A:=B; CV := CV + 1; C:=SIN(X); ST 語(yǔ)言的指令如表 9-3-2 所示。 TP(IN:= %IX0.5, PT:=t#30); 表9-3-2 ST語(yǔ)言指令 A:=TP.Q; 指令類型 RETURN; 賦值 D:=B*B; 調(diào)用功能塊并且賦初值 使用功能塊輸出 返回 IF - 136 -

第147頁(yè)

CASE IF D<0.0 THEN C:=A; FOR循環(huán) ELSE IF D=0.0 THEN WHILE循環(huán) C:=B; REPEAT循環(huán) ELSE C:=D; 退出程序 空指令 END_IF; CASE INT1 OF 1: BOOL1 := TRUE; 2: BOOL2 := TRUE; ELSE BOOL1 := FALSE; BOOL2 := FALSE; END_CASE; J:=101; FOR I:=1 TO 100 BY 2 DO IF ARR[ I] = 70 THEN J:=I; EXIT; END_IF; END_FOR; J:=1; WHILE J<= 100 AND ARR[ J] <> 70 DO J:=J+2; END_WHILE J:=-1; REPEAT J:=J+2; UNTIL J= 101 OR ARR[ J] = 70 END_REPEAT; EXIT; ; ? 賦值 執(zhí)行賦值操作時(shí),等號(hào)左邊是操作數(shù)(變量或地址),右邊是被賦予的表達(dá)式的值。例 如:Var1 := Var2 * 10; ? 調(diào)用功能塊 通過(guò)寫(xiě)入功能塊實(shí)例的名字,并且在隨后的圓括號(hào)中賦給參數(shù)值來(lái)調(diào)用功能塊。 ? 舉例 變量聲明: TPInst:TP; VarBOOL1: BOOL; - 137 -

第148頁(yè)

VarBOOL2: BOOL; 程序: TPInst(IN:= VarBOOL1,PT:= T#5s);(*參數(shù) IN 和 PT 設(shè)定時(shí)鐘脈沖的觸發(fā)信號(hào)和高電平 的長(zhǎng)度*) VarBOOL2:=TPInst.Q;(*輸出脈沖值 Q 賦給變量 VarBOOL2*) ? 返回指令 返回指令可以根據(jù)條件退出 POU。 ? IF 指令 使用 IF 指令可以檢查條件,根據(jù)條件執(zhí)行相應(yīng)的指令。 語(yǔ)法: IF <邏輯表達(dá)式> THEN <IF 指令> {ELSIF <邏輯表達(dá)式 1> THEN <ELSE IF 指令 1> ELSIF <邏輯表達(dá)式 n> THEN <ELSE IF 指令 n> ELSE <ELSE 指令>} END_IF; 其中{}的部分可選。 如果<邏輯表達(dá)式>返回 TRUE,那么只有<IF 指令>被執(zhí)行,其它的指令不被執(zhí)行。同樣, 從<邏輯表達(dá)式 1>開(kāi)始,相繼執(zhí)行邏輯表達(dá)式,直到其中一個(gè)表達(dá)式返回 TRUE 為止,返回 TRUE 的邏輯表達(dá)式對(duì)應(yīng)的指令被執(zhí)行。 如果沒(méi)有邏輯表達(dá)式生成 TRUE,那么只有<ELSE 指令>被執(zhí)行。 舉例 IF temp<17 THEN heating_on := TRUE; ELSE heating_on := FALSE; END_IF; 這里,如果溫度低于 17 度,打開(kāi)加熱器,反之則保持關(guān)閉狀態(tài)。 CASE 指令 使用 CASE 指令,可以在結(jié)構(gòu)中用一個(gè)相同的條件變量表示幾個(gè)條件指令。 語(yǔ)法: CASE <Var1> OF <Value1>: <指令 1> <Value2>: <指令 2> <Value3, Value4, Value5>: <指令 3> <Value6 .. Value10>: <指令 4> ... <Value n>: <指令 n> ELSE <ELSE 指令> - 138 -

第149頁(yè)

END_CASE; CASE 指令根據(jù)下面的模型來(lái)執(zhí)行: 如果變量<Var1>有值<值 i>,那么<指令 i>被執(zhí)行。 如果變量<Var1>沒(méi)有任何指定的值,那么<ELSE 指令>被執(zhí)行。 如果變量的幾個(gè)值都需要執(zhí)行相同的指令,那么可以把幾個(gè)值相繼寫(xiě)在一起,并且用逗號(hào)分 開(kāi)。這樣,就會(huì)有相同的執(zhí)行指令。 如果對(duì)于變量的一個(gè)范圍需要執(zhí)行相同的指令,可以寫(xiě)入初值和終值,中間用兩個(gè)點(diǎn)分開(kāi)。 這樣,條件就會(huì)有相同的執(zhí)行。 舉例 CASE INT1 OF 1, 5: BOOL1 := TRUE; BOOL3 := FALSE; 2: BOOL2 := FALSE; BOOL3 := TRUE; 10..20: BOOL1 := TRUE; BOOL3:= TRUE; ELSE BOOL1 := NOT BOOL1; BOOL2 := BOOL1 OR BOOL2; END_CASE; FOR 循環(huán) 使用 FOR 循環(huán),可以編寫(xiě)循環(huán)過(guò)程。 語(yǔ)法: INT_Var :INT; FOR <INT_Var> := <INIT_VALUE> TO <END_VALUE> {BY <Step Size>} DO <Instructions> END_FOR; 其中{}的部分可選。 只要計(jì)數(shù)<INT_Var>不大于<END_VAULE>,指令就會(huì)被執(zhí)行。指令執(zhí)行之前,首先檢查這 個(gè)條件,如果<INIT_VALUE>大于<END_VALUE>,指令就永遠(yuǎn)不會(huì)被執(zhí)行。 當(dāng)指令被執(zhí)行時(shí),<INT_Var>總是增加步長(zhǎng)<Step Size>。步長(zhǎng)可以是任意的整數(shù)值。如果不 寫(xiě)步長(zhǎng),缺省值是 1。當(dāng)<INT_Var>大于<END_VALUE>時(shí),循環(huán)結(jié)束。 舉例 FOR Counter:=1 TO 5 BY 1 DO Var1:=Var1*2; END_FOR; Erg:=Var1; 假定 Var1 的缺省值是 1,那么循環(huán)結(jié)束后,Var1 的值為 32。 注意,<END_VALUE>一定不能等于計(jì)數(shù)變量<INT_VAR>的極限值。如果計(jì)數(shù)變量的類型是 SINT(范圍從-128-127),<END_VALUE>是 127,則會(huì)進(jìn)入死循環(huán)。 - 139 -

第150頁(yè)

WHILE 循環(huán) WHILE 循環(huán)用起來(lái)很象 FOR 循環(huán),不同的是,結(jié)束條件可以是任意的邏輯表達(dá)式。指 定一個(gè)條件,當(dāng)條件滿足的時(shí)候,循環(huán)被執(zhí)行。 語(yǔ)法: WHILE <邏輯表達(dá)式> <指令> END_WHILE; 只要<邏輯表達(dá)式>的值返回 TRUE,<指令>就會(huì)被重復(fù)執(zhí)行。如果在第一次計(jì)算時(shí),<邏輯 表達(dá)式>的值已經(jīng)是 FALSE,那么指令永遠(yuǎn)不會(huì)被執(zhí)行。如果<邏輯表達(dá)式>的值永遠(yuǎn)不會(huì)是 FALSE,那么<指令>被無(wú)休止的執(zhí)行,產(chǎn)生一個(gè)相對(duì)時(shí)間延遲。 舉例 WHILE counter<>0 DO Var1 := Var1*2; Counter := Counter-1; END_WHILE 在一定意義上,WHILE 和 REPEAT 循環(huán)比 FOR 循環(huán)功能更強(qiáng)大。因?yàn)椴恍枰趫?zhí)行循環(huán)之 前計(jì)算循環(huán)次數(shù)。因此,在有些情況下,用這兩種循環(huán)就可以了。然而,如果清楚知道循環(huán) 次數(shù),那么 FOR 循環(huán)更好。 REPEAT 循環(huán) REPEAT 循環(huán)不同于 WHILE 循環(huán),因?yàn)橹挥性谥噶顖?zhí)行以后才檢查中斷條件。無(wú)論結(jié)束條 件怎樣,循環(huán)至少執(zhí)行一次。 語(yǔ)法: REPEAT <指令> UNTIL <邏輯表達(dá)式> END_REPEAT; 直到<邏輯表達(dá)式>的值返回 TRUE,<指令>才停止執(zhí)行。如果在第一次計(jì)算時(shí),<邏輯表達(dá) 式>產(chǎn)生 TRUE,那么<指令>只被執(zhí)行一次,如果<邏輯表達(dá)式>不會(huì)產(chǎn)生 TRUE,那么<指令> 將無(wú)休止的循環(huán),導(dǎo)致相對(duì)時(shí)延。 舉例 REPEAT Var1 := Var1*2; Counter := Counter-1; UNTIL Counter=0 END_REPEAT; EXIT 指令 如果 EXIT 指令出現(xiàn)在 FOR、WHILE、REPEAT 循環(huán)中,那么不管中斷條件如何,EXIT 出 現(xiàn)時(shí)循環(huán)終止。 舉例 - 140 -

百萬(wàn)用戶使用云展網(wǎng)進(jìn)行電子書(shū)冊(cè)制作,只要您有文檔,即可一鍵上傳,自動(dòng)生成鏈接和二維碼(獨(dú)立電子書(shū)),支持分享到微信和網(wǎng)站!
收藏
轉(zhuǎn)發(fā)
下載
免費(fèi)制作
其他案例
更多案例
免費(fèi)制作
x
{{item.desc}}
下載
{{item.title}}
{{toast}}