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

LM小型可編程控制器軟件手冊_202103

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

LM小型可編程控制器軟件手冊_202103

下面是一個用 ST 語言實現(xiàn)簡單運算的小程序: 變量聲明: PROGRAM PLC VAR A:BOOL; B:BOOL; C:INT; END_VAR 程序: IF A=TRUE THEN C:=20; ELSE IF B=TRUE THEN C:=30; ELSE C:=50; END_IF 簡潔、易讀的語言 ST 結(jié)構(gòu)化文本這個名字就已經(jīng)表明它是用于結(jié)構(gòu)化編程的。也就是說,ST 語言為特定的經(jīng) 常使用的結(jié)構(gòu)化編程提供了預先確定的結(jié)構(gòu)。 舉例 比較下面兩段分別用 IL 和 ST 語言實現(xiàn) 2 的乘冪的循環(huán)的程序代碼。 用 IL 語言: Loop: LD Counter NE 0 NOT JMPC END_LOOP LD Var1 MUL 2 ST Var1 LD Counter SUB 1 ST Counter JMP Loop End_LOOP: LD Var1 ST ERG 用 ST 語言: WHILE counter<>0 DO Var1:=Var1*2; Counter... [收起]
[展開]
LM小型可編程控制器軟件手冊_202103
粉絲: {{bookData.followerCount}}
文本內(nèi)容
第151頁

下面是一個用 ST 語言實現(xiàn)簡單運算的小程序: 變量聲明: PROGRAM PLC VAR A:BOOL; B:BOOL; C:INT; END_VAR 程序: IF A=TRUE THEN C:=20; ELSE IF B=TRUE THEN C:=30; ELSE C:=50; END_IF 簡潔、易讀的語言 ST 結(jié)構(gòu)化文本這個名字就已經(jīng)表明它是用于結(jié)構(gòu)化編程的。也就是說,ST 語言為特定的經(jīng) 常使用的結(jié)構(gòu)化編程提供了預先確定的結(jié)構(gòu)。 舉例 比較下面兩段分別用 IL 和 ST 語言實現(xiàn) 2 的乘冪的循環(huán)的程序代碼。 用 IL 語言: Loop: LD Counter NE 0 NOT JMPC END_LOOP LD Var1 MUL 2 ST Var1 LD Counter SUB 1 ST Counter JMP Loop End_LOOP: LD Var1 ST ERG 用 ST 語言: WHILE counter<>0 DO Var1:=Var1*2; Counter:=counter-1; - 141 -

第152頁

END_WHILE Erg:=Var1; 可以看出,用 ST 語言實現(xiàn)的循環(huán)不僅簡潔,而且易于閱讀。 9.4 順序功能圖 SFC SFC 是順序功能圖(Sequential Function Chart)的簡稱,是一種圖形化的編程語言,用 來描述程序中不同動作的時間順序。SFC 由一系列的步和轉(zhuǎn)移組成,如圖 9-4-1 所示。步定 義動作,轉(zhuǎn)移控制順序。 圖 9-4-1 順序功能圖語言 9.4.1 基本概念 ? 單步 SFC 語言包含一系列的步,這些步通過有向的連接彼此聯(lián)系。步分為簡化步和 IEC 步。 簡化步包含一個動作和一個顯示步動作的標志。如果步包含動作,則在步的右上角出現(xiàn) 一個小三角形。 IEC 步包含一個或多個動作和邏輯變量。新插入的步是否為 IEC 步,取決于是否選擇了“高 級”/“使用 IEC 步(I)”命令。必須添加特殊的 SFC 庫 Iecsfc.lib 才能夠使用 IEC 步。 ? 動作 動作是使用其它語言實現(xiàn)的一系列指令,可以是用 IL 或 ST 語言實現(xiàn)的指令語句,也可 以是用 LD、FBD 或 SFC 實現(xiàn)的網(wǎng)絡。 對于簡化步,動作總是和步直接相關。用鼠標雙擊動作所屬的步,進行編輯。 對于 IEC 步,在對象組織器中選中 SFC 程序,點擊右鍵,選擇“添加動作”命令創(chuàng)建新動 作。可以賦給 IEC 步多個動作,同時這些動作也可以被多個步重復使用。 IEC 步的動作顯示在步的右邊框中。左邊字段包含可能有時間常量的限定符,右邊字段 包含動作名即邏輯變量名。 IEC 的動作分散在步中。在它們所屬的 POU 中,這些動作可以被重復使用。使用“高 - 142 -

第153頁

級”/“關聯(lián)動作”命令添加動作,使用“高級”/“清除動作或轉(zhuǎn)移”命令刪除已添加的動作。 包含兩個動作的 IEC 步舉例,如圖 9-4-2 所示。 圖 9-4-2 順序功能圖語言舉例 ? 入口動作和出口動作 “添加入口動作”和“添加出口動作”命令可以在步中加入入口動作和出口動作。 入口動作只有當步在活動狀態(tài)時立即執(zhí)行一次。出口動作只在步不活動之前執(zhí)行一次。 有入口動作的步在左下角有“E”標志進入,有出口動作的步右下角有“X”標志退出??梢杂萌? 意語言實現(xiàn)入口和出口動作,鼠標雙擊步的相應角,即可編輯入口或者出口動作。 入口和出口動作步的舉例,如圖 9-4-3 所示。 圖 9-4-3 入口和出口動作步的舉例 ? 轉(zhuǎn)換/轉(zhuǎn)換條件 步之間的切換就是轉(zhuǎn)換。只有當步的轉(zhuǎn)換條件為真時,步的轉(zhuǎn)換才進行。即前步的動作 執(zhí)行完后,如果有出口動作則執(zhí)行一次出口動作,后步如果有入口動作則執(zhí)行一次后步的入 口動作,然后按照控制周期執(zhí)行該活動步的所有動作。 轉(zhuǎn)換條件可以是邏輯變量、邏輯地址、邏輯常量或者是由其它語言編程實現(xiàn)的邏輯。 ? 活動步 調(diào)用 POU 之后,初始化步(雙邊的步)的動作首先執(zhí)行。動作被執(zhí)行的步稱為活動步。 每次循環(huán)執(zhí)行活動步的動作。在線模式下,活動步以藍色顯示。為了更容易地跟隨過程, 在線模式下,所有的活動動作象活動步一樣以藍色顯示。每次循環(huán)以后做一次檢查,查看哪 個動作是活動的。在一個控制周期中,執(zhí)行活動步的所有動作。之后,如果下步的轉(zhuǎn)換條件 是 TRUE,下步將變成活動步,在下個周期執(zhí)行。 ? 限定符 把 IEC 步和動作關聯(lián),需要使用限定符。IEC 步的使用如圖 9-4-4 所示,限定符對應的 含義如表 9-4-1 所示。 圖 9-4-4 使用 IEC 步 表9-4-1 SFC限定符 說明 備注 限定符 名稱 - 143 -

第154頁

N 非存儲 普通型:動作隨步活動,當步開始激活時,動作開始執(zhí)行; 當步退出時,動作停止執(zhí)行。 S 設置 置位型:當步開始激活時,動作開始執(zhí)行;當步退出時,動 存儲 作還將繼續(xù)執(zhí)行。一直等到有 R 限定符給它復位之后,動作 才將停止執(zhí)行。在動作沒有被 R 停止之前,任何限定符也不 能使得動作停止(包括 P 限定符)。 R 重置 復位型:當步開始激活時,動作停止執(zhí)行。 L 時限 限時結(jié)束型:動作在一定時間被激活。最長時間是步活動時 要加時間常數(shù) 間。當步開始激活時,動作開始執(zhí)行;同時開始計時,當時 (設定值) 間到達設定值后,動作將停止執(zhí)行。如果時間還沒有到達設 定值時,步的轉(zhuǎn)移條件已經(jīng)滿足,此時,動作也將停止執(zhí)行。 D 延時 延時開始型:當步開始激活時,開始計時,當時間到達設定 要加時間常數(shù) 值后,動作將開始執(zhí)行;當步退出時,動作停止執(zhí)行。如果 (設定值) 時間還沒有到達設定值時,步的轉(zhuǎn)移條件已經(jīng)滿足,在這種 情況下,動作將不可能被執(zhí)行。 P 脈沖 脈沖型:當步開始激活時,動作開始執(zhí)行,并且動作只被執(zhí) 行一次,之后動作將停止執(zhí)行。 SD 存儲和 延時絕對開始置位型:當步開始激活時,開始計時,當時間 要加時間常數(shù) 延時 到達設定值后,動作將開始執(zhí)行;當步退出時,動作還將執(zhí) (設定值) 行,一直等到有 R 限定符給它復位之后,動作才將停止執(zhí)行。 在動作沒有被 R 停止之前,任何限定符也不能使得動作停止 (包括 P 限定符)。如果時間還沒有到達設定值時,步的轉(zhuǎn) 移條件已經(jīng)滿足,在這種情況下,計時還在進行,一直到時 間達到設定值后,動作將被執(zhí)行,此時不管當前步還是不是 原來的步了。 DS 延時和 延時開始置位型:當步開始激活時,開始計時,當時間到達 要加時間常數(shù) 存儲 設定值后,動作將開始執(zhí)行;當步退出時,動作還將執(zhí)行, (設定值) 一直等到有 R 限定符給它復位之后,動作才將停止執(zhí)行。在 動作沒有被 R 停止之前,任何限定符也不能使得動作停止 (包括 P 限定符)。如果時間還沒有到達設定值時,步的轉(zhuǎn) 移條件已經(jīng)滿足,在這種情況下,動作將不可能被執(zhí)行。 SL 存儲和 絕對限時結(jié)束型:在一定時間內(nèi)動作是活動的。當步開始激 要加時間常數(shù) 時限 活時,動作開始執(zhí)行;同時開始計時,當時間到達設定值后, (設定值) 動作將停止執(zhí)行。如果時間還沒有到達設定值時,步的轉(zhuǎn)移 條件已經(jīng)滿足,此時,動作還將繼續(xù)執(zhí)行,直到當時間到達 設定值后動作才會停止執(zhí)行。限制符 L、D、SD、DS 和 SL 需要 TIME 常量格式的時間值。 ? SFC 中的隱含變量 在 SFC 中可以隱含聲明的變量。每步的標志都存儲了步的狀態(tài)。 對于簡化步,步標志為<步名>。對于 IEC 步,步標志為<步名>.x。 當步是活動狀態(tài)的時候,步標志的值為 TRUE。當步是非活動狀態(tài)的時候,步標志的值 為 FALSE。 對于 IEC 步,可以使用變量<動作名>.x 詢問動作是否是活動的。對于 IEC 步,可以使用 - 144 -

第155頁

隱含變量<步名>.t 用來詢問步的活動時間。 ? SFC 標志 在 SFC 中,步的活動狀態(tài)時間取決于它的屬性狀態(tài)時間,有時會設置一些特殊標志。同 樣,可以設置變量來控制順序功能圖中的程序流。要使用這些標志,必須在全局或局部變量 中作為輸入或者輸出變量聲明這些標志。 SFCEnableLimit:BOOL 型變量,變量值是 TRUE 時,步的超時將會注冊在 SFCWError 中,忽略其它的超時。 SFCInit:BOOL 型變量,變量值是 TRUE 時,順序功能圖返回到初始化步,同時其它的 SFC 標志重置。只要變量有 TRUE 值,初始化步保持活躍,但不被執(zhí)行。只有當 SFCInit 被 重新設置為 FALSE,功能塊才恢復正常執(zhí)行。 SFCQuitError:BOOL 型的變量,變量值是 TRUE 時,SFC 圖停止執(zhí)行。在變量 SFCError 中,重置一個可能的超時。當變量重新獲得 FALSE 時,在活動步中所有以前的時間重置。 SFCPause:BOOL 型變量,變量值是 TRUE 時,SFC 圖停止執(zhí)行。 SFCError:當超時發(fā)生在 SFC 圖中時,設置這個邏輯變量。如果一個超時發(fā)生而變量 SFCError 不重置,則不會注冊其它超時。 SFCTrans:BOOL 型變量。當轉(zhuǎn)換執(zhí)行時,變量值為 TRUE。 SFCErrorStep:STRING 型變量,存儲一個導致超時發(fā)生的步名。 SFCErrorPOU:STRING 型變量,包含一個發(fā)生了超時的塊名。 SFCCurrentStep:STRING 型變量,步名存儲在活動變量中,不受時間監(jiān)視。一旦在同時 順序下,步存儲在右外側(cè)的分支里。 9.4.2 操作說明 ? 選中元素 被選中的元素周圍用點線矩形圈住。點擊鼠標左鍵,或用鍵盤的上下鍵可以選中元素。 按住 SHIFT 鍵,點擊鼠標左鍵可以選中一組元素。注意,刪除步時,必須同時選中此步前轉(zhuǎn) 移或后轉(zhuǎn)移,一起刪除。 ? “插入”/“前步轉(zhuǎn)移”: ,快捷鍵<Ctrl>+<T> 執(zhí)行此命令,在選中元素前面插入步和轉(zhuǎn)移。 ? “插入”/“后步轉(zhuǎn)移”: ,快捷鍵<Ctrl>+<E> 執(zhí)行此命令,在選中元素后面插入步和轉(zhuǎn)移。 ? “插入”/“右選擇分支”: ,快捷鍵<Ctrl>+<A> 選中元素必須以轉(zhuǎn)移開始和結(jié)束,執(zhí)行此命令,新插入的分支作為選中元素的右分支, 新分支包括一個轉(zhuǎn)移。 ? “插入”/“左選擇分支”: 選中元素必須以轉(zhuǎn)移開始和結(jié)束,新插入的分支作為選中元素的左分支,新分支包括一 個轉(zhuǎn)移。 ? “插入”/“右并行分支”: ,快捷鍵<Ctrl>+<L> - 145 -

第156頁

選中元素必須以步開始和結(jié)束,執(zhí)行此命令,新插入的分支作為選中元素的右分支,新 分支包括一個步。如果此并行分支需從其它元素跳轉(zhuǎn)過來,那么此并行分支還要加標簽。 ? “插入”/“左并行分支”: 選中元素必須以步開始和結(jié)束,執(zhí)行此命令,新插入的分支作為選中元素的左分支,新 分支包括一個步。如果此并行分支需從其它元素跳轉(zhuǎn)過來,那么此并行分支還要加標簽。 ? “插入”/“跳轉(zhuǎn)”: ,快捷鍵<Ctrl>+<U> 選中元素所在的分支必須是選擇分支,執(zhí)行此命令,在此分支末尾插入跳轉(zhuǎn)。新跳轉(zhuǎn)旁 邊有文本字符串 Step,可以改為要跳轉(zhuǎn)到的步的名字或并行分支的跳轉(zhuǎn)標簽。 ? “插入”/“轉(zhuǎn)移跳轉(zhuǎn)”: 選中元素所在的分支必須是并行分支,執(zhí)行此命令,在此分支末尾插入轉(zhuǎn)移和跳轉(zhuǎn)。新 跳轉(zhuǎn)旁邊有文本字符串 Step,可以改為要跳轉(zhuǎn)到的步的名字或并行分支的跳轉(zhuǎn)標簽。 ? “插入”/“添加入口動作” 入口動作只在步被激活時執(zhí)行一次,入口動作可以選擇一種語言編寫。帶入口動作的步 在左下腳有個“E”。 ? “插入”/“添加出口動作” 出口動作只在步被解除激活前執(zhí)行一次,出口動作可以選擇一種語言編寫。帶出口動作 的步在右下腳有個“X”。 ? “高級”“右側(cè)并行粘貼” 選中元素必須是以步開始和結(jié)束,執(zhí)行此命令,剪貼板的內(nèi)容作為選中元素的右分支。 剪貼板的內(nèi)容也必須以步開始和結(jié)束。 ? “高級”/“并行分支增加標簽” 選中元素必須是并行分支的前轉(zhuǎn)移,執(zhí)行此命令,此并行分支的上方出現(xiàn)標簽。標簽缺 省的是“Parallel”加“序列號”,可以編輯,如圖 9-4-5 所示,改為“abc”,刪除標簽名,就可以 刪除跳轉(zhuǎn)標簽。 - 146 -

第157頁

圖 9-4-5 并行分支增加標簽 ? “高級”/“后面粘貼” 選中元素,執(zhí)行此命令,剪貼板的內(nèi)容粘貼到選中元素的第一個步或轉(zhuǎn)移后面。 注意,普通的粘貼(“編輯”“粘貼”)會粘貼到選中元素的前面。 ? “高級”/“放大動作/轉(zhuǎn)移”:快捷鍵<Alt>+<Enter> 執(zhí)行此命令,彈出編輯器,查看動作或轉(zhuǎn)移條件。如果動作或轉(zhuǎn)移條件是空的,執(zhí)行此 命令,可以在彈出窗口中選擇一種語言,進入相應編輯器,編寫內(nèi)容。 注意,編輯器中的轉(zhuǎn)移條件優(yōu)先于直接在轉(zhuǎn)移標記中編寫的條件。如圖 9-4-6 所示,如 果 i>100,那么轉(zhuǎn)移條件是 FALSE,盡管轉(zhuǎn)移標記中寫的是 TRUE。 圖 9-4-6 轉(zhuǎn)移條件有優(yōu)先級 ? “高級”/“清除動作/轉(zhuǎn)移” 執(zhí)行此命令,清除動作或轉(zhuǎn)移。 ? 選擇分支 在 SFC 中,兩個以上的分支可定義為選擇分支。每個選擇分支必須開始和結(jié)束于轉(zhuǎn)換。 選擇分支包含并行分支和其它選擇分支。選擇分支開始于水平行(選擇開始)結(jié)束于水平行 (選擇結(jié)束)或者結(jié)束于跳轉(zhuǎn)。 如果選擇起始行之前的步是活動的,那么每個選擇分支的第一個轉(zhuǎn)換從左到右執(zhí)行。從 左邊開始,轉(zhuǎn)換條件是 TRUE 則第一個轉(zhuǎn)換被打開,隨后的步被激活。 - 147 -

第158頁

? 并行分支 在 SFC 中,兩個以上的分支可以定義成并行分支。每個并行分支開始和結(jié)束于一個步。 并行分支開始于一個雙行(并行開始)結(jié)束于一個雙行(并行結(jié)束)或者是一個跳轉(zhuǎn)。 如果前步的并行開始行是活動的,并且這一步的轉(zhuǎn)換條件是 TRUE,那么所有并行分支 的第一步都成為活動的。這些分支彼此是平行處理的。當前面的步都是活動的并且這一步之 前的轉(zhuǎn)換條件是 TRUE,則并行結(jié)束行之后的步被激活。 ? 跳轉(zhuǎn) 跳轉(zhuǎn)實際上是連接到有跳轉(zhuǎn)符號的步的操作。當不允許產(chǎn)生彼此交叉的連接時就需要跳 轉(zhuǎn)。 圖 9-4-7 所示是一個 SFC 語言典型功能的舉例。 - 148 -

第159頁

具有步動作的標記 初始化步 轉(zhuǎn)換條件 具有入口動作的標記 具有出口動作的標記 跳轉(zhuǎn)符號 圖 9-4-7 SFC 功能圖解說 9.5 連續(xù)功能圖 CFC 9.5.1 CFC 編輯器 CFC 是連續(xù)功能塊圖(Continuous Function Chart)的簡稱。CFC 是一種圖形化的編程語 言。CFC 基于 FBD 語言,但沒有網(wǎng)絡限制,擺放元素更加靈活。 CFC 編輯器是一種圖形編輯器,如圖 9-5-1 所示,通過菜單欄或鼠標右鍵可以進行編輯。 元素可以擺放在編程區(qū)任意位置。用鼠標拖拽在元素之間連線,當元素移動位置時,編輯器 會自動調(diào)整連線長度。當元素之間空間不夠時,連線會變?yōu)榧t色,一旦空間夠用,紅線會變 為普通連線。 - 149 -

第160頁

圖 9-5-1 CFC 編輯器 9.5.2 操作說明 CFC 的元素包括塊、輸入、輸出、跳轉(zhuǎn)、標記、返回和注釋等。其中塊分為操作符、函 數(shù)、功能塊和程序四種形式。 ? 光標位置 名稱 圖形元素 選中元素 文本域 輸入引腳和輸出引腳 光標位置 編程工具元素 光 標處 于各 元素 的 光標處于藍色區(qū)域及注 光標 處于元素 的輸入 的中繼線 釋的光標所在位置上 引腳和輸出引腳上 塊 輸入 —— —— 輸出 —— 跳轉(zhuǎn) 標記 返回 注釋 - 150 -

第161頁

? 選中元素 在元素中繼線處點擊鼠標左鍵,可以選中元素。 如果想同時選幾個元素,按住<Shift>鍵并選中單個元素。也可以用鼠標左鍵在編輯器中 畫矩形區(qū)域選中其中幾個元素?!备呒墶?“全選”選中所有元素。 ? 移動元素 當光標在位置 a 時,或按住<Shift>鍵同時選中幾個元素時,按住鼠標左鍵可以在編輯器 中移動元素,到合適的位置后釋放左鍵。如果釋放位置處已有其它元素或超出編輯區(qū),被移 動元素會跳回原位置,移動失敗。 ? 連線 一個元素的輸入引腳只能連一個輸出引腳(本元素的輸出引腳或其它元素的輸出引腳), 而一個元素的輸出引腳可以連幾個輸入引腳(本元素的輸入引腳或其它元素的輸入引腳)。 如圖 9-5-2 所示,有三種方式在 E1(a)和 E2(ADD)之間連線。在連線時,編輯器會檢查 雙方的數(shù)據(jù)類型是否匹配。如果不匹配,光標會變?yōu)椤敖埂睒邮?,連線失敗。 把鼠標放在 E1 的輸出引腳上,按下左鍵,拖拽到 E2 的輸入引腳上,釋放左鍵。 把鼠標放在 E2 的輸入引腳上,按下左鍵,拖拽到 E1 的輸出引腳上,釋放左鍵。 按下左鍵不放,移動 E1 或 E2,使它們的輸入引腳和輸出引腳接觸。 圖 9-5-2 連線 ? 刪除連線 如圖 9-5-2 所示,有三種方式刪除 E1(a)和 E2(ADD)之間的連線。選中 E1 的輸出 引腳,按下<Delete>鍵或“編輯”“刪除”,如果 E1 的輸出引腳有幾條線,則會同時刪除。選中 E2 的輸入引腳,按下<Delete>鍵或“編輯”“刪除”。選中 E2 的輸入引腳,用鼠標左鍵拖拽連線 到編輯器空白位置,釋放。 ? “插入”/“塊”: ,快捷鍵<Ctrl>+<B> 執(zhí)行此命令,可以插入操作符、函數(shù)、功能塊和程序。新插入的塊隨鼠標移動,移動到 合適的位置點擊鼠標左鍵,插入成功。起初插入的是 AND,可以把 AND 改為其他名稱?;? 者選中 AND,按功能鍵 F2,從幫助窗口中選擇名稱。 ? “插入”/“輸入”: ,快捷鍵<Ctrl>+<I> 執(zhí)行此命令,可以插入輸入。新插入的輸入隨鼠標移動,移動到合適的位置點擊鼠標左 鍵,插入成功。文本域“???”要輸入變量或常量。也可按功能鍵 F2,從幫助窗口中選擇。 ? “插入”/“輸出”: 執(zhí)行此命令,可以插入輸出。新插入的輸出隨鼠標移動,移動到合適的位置點擊鼠標左 鍵,插入成功。文本域“???”要輸入變量。也可以按功能鍵 F2,從幫助窗口中選擇。 - 151 -

第162頁

? “插入”/“跳轉(zhuǎn)”: ,快捷鍵<Ctrl>+<J> 執(zhí)行此命令,可以插入跳轉(zhuǎn)。新插入的跳轉(zhuǎn)隨鼠標移動,移動到合適的位置點擊鼠標左 鍵,插入成功。文本域“???”要輸入要跳轉(zhuǎn)到的跳轉(zhuǎn)標記。 ? “插入”/“標記”: ,快捷鍵<Ctrl>+<L> 執(zhí)行此命令,可以插入標記。新插入的標記隨鼠標移動,移動到合適的位置點擊鼠標左 鍵,插入成功。文本域“???”要輸入跳轉(zhuǎn)標記。在線模式時,編輯器自動在 POU 末尾自動插 入標記“RETURN”。 ? “插入”/“返回”: ,快捷鍵<Ctrl>+<R> 執(zhí)行此命令,可以插入返回。新插入的返回隨鼠標移動,移動到合適的位置點擊鼠標左 鍵,插入成功。注意,此處的“返回”和在線模式時的 POU 末尾的標記“RETURN”不同,標記 “RETURN”是為了 POU 結(jié)束本周期執(zhí)行之前,自動執(zhí)行下周期。 ? “插入”/“注釋”: ,快捷鍵<Ctrl>+<K> 執(zhí)行此命令,可以插入注釋,用<Ctrl>+<Enter>換行。新插入的注釋隨鼠標移動,移動 到合適的位置點擊鼠標左鍵,插入成功。 ? “高級”/“順序”/“顯示” 執(zhí)行此命令,切換執(zhí)行順序的顯示與否。缺省的是顯示(命令前有“√”)。 ? “高級”/“順序”/“拓撲” 執(zhí)行此命令,執(zhí)行順序根據(jù)拓撲結(jié)構(gòu)排列,也就是所有元素從上到下,從左到右排列。 注意,執(zhí)行順序顯示在元素的右上腳。 ? “高級”/“順序”/“根據(jù)數(shù)據(jù)流排列” 執(zhí)行此命令,執(zhí)行順序根據(jù)數(shù)據(jù)流排列,而不是根據(jù)元素所在的位置排列。 CFC 應用舉例如圖 9-5-3 所示。 圖 9-5-3 連續(xù)功能圖語言示例 - 152 -

第163頁

第10章 特殊功能 10.1 Modbus 通訊 LM 系列 PLC 可以通過 Modbus 協(xié)議與觸摸屏或組態(tài)軟件等第三方設備進行通訊。默認 狀態(tài)下,LM 系列 PLC 作為 Modbus RTU 從站。 LM 系列 PLC 的 RS232 端口和 RS485 端口均支持 Modbus RTU 從站協(xié)議。 10.1.1 Modbus 概述 Modbus 協(xié)議是主從站通訊協(xié)議,用異步串行口完成通訊,物理層采用 RS485 或 RS232。 傳輸速率可以達到 115kbps,理論上可接(尋址)一臺主站和至多 247 臺從站。受線路和設 備的限制,最多可接一臺主站和 32 臺從站。 Modbus 協(xié)議的某些特性是固定的,如幀格式、幀順序、通訊錯誤和異常情況的處理以 及所執(zhí)行的功能等,都不能隨便改動。其他特性屬于用戶可選的,如傳輸介質(zhì)、波特率、字 符奇偶校驗、停止位的個數(shù)等等,傳輸模式為 RTU。用戶所選擇的參數(shù)對于各個站必須一致, 在系統(tǒng)運行時不能改變。 10.1.2 Modbus 通訊功能 LM 系列 PLC 所支持的 Modbus RTU 通訊功能碼如表 10-1-1 所示。 表 10-1-1 Modbus 功能碼 功能碼 名稱 作用(對主站而言) 01 讀取開出狀態(tài) 取得一組開關量輸出的當前狀態(tài) 02 讀取開入狀態(tài) 取得一組開關量輸入的當前狀態(tài) 03 讀取模出狀態(tài) 取得一組模擬量輸出的當前狀態(tài) 04 讀取模入狀態(tài) 取得一組模擬量輸入的當前狀態(tài) 05 強制單路開出 強制設定某個開關量輸出的值 06 強制單路模出 強制設定某個模擬量輸出的值 15 強制多路開出 強制設定從站幾個開關量輸出的值 16 強制多路模出 強制設定從站幾個模擬量輸出的值 Modbus RTU 協(xié)議能訪問的數(shù)據(jù)區(qū)包括: 輸入?yún)^(qū)(I)、輸出區(qū)(Q)、中間區(qū)(M) 這三個數(shù)據(jù)區(qū),均可通過 BOOL 型或 WORD 型數(shù)據(jù)訪問。這些數(shù)據(jù)區(qū)與 Modbus 協(xié)議 地址映射關系,如表 10-1-2 所示: - 153 -

第164頁

表 10-1-2 LM 系列 PLC 數(shù)據(jù)區(qū) Modbus 地址映射關系 數(shù)據(jù)區(qū) 類型 地址范圍 Modbus 映射公式 Modbus 地址 數(shù)據(jù)類型 IXm.n:m*8+n I %IX BOOL %IX0.0~%IX511.7 0~4095 IWm:m/2 1x 3x 區(qū) %IW WORD %IW0~%IW510 0~255 QXm.n:m*8+n 0x QWm:m/2 4x Q %QX BOOL %QX0.0~%QX511.7 0~4095 0x MXm.n:m*8+n+3000 4x 區(qū) %QW WORD %QW0~%QW510 0~255 MWm:m/2+3000 M %MX BOOL %MX0.0~%MX7816.7 3000~65535 區(qū) %MW WORD %MW0~%MW8190 3000~7095 部分 HMI 數(shù)據(jù)地址從 1 開始,若使用 Modbus RTU 協(xié)議與 PLC 通訊,在填入數(shù)據(jù)地址 時,需要在映射地址公式基礎上加 1。如:%MX100.0,其地址應為 100*8+0+3000+1=3801。 此類 HMI 如:Eview、MCGS、Weinview 等觸摸屏和組態(tài)王、三維力控等組態(tài)軟件。但有的 HMI 數(shù)據(jù)地址則無需在映射地址公式基礎上加 1,如:Hitech 等。 注意: 1、 M 區(qū)大小為 8K,其地址按 BOOL 類型訪問,從%MX0.0~%MX8191.7,但是根據(jù) Modbus 協(xié)議,其 地址最大范圍為 65535,所以通過 Modbus 協(xié)議訪問 M 區(qū)的開關量,最大只能訪問到%MX7816.7。 2、 表中所列的 I 區(qū)和 Q 區(qū)范圍為最大的可能范圍,具體情況需根據(jù)實際配置進行計算。對于不存在的 I 區(qū)和 Q 區(qū)數(shù)據(jù)無法進行通訊。 10.1.3 Modbus 通訊舉例 LM 系列 PLC 的 RS232 和 RS485 均可獨立配置為 Modbus RTU 從站協(xié)議。在通訊時, PLC 端需要設置從站地址及通訊參數(shù)。LM 系列 PLC 默認的從站地址為 51,通訊參數(shù)為 38400,n ,8, 1。 設置 PLC 從站地址,需使用 SET_LOCAL_ADDRESS 指令設置 RS232 口的從站地址, 對 LM3108/9-D02 及后續(xù)版本使用 SET_LOCAL_ADDRESS_RS485 指令設置 RS485 口的從站 地 址。 設置通 訊參 數(shù), RS232 串口 使用 Reset_COMM_PRMT 指 令, RS485 串 口使 用 Reset_COMM2_PRMT 指令。具體指令使用方法,請參見《指令手冊》。 圖 10-1-1 為設置從站地址為 5,RS232 串口波特率為 9600,數(shù)據(jù)位為 8,停止位為 1, 校驗方式為無校驗的設置方法。 - 154 -

第165頁

圖 10-1-1 10.2 中斷 10.2.1 中斷概述 中斷指當 PLC 接到外界硬件或內(nèi)部發(fā)來的特殊信號時,馬上停止原來的工作,轉(zhuǎn)去處理 這一事件,在處理完了以后,PLC 又回到原來的工作繼續(xù)工作的過程。產(chǎn)生中斷的信號稱為 中斷源。 LM 系列 PLC 可處理多種中斷源產(chǎn)生的中斷信號。各種中斷源是有優(yōu)先級區(qū)別的,當兩 個中斷同時到來的時候,優(yōu)先級高的中斷先被執(zhí)行。 表 10-2-1 是 LM 系列 PLC 能處理的中斷源。 表 10-2-1 中斷事件 名稱 描述 Start 當程序開始時調(diào)用 Stop 當程序停止時調(diào)用 Debug_loop Taskcode not called 當調(diào)試循環(huán)運行時被調(diào)用 Fast External 0 interupt Fast External 1 interupt 不調(diào)用任務代碼 Fast External 2 interupt 快速外部中斷 0 產(chǎn)生時調(diào)用 Fast External 3 interupt 快速外部中斷 1 產(chǎn)生時調(diào)用 HD_TC7 interupt 快速外部中斷 2 產(chǎn)生時調(diào)用 HD_TC2 interupt 快速外部中斷 3 產(chǎn)生時調(diào)用 HD_TC3 interupt 定時器 T7 中斷產(chǎn)生時調(diào)用 HD_TC4 interupt 高速計數(shù)器 T2 產(chǎn)生中斷時調(diào)用 HD_RTC_ALM0 interupt 高速計數(shù)器 T3 產(chǎn)生中斷時調(diào)用 PTO_0 Finished interupt 高速計數(shù)器 T4 產(chǎn)生中斷時調(diào)用 PTO_1 Finished interupt 實時時鐘報警 0 產(chǎn)生中斷時調(diào)用 QX1.1 高速脈沖輸出結(jié)束中斷時調(diào)用 QX0.3 高速脈沖輸出結(jié)束中斷時調(diào)用 10.2.2 中斷使用舉例 使用中斷,需要完成兩項工作。其一,需要編寫一個中斷服務程序。所謂中斷服務程序 是指在產(chǎn)生中斷后,PLC 所要執(zhí)行的程序。編寫中斷服務程序的過程就是編寫子程序的過程, 請參見 7.4.7 章節(jié)。其二,完成中斷服務程序后,需要進行任務配置,配置所產(chǎn)生的中斷及相 應的中斷服務程序。在“資源”選項卡中,雙擊“任務配置”,右側(cè)彈出任務配置窗口,點擊窗 口中“任務配置”下的“System events”,右邊窗口顯示所有可用的系統(tǒng)事件,如圖 10-2-1 所示。 在右邊窗口中選擇需要使用的系統(tǒng)事件,即在系統(tǒng)事件的前面方框里打勾,然后在該系統(tǒng)事 件后面的“called POU”處,填入事件觸發(fā)時所需要調(diào)用的中斷服務程序。 下面舉例說明中斷的使用方法。 - 155 -

第166頁

圖 10-2-1 中斷調(diào)用對話框 ? 舉例 ? 要求 不受 PLC 掃描周期的影響,實現(xiàn)下列功能: 每當 I0.6 到達一個上升沿,PLC 立刻響應該脈沖,并產(chǎn)生一個中斷,%MW100 中的值 增加 10。 每當 I0.7 到達一個上升沿,PLC 立刻響應該脈沖,并產(chǎn)生一個中斷,%MW102 中的值 增加 15。 ? 程序分析 按上述要求,硬件選用 CPU 模塊 LM3106,軟件需要使用以下指令: Fast_ExINT_E(快速外部中斷) 程序分為如下 3 個部分: 主程序—定義 CPU 模塊 LM3106 的快速外部中斷模式。 INT3PRO—I0.6 脈沖到達執(zhí)行的中斷程序,%MW100 中的值增加 10。 INT2PRO—I0.7 脈沖到達執(zhí)行的中斷程序,%MW102 中的值增加 15。 ? 程序編制 主程序: 首先要將程序所用到的庫 Hollysys_PLC_Ex_ExINT.lib 添加到庫管理器。按照要求,I0.6 和 I0.7 每到達一個上升沿,就產(chǎn)生一個中斷,I1.0 不使用,則 Fast_ExINT_E 功能塊的 Mode=16#50,主程序的變量定義和梯形圖如圖 10-2-2 所示。 圖 10-2-2 主程序的變量定義和梯形圖 - 156 -

第167頁

由于使用了快速外部中斷 3(I0.6)和快速外部中斷 2(I0.7),所以在如圖 10-2-3 所示 的位置前打勾。 圖 10-2-3 快速外部中斷選擇 在 Fast External 2 interrupt 和 Fast External 3 interrupt 后面分別創(chuàng)建一個子程序 INT2Pro 和 INT3Pro,分別點擊 Create POU,則 2 個中斷程序被創(chuàng)建成功,如圖 10-2-4 所示。 圖 10-2-4 創(chuàng)建中斷程序 所創(chuàng)建的中斷程序默認為 ST 語言,可以選擇轉(zhuǎn)換為 LD 語言。轉(zhuǎn)換前需要編譯通過,如 圖 10-2-5 所示。 圖 10-2-5 將 ST 轉(zhuǎn)換為 LD - 157 -

第168頁

INT3Pro 中斷程序梯形圖如圖 10-2-6 所示。 圖 10-2-6 INT3Pro 中斷程序梯形圖 INT2Pro 中斷程序梯形圖如圖 10-2-7 所示。 圖 10-2-7 INT2Pro 中斷程序梯形圖 然后就可以在 INT2Pro 和 INT3Pro 中編寫梯形圖程序。當然也可以不進行語言的轉(zhuǎn)化, 使用 ST 直接編寫。當系統(tǒng)事件觸發(fā)時,調(diào)用相應的程序。 注意,系統(tǒng)事件不支持仿真模式,只有在程序編譯通過且登錄運行后才會響應該事件。 當一次進行多個任務配置時,要求先進行全部編譯之后,再保存文件。 10.3 模擬量功能使用 10.3.1 模擬量模塊尋址 LM 系列 PLC 在使用模擬量模塊時,首先需要知道該模塊所占用的地址。無論是模擬量 輸入還是模擬量輸出模塊,都需要占用 PLC 的輸入?yún)^(qū)或輸出區(qū)。在 PLC 配置時,配置了模 擬量模塊,則系統(tǒng)自動給該模塊配置了數(shù)據(jù)地址。 以 LM3310 為例。如圖 10-3-1 所示,在 LM3107 模塊后配置四通道模擬量輸入模塊 LM3310,則系統(tǒng)自動給 LM3310 分配了%IW2、%IW4、%IW6、%IW8 四個字的地址,每個 字代表一個通道的采集數(shù)值。 - 158 -

第169頁

圖 10-3-1 模擬量輸入模塊配置表 對于模擬量輸出模塊,則系統(tǒng)會自動分配 Q 區(qū)。諸如%QW2,若要輸出模擬量,則需 給%QW2 賦值。 在程序中,可以直接使用這些地址表示該通道的數(shù)值。通道數(shù)值與實際量程的關系,如 下表所示。 表 10-3-1 模擬量模塊的量程及范圍 模塊 量程 范圍 輸入:0~10V(電壓)、0~20mA(電流) 0~10000 LM3107E 輸出:0~10V(電壓)、0~20mA(電流) 0~4095 輸入:0~10V(電壓)、0~20mA(電流)、4~20mA(電流) 0~65535 LM3310/A/B 輸出:0~10V(電壓)、0~20mA(電流) 0~4095 LM3320 輸入:-10~10V (電壓)、-20mA~20mA(電流) -32000~32000 LM3313 輸入:0~10V(電壓)、0~20mA(電流)、4~20mA(電流) 0~65535 輸出:0~10V(電壓)、0~20mA(電流) 0~4095 LM3330 10.3.2 模擬量模塊使用 如果 PLC 配置中使用了模擬量輸入擴展模塊,則程序中需調(diào)用模擬量輸入擴展指令 ANALOG_IN。該指令所需填入的參數(shù) Address,與該模擬量輸入模塊的節(jié)點 id 一致。如圖 10-3-1 所示的 LM3310,則在程序中,需填入的 Address 值為 0。 如果需要使用多個模擬量輸入模塊,則需要配置多個 Analog_IN 指令,每個指令對應的 Address 輸入值應與對應模塊的節(jié)點 id 號保持一致。 如果 PLC 配置中使用了模擬量輸出擴展模塊,則程序中需調(diào)用模擬量輸出擴展指令 ANALOG_OUT。該指令所需填入的參數(shù) Address,與該模擬量輸出模塊的節(jié)點 id 一致。 如果需要使用多個模擬量輸出模塊,則需要配置多個 Analog_OUT 指令,每個指令對應 的 Address 輸入值應與對應模塊的節(jié)點 id 號保持一致。 具體指令的使用方法,請參見《指令手冊》。 在 PLC 配置模擬量模塊后,還需對模塊進行參數(shù)設置。只有設置正確的模塊,才能正確 的使用。參數(shù)設置主要包括濾波設置、各通道量程設置、使能設置等。具體設置參數(shù)請參見 《硬件手冊》。關于模擬量模塊配置,也可以參見 7.3.2 章節(jié)。 - 159 -

第170頁

注意: 1、 對于 LM3107E 模塊,在使用到模擬量處理的時候,無需添加 ANALOG_IN 和 ANALOG_OUT 指令。 2、 對于 LM3330 模塊,同時使用模擬量輸入和模擬量輸出功能時,需添加 ANALOG_IN 和 ANALOG_OUT 指令。 10.3.3 模擬量模塊使用舉例 以 LM3330 模塊為例,說明模擬量的使用。LM3330 模塊為 4 通道模擬量輸入、1 通道模 擬量輸出模塊。使用 LM3330 的第一個通道采集壓力變送器的數(shù)值,其量程為 4~20mA,而 輸出通道用于控制閥門開度,量程為 0~10V。CPU 選用 LM3107 模塊。 PLC 配置如圖 10-3-2 所示,模塊節(jié)點 id 為 0。 圖 10-3-2 LM3330 配置 從配置中可以知道,LM3330 的輸入通道所占的地址為%IW2、%IW4、%IW6、%IW8, 輸出通道占用地址為%QW2。配置完成后,需要對 LM3330 模塊進行參數(shù)設置。為保證采集 的數(shù)據(jù)比較穩(wěn)定,設置模塊濾波參數(shù)為 16,如圖 10-3-3 所示。 圖 10-3-3 設置濾波參數(shù) 設置完濾波參數(shù)后,還需要設置輸入通道和輸出通道的量程,如圖 10-3-4 和 10-3-5 所示。 將第一個輸入通道%IW2 的量程設置為 4~20mA,輸出通道%QW2 的量程設置為 0~10V。 - 160 -

第171頁

圖 10-3-4 設置輸入通道的量程 圖 10-3-5 設置輸出通道的量程 設置完成后,開始進入編程。首先需要在程序中添加 ANALOG_IN 和 ANALOG_OUT 指令,參數(shù) Address 均為 0。在使用這兩個指令之前,首先需要添加相應的庫指令。這兩個 指令均在 Hollysys_PLC_analog.lib 庫中。關于庫的操作,請參見 7.4.4 章節(jié)內(nèi)容。 模擬量輸入通道的量程為 4~20mA,參見表 10-3-1 可知,其對應的數(shù)值為 0~65535, 即%IW2 的范圍為 0~65535,0 表示采集到的電流信號為 4mA,而 65535 表示采集到的電流 信號為 20mA。 模擬量輸出通道的量程為 0~10V,參見表 10-3-1 可知,其對應的數(shù)值為 0~4095,即%QW2 的范圍為 0~4095,0 表示輸出 0V 電壓,而 4095 表示輸出 10V 電壓 。 程序如圖 10-3-6 所示。第一節(jié)和第二節(jié)添加了模擬量處理指令。第三節(jié)為模擬量輸入和 輸出的讀取和設置。這里,還用到了另外一個指令 H_E,這個指令的作用是完成工程量的轉(zhuǎn) 換,將%IW2 讀取到的數(shù)值轉(zhuǎn)換為實際的物理量,程序中將轉(zhuǎn)換后的物理量放入 pressure 變 量。%IW2 的范圍為 0~65535,數(shù)據(jù)類型為整型,而 pressure 的范圍為 4~20 mA,數(shù)據(jù)類型 為 REAL 類型。關于該指令的用法,請參見《指令手冊》。 在輸出處理時,只是簡單地將一個變量賦值為%QW2,當%QW2 的范圍在 0~4095 之間 時,LM3330 模塊輸出 0~10V 的電壓。 - 161 -

第172頁

圖 10-3-6 程序 10.4 DP 通訊 10.4.1 DP 通訊設置 LM 系列 PLC 提供 Profibus-DP 通訊處理。LM3401 為 DP 通訊模塊,提供 DP 從站通訊 功能。 在完成 PLC 配置后,需要對 LM3401 模塊進行參數(shù)設置,主要設置參數(shù)為輸入?yún)^(qū)和輸出 區(qū)大小。LM3401 模塊參數(shù)設置如圖 10-4-1 所示,其中 Value 值可選 0-64。在圖 10-4-1 中, Value 值為 64。有關 LM3401 模塊的具體技術(shù)規(guī)格請參見《硬件手冊》。 圖 10-4-1 LM3401 模塊參數(shù)設置 與模擬量使用方法類似,在使用 DP 通訊時,也需要添加一個指令 DP_Slave。DP_Slave 指令的程序,如圖 10-4-2 所示。其中 Address 處的輸入值 0 應與 PLC 配置表中 LM3401 的節(jié) 點 id 一致。 當 EN 置位時,對 DP 模塊進行掃描。當 EN 復位時,不對 DP 模塊進行掃描。 - 162 -

第173頁

圖 10-4-2 DP_Slave 功能塊 配置了 LM3401 后,系統(tǒng)自動分配了輸入?yún)^(qū)和輸出區(qū),如圖 10-4-3 所示。輸入?yún)^(qū)從%IW2 開始的 64 個字節(jié),輸出區(qū)從%QW2 開始的 64 個字節(jié)。DP 主站設備與 LM 系列 PLC 通訊就 是與這些輸入?yún)^(qū)和輸出區(qū)進行通訊,完成數(shù)據(jù)交換。輸入?yún)^(qū)用于存放主站發(fā)送過來的數(shù)據(jù), 而若 LM 系列 PLC 要發(fā)送數(shù)據(jù)給主站,需要將數(shù)據(jù)放置于 LM3401 的輸出區(qū)。 圖 10-4-3 DP_Slave 配置表 10.4.2 DP 通訊舉例 下面作一個簡單的 Profibus-DP 功能塊的應用實例。 程序要求:PLC 通過 DP 從站模塊向 DP 主站模塊發(fā)送 8 個字節(jié)的數(shù)據(jù),同時從 DP 主站 模塊接收 8 個字節(jié)的數(shù)據(jù)。 變量定義: PROGRAM PLC_PRG VAR EN: BOOL; Example: DP_Slave; T_OR_F: BOOL; SendDataA: WORD; PLC 向 DP 主站發(fā)送的數(shù)據(jù) A SendDataB: WORD; PLC 向 DP 主站發(fā)送的數(shù)據(jù) B SendDataC: WORD; PLC 向 DP 主站發(fā)送的數(shù)據(jù) C SendDataD: WORD; PLC 向 DP 主站發(fā)送的數(shù)據(jù) D - 163 -

第174頁

RecDataA: WORD; DP 主站向 PLC 發(fā)送的數(shù)據(jù) A RecDataB: WORD; DP 主站向 PLC 發(fā)送的數(shù)據(jù) B RecDataC: WORD; DP 主站向 PLC 發(fā)送的數(shù)據(jù) C RecDataD: WORD; DP 主站向 PLC 發(fā)送的數(shù)據(jù) D END_VAR 軟件配置: 配置 DP 從站模塊 LM3401,如圖 10-4-4 所示。 InputDataLen_Byte 為 DP 主站向 PLC 發(fā)送的數(shù)據(jù)長度,輸入接收的字節(jié)數(shù) 8。 OutputDataLen_Byte 為 PLC 向 DP 主站發(fā)送的數(shù)據(jù)長度,輸出發(fā)送的字節(jié)數(shù) 8。 圖 10-4-4 LM3401 模塊參數(shù)設置 DP_Slave 模塊中的 Address 與圖 10-4-5 所示的節(jié)點號一致,DP 主站向 PLC 發(fā)送的數(shù)據(jù) A、B、C、D 分別存放在圖 10-4-5 所示的%IW2、%IW4、%IW6、%IW8 之中。 圖 10-4-5 LM3401 配置表 PLC 向 DP 主 站 發(fā) 送 的 數(shù) 據(jù) A 、 B 、 C 、 D 分 別 存 放 在 圖 10-4-6 所 示 的%QW2、%QW4、%QW6、%QW8 之中。 圖 10-4-6 LM3401 通道 - 164 -

第175頁

配置 DP 主站的接收和發(fā)送區(qū),DP 從站的 QW 區(qū)數(shù)據(jù)會自動傳送到 DP 主站的接收區(qū), DP 主站的發(fā)送區(qū)數(shù)據(jù)會自動傳送到 DP 從站的 IW 區(qū)。梯形圖如圖 10-4-7 所示。 圖 10-4-7 LM3401 梯形圖 系統(tǒng)上電后,程序?qū)?SendDataA、SendDataB、SendDataC、SendDataD 中的數(shù)據(jù)復制 到%QW2、%QW4、%QW6、%QW8 中,%QW2、%QW4、%QW6、%QW8 中的數(shù)據(jù)會自動 發(fā)送到 DP 主站的接收區(qū)。 DP 主 站 發(fā) 送 的 數(shù) 據(jù) 自 動 存 放 在 %IW2 、 %IW4 、 %IW6 、 %IW8 中 , 程 序 將%IW2、%IW4、%IW6、%IW8 中的數(shù)據(jù)分別復制到 RecDataA、RecDataB、RecDataC、 RecDataD 中。 在主站配置中,其配置地址根據(jù) DP 模塊的地址順序計算,假如按位計算,第一個位的 地址為 1,諸如%IX2.0 或%QX2.0,第二個位地址為 2,諸如%IX2.1 或%QX2.1。按字節(jié)計算, 第一個字節(jié)地址為 1,諸如%IB2 或%QB2,第二個字節(jié)地址為 2,諸如%IB3 或%QB3,以此 類推。 10.5 以太網(wǎng)通訊 10.5.1 以太網(wǎng)通訊設置 LM 系列 PLC 提供以太網(wǎng)通訊處理。LM3403 為以太網(wǎng)通訊模塊,提供 Modbus TCP 從 站通訊功能。 - 165 -

第176頁

在完成 PLC 配置后,需要對 LM3403 模塊進行參數(shù)設置,主要設置參數(shù)為輸入?yún)^(qū)和輸出 區(qū)大小。LM3403 模塊參數(shù)設置如圖 10-5-1 所示。在圖 10-5-1 中,分別配置 IP 地址 IP_Address、 子網(wǎng)掩碼 Subnet_Mask、網(wǎng)關 Gateway_Adress、輸入?yún)^(qū)大小 WriteDataLen_Byte 和輸出區(qū)大小 ReadDataLen_Byte、MAC 地址 MAC_Address 等參數(shù)。有關 LM3401 模塊的具體技術(shù)規(guī)格請 參見《硬件手冊》。 圖 10-5-1 LM3403 模塊參數(shù)設置 與模擬量使用方法類似,在使用以太網(wǎng)通訊時,也需要添加一個指令 EtherNet_TCP。 EtherNet_TCP 指令的程序如圖 10-5-2 所示。其中 Address 處的輸入值 0 應與 PLC 配置表中 LM3403 的節(jié)點 id 一致。 當 EN 置位時,對以太網(wǎng)模塊進行掃描。當 EN 復位時,不對以太網(wǎng)模塊進行掃描。 圖 10-5-2 EtherNet_TCP 梯形圖 配置了 LM3403 后,系統(tǒng)自動分配了輸入?yún)^(qū)和輸出區(qū),如圖 10-5-3 所示。輸入?yún)^(qū)從%IW2 開始的 200 字節(jié),輸出區(qū)從%QW2 開始的 200 個字節(jié)。Modbus TCP 主站設備與 LM 系列 PLC 通訊,就是與這些輸入?yún)^(qū)和輸出區(qū)進行通訊,完成數(shù)據(jù)交換。輸入?yún)^(qū)用于存放主站發(fā)送過來 的數(shù)據(jù),而若 LM 系列 PLC 要發(fā)送數(shù)據(jù)給主站,需要將數(shù)據(jù)放置于 LM3403 的輸出區(qū)。 圖 10-5-3 EtherNet_TCP 配置表 - 166 -

第177頁

10.5.2 以太網(wǎng)通訊舉例 本例中,PC 機(MODBUS/TCP 主站)通過以太網(wǎng)模塊向 PLC 輸入?yún)^(qū)發(fā)送 2 個字的數(shù)據(jù),從 PLC 輸出區(qū)接收 2 個字的數(shù)據(jù),同時 PC 機按位操作向 PLC 輸入?yún)^(qū)發(fā)送 1 個位,從 PLC 輸出 區(qū)接收 1 個位。 變量定義 PROGRAM PLC_PRG VAR EN: BOOL; Example: EtherNet_TCP; T_OR_F: BOOL; SendDataA: WORD; (*PLC 向 MODBUS/TCP 主站發(fā)送的數(shù)據(jù) A*) SendDataB: WORD; (*PLC 向 MODBUS/TCP 主站發(fā)送的數(shù)據(jù) B*) SendBitC: BOOL; (*PLC 向 MODBUS/TCP 主站發(fā)送的位 C*) RecDataA: WORD; (*MODBUS/TCP 主站向 PLC 發(fā)送的數(shù)據(jù) A*) RecDataB: WORD; (*MODBUS/TCP 主站向 PLC 發(fā)送的數(shù)據(jù) B*) RecBitC: BOOL; (*MODBUS/TCP 主站向 PLC 發(fā)送的位 C*) END_VAR 軟件配置 ? 配置LM3403以太網(wǎng)模塊如圖10-5-4。 圖 10-5-4 LM3403 配置 ? IP_Address 為本以太網(wǎng)模塊 IP 地址(必須與 PC 機在同一網(wǎng)段,且無沖突的 IP 地址)。 ? Subnet_Mask 為子網(wǎng)掩碼,與 PC 機的子網(wǎng)掩碼一致。 ? GateWay_Addres 為網(wǎng)關地址。 ? MAC_Address 不填。 ? ReadDataLen_Byte 為 PC 機向 PLC 發(fā)送的數(shù)據(jù)長度,輸入接收的字節(jié)數(shù) 8(必須大 于實際用到的長度,且最大 200)。 ? WriteDataLen_Byte 為 PLC 向 PC 機發(fā)送的數(shù)據(jù)長度,輸出發(fā)送的字節(jié)數(shù) 8(必須大 于實際用到的長度,且最大 200)。 ? 以太網(wǎng)功能塊中的Address與圖10-5-5所示的節(jié)點id一致,PC機向PLC發(fā)送的數(shù)據(jù)A、 B分別存放在下圖所示的%IW4、%IW6,位C存放在%IX8.0。 - 167 -

第178頁

圖 10-5-5 ? PLC向PC機發(fā)送的數(shù)據(jù)A、B分別存放在圖10-5-6所示的%QW2、%QW4之中,位C 存放在%QX6.0。 圖 10-5-6 輸出區(qū)地址 程序如 10-5-7 所示。在主站配置中,其配置地址根據(jù)以太網(wǎng)模塊的地址順序計算,假如 按位計算,第一個位的地址為 1,諸如%IX2.0 或%QX2.0,第二個位地址為 2,諸如%IX2.1 或%QX2.1。按字節(jié)計算,第一個字節(jié)地址為 1,諸如%IB2 或%QB2,第二個字節(jié)地址為 2, 諸如%IB3 或%QB3,以此類推。 圖 10-5-7 程序 注意:在以太網(wǎng)的主站配置中,I 區(qū)對應的位地址類型為 0x,字地址類型為 4x,Q 區(qū)對應位地 址類型為 1x,子地址類型為 3x。 - 168 -

第179頁

第11章 視圖 視圖(Visualization)是 PowerPro 軟件的一個組件,能夠以圖形的方式顯示工程變量及 其變化規(guī)律,用于實現(xiàn)控制過程的可視化。因此,視圖是 PLC 的人機界面(Human Machine Interface,HMI)。 PowerPro 軟件的編程系統(tǒng)帶有一個集成的視圖編輯器。在開發(fā)控制系統(tǒng)應用程序的過程 中,PowerPro 軟件允許用戶開發(fā)視圖對象來觀察和操作 PLC 的數(shù)據(jù),而無需使用其它的開 發(fā)工具。 11.1 創(chuàng)建視圖文件 啟動 PowerPro 軟件,創(chuàng)建工程 project1.pro。在對象組織器中,點擊“視圖”選項卡,如圖 11-1-1 所示。 圖 11-1-1 視圖選項卡 在“視圖”選項卡中點擊鼠標右鍵,選擇“添加”按鈕,如圖 11-1-2 所示。 圖 11-1-2 添加視圖 - 169 -

第180頁

彈出視圖名稱對話框,如圖 11-1-3 所示。 圖 11-1-3 視圖名稱 在“可視名”中輸入視圖的名稱,例如 visu1,點擊“確認”按鈕,則在視圖選項卡中創(chuàng)建了 一個名為 visu1 的視圖,右側(cè)的工作區(qū)域為視圖編輯區(qū)域,如圖 11-1-4 所示。 圖 11-1-4 創(chuàng)建視圖 visu1 11.2 視圖編輯工具 編輯視圖的工具位于視圖編輯區(qū)域頂端的標題欄內(nèi),包括下拉菜單和快捷工具按鈕。 點擊標題欄的“插入”菜單,出現(xiàn)編輯視圖的“插入”下拉菜單,如圖 11-2-1 所示,可以選 擇不同的插入對象來添加所需的視圖。這些視圖對象是視圖文件的基本組成單元。 - 170 -

第181頁

圖 11-2-1 視圖“插入”菜單 點擊標題欄的“高級”菜單,出現(xiàn)編輯視圖的“高級”下拉菜單,如圖 11-2-2 所示,可以 對視圖對象的屬性進行配置。在視圖編輯區(qū)域點擊鼠標右鍵也會彈出此菜單。 圖 11-2-2 視圖“高級”菜單 編輯視圖的快捷工具按鈕位于視圖編輯區(qū)域頂端標題欄的工具欄中,如圖 11-2-3 所示, 與“插入”菜單完全相同。編輯視圖的工具共有 15 種,其功能如表 11-2-1 所示。 圖 11-2-3 視圖快捷工具按鈕菜單 - 171 -

第182頁

表 11-2-1 編輯視圖工具 名稱 快捷工具 功能描述 在當前視圖中插入矩形。 矩形 在當前視圖中插入圓角矩形。 在當前視圖中插入圓或橢圓。 圓角矩形 在當前視圖中插入多邊形。 在當前視圖中插入直線或折線。 橢圓 在當前視圖中插入貝塞爾曲線。 在當前視圖中插入餅圖(圓或橢圓的楔形圖)。 多邊形 在當前視圖中插入位圖文件。 在當前視圖中插入已經(jīng)創(chuàng)建的其它視圖。 折線 在當前視圖中插入按鈕。 在當前視圖中插入 WMF 文件(Windows Metafile, 曲線 即 Windows 圖元文件格式)。 在當前視圖中插入表格。 Pie 圖 在當前視圖中插入趨勢圖。 在當前視圖中插入報警表格。 位圖 在當前視圖中插入 ActiveX 控件。 視圖 按鈕 WMF 文件 表 趨勢圖 報警表 ActiveX 控件 11.3 視圖編輯方法 11.3.1 繪制視圖 在編輯視圖時,將鼠標移到視圖編輯工具按鈕處,會看到相關工具的自動提示。 ? 繪制矩形、圓角矩形、圓或橢圓等規(guī)則視圖 在需要的工具按鈕位置點擊鼠標左鍵,選中所需的視圖,然后將鼠標移動到視圖編輯區(qū) 域中需要繪制所選視圖的位置。按下鼠標左鍵并拖動到所需視圖的尺寸,抬起鼠標左鍵即可 - 172 -

第183頁

完成所選視圖的繪制。 ? 繪制多邊形、折線等不規(guī)則視圖 在需要的工具按鈕位置點擊鼠標左鍵,選中所需的視圖,然后將鼠標移動到視圖編輯區(qū) 域中需要繪制所選視圖的位置。在不規(guī)則視圖的各個頂點處依次點擊鼠標左鍵,可以畫出不 規(guī)則視圖的各條邊,在最后的頂點處雙擊鼠標左鍵,即可完成不規(guī)則視圖的繪制。 ? 繪制曲線 一條曲線由初始點、中間點和結(jié)束點等三個點來確定。依次點擊鼠標左鍵三次即可完成 一條曲線的繪制。點擊鼠標左鍵確定曲線的初始點、中間點和結(jié)束點,以確定曲線的長度和 弧度。鼠標左鍵第三次點擊后,可以通過移動鼠標來改變曲線結(jié)束點的位置。雙擊鼠標左鍵 結(jié)束曲線繪制過程。 ? 復制視圖 使用“編輯”/“復制”命令,或者<Ctrl>+<C>復合鍵,可以復制所選擇的一個或多個視圖對 象。復制視圖的另外一種方法是,選擇要復制的視圖對象,按下<Ctrl>鍵的同時點擊該視圖 對象,則會在原來的視圖對象上產(chǎn)生復制的視圖對象。 ? 視圖中的狀態(tài)欄 在視圖中,鼠標指針的 X、Y 位置顯示在狀態(tài)欄上。狀態(tài)欄上的位置值總是相對于視圖 的左上角。當鼠標位于視圖對象上或者正在編輯視圖對象時,狀態(tài)欄上顯示該視圖對象的順 序號碼。如果選擇了要插入的視圖對象,狀態(tài)欄也會顯示該視圖對象的名稱。 11.3.2 布置視圖 在繪制視圖的過程中,需要對視圖進行修改和布置。 ? 選擇 用鼠標左鍵點擊視圖對象可以將其選中。 可以按下<Tab>鍵,選擇視圖對象中的第一個視圖對象,再次按下<Tab>鍵則選擇下一個 視圖對象。如果同時按下<Tab>和<Shift>鍵,可以按照視圖對象中相反的順序選擇。 在選擇一個視圖對象后按下<Shift>鍵,同時點擊相應的視圖對象,可以選擇多個視圖對 象。也可以按住鼠標左鍵不放,在要選擇的視圖對象上拉一個窗口,同樣可選擇多個對象。 ? 全選 標題欄“高級”菜單中的“全選”菜單可以將當前視圖中的所有視圖對象全部選中。 ? 選擇方式 如果標題欄“高級”菜單的“選擇方式”菜單前有“√”,或者快捷工具欄中表示鼠標狀態(tài)的 快捷工具按鈕被按下時,表示此時處于“選擇”狀態(tài),可以選擇視圖對象。否則處于繪圖狀態(tài)。 ? 選擇方式和插入方式的切換 視圖對象插入后,自動回到選擇方式。如果要用同樣方式再插入對象,可以再次選擇相 應的菜單命令。 切換的另外一種方法是在選擇方式下,同時按下<Ctrl>鍵和鼠標右鍵,可以在選擇方式 和插入方式之間快速轉(zhuǎn)化。 ? 拖動 點擊鼠標左鍵選擇視圖對象。在所選的視圖對象上按下鼠標左鍵或按下方向鍵,可以拖 動一個或多個視圖對象。 ? 修改 - 173 -

第184頁

用鼠標點擊對象或者按下<Tab>鍵,可以選擇一個視圖對象。在所選擇視圖對象的周圍 有一些小的黑色矩形。通過點擊這些小的黑色矩形,按住鼠標左鍵,可以改變視圖對象 的大小,控制視圖對象的輪廓。 選擇一個視圖對象后,同時顯示旋轉(zhuǎn)點。旋轉(zhuǎn)點是一個中間帶有白色十字的黑色圓圈, 可按一定的角度使對象繞這點旋轉(zhuǎn)??梢园聪率髽俗箧I拖動旋轉(zhuǎn)點。 對于多邊形,使用同樣的方法拖動每個頂角。鼠標拖動時,按下<Ctrl>鍵,可以插入一 個頂角。按下<Shift>+<Ctrl>鍵,可以刪除一個頂角。 在視圖編輯區(qū),點擊鼠標右鍵,會彈出如圖 11-3-1 所示的菜單。 圖 11-3-1 視圖右鍵菜單 下面將依次介紹菜單中的選項。 ? 前置 將選擇的視圖對象置于最上一層。選擇一個視圖對象,點擊標題欄“高級”菜單中的“前 置”菜單,可以將該視圖對象放到其它視圖對象的前面。 當視圖對象以不同對象號顯示時,視圖對象實際上相當于以不同的圖層來顯示。將幾個 視圖置于同一位置處時,會發(fā)現(xiàn)視圖中對象號最大的置于最上層。如需使某一視圖置于最上 層時,可用此命令使該視圖前置,且對象號變?yōu)楫斍白畲笾怠? ? 后置 將選擇的視圖對象置于最下一層。選擇一個視圖對象,點擊標題欄 “高級”菜單中的“后 置”菜單,可以將該視圖對象放到其它視圖對象的后面。 與“前置”同理,可以使某一視圖對象置于最底層,且將視圖中對象號變?yōu)?0。 ? 選擇背景位圖 從相應的路徑選擇合適的背景位圖,選擇“打開”,在視圖中即可呈現(xiàn)所選擇的背景位圖。 ? 清除背景位圖 在背景位圖設置好后,如果背景位圖不滿足需求,選擇“清除背景位圖”可對其進行清除。 ? 位置排列 選擇多個視圖對象,點擊標題欄“高級”菜單中的“位置”菜單,可以對該多個視圖對象 的位置進行排列。 - 174 -

第185頁

“位置”菜單有以下幾個選項: “左”表示被選中的視圖對象以最左側(cè)視圖對象的左邊沿為基準對齊排列,即左對齊。 “右”表示被選中的視圖對象以最右側(cè)視圖對象的右邊沿為基準對齊排列,即右對齊。 “頂”表示被選中的視圖對象以最頂側(cè)視圖對象的頂邊沿為基準對齊排列,即頂對齊。 “底”表示被選中的視圖對象以最底側(cè)視圖對象的底邊沿為基準對齊排列,即底對齊。 “水平居中”表示每個視圖對象以所有視圖對象的平均水平中心為基準對齊排列。 “垂直居中”表示每個視圖對象以所有視圖對象的平均垂直中心為基準對齊排列。 ? 配置 對于不同的視圖對象,其配置中的分類選項不同。對于“配置”,一定要在視圖對象被選 中的情況下,才顯示該對象的一些配置,否則,該項為灰體。 ? 組合 選擇多個視圖對象,點擊標題欄“高級”菜單中的“組合”菜單,可以將多個視圖對象組 合成一個視圖對象。組合后視圖對象的行為與一個視圖對象的行為相同。 ? 取消組合 選擇一個組合的視圖對象,點擊標題欄“高級”菜單中的“取消組合”菜單,可以將該組 合的視圖對象分解為多個單獨的視圖對象。 另外,視圖編輯區(qū)右鍵菜單中的內(nèi)容除了以上介紹的選項外,還包括對象列表、使用鍵 盤、占位符列表和視圖設置,這四個選項將在下面進行介紹。 11.3.3 對象列表 點擊標題欄“高級”菜單中的“對象列表”菜單,打開視圖對象列表對話框,如圖 11-3-2 所示,其中包括視圖對象的號碼、類型和位置等信息。點擊該對話框右側(cè)的工具按鈕,可以 對其進行編輯。在繪圖區(qū)點擊鼠標右鍵,選中“對象列表”,也會彈出此對象列表。 ? “確認”按鈕:當對對象列表內(nèi)容操作完畢后,點擊“確認”按鈕,關閉對話框。 ? “最前”按鈕:把選擇的視圖對象放在最上層,此時對象號最大。 ? “最后”按鈕:把選擇的對象放在最底層,此時對象號最小。 ? “向前一步”按鈕:把選擇的視圖對象向上移動一層,此時對象號增大一號。 ? “向后一步”按鈕:把選擇的視圖對象向下移動一層,此時對象號減小一號。 ? “刪除”按鈕:刪除選擇的對象。 ? “取消”按鈕:取消上一次操作 ? “重做”按鈕:恢復上一次操作。 ? “編輯”按鈕:對視圖對象進行編輯操作。 - 175 -

第186頁

圖 11-3-2 視圖對象列表對話框 11.3.4 使用鍵盤 可以通過選擇“Shift”、“Ctrl”及“Key”下拉菜單里的可選按鍵來實現(xiàn)動作的運行。 通過“Expression”表達式來描述要實現(xiàn)的動作或顯示運行動作后的結(jié)果。使用鍵盤對于視 圖的每個物體可獨自設置,因此,在不同視圖中相同的按鍵設置可以起到不同作用。 ? 舉例 下面的表 11-3-1 和表 11-3-2 為 VIS_1 和 VIS_2 兩個視圖的不同按鍵設置。 表 11-3-1 VIS_1 鍵盤設置 Shift Ctrl Action Key Expression Toggle A PLC_PRG.automatic x Zoom Z VIS_2 x 表 11-3-2 VIS_2 鍵盤設置 Shift Ctrl Action Key Expression Exec E INTERN LANGUAGE DEUTSCH x Zoom Z VIS_1 x 如果在“在線模式”下,且當前視圖為 VIS_1,按住“Shift+A”復合鍵,則 PLC_PRG 中的 automatic 變量會觸發(fā)“toggle”,另外,如果按住“Ctrl+Z”復合鍵,則會自動跳到視圖 VIS_2。 對于“Action”的各選項,請參見表 11-3-3。 - 176 -

第187頁

表 11-3-3 鍵盤動作 Action 含義 Toggle 切換變量 Tap true 鍵控變量置為真 Tap false 鍵控變量置為假 Zoom 縮放視圖 Exec 執(zhí)行程序 Text 文本顯示的文本輸入變量 可以通過選擇按鍵配合“shift”或“ctrl”組成復合鍵,觸發(fā)相應的動作。 11.3.5 占位符列表 占位符列表如圖 11-3-3 所示。 圖 11-3-3 占位符列表 ? Placeholder:列出用于配置所有視圖對象的占位符。 ? Element number:顯示包含占位符的對象號。 ? Replacements:可以輸入一些字符串。例如文本、變量或表達式等。 11.3.6 視圖設置 視圖設置如圖 11-3-4 所示。 - 177 -

第188頁

圖 11-3-4 視圖設置 ? Display:填入相應擴大或縮小比例改變屏幕大小,可以選擇是否在視圖中顯示對象 號,如圖 11-3-4 所示。 ? Frame:框架設置,如圖 11-3-5 所示。 選擇“自動滾動”,在畫某個對象或移動某個對象時達框架邊界時,視圖窗口會跟隨該對 象自動移動。 選擇“包含背景視圖”,背景視圖將會符合窗口框架大小,否則只考慮對象。 選擇“在線方式最佳匹配”,視圖以最佳效果進行運行模擬。 圖 11-3-5 框架設置 ? Grid:網(wǎng)格設置,如圖 11-3-6 所示。 圖 11-3-6 網(wǎng)格設置 選擇網(wǎng)格“可見”,則會在窗口中呈現(xiàn)網(wǎng)格,可以通過改變網(wǎng)格大小調(diào)整網(wǎng)格間距,最小 值為 10。 選擇“活動”,則會以網(wǎng)格為單位進行移動,否則可實現(xiàn)在窗口任意空間移動。 ? Language:PLC 不支持此項功能。 - 178 -

第189頁

11.4 視圖屬性配置 11.4.1 屬性配置方法 在編輯視圖的過程中,選中某一個視圖對象并點擊鼠標右鍵,或點擊標題欄的“高級” 菜單,則會彈出“高級”下拉菜單,并且激活了其中的“配置”菜單,如圖 11-4-1 所示。對于 “配置”菜單,一定要在視圖對象被選中的情況下才被激活,否則該項為灰體。 圖 11-4-1 視圖“高級”/“配置”菜單 點擊此“配置”菜單,彈出視圖對象屬性配置對話框,如圖 11-4-2 所示,則可以對所選中 的視圖對象的屬性進行配置。用鼠標左鍵雙擊視圖對象則可以快速打開此對話框。 圖 11-4-2 視圖對象屬性配置對話框 - 179 -

第190頁

11.4.2 視圖對象的屬性 對于不同的視圖對象,其屬性配置中的分類選項不同,屬性配置對話框右側(cè)的對應參數(shù) 內(nèi)容也不相同。可以通過設置不同的參數(shù)變量來定義該視圖對象,從而改變視圖對象的屬性。 表 11-4-1 給出了視圖屬性與視圖對象的對應關系。其中符號“√”表示有對應關系。 表 11-4-1 屬性分類與視圖對象的對應關系 視圖對象 視圖屬性 矩圓橢多折曲餅位視按圖表趨報控 形角圓邊線線圖圖圖鈕元格勢警件 屬性分類 屬性名稱 矩形 文 圖表 形件 Shape 形狀 √√√√√√ Text 文本 √√√√√√√√√√√ Text variables 文本變量 √ √ √ √ √ √ √ √ √ √ √ Line width 線寬 √√√√√√√√√ √ Colors 顏色 √√√√√√√ √ Color variables 顏色變量 √ √ √ √ √ √ √ √ √ √ Motion absolute 絕對移動 √ √ √ √ √ √ √ √ √ √ Motion relative 相對移動 √ √ √ √√ √ Variables 變量 √√√√√√√√√√√ Input 輸入 √√√√√√√√√√√ Text for tooltip 提示文本 √ √ √ √ √ √ √ √ √ √ √ √ √ √ Security 安全 √√√√√√√√√√√√√√ Programmability 編程 √√√√√√√√√√√ Angle 角度 √ Bitmap 位圖屬性 √√ Visualization 視圖屬性 √ Group 組框架屬性 √ Table 表格屬性 √ Columns 列 √√ Rows 行 √ Selection 選擇 √ Trend 趨勢圖屬性 √ Alarm table 報警表屬性 √ Settings for sorting 排序設置 √ Settings for alarm table 報警表設置 √ Control 控件類型 √ Method calls 方法調(diào)用 √ Display 顯示 √ - 180 -

第191頁

11.5 視圖靜態(tài)屬性 所謂視圖的靜態(tài)屬性是指描述圖形對象基本形狀的參數(shù),主要包括形狀、文本、線條寬 度、顏色等。 11.5.1 形狀 形狀 Shape 屬性用來定義視圖對象的形狀。對于規(guī)則視圖,形狀 Shape 屬性可以選擇矩 形、圓角矩形、橢圓或直線等。對于不規(guī)則視圖,形狀 Shape 屬性可以選擇多邊形、折線或 曲線等,如圖 11-5-1 所示。形狀 Shape 屬性的改變只在所確定的范圍內(nèi)進行。 圖 11-5-1 不規(guī)則視圖對象屬性配置對話框 11.5.2 文本 在視圖對象中可以添加文本,用文本 Text 屬性來設置,如圖 11-5-2 所示。 ? 內(nèi)容 在“內(nèi)容”文本框中輸入文本,按<Ctrl>+<Enter>組合鍵換行。 ? 水平 在“水平”選項中設置文本在視圖對象中的左、中、右位置。 ? 垂直 在“垂直”選項中設置文本在視圖對象中的上、中、下位置。 點擊“字體”或“標準字體”按鈕,可以設置文本的字體。 圖 11-5-2 文本設置 - 181 -

第192頁

在標準 C 庫中,常用的占位符有%s(字符格式)、%f(浮點型格式)、%d(整型格式) 和%x(16 進制整型)等,其含義如表 11-5-1 所示。 表 11-5-1 占位符與含義 占位符 含義 % a 星期縮寫 % A 星期全寫 % b 月縮寫 % B 月全稱 % c 日期時間 % d 一月中的天數(shù)(01-31) % H 24 小時格式(00-23) % I 12 小時格式(01-12) % j 一年中的天數(shù)(001-366) %m 月(01-12) %M 分鐘(00-59) %p 12 小時 A.M/P.M 格式 %S 秒(00-59) %U 一年的第幾個星期(00-53),周日為星期第一天 %w 星期(0-6,周日是 0) %W 一年的第幾個星期(00-53),周一為星期第一天 %x 日期 %X 時間 %y 不含世紀的年(00-99) %Y 含世紀的年 %z 時區(qū)名,如:中國標準時間 %Z %% 百分號 ? 舉例 如果在文本內(nèi)容中填入%2.5f mm,則在程序運行時會顯示 32.8889 mm。 ? 舉例 在視圖中設置如圖 11-5-3 所示的格式。程序運行結(jié)果如圖 11-5-4 所示。顯示當前時間格 式:中國標準時間-年-月-日 時:分:秒 圖 11-5-3 時間占位符應用 圖 11-5-4 程序運行結(jié)果 - 182 -

第193頁

11.5.3 線寬 線寬 Line width 屬性用來定義視圖對象線條的寬度。圖 11-5-5 所示為線寬設置對話框, 共有 5 種線寬可以直接選擇。選中“高級”選項可以輸入線寬。在“線寬變量”中可以輸入控制 線寬的工程變量,使線寬產(chǎn)生動畫效果。輸入工程變量時可以使用 F2 功能鍵。在線模式下, 動態(tài)線寬屬性會覆蓋靜態(tài)線寬屬性。 圖 11-5-5 線寬設置 11.5.4 顏色 顏色 Colors 屬性用來定義視圖對象的顏色和報警的顏色。圖 11-5-6 所示為視圖對象顏色 設置對話框,可以分別設置視圖對象的內(nèi)部顏色和邊框顏色。選中“無填充色”或“無邊框色” 可以創(chuàng)建透明的圖形對象。視圖對象的報警顏色可以用填充顏色或邊框顏色來顯示。在線模 式下,動態(tài)顏色屬性會覆蓋靜態(tài)顏色屬性。 圖 11-5-6 視圖顏色設置 11.5.5 工具提示文本 工具提示文本 Text for tooltip 屬性用來定義視圖對象的工具提示文本。圖 11-5-7 所示為 視圖對象工具提示文本設置對話框,可以在“內(nèi)容”文本框中輸入表示視圖對象的文本。離線 或在線模式下,當鼠標移動到該圖形對象上時,會顯示所輸入的文本。在“內(nèi)容”文本框中輸 入文本,可以按<Ctrl>+<Enter>組合鍵換行。 - 183 -

第194頁

圖 11-5-7 工具提示文本 11.5.6 安全屬性 安全 Security 屬性用來定義視圖對象的訪問權(quán)限。圖 11-5-8 所示為視圖對象安全設置對 話框,可以定義用戶對于視圖對象的訪問權(quán)限。用戶組有 8 組,訪問權(quán)限分為“無訪問權(quán)限”、 “只讀權(quán)限”和“完全控制權(quán)限”等 3 種。在線模式下,具有不同的訪問權(quán)限的用戶組可以實現(xiàn) 的操作不同。 ? 具有“無訪問權(quán)限”的用戶組,不具有訪問視圖對象的權(quán)限,視圖對象不可見。 ? 具有“只讀權(quán)限”的用戶組,視圖對象可見,但不可操作,即無輸入操作權(quán)限。 ? 具有“完全控制權(quán)限”的用戶組,可以對視圖對象進行完全控制。 如果需要將此安全權(quán)限的配置用于其他視圖對象中,選中“適用所有視圖元素”即可。 圖 11-5-8 操作權(quán)限設置 11.5.7 位圖屬性 在視圖中可以插入位圖。位圖 Bitmap 屬性用來設置插入到視圖中位圖的參數(shù)。圖 11-5-9 所示為位圖設置對話框。 ? 位圖 點擊“位圖”文本框后的按鈕可以選擇所需要的位圖文件。 選中“背景透明”,可以創(chuàng)建透明的圖形對象。 ? 框架 在“框架”選項中可以設置位圖框架的屬性。 “各項異性”表示在改變位圖的尺寸時,位圖的高度和寬度可按任意比例進行拉伸。 “各項同性”表示在改變位圖的尺寸時,位圖的高度和寬度比例保持不變。 - 184 -

第195頁

“固定”表示在改變位圖的尺寸時,位圖本身的高度和寬度大小固定不變。只是可根據(jù)需 求,改變位圖的顯示大小。 在選中“固定”選項前提下,再選中“繪圖”表示顯示位圖對象的框架,否則,不顯示位圖 對象的框架;如果再選中“剪切”表示當位圖對象的框架小于位圖時,只顯示框架內(nèi)的位圖, 而不顯示框架外的位圖。如果想顯示整個位圖大小,可拉伸框架的大小。 “顏色”和“報警色”可以分別設置位圖框架的顏色和報警色。 圖 11-5-9 位圖設置 11.5.8 視圖屬性 在視圖中可以插入其它視圖。視圖 Visualization 屬性用來設置插入到視圖中其它視圖的 參數(shù)。圖 11-5-10 所示為視圖設置對話框。 ? 視圖 點擊“視圖”文本框后的按鈕可以選擇所需要的視圖文件。 點擊“占位符”按鈕可以設置視圖的替換占位符。 ? 框架 在“框架”選項中可以設置視圖框架的屬性。 “各項異性”表示在改變視圖的尺寸時,視圖的高度和寬度可按任意比例進行拉伸。 “各項同性”表示在改變視圖的尺寸時,視圖的高度和寬度比例保持不變。 “固定”表示在改變視圖的尺寸時,視圖的本身的高度和寬度大小是固定不變。可根據(jù)需 求,改變視圖的顯示大小。 在選中“固定”選項前提下,再選中“繪圖”表示顯示視圖對象的框架,否則,不顯示視圖 對象的框架;如果再選中“剪切”表示當視圖對象的框架小于視圖時,只顯示框架內(nèi)的視圖, 而不顯示框架外的視圖。如果想顯示整個視圖大小,可拉伸框架的大小。 “顏色”和“報警色”可以分別設置視圖框架的顏色和報警色。 - 185 -

第196頁

圖 11-5-10 視圖設置 11.5.9 組框架屬性 在視圖中可以插入 WMF 圖元文件格式的圖形文件。WMF 圖元文件的組框架 Group 屬 性用來設置插入到視圖中 WMF 圖元文件的參數(shù)。圖 11-5-11 所示為 WMF 圖元文件組框架 Group 設置對話框。 在“框架”選項中可以設置視圖框架的屬性。 選中“繪圖”表示顯示視圖對象的框架。 選中“各向同性的”表示在改變視圖的尺寸時,視圖的高度和寬度比例保持不變。 選中“剪切”表示當視圖對象的框架小于視圖時,只顯示框架內(nèi)的視圖,而不顯示框架外 的視圖。 “顏色”和“報警顏色”可以分別設置視圖框架的顏色和報警色。 圖 11-5-11 圖元文件組框架屬性設置 - 186 -

第197頁

11.5.10 角度 角度 Angle 屬性用來定義餅圖對象的角度。雙擊餅圖對象,彈出餅圖對象屬性配置對話 框,如圖 11-5-12 所示。點擊角度 Angle 屬性,在“開始角度”和“結(jié)束角度”文本框中分別輸入 餅圖對象的開始角度和結(jié)束角度,則將會以順時針方向畫出所需要的餅圖。選中“只進行段顯 示”,則餅圖對象不顯示夾角,只顯示弧段。 圖 11-5-12 餅圖對象屬性配置對話框 ? 舉例 聲明變量 PROGRAM PLC_PRG VAR angle_start: REAL := 0; angle_end: REAL := 90; END_VAR 視圖運行結(jié)果如圖 11-5-13 所示。 圖 11-5-13 餅圖示例 11.6 視圖編程 11.6.1 編程屬性 視圖對象的屬性不僅可以進行靜態(tài)參數(shù)的設置或常規(guī)工程變量的定義,而且可以進行結(jié) 構(gòu)變量的定義,這些結(jié)構(gòu)變量專門用于視圖對象的編程。為此,在庫 SysLibVisu.lib 中定義 了結(jié)構(gòu)體 VisualObjectType,其成員分量可以用來定義絕大多數(shù)圖形對象的屬性。為了避免 圖形對象屬性的多重定義,常規(guī)工程變量的值將覆蓋結(jié)構(gòu)變量的值,而且二者都覆蓋靜態(tài)屬 性的定義。 - 187 -

第198頁

為了使用結(jié)構(gòu)變量來配置圖形對象的屬性,可以打開圖形對象屬性配置對話框,選擇編 程屬性 Programmability,如圖 11-6-1 所示。選中“對象名字”選擇框,在其后的文本框中輸入 結(jié)構(gòu)變量的名稱,則會自動聲明 VisualObjectType 結(jié)構(gòu)體類型的結(jié)構(gòu)變量,該結(jié)構(gòu)體 VisualObjectType 在庫 SysLibVisu.lib 中已經(jīng)被定義。這樣聲明的結(jié)構(gòu)變量是全局變量,其聲 明是不可見的隱含聲明,前提是必須在庫管理器中添加 SysLibVisu.lib 庫。 重新編譯工程后,新定義的結(jié)構(gòu)變量將出現(xiàn)在工程中。 圖 11-6-1 編程屬性的設置 11.6.2 視圖庫 視圖庫 SysLibVisu.lib 中結(jié)構(gòu)體 VisualObjectType 的定義如下所示。 TYPE VisualObjectType STRUCT (* Absolute movement *) nXOffset:INT; nYOffset:INT; nScale:INT; nAngle:INT; (* Variables *) bInvisible:BOOL; stTextDisplay:STRING; bToggleColor:BOOL; bInputDisabled: BOOL; stTooltipDisplay:STRING; (* Text and font *) dwTextFlags:DWORD; dwTextColor:DWORD; - 188 -

第199頁

nFontHeight:INT; dwFontFlags:DWORD; stFontName:STRING; (* Line *) nLineWidth:INT; (* Color *) dwFillColor: DWORD; dwFillColorAlarm: DWORD; dwFrameColor: DWORD; dwFrameColorAlarm: DWORD; dwFillFlags: DWORD; dwFrameFlags: DWORD; (* Relative movement *) nLeft:INT; nTop:INT; nRight:INT; nBottom:INT; END_STRUCT END_TYPE 結(jié)構(gòu)體 VisualObjectType 中的成員分量的數(shù)據(jù)類型及功能如表 11-6-1 所示。成員分量的 前綴字母表示數(shù)據(jù)類型,均為小寫字母,其含義分別為: n 表示 INT,dw 表示 DWORD,b 表示 BOOL,st 表示 STRING。 表 11-6-1 成員分量的數(shù)據(jù)類型及功能 成員分量 功能 示例(結(jié)構(gòu)變量為vis1) 對應的圖形對象屬性 及數(shù)據(jù)類型 vis1.nXOffset:=val1; Motionabsolute: nXOffset : INT; X方向位移 (沿 X 方向移動到 X=val1 處) X-Offset vis1.nYOffset:=val2; Motionabsolute: nYOffset : INT; Y方向位移 (沿 Y 方向移動到 Y=val2 處) Y-Offset vis1.nScale:=plc_prg.scale_var; Motion absolute: nScale : INT; 改變大小 (取值 plc_prg.scale_var) Scale vis1.anglevar:=15; Motion absolute: nAngle : INT; 旋轉(zhuǎn)角度 (順時針旋轉(zhuǎn) 15 度) angle Color: bInvisible : BOOL; 可見/不可見 vis1.visible:=TRUE; No color inside+ (圖形對象可見) No frame color stTextDisplay: 顯示文本 Colorvariables: STRING; vis1.TextDisplay:='ON / OFF'; Fillcolor+Framecolor : 顏 色 在 TRUE 與 (顯示文本ON / OFF) Text: bToggleColor FALSE 之間切換 vis1.bToggleColor:=alarm_var; Content BOOL; (當變量 alarm_var 為 TRUE 時,分 Input: 別 顯 示 dwFillColorAlarm 和 Toggle variable dwFrameColorAlarm 定義的顏色) Variables: Change color - 189 -

第200頁

bInputDisabled : 取值 FALSE,忽略 vis1.bInputDisabled:=FALSE; Variables: BOOL; : 配置 Input (此圖形對象不能輸入值) Input Disable stTooltipDisplay vis1.stTooltipDisplay:='Switch for '; Text for Tooltip: STRING; 工具提示文本 (顯示工具提示文本Switch for) Content: dwTextFlags : 文本位置:: vis1.dwTextFlags:=24; Text: DWORD; 1 左對齊 (文本居中,4+20) Horizontal and 2 右對齊 Vertical options dwTextColor : 4 水平居中 vis1.dwTextColor :=16#00FF0000; Textvariables: DWORD; 8 頂對齊 (藍色) Textflags 10 底對齊 vis1.nFontHeight:=16; nFontHeight : INT; 20 垂直居中 (字體高度為 16 像素) Textvariables: (取值可以相加) Textcolor dwFontFlags : 文本顏色(顏色的定 vis1.dwFontFlags:=10; Textvariables: DWORD; 義見表后示例) (顯示粗體字并取消,2+8) Font heigth 字體高度,取值范圍 stFontName : 10-96 像素 vis1.stFontName:=?Arial?; Textvariables: STRING; 字體: (使用 Arial 字體) Fontflags 1 斜體字 vis1.nLWidth:=3; nLineWidth : INT; 2 粗體字 (框架線寬為 3 像素) Textvariables: 4 下劃線 Fontname 8 取消 (取值可以相加) Line width 改變字體 Color: Color Inside 框架的線寬(像素) Colorvariables: Fill color dwFillColor : 填充顏色(顏色的定 vis1.dwFillColor\":=16#00FF0000; Color: DWORD; Alarm color Inside 義見表后示例) (填充藍色) Colorvariables: Fill color alarm dwFillColorAlarm : 當 bToggleColor 為 vis1.dwFillColorAlarm:=16#0080808 Color: DWORD; TRUE 時,填充顏色 0; Color Frame (顏色的定義見表 (當 bToggleColor 為 TRUE 時,填 Colorvariables: 充灰色) Frame color 后示例) Color: Alarm color Frame dwFrameColor : 框架顏色(顏色的定 vis1.dwFrameColor:=16#00FF0000; Colorvariables: DWORD; Frame color alarm 義見表后示例) (框架為藍色) Color: No color inside + No frame color dwFrameColorAlarm 當 bFrameColor 為 vis1.dwFrameColorAlarm:=16#00808 Colorvariables: : DWORD; TRUE 時,填充顏色 080; Fillflags (顏色的定義見表 (當 bFrameColor 為 TRUE 時,填充 灰色) Colorvariables: 后示例) Frameflags dwFillFlags: 顯示顏色: vis1.dwFillFlags:=1; DWORD; 0 顯示顏色 (顯示顏色) >0 忽略顏色設置 dwFrameFlags : 顯示框架: vis1.FrameFlags:=1; DWORD; (框架顯示虛線) 0 全顯示 1 虛線( --- ) 2 點( ) 3 點劃線( _._._ ) 4 雙點劃線(_.._.. ) 8 不顯示 - 190 -

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