《可編程控制器應(yīng)用技術(shù)》課件第5章_第1頁
《可編程控制器應(yīng)用技術(shù)》課件第5章_第2頁
《可編程控制器應(yīng)用技術(shù)》課件第5章_第3頁
《可編程控制器應(yīng)用技術(shù)》課件第5章_第4頁
《可編程控制器應(yīng)用技術(shù)》課件第5章_第5頁
已閱讀5頁,還剩199頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

5.1實(shí)訓(xùn)7:機(jī)械手的控制

5.2程序控制類指令

5.3相關(guān)知識(shí):PLC的編程軟件

5.4實(shí)訓(xùn)8:運(yùn)料小車的控制

習(xí)題第5章步進(jìn)指令5.1實(shí)訓(xùn)7:機(jī)械手的控制

在自動(dòng)化生產(chǎn)線上,經(jīng)常用機(jī)械手完成工件的取放操作。圖5-1是一機(jī)械手的結(jié)構(gòu)示意圖,其任務(wù)是將傳送帶A上的物品搬送至傳送帶B上。圖5-1機(jī)械手工作示意圖

機(jī)械手的工作過程如下:

機(jī)械手的每次循環(huán)動(dòng)作均從原位開始。5.1.1控制要求

機(jī)械手的控制要求如下:

(1)在傳輸帶A端部,安裝了光電開關(guān),用以檢測物品的到來。當(dāng)光電開關(guān)檢測到物品時(shí)為ON狀態(tài)。

(2)機(jī)械手在原位時(shí),按下啟動(dòng)按鈕,系統(tǒng)啟動(dòng),傳送帶A運(yùn)轉(zhuǎn)。當(dāng)光電開關(guān)檢測到物品后,傳送帶A停止。

(3)傳輸帶A停止后,機(jī)械手進(jìn)行一次循環(huán)動(dòng)作,把物品從傳送帶A上搬到傳送帶B上(連續(xù)運(yùn)轉(zhuǎn))。

(4)機(jī)械手返回原位后,自動(dòng)啟動(dòng)傳送帶A運(yùn)轉(zhuǎn),進(jìn)行下一個(gè)循環(huán)。

(5)按下停止按鈕后,待整個(gè)循環(huán)完成后,機(jī)械手返回原位,才能停止工作。

(6)機(jī)械手的上升/下降和左移/右移的執(zhí)行結(jié)構(gòu)均采用雙線圈的二位電磁閥驅(qū)動(dòng)液壓裝置實(shí)現(xiàn),每個(gè)線圈完成一個(gè)動(dòng)作。

(7)抓緊/放松由單線圈二位電磁閥驅(qū)動(dòng)液壓裝置完成,線圈得電時(shí)執(zhí)行抓緊動(dòng)作,線圈斷電時(shí)執(zhí)行放松動(dòng)作。

(8)機(jī)械手的上升、下降、左移、右移動(dòng)作均由限位開關(guān)控制。

(9)抓緊動(dòng)作由壓力繼電器控制,當(dāng)抓緊時(shí),壓力繼電器動(dòng)合觸點(diǎn)閉合。放松動(dòng)作為時(shí)間控制(設(shè)為2

s)。5.1.2資源分配

機(jī)械手的資源分配如表5-1所示。5.1.3控制程序

根據(jù)機(jī)械手的工作過程,我們可以將其工作過程分解為九個(gè)步驟,這是典型的具有步進(jìn)性質(zhì)的順序控制,因此可以用順控繼電器來設(shè)計(jì)機(jī)械手的控制程序。

用順控指令設(shè)計(jì)具有步進(jìn)性質(zhì)的順序控制,其核心是設(shè)計(jì)各步之間的轉(zhuǎn)換和內(nèi)容。這里介紹通過畫順序功能圖(又稱為狀態(tài)流程圖)的方法來設(shè)計(jì)梯形圖程序。

順序功能圖的畫法如下:

(1)首先將整個(gè)工作過程分解為若干個(gè)獨(dú)立的控制功能步,簡稱步(本例中機(jī)械手的工作過程就可以分解成九個(gè)獨(dú)立的步),它是為完成相應(yīng)的控制功能而設(shè)計(jì)的獨(dú)立的控制程序或程序段。

(2)每個(gè)獨(dú)立的步分別用一個(gè)方框表示,然后根據(jù)動(dòng)作順序?qū)⒏鱾€(gè)步用箭頭連接起來。

(3)在相鄰的兩個(gè)步之間畫上一條短橫線,表示狀態(tài)轉(zhuǎn)換條件。當(dāng)轉(zhuǎn)換條件滿足時(shí),上一步被封鎖,下一步被激活,轉(zhuǎn)向執(zhí)行新的控制程序;若不滿足轉(zhuǎn)換條件,則繼續(xù)執(zhí)行上一步的控制程序。

(4)在每個(gè)步的右側(cè),畫上要被執(zhí)行的控制程序。

機(jī)械手步進(jìn)控制的順序功能圖如圖5-2所示。有了順序功能圖,再設(shè)計(jì)梯形圖控制程序就容易多了。圖5-2機(jī)械手自動(dòng)控制順序功能圖機(jī)械手的具體工作過程如下:

(1)機(jī)械手在原位時(shí),按下啟動(dòng)按鈕SB1,與其對(duì)應(yīng)的輸入點(diǎn)I0.0為ON,使傳送帶A運(yùn)轉(zhuǎn)(Q0.0為ON);當(dāng)光電開關(guān)PS檢測到有物品后,I0.7為ON,使Q0.0為OFF,傳送帶A停止運(yùn)行。在Q0.0的下降沿,下降電磁閥(Q0.5)得電,進(jìn)入S0.0步,使機(jī)械手執(zhí)行下降的動(dòng)作。

(2)機(jī)械手下降到位時(shí),下降限位開關(guān)I0.3為ON,下降電磁閥(Q0.5)失電,機(jī)械手停止下降,開始執(zhí)行抓緊動(dòng)作,Q0.3為ON,進(jìn)入S0.1步。

(3)機(jī)械手抓緊到位時(shí),壓力繼電器K的動(dòng)合觸點(diǎn)閉合,I0.6為ON,進(jìn)入S0.2步。此時(shí),Q0.4為ON,機(jī)械手緊抓著物品上升。

(4)機(jī)械手上升到位時(shí),上升限位開關(guān)I0.2為ON,進(jìn)入S0.3步,使Q0.4為OFF,機(jī)械手停止上升。此時(shí),Q0.1為ON,機(jī)械手執(zhí)行右移動(dòng)作。

(5)機(jī)械手右移到位時(shí),右移限位開關(guān)I0.4為ON,進(jìn)入S0.4步,使Q0.1為OFF,機(jī)械手停止右移。此時(shí),Q0.5為ON,機(jī)械手執(zhí)行下降動(dòng)作。

(6)機(jī)械手下降到位時(shí),下降極限開關(guān)I0.3為ON,進(jìn)入S0.5步,使Q0.5為OFF,機(jī)械手停止下降。此時(shí),Q0.3被復(fù)位,機(jī)械手執(zhí)行放松動(dòng)作,并且啟動(dòng)定時(shí)器T37。

(7)在T37的定時(shí)時(shí)間(2s)到時(shí),機(jī)械手放松到位,進(jìn)入S0.6步。此時(shí),Q0.4為ON,機(jī)械手執(zhí)行上升動(dòng)作。

(8)機(jī)械手上升到位時(shí),上升限位開關(guān)I0.2為ON,進(jìn)入S0.7步,使Q0.4為OFF,機(jī)械手停止上升。此時(shí),Q0.2為ON,機(jī)械手執(zhí)行左移動(dòng)作。

(9)機(jī)械手左移到位時(shí),左移限位開關(guān)I0.5為ON,進(jìn)入S1.0步,使Q0.2為OFF,機(jī)械手停止左移。此時(shí),機(jī)械手已回到原位,只要在此之前沒有按停止按鈕,再次將Q0.0置位,傳送帶A重新運(yùn)行,等待物品檢測信號(hào)I0.7的到來。只要按下停止按鈕,M10.0便斷開,但并不影響程序的執(zhí)行。只有在當(dāng)前循環(huán)全部完成后,M10.0才起作用,機(jī)械手停于原位。參考指令表程序如下:

Network1 //初始化

LD SM0.1

MOVW 0,SW0

AENO

MOVW 0,MW10

Network2 //系統(tǒng)啟保停

LD I0.0

O M10.0

AN I0.1

= M10.0

Network3 //進(jìn)入啟動(dòng)狀態(tài)

LD M10.0

EU

S S1.1,1

Network4 //啟動(dòng)狀態(tài),傳送帶運(yùn)行與退出

LSCR S1.1

Network5

LD SM0.0

= Q0.0

Network6

LD I0.7

SCRT S0.0

R S1.1,1

Network7

SCRE

Network8 //下降狀態(tài),遇限位退出

LSCR S0.0

Network9

LD SM0.0

= M10.3 Network10

LD I0.3

SCRT S0.1

Network11

SCRE

Network12 //抓緊

LSCR S0.1

Network13

LD SM0.0

S Q0.3,1

Network14

LD I0.6

SCRT S0.2

Network15

SCRE

Network16 //上升

LSCR S0.2

Network17

LD SM0.0

= M10.1

Network18

LD I0.2

SCRT S0.3

Network19

SCRE

Network20 //右移

LSCR S0.3

Network21

LD SM0.0

= Q0.1

Network22

LD I0.4

SCRT S0.4 Network23

SCRE

Network24 //下降

LSCR S0.4

Network25

LD SM0.0

= M10.4

Network26

LD I0.3

SCRT S0.5 Network27

SCRE

Network28 //放松

LSCR S0.5

Network29

LD SM0.0

R Q0.3,1

TON T37,20

Network30

LD T37

SCRT S0.6 Network31

SCRE

Network32 //空手上升

LSCR S0.6

Network33

LD SM0.0

= M10.2

Network34

LD I0.2

SCRT S0.7 Network35

SCRE

Network36 //左移

LSCR S0.7

Network37

LD SM0.0

= Q0.2

Network38

LD M10.0

A I0.5

SCRT S1.1 Network39

LDN M10.0

A I0.5

MOVW 0,SW0

AENO

MOVW 0,QW0

Network40

SCRE

Network41 //上升驅(qū)動(dòng)

LD M10.1

O M10.2

= Q0.4 Network42 //下降驅(qū)動(dòng)

LD M10.3

O M10.4

= Q0.5

說明:程序中使用了順控指令。雖然程序稍長,但可保證其動(dòng)作順序有條不紊,一環(huán)緊扣一環(huán),表現(xiàn)出順控指令的突出優(yōu)點(diǎn)。即使有誤解也不會(huì)造成混亂,因?yàn)樯喜絼?dòng)作未完成下一步動(dòng)作不可能開始,其調(diào)試非常容易。5.2程序控制類指令

程序控制類指令用于程序運(yùn)行狀態(tài)的控制,主要包括系統(tǒng)控制、跳轉(zhuǎn)、循環(huán)、子程序調(diào)用、順序控制等指令。5.2.1系統(tǒng)控制類指令

系統(tǒng)控制類指令主要包括暫停、結(jié)束、看門狗等指令,指令格式見表5-2。

1.

暫停指令(STOP)

暫停指令在使能輸入有效時(shí),立即終止程序的執(zhí)行。指令執(zhí)行的結(jié)果是CPU工作方式由RUN切換到STOP。在中斷程序中執(zhí)行STOP指令,該中斷立即終止,并且忽略所有掛起的中斷,繼續(xù)掃描程序的剩余部分。在本次掃描的最后,將CPU由RUN切換到STOP。

2.

結(jié)束指令(END/MEND)

梯形圖結(jié)束指令直接連在左側(cè)電源母線時(shí)為無條件結(jié)束指令(MEND),不連在左側(cè)母線時(shí)為條件結(jié)束指令(END)。

條件結(jié)束指令在使能輸入有效時(shí),立即終止用戶程序的執(zhí)行并返回主程序的第一條指令重新執(zhí)行(循環(huán)掃描工作方式)。

無條件結(jié)束指令執(zhí)行時(shí)(指令直接連在左側(cè)母線,無使能輸入),立即終止用戶程序的執(zhí)行并返回主程序的第一條指令重新執(zhí)行。

結(jié)束指令只能在主程序中使用,不能在子程序和中斷服務(wù)程序中使用。

STEP7-Micro/Win編程軟件在主程序的結(jié)尾自動(dòng)生成無條件結(jié)束指令(MEND),用戶不得輸入無條件結(jié)束指令,否則編譯出錯(cuò)。

3.

看門狗復(fù)位指令(WDR)

看門狗定時(shí)器設(shè)有500ms重啟動(dòng)時(shí)間,每次掃描它都被自動(dòng)復(fù)位一次,正常工作時(shí)掃描周期小于500ms,它不起作用。若掃描周期大于500ms,看門狗定時(shí)器會(huì)停止執(zhí)行用戶程序,如過長的用戶程序、過長的中斷時(shí)間、循環(huán)時(shí)間過長。

工作原理:使能輸入有效時(shí),將看門狗定時(shí)器復(fù)位。在沒有看門狗錯(cuò)誤的情況下,可以增加一次掃描允許的時(shí)間。若使能輸入無效,看門狗定時(shí)器定時(shí)時(shí)間到,程序?qū)⒅兄巩?dāng)前指令的執(zhí)行,重新啟動(dòng),返回到第一條指令重新執(zhí)行。

注意:使用WDR指令時(shí),要防止過渡延遲掃描完成時(shí)間,否則,在終止本掃描之前,下列操作過程將被禁止(不予執(zhí)行):通信(自由端口方式除外)、I/O更新(立即I/O除外)、強(qiáng)制更新、SM更新(SM0、SM5~SM29不能被更新)、運(yùn)行時(shí)間診斷、中斷程序中的STOP指令。掃描時(shí)間超過25s、10

ms和100ms,定時(shí)器將不能正確計(jì)時(shí)。

【例5-1】暫停(STOP)、條件結(jié)束(END)、看門狗指令應(yīng)用舉例,如圖5-3所示。圖5-3例5-1圖

4.診斷LED指令

S7-200檢測到致命錯(cuò)誤時(shí),SF/DIAG(故障/診斷)LED發(fā)出紅光。在V4.0版編程軟件系統(tǒng)塊的“配置LED”選項(xiàng)卡中,如果選擇了有變量被強(qiáng)制或有I/O錯(cuò)誤時(shí)LED亮,出現(xiàn)上述診斷事件時(shí)LED將發(fā)黃光。如果兩個(gè)選項(xiàng)都沒有被選擇,SF/DIAGLED發(fā)黃光只受DIAG_LED指令的控制。如果此時(shí)指令的輸入?yún)?shù)IN為0,診斷LED不亮。如果IN大于0,診斷LED發(fā)黃光。圖5-4的VB10中如果有非零的錯(cuò)誤代碼,將使診斷LED亮。圖5-4診斷LED指令5.2.2

跳轉(zhuǎn)、循環(huán)指令

跳轉(zhuǎn)、循環(huán)指令用于程序執(zhí)行順序的控制,指令格式見表5-3。

1.

程序跳轉(zhuǎn)指令(JMP)

跳轉(zhuǎn)指令(JMP)和跳轉(zhuǎn)地址標(biāo)號(hào)指令(LBL)配合實(shí)現(xiàn)程序的跳轉(zhuǎn)。使能輸入有效時(shí),使程序跳轉(zhuǎn)到指定標(biāo)號(hào)n處執(zhí)行(在同一程序內(nèi)),跳轉(zhuǎn)標(biāo)號(hào)n=0~255。使能輸入無效時(shí),程序順序執(zhí)行。

2.

循環(huán)控制指令(FOR)

程序循環(huán)結(jié)構(gòu)用于描述一段程序的重復(fù)循環(huán)執(zhí)行。由FOR和NEXT指令構(gòu)成程序的循環(huán)體。FOR指令標(biāo)記循環(huán)的開始,NEXT指令為循環(huán)體的結(jié)束指令。

FOR指令為指令盒格式,主要參數(shù)有使能輸入EN、當(dāng)前值計(jì)數(shù)器INDX、循環(huán)次數(shù)初始值INIT和循環(huán)計(jì)數(shù)終值FINAL。

工作原理:使能輸入EN有效時(shí),循環(huán)體開始執(zhí)行,執(zhí)行到NEXT指令時(shí)返回,每執(zhí)行一次循環(huán)體,當(dāng)前計(jì)數(shù)器INDX增1,達(dá)到終值FINAL時(shí),循環(huán)結(jié)束。例如FINAL為10,使能有效時(shí),執(zhí)行循環(huán)體,同時(shí)INDX從1開始計(jì)數(shù),每執(zhí)行一次循環(huán)體,INDX當(dāng)前值加1,執(zhí)行至10次時(shí),當(dāng)前值也計(jì)到10,循環(huán)結(jié)束。使能輸入無效時(shí),循環(huán)體程序不執(zhí)行。每次使能輸入有效,指令自動(dòng)將各參數(shù)復(fù)位。FOR/NEXT指令必須成對(duì)使用,循環(huán)可以嵌套,最多為8層。5.2.3子程序調(diào)用指令

1.局部變量表

1)局部變量與全局變量

程序中的每個(gè)POU均有自己的由64字節(jié)L存儲(chǔ)器組成的局部變量表。它們用來定義有范圍限制的變量,局部變量只在它被創(chuàng)建的POU中有效。與之相反,全局符號(hào)在各POU中均有效,只能在符號(hào)表/全局變量表中定義。全局符號(hào)與局部變量名稱相同時(shí),在定義局部變量的POU中,該局部變量的定義優(yōu)先,該全局定義則在其它POU中使用。

局部變量有以下優(yōu)點(diǎn):

(1)

在子程序中只用局部變量,不用絕對(duì)地址或全局符號(hào),子程序可移植到別的項(xiàng)目中。

(2)

如果使用臨時(shí)變量(TEMP),同一片物理存儲(chǔ)器可在不同的程序中重復(fù)使用。

局部變量還用來在子程序和主調(diào)程序之間傳遞輸入?yún)?shù)和輸出參數(shù)。

在編程軟件中,將水平分裂條拉至程序編輯器視窗的頂部,則隱藏局部變量表;將分裂條下拉,將再次顯示局部變量表。

2)局部變量的類型

TEMP(臨時(shí)變量)為暫時(shí)保存在局部數(shù)據(jù)區(qū)中的變量。只有在執(zhí)行該P(yáng)OU時(shí),定義的臨時(shí)變量才被使用,POU執(zhí)行完后,不再使用臨時(shí)變量的數(shù)值。在主程序或中斷程序中,局部變量表只包含TEMP變量。子程序的局部變量表中還有三種變量:IN(輸入變量)、OUT(輸出變量)、IN_OUT(輸入/輸出變量)。

3)局部變量的賦值

在局部變量表中賦值時(shí),只需指定聲明局部變量的類型(TEMP、IN、IN_OUT或OUT)和數(shù)據(jù)類型(參見SIMATIC和IEC1131-3的數(shù)據(jù)類型),但不指定存儲(chǔ)器地址,程序編輯器自動(dòng)地在L存儲(chǔ)區(qū)中為所有局部變量指定存儲(chǔ)器位置。起始地址為L0,每字節(jié)8位,能訪問到位。字節(jié)、字和雙字在局部存儲(chǔ)器中按字節(jié)順序分配,例如LBx、LWx或LDx。

4)在局部變量表中增加新的變量

對(duì)于主程序與中斷程序,局部變量表顯示一組已被預(yù)先定義為TEMP變量的行。要向表中增加行,只需用右鍵單擊表中的某一行,選擇“插入”→“行”命令,在所選行的上部插入新的行;選擇“插入”→“下一行”命令,在所選行的下部插入新的行。

對(duì)于子程序,局部變量表顯示數(shù)據(jù)類型被預(yù)先定義為IN、IN_OUT、OUT和TEMP的一系列行,不能改變它們的順序。如果要增加新的局部變量,必須用鼠標(biāo)右鍵單擊已有的行,并用彈出菜單在所擊行的上下插入相同類型的另一局部變量。

5)局部變量數(shù)據(jù)類型檢查

局部變量作為參數(shù)向子程序傳遞時(shí),在該子程序的局部變量表中指定的數(shù)據(jù)類型必須與調(diào)用POU中的數(shù)據(jù)類型值匹配。例如,在主程序OB1中調(diào)用子程序SBR0,使用名為INPUT1的全局符號(hào)作為子程序的輸入?yún)?shù)。在SBR0的局部變量表中,已經(jīng)定義了一個(gè)名為FIRST的局部變量作為該輸入?yún)?shù)。當(dāng)OB1調(diào)用SBR0時(shí),INPUT1的數(shù)值被傳入FIRST,INPUT1和FIRST的數(shù)據(jù)類型必須匹配。

6)在局部變量表中進(jìn)行賦值

在程序中使用符號(hào)名時(shí),程序編輯器首先檢查有關(guān)POU的局部變量表,然后檢查符號(hào)表/全局變量表。如果某符號(hào)名在兩處都沒有定義,程序編輯器則將其視為全局符號(hào),程序編輯器指定一條綠色波浪狀下劃線,并將名稱括在雙引號(hào)中,例如“UndefinedLocalVar”(未定義的局部變量)。如果后來對(duì)該符號(hào)名賦了值,則程序編輯器不會(huì)自動(dòng)再次讀取局部變量表并修改它。為了將該符號(hào)名作為局部變量使用,必須手工刪除程序代碼中的引號(hào),并在符號(hào)名前插入#號(hào),例如改為#UndefinedLocalVar。

各子程序最多可調(diào)用16個(gè)輸入/輸出參數(shù),如果超出16個(gè),將返回錯(cuò)誤。選擇希望的變量類型所在的行,并在名稱域中鍵入變量名稱,在數(shù)據(jù)類型域中鍵入數(shù)據(jù)類型。不需在局部變量表中的變量名稱前加#號(hào),#號(hào)只在程序代碼中的局部變量名之前使用。

局部變量名可包含數(shù)字、字母和下劃線(_),也可以包含擴(kuò)展字符(ASCII128~255)。第一個(gè)字符必須是字母或擴(kuò)展字符,關(guān)鍵字不能作為符號(hào)名。

局部變量表中的變量名被下載和存儲(chǔ)在CPU存儲(chǔ)器中,使用較長的變量名將占用較多的存儲(chǔ)空間。

2.子程序

STEP7-Micro/Win在程序編輯器窗口里為每個(gè)POU提供一個(gè)獨(dú)立的頁。主程序總是第1頁,后面是子程序或中斷程序。因?yàn)楦鱾€(gè)程序在編輯器窗口里被分開,編譯時(shí)在程序結(jié)束的地方自動(dòng)加入無條件結(jié)束指令或無條件返回指令,用戶程序只能使用條件結(jié)束和條件返回指令。

通常將具有特定功能且多次使用的程序段作為子程序。子程序可以多次被調(diào)用,也可以嵌套(最多8層),還可以遞歸調(diào)用(自己調(diào)用自己)。子程序有子程序調(diào)用和子程序返回兩大類指令,子程序返回又分條件返回和無條件返回。子程序調(diào)用指令用在主程序或其他調(diào)用子程序的程序中,子程序的無條件返回指令在子程序的最后網(wǎng)絡(luò)段。梯形圖指令系統(tǒng)能夠自動(dòng)生成子程序的無條件返回指令,用戶無需輸入。子程序的調(diào)用是有條件的,未調(diào)用它時(shí)不會(huì)執(zhí)行子程序中的指令,因此使用子程序可以減少掃描時(shí)間,同時(shí)可使整個(gè)程序功能清晰,易于查錯(cuò)和維護(hù),還能減少存儲(chǔ)空間。為了移植子程序,應(yīng)避免使用全局符號(hào)和變量,例如V存儲(chǔ)區(qū)中的絕對(duì)地址。

1)子程序的創(chuàng)建

在編程軟件的程序數(shù)據(jù)窗口的下方有主程序(OBI)、子程序(SUB0)、中斷服務(wù)程序(INT0)的標(biāo)簽,點(diǎn)擊子程序標(biāo)簽即可進(jìn)入SUB0子程序顯示區(qū)。也可以通過指令樹的項(xiàng)目進(jìn)入子程序SUB0顯示區(qū)。添加一個(gè)子程序時(shí),可以用編輯菜單的插入項(xiàng)增加一個(gè)子程序,子程序編號(hào)n從0開始自動(dòng)向上生成。用鼠標(biāo)右鍵點(diǎn)擊指令樹中的子程序或中斷程序的圖標(biāo),在彈出的菜單中選擇“重新命名”,可以修改它們的名稱。

2)帶參數(shù)的子程序調(diào)用指令

子程序可能有要傳遞的參數(shù)(變量和數(shù)據(jù)),這時(shí)可以在子程序調(diào)用指令中包含相應(yīng)參數(shù),它可以在子程序與調(diào)用程序之間傳送。參數(shù)(變量和數(shù)據(jù))必須有符號(hào)名(最多8個(gè)字符)、變量和數(shù)據(jù)類型等內(nèi)容。子程序最多可傳遞16個(gè)參數(shù)。傳遞的參數(shù)在子程序局部變量表中定義。局部變量表中的變量有IN、OUT、IN/OUT和TEMP等四種類型。

IN類型:將指定位置的參數(shù)傳入子程序。參數(shù)的尋址方式可以是直接尋址(如VB10)、間接尋址(如*AC1)或立即數(shù)(如1234)。也可以將數(shù)據(jù)的地址值傳入子程序(&VB100)。

OUT類型:是子程序的結(jié)果值(數(shù)據(jù)),它被返回給調(diào)用它的POU。常數(shù)和地址值不允許作為輸出參數(shù)。

IN/OUT類型:將指定位置的參數(shù)傳到子程序,從子程序來的結(jié)果值被返回到同樣的地址。常數(shù)和地址值不允許作為輸出參數(shù)。

TEMP類型:局部存儲(chǔ)器只能用作子程序內(nèi)部的暫時(shí)存儲(chǔ)器,不能用來傳遞參數(shù)。

局部變量表的數(shù)據(jù)類型可以是能流、布爾(位)、字節(jié)、字、雙字、整數(shù)、雙整數(shù)和實(shí)數(shù)型。能流是指僅允許對(duì)位輸入操作的布爾能流(布爾型),梯形圖表達(dá)形式為用觸點(diǎn)(位輸入)將電源母線和指令盒連接起來。

在局部變量表輸入變量名稱、變量類型、數(shù)據(jù)類型等參數(shù)以后,雙擊指令樹中的子程序(或選擇點(diǎn)擊方框快捷按鈕,在彈出的菜單中選擇子程序項(xiàng)),在梯形圖顯示區(qū)顯示出帶參數(shù)的子程序調(diào)用指令盒。

局部變量表變量類型的修改方法是,用光標(biāo)選中變量類型區(qū),點(diǎn)擊鼠標(biāo)右鍵得到一個(gè)下拉菜單,選擇插入項(xiàng),彈出一個(gè)下拉子菜單,點(diǎn)擊選中的類型,在變量類型區(qū)光標(biāo)所在處即可得到選中的類型。

給子程序傳遞參數(shù)時(shí),它們放在子程序的局部存儲(chǔ)器(L)中,局部變量表最左列是每個(gè)被傳遞參數(shù)的局部存儲(chǔ)器地址。

子程序調(diào)用時(shí),輸入?yún)?shù)被拷貝到局部存儲(chǔ)器。子程序完成時(shí),從局部存儲(chǔ)器拷貝輸出參數(shù)到指定的輸出參數(shù)地址。

【例5-2】設(shè)計(jì)記錄設(shè)備運(yùn)行時(shí)間的子程序,其符號(hào)名為“運(yùn)行時(shí)間”。設(shè)備運(yùn)行時(shí)I0.0為“ON”,用I0.0的常開觸點(diǎn)調(diào)用子程序。在子程序的局部變量表中,輸入變量“清零”用來將累計(jì)的時(shí)間清零,還設(shè)置了輸出字節(jié)“秒”和“分”,以及輸出雙字“小時(shí)”。

在子程序中,用T40產(chǎn)生周期為1s的脈沖列。用T40的常開觸點(diǎn)使“秒”加1,當(dāng)“秒”標(biāo)志等于60時(shí),“分”標(biāo)志加1,“秒”標(biāo)志被清零。當(dāng)“分”標(biāo)志等于60時(shí),“小時(shí)”標(biāo)志加1,“分”標(biāo)志被清零?!扒辶恪陛斎隝1.0為“ON”時(shí),用FILL(填充)指令將各計(jì)數(shù)標(biāo)志清零。子程序中只有定時(shí)器使用了絕對(duì)地址,其他變量都是局部變量,便于移植到別的項(xiàng)目中。運(yùn)行時(shí)間梯形圖如圖5-5所示。圖5-5運(yùn)行時(shí)間梯形圖5.2.4順序控制指令

梯形圖程序的設(shè)計(jì)思想也和其他高級(jí)語言一樣,應(yīng)該首先用程序流程圖來描述程序的設(shè)計(jì)思想,然后再用指令編寫出符合程序設(shè)計(jì)思想的程序。梯形圖程序常用的一種程序流程圖叫功能流程圖,使用功能流程圖可以描述程序的順序執(zhí)行、循環(huán)、條件分支、合并等功能流程概念。順序控制指令可以將功能流程圖轉(zhuǎn)換成梯形圖程序。功能流程圖是設(shè)計(jì)梯形圖程序的基礎(chǔ)。圖5-6循環(huán)步進(jìn)功能流程圖

1.

功能流程圖簡介

功能流程圖是按照順序控制的思想,根據(jù)工藝過程將程序的執(zhí)行分成各個(gè)程序步,每一步由進(jìn)入條件、程序處理、轉(zhuǎn)換條件和程序結(jié)束等四部分組成。通常用順序控制繼電器位S0.0~S31.7代表程序的狀態(tài)步。一個(gè)三步循環(huán)步進(jìn)的功能流程圖如圖5-6所示,該圖中1、2、3分別代表程序的三步狀態(tài),程序執(zhí)行到某步時(shí),該步狀態(tài)位置1,其余為0。步進(jìn)條件又稱為轉(zhuǎn)換條件,有邏輯條件、時(shí)間條件等步進(jìn)轉(zhuǎn)換條件。

2.

順序控制指令

順序控制用三條指令描述程序的順序控制步進(jìn)狀態(tài),指令格式見表5-4。

(1)

順序步開始指令(LSCR)。順序控制繼電器位Sx.y=1時(shí),該程序步執(zhí)行。

(2)順序步結(jié)束指令(SCRE)。SCRE為順序步結(jié)束指令,順序步的處理程序在LSCR和SCRE之間。

(3)

順序步轉(zhuǎn)移指令(SCRT)。該指令使能輸入有效時(shí),將本順序步的順序控制繼電器位清零,下一步順序控制繼電器位置1。

【例5-3】交通信號(hào)燈控制方案三。

交通燈控制的一種順控繼電器安排及順序功能圖如圖5-7所示。圖5-7十字路口交通信號(hào)燈順序功能圖

該圖的特點(diǎn)是將南北向燈與東西向燈看做是兩個(gè)同時(shí)進(jìn)行的流程,用兩個(gè)并行的流程分支表示。這是順序功能圖的一種典型結(jié)構(gòu)形式,稱為帶有并行分支的順序功能圖。為了解決綠燈閃爍3次的問題,要在兩個(gè)并行分支中增加內(nèi)循環(huán),循環(huán)的次數(shù)使用計(jì)數(shù)器C48、C49控制(順序功能圖中未表現(xiàn)計(jì)數(shù)器)。本解法涉及的輸入/輸出繼電器、定時(shí)器及順控繼電器的用途及地址如表5-5所示。

交通信號(hào)燈狀態(tài)法梯形圖程序見表5-6。梯形圖是由流程圖轉(zhuǎn)繪而來的。梯形圖中各狀態(tài)的列寫可參照流程圖中各狀態(tài)的分布,依從上而下、從左而右的順序安排。梯形圖中各個(gè)狀態(tài)的表達(dá)是很規(guī)范的,只是在分支及分支的匯合處表達(dá)有專門的規(guī)定,請(qǐng)讀者注意Network

5及Network

47兩處的表達(dá)方法。5.3相關(guān)知識(shí):PLC的編程軟件5.3.1PLC的編程語言

1.系統(tǒng)軟件

系統(tǒng)軟件主要包括以下三部分:

1)系統(tǒng)管理程序

系統(tǒng)管理程序有以下三方面的作用:

(1)運(yùn)行時(shí)間管理,控制可編程控制器何時(shí)輸入、何時(shí)輸出、何時(shí)計(jì)算、何時(shí)自檢及何時(shí)通信。

(2)存儲(chǔ)空間管理,規(guī)定各種參數(shù)和程序的存放位置,以生成用戶環(huán)境。

(3)系統(tǒng)自檢程序,包括各種系統(tǒng)出錯(cuò)檢驗(yàn)、用戶程序語法檢驗(yàn)、句法檢驗(yàn)、警戒時(shí)鐘運(yùn)行等。

2)用戶指令解釋程序

用戶指令解釋程序是聯(lián)系高級(jí)程序語言和機(jī)器碼的橋梁。眾所周知,任何計(jì)算機(jī)最終都是執(zhí)行機(jī)器碼指令的,但用機(jī)器碼編程卻是非常復(fù)雜的事情??删幊炭刂破饔锰菪螆D語言編程,把使用者直觀易懂的梯形圖變成機(jī)器能懂得的機(jī)器語言,這就是解釋程序的任務(wù)。

3)標(biāo)準(zhǔn)程序模塊及其調(diào)用程序

標(biāo)準(zhǔn)程序模塊及其調(diào)用程序是許多獨(dú)立的程序塊,各程序塊具有不同的功能,有些完成輸入、輸出處理,有些完成特殊運(yùn)算等。

整個(gè)系統(tǒng)軟件是一個(gè)整體,其質(zhì)量的好壞很大程度上影響可編程控制器的性能。很多情況下,通過改進(jìn)系統(tǒng)軟件就可在不增加任何設(shè)備的條件下大大改善可編程控制器的性能水平。

2.編程語言

無論哪國生產(chǎn)的PLC,用戶程序最常用的編程語言都是梯形圖(LAD)及指令表(STL),某些產(chǎn)品還具有順序功能流程圖(SFC)編程功能。不同型號(hào)的PLC梯形圖雖然并不完全相同,梯形圖對(duì)應(yīng)的STL指令也不一致,但其基本模式大同小異。在IEC61131-3中詳細(xì)說明了句法、語義和下述五種編程語言的表達(dá)方式。

1)順序功能圖

順序功能圖(SequentialFunctionChart,SFC)編程方式采用畫工藝流程圖的方法編程,只要在每一個(gè)工藝方框的輸入和輸出端標(biāo)上特定的符號(hào)即可。對(duì)于在工廠中搞工藝設(shè)計(jì)的人來說,用這種方法編程,不需要很多的電氣知識(shí),非常方便。

不少PLC的新產(chǎn)品采用了順序功能圖,有的公司已生產(chǎn)出系列的、可供不同的PLC使用的SFC編程器,原來十幾頁的梯形圖程序,SFC只用一頁就可完成。另外,由于這種編程語言最適合從事工藝設(shè)計(jì)的工程技術(shù)人員,因此,它是一種效果顯著、深受歡迎、前途光明的編程語言。

2)梯形圖

和繼電接觸器電路圖類似,梯形圖(LadderDiagram,LAD)是用圖形符號(hào)及圖形符號(hào)間的連接關(guān)系表達(dá)控制思想的。梯形圖所使用的符號(hào)主要是觸點(diǎn)、線圈及功能框。這些符號(hào)加上母線及符號(hào)間的連線就可以構(gòu)成梯形圖。梯形圖中左右兩條垂直的線就是母線,左母線總是連接由各類觸點(diǎn)組成的觸點(diǎn)“群”或者叫觸點(diǎn)“塊”,右母線總是連接線圈或功能框(右母線可省略)。

理解PLC梯形圖的一個(gè)關(guān)鍵概念是“能流”(Power

Flow),即一種假想的“能量流”。在圖中,如把左邊的母線假設(shè)為電源“相線”,而把右邊的母線假想為電源“中性線”,當(dāng)針對(duì)某個(gè)線圈的一個(gè)通路中所含的所有動(dòng)合觸點(diǎn)是接通的,所有的動(dòng)斷觸點(diǎn)是閉合的時(shí),就會(huì)有“能流”從左至右流向線圈,則線圈被激勵(lì),線圈置1,線圈所屬器件的動(dòng)合、動(dòng)斷觸點(diǎn)就會(huì)動(dòng)作。與此相反,如沒有“能流”流達(dá)某個(gè)線圈,線圈就不會(huì)被激勵(lì)。能流永遠(yuǎn)是從左向右流動(dòng)的。

要強(qiáng)調(diào)指出的是,“能流”是我們?yōu)榉奖闾菪螆D的理解而引入的概念,它實(shí)際上并不存在。

3)指令表

指令表(InstructionList,STL)語言類似于通用計(jì)算機(jī)程序的助記符語言,是可編程控制器的另一種常用基礎(chǔ)編程語言。所謂指令表,指一系列指令按一定順序的排列,每條指令有一定的含義,指令的順序也表達(dá)一定的含義。指令往往由兩部分組成:一是由幾個(gè)容易記憶的字符(一般為英文縮寫詞)來代表某種操作功能,稱為助記符,比如用“MUL”表示“乘”;另一部分則是用編程元件表示的操作數(shù),準(zhǔn)確地說是操作數(shù)的地址,也就是存放乘數(shù)與積的地方。指令的操作數(shù)有單個(gè)的、多個(gè)的,也有的指令沒有操作數(shù),沒有操作數(shù)的稱為無操作數(shù)指令(無操作數(shù)指令用來對(duì)指令間的關(guān)聯(lián)做出輔助說明)。不同廠家PLC的指令不盡相同,但指令和梯形圖有一定的對(duì)應(yīng)關(guān)系,這點(diǎn)在各國的PLC產(chǎn)品中則是一致的。

4)功能塊圖

功能塊圖(FunctionBlockDiagram,F(xiàn)BD)是一種由邏輯功能符號(hào)組成的功能塊來表達(dá)命令的圖形語言,這種編程語言基本上沿用了半導(dǎo)體邏輯電路的邏輯方塊圖。對(duì)每一種功能都使用一個(gè)運(yùn)算方塊,其運(yùn)算功能由方塊內(nèi)的符號(hào)確定。常用“與”、“或”、“非”等邏輯功能表達(dá)控制邏輯。和功能方塊有關(guān)的輸入畫在方塊的左邊,輸出畫在方塊的右邊。采用這種編程語言,不僅能簡單明確地表現(xiàn)邏輯功能,還能通過對(duì)各種功能塊的組合,實(shí)現(xiàn)加法、乘法、比較等高級(jí)功能,所以,它也是一種功能較強(qiáng)的圖形編程語言。對(duì)于熟悉邏輯電路和具有邏輯代數(shù)基礎(chǔ)的人來說,這種編程語言是非常方便的。

5)高級(jí)語言

在一些大型PLC中,為了完成一些較為復(fù)雜的控制,采用功能很強(qiáng)的微處理器和大容量存儲(chǔ)器,將邏輯控制、模擬控制、數(shù)值計(jì)算與通信功能結(jié)合在一起,配備BASIC、PASCAL、C等計(jì)算機(jī)語言,從而可像使用通用計(jì)算機(jī)那樣進(jìn)行結(jié)構(gòu)化編程,使PLC具有更強(qiáng)的功能。如結(jié)構(gòu)文本ST(StructuredText)是為IEC61131-3標(biāo)準(zhǔn)創(chuàng)建的一種專用的高級(jí)編程語言,能實(shí)現(xiàn)復(fù)雜的數(shù)學(xué)運(yùn)算,編寫的程序非常簡潔和緊湊。

目前,各種類型的PLC基本上都同時(shí)具備兩種以上的編程語言。其中,以同時(shí)使用梯形圖和指令表的占大多數(shù)。不同廠家、不同型號(hào)的PLC,其梯形圖及指令表都有差異,使用的符號(hào)也不盡相同,配置的功能各有千秋。因此,各個(gè)廠家不同系列、不同型號(hào)的編程控制器互不兼容,但編程的思想方法和原理是一致的。5.3.2PLC的程序結(jié)構(gòu)

S7-200

CPU的控制程序由主程序、子程序和中斷程序組成。

1.主程序

主程序(OBI)是程序的主體,每一個(gè)項(xiàng)目都必須并且只能有一個(gè)主程序。在主程序中可以調(diào)用子程序和中斷程序。

主程序通過指令控制整個(gè)應(yīng)用程序的執(zhí)行,每次CPU掃描都要執(zhí)行一次主程序。STEP7-Micro/Win的程序編輯器窗口下部的標(biāo)簽用來選擇不同的程序。因?yàn)槌绦蛞驯环珠_,各程序結(jié)束時(shí)不需要加入無條件結(jié)束指令,如END、RET或RETI等。

2.子程序

子程序是一個(gè)可選的指令的集合,僅在被其他程序調(diào)用時(shí)執(zhí)行。同一子程序可以在不同的地方被多次調(diào)用,使用子程序可以簡化程序代碼和減少掃描時(shí)間。設(shè)計(jì)得好的子程序容易移植到別的項(xiàng)目中去。

3.中斷程序

中斷程序是指令的一個(gè)可選集合。中斷程序不是被主程序調(diào)用,它們?cè)谥袛嗍录l(fā)生時(shí)由可編程序控制器的操作系統(tǒng)調(diào)用。中斷程序用來處理預(yù)先規(guī)定的中斷事件,因?yàn)椴荒茴A(yù)知何時(shí)會(huì)出現(xiàn)中斷事件,所以不允許中斷程序改寫可能在其他程序中使用的存儲(chǔ)器。5.3.3編程軟件STEP

7-Micro/Win

西門子S7-200系列可編程序控制器使用的STEP7-Micro/Win編程軟件有多個(gè)版本,以V4.0為最新,其功能強(qiáng)大,包括以下升級(jí)功能:PID自整定模塊、超級(jí)項(xiàng)目樹形結(jié)構(gòu)、狀態(tài)趨勢圖、PLC歷史記錄和事件緩存區(qū)、項(xiàng)目文件的口令保護(hù)、存儲(chǔ)卡支持、TD200和TD200C支持、PLC內(nèi)置位置控制向?qū)?、?shù)據(jù)歸檔向?qū)?、配方向?qū)?、PTO指令向?qū)?、診斷LED組態(tài)、數(shù)據(jù)塊頁、新的字符串和變量、變頻器USS庫函數(shù)。其兼容性極強(qiáng),支持當(dāng)前所有的CPU22x產(chǎn)品。下面介紹其使用方法。

1.軟件的安裝及硬件連接

STEP7-Micro/Win是基于Windows的應(yīng)用軟件,其安裝配置為:Windows

95、Windows

98、Windows

ME或Windows

2000操作系統(tǒng),內(nèi)存8

MB以上,硬盤空間50

MB以上,VGA顯示器,支持鼠標(biāo),具有RS-232口或USB口。

安裝時(shí)將含有STEP7-Micro/Win編程軟件的光盤插入光盤驅(qū)動(dòng)器,系統(tǒng)可自動(dòng)進(jìn)入安裝向?qū)?,或在光盤目錄里雙擊setup,進(jìn)入安裝向?qū)?,之后則可按照向?qū)崾就瓿绍浖陌惭b工作。軟件路徑可以使用默認(rèn)子目錄,也可以單擊“瀏覽”按鈕,在彈出的對(duì)話框中選擇或新建一個(gè)子目錄。在安裝結(jié)束時(shí),向?qū)?huì)提示重新啟動(dòng)計(jì)算機(jī)以完成安裝過程。

西門子公司為一些版本的STEP7-Micro/Win編程軟件配備了漢化補(bǔ)丁,需安裝漢化補(bǔ)丁時(shí)可在西門子網(wǎng)站下載(德國網(wǎng)站:www.ad.siemens.de,中文網(wǎng)站:)或在原軟件光盤目錄下找到漢化補(bǔ)丁,按照安裝向?qū)нM(jìn)行操作并完成安裝,即可得到一個(gè)漢化的編程環(huán)境。

應(yīng)用軟件下載到PLC需要裝有STEP7-Micro/Win的計(jì)算機(jī)和PLC的通信,通信最簡單的設(shè)備是一根PC/PPI電纜,電纜的一頭接計(jì)算機(jī)的RS-232口,另一頭接PLC的RS-485通信口。PC/PPI電纜上設(shè)有選擇通信波特率及幀模式的DIP開關(guān),計(jì)算機(jī)與PLC的連接與DIP開關(guān)各位的設(shè)置有關(guān)。初學(xué)者可選通信速率的默認(rèn)值為9.6kb/s,在不使用調(diào)制解調(diào)器時(shí),開關(guān)4、5均應(yīng)設(shè)置為0。

安裝完成軟件并設(shè)置連接好硬件后可按以下步驟設(shè)置通信參數(shù):

(1)

運(yùn)行STEP7-Micro/Win軟件,在引導(dǎo)條中單擊“通信”圖標(biāo),或從主菜單中選擇“檢視”中的“通信”項(xiàng),則會(huì)出現(xiàn)一個(gè)“通信設(shè)定”對(duì)話框。

(2)

在對(duì)話框中雙擊PC/PPI電纜的圖標(biāo),即出現(xiàn)設(shè)置PG/PC接口的對(duì)話框,這時(shí)可安裝或刪除通信接口、設(shè)置及檢查通信接口等操作。系統(tǒng)默認(rèn)設(shè)置為:遠(yuǎn)程設(shè)備站地址為2,通信波特率為9.6kb/s,采用PC/PPI電纜通信,使用計(jì)算機(jī)的COM1口和PPI協(xié)議。

2.編程軟件的功能及其主界面

1)

STEP7-Micro/Win的基本功能

STEP7-Micro/Win的基本功能是協(xié)助用戶開發(fā)應(yīng)用軟件。在STEP7-Micro/Win環(huán)境下可創(chuàng)建用戶程序,修改和編輯原有的用戶程序,實(shí)現(xiàn)用戶所編輯程序的管理。該軟件還具有語法檢查功能,可在編程中檢查用戶程序的語法錯(cuò)誤。利用該軟件的監(jiān)控功能還能實(shí)現(xiàn)用戶程序的調(diào)試及監(jiān)控。軟件的大部分功能,如程序的編制、編譯、調(diào)試相關(guān)的組態(tài)等工作,在離線工作方式(即計(jì)算機(jī)并未和PLC連接)時(shí)即可實(shí)現(xiàn),部分功能則需在在線情況下實(shí)現(xiàn)。

2)

軟件的主界面及各區(qū)域的用途

啟動(dòng)STEP7-Micro/Win編程軟件,主界面包含以下幾個(gè)主要分區(qū):菜單條(包含8個(gè)主菜單項(xiàng))、工具條(快捷操作窗口)、指令樹(Instruction

Tree)(快捷操作窗口)、用戶窗口、輸出窗口和狀態(tài)條(可同時(shí)或分別打開5個(gè)用戶窗口)。以下分別說明。

(1)菜單條。菜單條是以菜單形式操作的入口,菜單包含文件(File)、編輯(Edit)、檢視(View)、可編程序控制器(PLC)、調(diào)試(Debug)、工具(Tools)、視窗(Windows)、幫助(Help)等項(xiàng)。用鼠標(biāo)點(diǎn)擊某項(xiàng)菜單,可彈出該菜單的細(xì)目,如文件項(xiàng)目的細(xì)目包含新建、打開、保存、上載、下載等項(xiàng),可知文件菜單的主要功能為程序文件的管理。可以建立或打開待編輯的應(yīng)用程序。菜單條中的其他項(xiàng)目涉及編程界面的變換、編輯語言的變更、程序編輯、調(diào)試等操作。

(2)工具條。工具條提供簡便的鼠標(biāo)操作,將最常用的STEP7-Micro/Win操作以按鈕的形式設(shè)定到工具條。可以用“檢視(View)”菜單中的“工具(Toolbars)”選項(xiàng)來顯示或隱藏

四種工具條:標(biāo)準(zhǔn)(Standard)、調(diào)試(Debug)、公用(Common)和指令(Instructions)。菜單條中涉及的各種功能在工具條中幾乎都能找到。

(3)引導(dǎo)條。引導(dǎo)條為編程提供按鈕控制的快速窗口切換功能。該條可用“檢視(View)”菜單中的“引導(dǎo)條(NavigationBar)”選項(xiàng)來選擇是否打開。引導(dǎo)條含程序塊(ProgramBlock)、符號(hào)表(SymbolTable)、狀態(tài)圖表(StatusChart)、數(shù)據(jù)塊(DataBlock)、系統(tǒng)塊(SystemBlock)、交叉索引(CrossReference)和通信(Communication)等圖標(biāo)按鈕。單擊任何一個(gè)按鈕,則主窗口切換成此按鈕對(duì)應(yīng)的窗口。引導(dǎo)條中的所有操作都可用“指令樹(Instruction

Tree)”窗口或“檢視(View)”菜單來完成,可以根據(jù)個(gè)人的愛好來選擇使用引導(dǎo)條或指令樹。

(4)指令樹。指令樹是編程指令的樹狀列表??捎谩皺z視(View)”菜單中的“指令樹(InstructionTree)”選項(xiàng)來選擇是否打開,并提供編程時(shí)所用到的所有快捷操作命令和PLC指令。

(5)主窗口。主窗口用來顯示編程操作的工作對(duì)象。可以以程序編輯器、符號(hào)表、狀態(tài)圖、數(shù)據(jù)塊及交叉引用等五種方式進(jìn)行程序的編輯工作。以下說明這五種工作界面的用途。

①程序編輯器。程序編輯器是編程的主要界面??梢砸蕴菪螆D、指令表及功能塊圖編程三種主要編輯方式完成程序的編輯工作。點(diǎn)擊菜單欄中“查看”菜單下的STL、梯形圖或FBD,可以實(shí)現(xiàn)梯形圖、指令表及功能塊圖編程方式的轉(zhuǎn)換。

②交叉索引。交叉索引提供三個(gè)方面的索引信息,即交叉索引信息、字節(jié)使用情況信息和位使用情況信息,使編程已用的及可用的PLC資源一目了然。③數(shù)據(jù)塊。數(shù)據(jù)塊窗口可以設(shè)置和修改變量存儲(chǔ)區(qū)內(nèi)各種類型存儲(chǔ)區(qū)的一個(gè)或多個(gè)變量值,并加注必要的注釋說明。

④狀態(tài)圖表。狀態(tài)圖表可將程序輸入、輸出等變量在該圖中顯示,在聯(lián)機(jī)調(diào)試時(shí)監(jiān)視各變量的值和狀態(tài)。

⑤符號(hào)表。實(shí)際編程時(shí)為了增加程序的可讀性,常用帶有實(shí)際含義的符號(hào)作為編程元件代號(hào),而不是直接使用元件在主機(jī)中的直接地址。例如,某程序中安排輸入口I0.3作為啟動(dòng)信號(hào),為了防止讀程序時(shí)忘記,在符號(hào)表中安排Start作為I0.3的代號(hào),則程序中I0.3表示為Start。符號(hào)表可用建立自定義符號(hào)與直接地址之間的對(duì)應(yīng)關(guān)系,并可附加注釋,使程序清晰易讀。

另外,主窗口的下部設(shè)有主程序、子程序及中斷子程序的選擇按鈕。

(6)輸出窗口。輸出窗口用來顯示程序編譯的結(jié)果信息,如各程序塊(主程序、子程序的數(shù)量及子程序號(hào)、中斷程序的數(shù)量及中斷程序號(hào))及各塊的大小、編譯結(jié)果有無錯(cuò)誤、錯(cuò)誤編碼和位置等。

此外,從引導(dǎo)條中點(diǎn)擊系統(tǒng)塊或通信按鈕,可對(duì)PLC運(yùn)行的許多參數(shù)進(jìn)行設(shè)置。如設(shè)置通信的波特率,調(diào)整PLC斷電后機(jī)內(nèi)電源數(shù)據(jù)保存的存儲(chǔ)器范圍,設(shè)置輸入濾波參數(shù)及設(shè)置機(jī)器的操作密碼等。

3.編程操作

1)

程序文件操作

(1)新建。建立一個(gè)程序文件,可用“文件(File)”菜單中的“新建(New)”命令,在主窗口中將顯示新建程序文件的主程序區(qū)。也可用工具條中的按鈕來完成。新建一個(gè)程序文件的指令樹,系統(tǒng)默認(rèn)新建的程序文件名為“項(xiàng)目1(CPU226)”,括號(hào)內(nèi)為系統(tǒng)默認(rèn)PLC的型號(hào)。項(xiàng)目包含7個(gè)相關(guān)的塊。其中程序中有1個(gè)主程序、1個(gè)子程序SBR-0和1個(gè)中斷程序INT-0,用戶可以根據(jù)實(shí)際編程需要做以下操作:

①確定主機(jī)型號(hào)。根據(jù)實(shí)際應(yīng)用情況選擇PLC型號(hào)。右擊“項(xiàng)目1(CPU226)”圖標(biāo),在彈出的菜單中單擊“類型(Type)”,或選擇“PLC”菜單中的“類型(Type)”命令。然后在彈出的對(duì)話框中選擇所用的PLC型號(hào)。若系統(tǒng)已連接,還可“讀取”PLC的類型。②程序更名。

項(xiàng)目文件更名:如果新建了一個(gè)程序文件,可單擊“文件(File)”菜單中的“另存為(Save

as)”命令,然后在彈出的對(duì)話框中鍵入希望的名稱。

子程序和中斷程序更名:在指令樹窗口中,右擊要更名的子程序或中斷程序名稱,在彈出的菜單中單擊“重命名(Rename)”,然后鍵入名稱。

主程序的名稱一般用默認(rèn)的MAIN,任何項(xiàng)目文件的主程序只有一個(gè)。③添加一個(gè)子程序或一個(gè)中斷程序。

方法1:在指令樹窗口中,右擊“程序塊(Program

Block)”圖標(biāo),在彈出的菜單中單擊“插入子程序(Insert

Subroutine)”或“插入中斷程序(Insert

Interrupt)”項(xiàng)。

方法2:用“編輯(Edit)”菜單中的“插入(Insert)”命令。

方法3:在編輯窗口中單擊編輯區(qū),在彈出的菜單中選擇“插入(Insert)”命令。新生成的子程序或中斷程序根據(jù)已有程序的數(shù)目,默認(rèn)名稱分別為SBR-n和INT-n,用戶可以自行更名。

(2)操作已有的文件。

①打開已有文件。打開一個(gè)磁盤中已有的程序文件,只要單擊“文件(File)”菜單中的“打開(Open)”命令,在彈出的對(duì)話框中選擇打開的程序文件即可,也可用工具條的按鈕來完成。

②上裝PLC機(jī)內(nèi)的文件。需要對(duì)已裝入PLC中的程序做修改時(shí),需上裝文件。在已經(jīng)與PLC建立通信的前提下,可用“文件(File)”菜單中的“上裝(Upload)”命令,也可用工具條中的按鈕來完成。

2)程序編輯

編輯和修改控制程序是STEP7-Micro/Win編程軟件最基本的功能,它可以為用戶提供兩套指令集,即SIMATIC指令集(S7-200方式)和國際標(biāo)準(zhǔn)指令集(IEC61131-3方式)?,F(xiàn)以梯形圖編輯器為例介紹一些基本的編輯操作。

LAD程序編輯器窗口是STEP7-Micro/Win編程軟件的默認(rèn)主窗口,打開新文件夾或點(diǎn)擊引導(dǎo)條下的程序塊按鈕就可以進(jìn)入程序編輯器窗口。窗口中已經(jīng)給出了右母線及25條梯形圖支路的編輯位置。和許多圖形或文本編輯器一樣,LAD程序編輯窗口提供一個(gè)方框形光標(biāo)標(biāo)志正編輯的圖形所在的位置。以下介紹程序的編輯過程和各種操作。

(1)輸入編輯元件。LAD編輯器中有以下幾種輸入程序的方法:

①鼠標(biāo)拖放。鼠標(biāo)單擊打開指令樹中的類別分支,選擇指令標(biāo)記,按住鼠標(biāo)左鍵不放,將其拖到編輯器窗口內(nèi)合適的位置上再釋放。

②鼠標(biāo)雙擊。雙擊指令樹中選中的指令標(biāo)記,該指令標(biāo)記則出現(xiàn)在方框光標(biāo)所在的位置。

③特殊功能鍵。按計(jì)算機(jī)鍵盤上的F4、F6、F9鍵,可分別打開觸點(diǎn)、線圈、功能指令框的下拉列表,用鼠標(biāo)單擊合適的指令,該指令則出現(xiàn)在光標(biāo)方框所在的位置。

④使用指令工具條上的編程按鈕。單擊觸點(diǎn)、線圈和指令盒按鈕,從彈出窗口的下拉菜單所列出的指令中選擇要輸入的指令即可。

(2)元件間的連接。在一個(gè)梯形圖支路中,如果只有編程元件的串聯(lián)連接,輸入和輸出都無分叉,只需從網(wǎng)絡(luò)的開始依次輸入各編程元件即可,每輸入一個(gè)元件,光標(biāo)自動(dòng)向后移動(dòng)到下一列。但對(duì)于較復(fù)雜的梯形圖結(jié)構(gòu),如并聯(lián)觸點(diǎn)或觸點(diǎn)塊,或梯形圖分支,則要用到工具條中的線段按鈕。

指令工具條中的線段按鈕包含下行線、上行線、左行線和右行線四種。具體使用時(shí)應(yīng)先將需連接的元件繪出來,將光標(biāo)放在繪元件的地方,然后輸入元件,再按需選用線段按鈕即可實(shí)現(xiàn)元件間的連接。

(3)輸入操作數(shù)。輸入的元件上方均有紅色的括號(hào)及問號(hào),須點(diǎn)擊問號(hào)將光標(biāo)移到括號(hào)內(nèi),輸入操作數(shù)的地址,元件的輸入才算完整。

(4)插入和刪除。編程中經(jīng)常用到插入和刪除一行、一列、一個(gè)網(wǎng)絡(luò)、一個(gè)子程序或中斷程序等。其方法有兩種:在編程區(qū)右擊要進(jìn)行操作的位置,彈出下拉菜單,選擇“插入(Insert)”或“刪除(Delete)”選項(xiàng),再在彈出的下拉子菜單中單擊要插入或刪除的操作。

對(duì)于元件剪切、復(fù)制和粘貼等方法也與上述操作相似。

(5)塊操作。利用塊操作對(duì)程序進(jìn)行大面積刪除、移動(dòng)、復(fù)制十分方便。塊操作包括塊選擇、塊剪切、塊復(fù)制和塊粘貼。這些操作非常簡單,與一般字處理軟件中的相應(yīng)操作方法完全相同。

除了梯形圖編程,STEP7-Micro/Win編程軟件還提供指令表編程,并可以方便地將梯形圖與指令表進(jìn)行轉(zhuǎn)換。此外,編程操作中還有符號(hào)表、局部變量表、注釋等,這些都是方便程序的編制與閱讀的,在此不再詳述。

3)

程序的下載

編輯完成的程序可以點(diǎn)擊工具條中的下載按鈕進(jìn)行下載。下載前軟件將對(duì)待下載的程序進(jìn)行編譯,編譯中若發(fā)現(xiàn)錯(cuò)誤,則在輸出窗口給出提示,下載暫停執(zhí)行。編譯無誤的程序下載后也會(huì)給出下載成功的提示。

4)

程序的調(diào)試及運(yùn)行監(jiān)控

(1)基于程序編輯器的程序狀態(tài)監(jiān)控。在運(yùn)行STEP7-Micro/Win的計(jì)算機(jī)與PLC之間建立起通信連接,并將程序下載到PLC后,執(zhí)行菜單命令“調(diào)試”→“開始程序狀態(tài)監(jiān)控”,或單擊工具條中的“程序狀態(tài)監(jiān)控”按鈕,可以用程序狀態(tài)監(jiān)控功能監(jiān)控程序運(yùn)行的情況。

如果需要暫停程序狀態(tài)監(jiān)控,則單擊工具條中的“暫停程序狀態(tài)監(jiān)控”按鈕,當(dāng)前的數(shù)據(jù)保留在屏幕上。再次點(diǎn)擊該按鈕,則繼續(xù)執(zhí)行程序狀態(tài)監(jiān)控。①梯形圖程序的程序狀態(tài)監(jiān)控。

運(yùn)行狀態(tài)的程序狀態(tài)監(jiān)控。必須在梯形圖程序狀態(tài)操作開始之前選擇程序狀態(tài)監(jiān)控的數(shù)據(jù)采集模式。執(zhí)行菜單命令“調(diào)試”→“使用執(zhí)行狀態(tài)”后,進(jìn)入執(zhí)行狀態(tài),該命令行的前面出現(xiàn)一個(gè)“√”號(hào)。在這種狀態(tài)模式,只是在PLC處于RUN模式時(shí)才刷新程序段中的狀態(tài)值。在RUN模式啟動(dòng)程序狀態(tài)功能后,將用顏色顯示出梯形圖中各元件的狀態(tài),左邊的垂直“電源線”和與它相連的水平“導(dǎo)線”變?yōu)樗{(lán)色。如果位操作數(shù)為1(為ON),其常開觸點(diǎn)和線圈變?yōu)樗{(lán)色,它們的中間出現(xiàn)藍(lán)色方塊,有“能流”流過的導(dǎo)線也變?yōu)樗{(lán)色。如果有能流流入方框指令的EN(使能)輸入端,且該指令被成功執(zhí)行,則方框指令的方框?qū)⒆優(yōu)樗{(lán)色。定時(shí)器和計(jì)數(shù)器的方框?yàn)榫G色時(shí)表示它們包含有效數(shù)據(jù);為紅色時(shí)表示執(zhí)行指令時(shí)出現(xiàn)了錯(cuò)誤;為灰色時(shí)表示無能流、指令被跳過、未調(diào)用或PLC處于STOP模式。用菜單命令“工具”→“選項(xiàng)”打開“選項(xiàng)”對(duì)話框,在“程序編輯器”選項(xiàng)卡中設(shè)置梯形圖編輯器中柵格(即矩形光標(biāo))的寬度、字符的大小、僅顯示符號(hào)或同時(shí)顯示符號(hào)和地址等。

只有在PLC處于RUN模式時(shí)才會(huì)顯示強(qiáng)制狀態(tài),此時(shí)用鼠標(biāo)右鍵點(diǎn)擊某一元件,在彈出的菜單中可以對(duì)該元件執(zhí)行寫入、強(qiáng)制或取消強(qiáng)制的操作。強(qiáng)制和取消強(qiáng)制功能不能用于V、M、AI和AQ的位。

掃描結(jié)束狀態(tài)的狀態(tài)監(jiān)控。在執(zhí)行狀態(tài)時(shí)執(zhí)行菜單命令“調(diào)試”→“使用執(zhí)行狀態(tài)”,菜單中該命令行前面的“√”號(hào)消失,進(jìn)入掃描結(jié)束狀態(tài)。

掃描結(jié)束狀態(tài)顯示在程序掃描結(jié)束時(shí)讀取的狀態(tài)結(jié)果。這些結(jié)果可能不會(huì)反映PLC數(shù)據(jù)地址的所有數(shù)值變化,因?yàn)殡S后的程序指令在程序掃描結(jié)束之前可能會(huì)寫入和重新寫入數(shù)值。由于快速的PLC掃描周期和相對(duì)慢速的PLC狀態(tài)數(shù)據(jù)通信之間存在的速度差別,掃描結(jié)束狀態(tài)顯示的是幾個(gè)掃描周期結(jié)束時(shí)采集的數(shù)據(jù)值。只有在RUN模式時(shí)才會(huì)顯示觸點(diǎn)和線圈中的顏色塊,以區(qū)別RUN和STOP模式。

對(duì)強(qiáng)制的處理與執(zhí)行狀態(tài)基本上相同,強(qiáng)制和取消強(qiáng)制功能不能用于V、M、AI和AQ的位。在PLC處于RUN和STOP模式時(shí)都會(huì)顯示強(qiáng)制狀態(tài)。只有在“調(diào)試”菜單中選中了“STOP(停止)模式下寫入-強(qiáng)制輸出”(該項(xiàng)的左邊出現(xiàn)“√”號(hào)),才能在STOP模式執(zhí)行對(duì)輸出Q和AQ的寫操作。②語句表程序的程序狀態(tài)監(jiān)控。啟動(dòng)語句表和梯形圖的程序狀態(tài)監(jiān)控功能的方法完全相同。

用菜單命令“工具”→“選項(xiàng)”打開“選項(xiàng)”窗口,選擇“程序編輯器”中的“STL狀態(tài)監(jiān)控”選項(xiàng)卡(見圖5-8),可以選擇語句表程序狀態(tài)監(jiān)控的內(nèi)容,每條指令最多可以監(jiān)控17個(gè)操作數(shù)、邏輯堆棧中4個(gè)當(dāng)前值和1個(gè)指令狀態(tài)位。

狀態(tài)信息從位于編輯窗口頂端的第一條STL語句開始顯示。向下滾動(dòng)編輯窗口時(shí),將從CPU中獲取新的信息。圖5-8語句表程序狀態(tài)監(jiān)控的設(shè)置

(2)用狀態(tài)表監(jiān)控與調(diào)試程序。如果需要同時(shí)監(jiān)控的變量不能在程序編輯器中同時(shí)顯示,可以使用狀態(tài)表監(jiān)控功能。

①打開和編輯狀態(tài)表。在程序運(yùn)行時(shí),可以用狀態(tài)表來讀、寫、強(qiáng)制和監(jiān)控PLC的內(nèi)部變量。雙擊目錄樹“狀態(tài)表”文件夾中的“用戶定義1”圖標(biāo),或者執(zhí)行菜單命令“查看”→“組件”→“狀態(tài)表”,均可打開狀態(tài)表,并對(duì)它進(jìn)行編輯。如果項(xiàng)目中有多個(gè)狀態(tài)表,可以用狀態(tài)表編輯器底部的標(biāo)簽來切換它們。未啟動(dòng)狀態(tài)表的監(jiān)控功能時(shí),可以在狀態(tài)表中輸入要監(jiān)控的變量的地址和數(shù)據(jù)類型,定時(shí)器和計(jì)數(shù)器可以分別按位或按字監(jiān)控。如果按位監(jiān)控,顯示的是它們的輸出位的ON/OFF狀態(tài)。如果按字監(jiān)控,顯示的是它們的當(dāng)前值。

在狀態(tài)表中執(zhí)行菜單命令“編輯”→“插入”→“行”,或者用鼠標(biāo)右鍵點(diǎn)擊狀態(tài)表中的單元,執(zhí)行彈出菜單中的“插入”→“行”命令,可以在狀態(tài)表中當(dāng)前光標(biāo)位置的上部插入新的行。將光標(biāo)置于狀態(tài)表最后一行中的任意單元后,按向下的箭頭鍵,在狀態(tài)表的底部將會(huì)增添一個(gè)新的行。在符號(hào)表中選擇變量并將其復(fù)制到狀態(tài)表中(只復(fù)制符號(hào)列),可以快速創(chuàng)建狀態(tài)表。②創(chuàng)建新的狀態(tài)表。可以創(chuàng)建幾個(gè)狀態(tài)表,分別監(jiān)控不同的元件組。用鼠標(biāo)右鍵單擊指令樹中的“狀態(tài)表”,或單擊已經(jīng)打開的狀態(tài)表,執(zhí)行彈出菜單中的“插入”→“狀態(tài)表”命令,可以創(chuàng)建新的狀態(tài)表。③啟動(dòng)和關(guān)閉狀態(tài)表的監(jiān)控功能。與PLC的通信連接成功后,打開狀態(tài)表,執(zhí)行菜單命令“調(diào)試”→“開始狀態(tài)表監(jiān)控”或單擊工具條上的“狀態(tài)表監(jiān)控”按鈕,可以啟動(dòng)狀態(tài)表的監(jiān)控功能,在狀態(tài)表的“當(dāng)前值”列將會(huì)出現(xiàn)從PLC中讀取的動(dòng)態(tài)數(shù)據(jù)。執(zhí)行菜單命令“調(diào)試”→“停止?fàn)顟B(tài)表監(jiān)控”或單擊“狀態(tài)表監(jiān)控”按鈕,可以關(guān)閉狀態(tài)表。

狀態(tài)表的監(jiān)控功能被啟動(dòng)后,編程軟件從PLC收集狀態(tài)信息,并對(duì)表中的數(shù)據(jù)更新,這時(shí)還可以強(qiáng)制修改狀態(tài)表中的變量。用二進(jìn)制格式監(jiān)控字節(jié)、字或雙字,可以在一行中同時(shí)監(jiān)控8點(diǎn)、16點(diǎn)或32點(diǎn)位變量。④單次讀取狀態(tài)信息。狀態(tài)表被關(guān)閉時(shí),用菜單命令“調(diào)試”→“單次讀取”或單擊工具條上的“單次讀取”按鈕,可以從PLC中收集當(dāng)前的數(shù)據(jù),并在狀態(tài)表中的“當(dāng)前值”列顯示出來,執(zhí)行用戶程序時(shí)并不對(duì)它進(jìn)行更新。要連續(xù)收集狀態(tài)表信息,應(yīng)啟動(dòng)狀態(tài)表的監(jiān)控功能。⑤趨勢圖??梢杂孟铝蟹椒ㄖ辉跔顟B(tài)表的表格視圖和趨勢視圖之間切換:

執(zhí)行菜單命令“查看”→“查看趨勢圖”。

用鼠標(biāo)右鍵單擊狀態(tài)表,然后執(zhí)行彈出菜單中的“查看趨勢圖”命令。

單擊調(diào)試工具條上的“趨勢圖”按鈕。

趨勢圖用隨時(shí)間變化的PLC數(shù)據(jù)的圖形跟蹤狀態(tài)數(shù)據(jù),可以將狀態(tài)表顯示切換為趨勢圖顯示,或作反向的切換。趨勢顯示的行號(hào)與狀態(tài)表的行號(hào)對(duì)應(yīng)。用鼠標(biāo)右鍵點(diǎn)擊趨勢圖,執(zhí)行彈出菜單中的相應(yīng)命令,可以在趨勢圖運(yùn)行時(shí)刪除被點(diǎn)擊的變量、插入新的行和修改趨勢圖的時(shí)間基準(zhǔn)(即時(shí)間軸的刻度)。如果更改趨勢圖的時(shí)間基準(zhǔn)(0.25s~5min),則整個(gè)圖的數(shù)據(jù)都會(huì)被清除,并用新的時(shí)間基準(zhǔn)重新顯示。執(zhí)行彈出菜單中的“屬性”命令,在彈出的對(duì)話框中,可以修改被點(diǎn)擊的行變量的地址和顯示格式以及顯示時(shí)的上限和下限。

單擊工具條中的“暫停趨勢圖”按鈕,或執(zhí)行菜單命令“調(diào)試”→“暫停趨勢圖”,可以“凍結(jié)”趨勢圖。實(shí)時(shí)趨勢功能不支持歷史趨勢,即不會(huì)保留超出趨勢圖窗口的時(shí)間范圍的趨勢數(shù)據(jù)。

將光標(biāo)放在分隔趨勢行的橫線上,出現(xiàn)雙箭頭光標(biāo)后,按住鼠標(biāo)左鍵,上、下拖動(dòng)光標(biāo),可以調(diào)節(jié)各行的高度。

(3)用狀態(tài)表強(qiáng)制改變數(shù)值。

①強(qiáng)制的基本概念。在RUN模式且對(duì)控制過程影響較小的情況下,可以對(duì)程序中的某些變量強(qiáng)制性地賦值。S7-200CPU允許強(qiáng)制性地給所有的I/O點(diǎn)賦值,此外還可以改變最多16個(gè)內(nèi)部存儲(chǔ)器數(shù)據(jù)(V或M)或模擬量I/O(AI或AQ)。V或M可以按字節(jié)、字或雙字來改變,只能從偶數(shù)字節(jié)開始以字為單位改變模擬量(例如AIW6)。強(qiáng)制的數(shù)據(jù)永久性地存儲(chǔ)在CPU的EEPROM中。在讀取輸入階段,強(qiáng)制值被當(dāng)作輸入讀入;在程序執(zhí)行階段,強(qiáng)制數(shù)據(jù)用于立即讀和立即寫指令指定的I/O點(diǎn)。在通信處理階段,強(qiáng)制值用于通信的讀/寫請(qǐng)求;在修改輸出階段,強(qiáng)制數(shù)據(jù)被當(dāng)作輸出寫到輸出電路。進(jìn)入STOP狀態(tài)時(shí),輸出將變?yōu)閺?qiáng)制值,而不是系統(tǒng)塊中設(shè)置的值。

通過強(qiáng)制V、M、T或C,強(qiáng)制功能可以用來模擬邏輯條件。通過強(qiáng)制I/O點(diǎn),強(qiáng)制功能可以用來模擬物理?xiàng)l件。在寫入或強(qiáng)制輸出時(shí),如果S7-200與其他設(shè)備相連,可能導(dǎo)致系統(tǒng)出現(xiàn)無法預(yù)料的情況,引起人員傷亡或設(shè)備損壞,只有合格的人員才能進(jìn)行強(qiáng)制操作。黃色的顯式強(qiáng)制圖標(biāo)(一把合上的鎖)表示該地址被顯式強(qiáng)制,對(duì)它取消強(qiáng)制之前用其他方法不能改變此地址的值。

隱式強(qiáng)制圖標(biāo)(合上的灰色的鎖)表示該地址被隱式強(qiáng)制。如VW0被顯示強(qiáng)制,VB0可被隱式強(qiáng)制,因?yàn)樗荲W0的一部分。

部分隱式強(qiáng)制圖標(biāo)(半塊灰色的鎖)表示該地址被部分隱式強(qiáng)制。如VW0被顯示強(qiáng)制,因?yàn)閂Wl的第一個(gè)字節(jié)VB1是VW0的第2個(gè)字節(jié),所以VW1的一部分也被強(qiáng)制。

不能對(duì)隱式強(qiáng)制和部分隱式強(qiáng)制的數(shù)值取消強(qiáng)制,在改變?cè)摰刂穬?nèi)的數(shù)值之前,必須取消使它被間接強(qiáng)制的地址的強(qiáng)制。②強(qiáng)制的操作方法。啟動(dòng)狀態(tài)表的監(jiān)控功能后,可以用“調(diào)試”菜單中的命令或工具條中與調(diào)試有關(guān)的按鈕執(zhí)行下列操作:強(qiáng)制、取消強(qiáng)制、取消全部強(qiáng)制、讀取全部強(qiáng)制、單次讀取和全部寫入。用鼠標(biāo)右鍵單擊狀態(tài)表中的某個(gè)操作數(shù),從彈出的菜單中可以選擇對(duì)該操作數(shù)強(qiáng)制或取消強(qiáng)制。

全部寫入。完成了對(duì)狀態(tài)表中變量的改動(dòng)后,可以用全部寫入功能將所有的改動(dòng)傳送到PLC。執(zhí)行程序時(shí),修改的數(shù)值可能被程序改寫成新的數(shù)值,物理輸入點(diǎn)的狀態(tài)不能用此功能修改。

強(qiáng)制。在狀態(tài)表的地址列選中一個(gè)操作數(shù),在“新數(shù)值”列寫入希望的數(shù)據(jù),然后點(diǎn)擊工具條中的“強(qiáng)制”按鈕,被強(qiáng)制的數(shù)值旁邊將顯示強(qiáng)制圖標(biāo)。一旦使用了強(qiáng)制功能,每次掃描都會(huì)將修改的數(shù)值用于該操作數(shù),直到取消對(duì)它的強(qiáng)制。

對(duì)單個(gè)操作數(shù)取消強(qiáng)制。選擇一個(gè)被強(qiáng)制的操作數(shù),然后點(diǎn)擊工具條中的“取消強(qiáng)制”按鈕,被選擇的地址的強(qiáng)制圖標(biāo)將會(huì)消失。也可以用鼠標(biāo)右鍵點(diǎn)擊該地址后再進(jìn)行操作。

全部取消強(qiáng)制。如果希望從狀態(tài)表中取消全部強(qiáng)制,可以點(diǎn)擊工具條中的“取消全部強(qiáng)制”按鈕,使用該功能之前不必選中某個(gè)地址。

讀取全部強(qiáng)制。執(zhí)行“讀取全部強(qiáng)制”功能時(shí),狀態(tài)表中被強(qiáng)制的地址的當(dāng)前值列將在已經(jīng)被顯式強(qiáng)制、隱式強(qiáng)制或部分隱式強(qiáng)制的地址處顯示相應(yīng)的圖標(biāo)。③在STOP模式下寫入和強(qiáng)制輸出。必須執(zhí)行菜單命令“調(diào)試”→“STOP模式下寫入-強(qiáng)制輸出”,才能在STOP模式中啟用該功能。打開STEP7-Micro/Win或打開不同的項(xiàng)目時(shí),作為默認(rèn)狀態(tài),沒有選中該菜單選項(xiàng),以防止在PLC處于STOP模式時(shí)寫入或強(qiáng)制輸出。

(4)在RUN模式下編輯用戶程序。在RUN(運(yùn)行)模式下,不必轉(zhuǎn)換到STOP模式,便可以對(duì)程序做較小的改動(dòng),并將改動(dòng)下載到PLC。

建立好計(jì)算機(jī)與PLC之間的通信聯(lián)系后,當(dāng)PLC處于RUN模式時(shí),執(zhí)行菜單命令“調(diào)試”→“RUN(運(yùn)行)模式下程序編輯”,如果編程軟件中打開的項(xiàng)目與S7-200中的程序不同,將提示上載PLC中的程序,該功能只能編輯PLC中的程序。進(jìn)入RUN模式編輯狀態(tài)后,將會(huì)出現(xiàn)一個(gè)跟隨鼠標(biāo)移動(dòng)的PLC圖標(biāo)。再次執(zhí)行菜單命令“調(diào)試”→“RUN(運(yùn)行)模式下程序編輯”,將退出RUN模式編輯。

編輯前應(yīng)退出程序狀態(tài)監(jiān)控,修改程序后,需要將改動(dòng)下載到PLC。下載之前一定要仔細(xì)考慮可能對(duì)設(shè)備或操作人員造成的各種傷害。

在RUN模式編輯狀態(tài)下修改程序后,CPU對(duì)修改的處理方法可以查閱系統(tǒng)手冊(cè)。

激活RUN模式程序編輯功能后,梯形圖程序中的跳變觸點(diǎn)上面將會(huì)出現(xiàn)為EU/ED指令臨時(shí)分配的編號(hào)。同時(shí)交叉引用表中的“邊沿使用”選項(xiàng)卡將列出程序中所有EU/ED的編號(hào)和性質(zhì)表,P或N分別表示EU或ED。

(5)調(diào)試用戶程序的其他方法。

①使用書簽。軟件工具條中的4個(gè)旗幟形狀的按鈕與書簽有關(guān),可以用它們來生成和清除書簽,跳轉(zhuǎn)到上一個(gè)或下一個(gè)書簽所在的位置。

②單次掃描。從STOP模式進(jìn)入RUN模式,首次掃描位(SM0.1)在第一次掃描時(shí)為1狀態(tài)。由于執(zhí)行速度太快,在程序運(yùn)行狀態(tài)很難觀察到首次掃描剛結(jié)束時(shí)PLC的狀態(tài)。

在STOP模式執(zhí)行菜單命令“調(diào)試”→“首次掃描”,PLC進(jìn)入RUN模式,執(zhí)行一次掃描后,自動(dòng)回到STOP模式,可以觀察到首次掃描后的狀態(tài)。③多次掃描。PLC處于STOP模式時(shí),執(zhí)行菜單命令“調(diào)試”→“多次掃描”,在出現(xiàn)的對(duì)話框中指定執(zhí)行程序掃描的次數(shù)(1~9999次)。點(diǎn)擊“確認(rèn)”按鈕,執(zhí)行完指定的掃描次數(shù)后,自動(dòng)返回STOP模式。

4.設(shè)置PLC的參數(shù)

執(zhí)行菜單命令“查看”→“組件”→“系統(tǒng)塊”,可以打開系統(tǒng)塊。單擊指令樹中“系統(tǒng)塊”文件夾中的某一圖標(biāo),可以直接打開系統(tǒng)塊中對(duì)應(yīng)的對(duì)話框。

打開系統(tǒng)塊(見圖5-9)后,用鼠標(biāo)單擊左側(cè)窗口中的某個(gè)圖標(biāo),進(jìn)入對(duì)應(yīng)的對(duì)話框后,可以進(jìn)行有關(guān)的參數(shù)設(shè)置。有的對(duì)話框中有“默認(rèn)值”按鈕,點(diǎn)擊“默認(rèn)值”按鈕可以自動(dòng)設(shè)置編輯軟件推薦的設(shè)置值。

設(shè)置完成后,點(diǎn)擊“確認(rèn)”按鈕確認(rèn)設(shè)置的參數(shù),并自動(dòng)關(guān)閉系統(tǒng)塊。設(shè)置完所有的參數(shù)后,需要通過系統(tǒng)塊將新的設(shè)置下載到PLC,參數(shù)便存儲(chǔ)在CPU模塊的存儲(chǔ)器中了。圖5-9設(shè)置斷電數(shù)據(jù)保持

1)斷電數(shù)據(jù)保持的設(shè)置

(1)?S7-200保持?jǐn)?shù)據(jù)的方法。S7-200CPU中的數(shù)據(jù)存儲(chǔ)區(qū)分為易失性的RAM存儲(chǔ)區(qū)和不需要供電就可以永久保存數(shù)據(jù)的EEPROM存儲(chǔ)區(qū)。前者的電源消失后,存儲(chǔ)的數(shù)據(jù)將會(huì)丟失;后者的電源消失后,存儲(chǔ)的數(shù)據(jù)不會(huì)丟失。CPU在工作時(shí),V、M、T、C、Q等存儲(chǔ)區(qū)的數(shù)據(jù)都保存在RAM中。

S7-200用內(nèi)置的EEPROM永久保存程序塊、數(shù)據(jù)塊、系統(tǒng)塊、強(qiáng)制值、組態(tài)為斷電保持的V存儲(chǔ)器和在用戶程序控制下寫入的指定值。配方和數(shù)據(jù)記錄組態(tài)存放在存儲(chǔ)卡內(nèi)。

EEPROM存儲(chǔ)區(qū)對(duì)應(yīng)于RAM中的全部V存儲(chǔ)區(qū)、部分M存儲(chǔ)區(qū)和有保持功能的定時(shí)器TONR。從CPU模塊上載用戶程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論