STEP7編程軟件用于SIMATIC S7、M7、C7和基于PC的WINAC,是供它們編程、監(jiān)控和參數(shù)設(shè)置的標準工具。STEP 7具有以下功能:硬件配置和參數(shù)設(shè)置、通信組態(tài)、編程、測試、啟動和維護、文件建檔、運行和診斷功能等。在STEP 7中,用項目來管理一個自動化系統(tǒng)的硬件和軟件。STEP 7用SIMATIC管理器對項目進行集中管理,它可以方便地瀏覽SIMATIC S7、M7、C7和WINAC的數(shù)據(jù)。實現(xiàn)STEP 7各種功能所需的SIMATIC軟件工具都集成在STEP 7中。
5.1.1 STEP 7的硬件接口
PC/MPI適配器用于連接安裝了STEP 7的計算機的RS-232C接口和PLC的MPI接口。計算機一側(cè)的通信速率為19.2 KBIT/S或38.4 KBIT/S,PLC一側(cè)的通信速率為19.2 KBIT/S~1.5MBIT/S。除了PC適配器,還需要一根標準的RS-232C通信電纜。使用計算機的通信卡CP 5611、CP 5511或CP 5512,可以將計算機連接到MPI或PROFIBUS網(wǎng)絡(luò),通過網(wǎng)絡(luò)實現(xiàn)計算機與PLC的通信。也可以使用計算機的工業(yè)以太網(wǎng)通信卡CP 1512或CP 1612,通過工業(yè)以太網(wǎng)實現(xiàn)計算機與PLC通信。在計算機上安裝好STEP7后,在管理器中執(zhí)行菜單命令“OPTION”→“SETTING THE PG/PC INTERFACE” ,打開“INSTALL/REMOVE INTERFACES”
對話框。在中間的選擇框中,選擇實際使用的硬件接口。點擊【SELECT…】按鈕,打開“INSTALL/REMOVE INTERFACES”對話框,可以安裝選擇框中沒有列出的硬件接口的驅(qū)動程序。點擊【PROPERTIES…】按鈕,可以設(shè)置計算機與PLC通信的參數(shù)。
5.1.2 STEP 7的編程功能
STEP 7的標準版只配置了3種基本的編程語言,梯形圖(LAD)、功能塊圖(FDB)和語句表(STL)、復(fù)制和粘貼功能。語句表是一種文本編程語言,使用戶能節(jié)省輸入時間和存儲區(qū)域,并且“更接近硬件”。STEP 7專業(yè)版的編程語言包括S7-SCL(結(jié)構(gòu)化控制語言)、S7-GRAPH(順序功能圖語言)、S7 HIGRAPH和CFC,這四種語言對于標準版是可選的。STEP 7用符號表編輯器工具管理所有的全局變量,用于定義符號名稱、數(shù)據(jù)類型和全局變量的注釋。使用這一工具生成的符號表可供所有應(yīng)用程序使用,所有工具自動識別系統(tǒng)參數(shù)的變化。
測試功能和服務(wù)功能包括設(shè)置斷點、強制輸入和輸出、重新布線、顯示交叉參考表、狀態(tài)功能、直接下載和調(diào)試塊、同時監(jiān)測幾個塊的狀態(tài)等。程序中的特殊點可以通過輸入符號名或地址快速查找。
STEP 7的幫助功能:選定想要得到的在線幫助的菜單目錄,或打開對話框,按F1鍵便可得到與它們有關(guān)的在線幫助。執(zhí)行菜單命令“HELP”→“CONTENTS”進入幫助窗口,借助目錄瀏覽器尋找需要的幫助主題,窗口中的檢索部分提供了按字母順序排列的主題關(guān)鍵詞,可以查找與某一關(guān)鍵詞有關(guān)的幫助。
5.1.3 STEP 7的硬件組態(tài)與診斷功能
硬件組態(tài)工具用于對自動化工程中使用的硬件進行配置和參數(shù)設(shè)置。主要包括:
1)系統(tǒng)組態(tài):從目錄中選擇硬件機架,并將所選模塊分配給機架中希望的插槽。
2)CPU的參數(shù)設(shè)置:可以設(shè)置CPU模塊的多種屬性,例如啟動屬性、掃描監(jiān)視時間等,輸入的數(shù)據(jù)存儲在CPU的系統(tǒng)數(shù)據(jù)塊中。
3)模塊的參數(shù)設(shè)置:用戶可以在屏幕上定義所有硬件模塊的的可調(diào)整參數(shù),包括功能模塊與通信處理器,不必通過DIP開關(guān)來設(shè)置。在參數(shù)設(shè)置屏幕中,有的參數(shù)由系統(tǒng)提供若干個選項,有的參數(shù)只能在允許的范圍輸入,因此可以防止輸入錯誤的數(shù)據(jù)。
通信的組態(tài)包括:
1)連接的組態(tài)和顯示。
2)設(shè)置用MPI或PROFIBUS-DP連接的設(shè)備之間的周期性數(shù)據(jù)傳送的參數(shù),選擇通信的參與者,在表中輸入數(shù)據(jù)源和數(shù)據(jù)目的地后,通信過程中數(shù)據(jù)的生成和傳送均是自動完成的。
3)設(shè)置用MPI、PROFIBUS或工業(yè)以太網(wǎng)實現(xiàn)的事件驅(qū)動的數(shù)據(jù)傳輸,包括定義通信路。從集成塊庫中選擇通信模塊(CFB),用通用的編程語言(例如梯形圖)對所選的通信模塊進行參數(shù)設(shè)置。
STEP 7系統(tǒng)診斷:系統(tǒng)診斷為用戶提供自動化系統(tǒng)的狀態(tài),可以通過2種方式顯示:
1)快速瀏覽CPU的數(shù)據(jù)和用戶編寫的程序在運行中的故障原因。
2)用圖形方式顯示硬件配置,例如顯示模塊的一般信息和模塊的狀態(tài):顯示模塊故障,例如集中I/O和DP子站的通道故障;顯示診斷緩沖區(qū)的信息等。
在STEP 7中,用項目來管理一個自動化系統(tǒng)的硬件和軟件。STEP 7用SIMATIC管理器對項目進行集中管理,它可以方便的瀏覽SIMATIC S7、C7、和WINAC的數(shù)據(jù)。因此,掌握項目創(chuàng)建的方法就非常重要。
5.2.1 使用向?qū)?chuàng)建項目
首先雙擊桌面上的STEP 7圖標,進入SIMATIC MANAGER窗口,進入主菜單【文件】,選擇【“新建項目”向?qū)А?,彈出標題為“新項目向?qū)?/font>”的小窗口。
1)點擊【下一步】按鈕,在新項目中選擇CPU模塊的型號為CPU 313C 。
2)點擊【下一步】按鈕,選擇需要生成的邏輯塊,選擇需要生成作為主程序的組織塊OB1,選擇編程語言為梯形圖(LAD)。
3)點擊【下一步】按鈕,輸入項目的名稱,按【完成】生成的項目。過程如圖5.1所示。
生成項目后,可以先組態(tài)硬件,然后生成軟件程序。也可以在沒有組態(tài)硬件的情況下,首先生成軟件。

(a)打開“新建項目”向?qū)?/font>

(b)選擇CPU的型號

(c)選擇塊的種類及語言種類

(d)給項目命名

(e)完成新項目的創(chuàng)建
圖5-1使用向?qū)?chuàng)建項目
5.2.2 直接創(chuàng)建項目
進入主菜單【文件】 ,選擇【新建…】,將出現(xiàn)如圖5.2的一個對話框,在該對話框中分別輸入“文件名” 、“目錄路徑”等內(nèi)容,并確定,完成一個空項目的創(chuàng)建工作。

(a)輸入文件名與路徑

(b)完成項目創(chuàng)建
圖5-2 直接創(chuàng)建項目
5.3.1 傳送指令MOVE

圖5-3 MOVE指令符號
MOVE(賦值指令)可以由使能(EN)輸入端的信號激活。將在輸入端IN 的特定值復(fù)制到輸出端OUT 上的特定地址中。ENO 和EN 具有相同的邏輯狀態(tài)。MOVE 只能復(fù)制 BYTE(字節(jié))、WORD(字)或 DWORD(雙字)數(shù)據(jù)對象。用戶定義的數(shù)據(jù)類型(例如數(shù)組或結(jié)構(gòu))必須使用系統(tǒng)功能“BLKMOVE”(SFC 20)進行復(fù)制。
MOVE指令的應(yīng)用舉例:

圖5-4 MOVE指令應(yīng)用舉例
如果 I0.0 =“1”,則執(zhí)行指令。MW10 的內(nèi)容被復(fù)制到當前打開的數(shù)據(jù)塊的數(shù)據(jù)字12中。如果執(zhí)行指令,則 Q4.0 為“1” 。
5.3.2 S_CU 加計數(shù)器指令

圖5-5 S_CU加計時器指令符號
S_CU(加計數(shù)器)在輸入端S 出現(xiàn)上升沿時使用輸入端PV 上的數(shù)值預(yù)置。如果在輸入端 R 上的信號狀態(tài)為“1”,則計數(shù)器復(fù)位,計數(shù)值被置為“0”。如果輸入端CU 上的信號狀態(tài)從“0”變?yōu)椤?/font>1”,并且計數(shù)器的值小于“999”,則計數(shù)器加“1”。
如果計數(shù)器被置位,并且輸入端CU 上的RLO = 1,計數(shù)器將相應(yīng)地在下一掃描循環(huán)計數(shù),即使沒有從上升沿到下降沿的變化或從下降沿到上升沿的變化。
如果計數(shù)值大于“0”,則輸出Q 上的信號狀態(tài)為“1”;如果計數(shù)值等于“0”,則輸出Q 上的信號狀態(tài)為“0”。
S_CU 加計數(shù)器指令的應(yīng)用舉例:

圖5-6 S_CU 加計數(shù)器指令應(yīng)用舉例
如果 I0.2 從“0”變?yōu)椤?/font>1”,計數(shù)器使用MW10 的值預(yù)置。如果I0.0 的信號狀態(tài)從“0”變?yōu)椤?/font>1”,計數(shù)器C10 的值將加“1”。C10 的值等于“999”除外。如果C10 不等于“0”,則Q4.0 為“1” 。
5.3.3 S_ODT接通延時 S5 定時器指令

圖5-7 S_ODT接通延時S5定時器指令符號
S_ODT(接通延時 S5 定時器指令)用于在起動(S)輸入端上出現(xiàn)上升沿時,起動指定的定時器。為了起動定時器,信號變化總是必要的。只要S 輸入端的信號狀態(tài)為“1”,則定時器就按輸入端TV 上設(shè)定的時間間隔繼續(xù)運行。當時間已經(jīng)結(jié)束,未出現(xiàn)錯誤并且S 輸入端上的信號狀態(tài)仍為“1”,則輸出Q 的信號狀態(tài)為“1”。當定時器正在運行時,如果S輸入端的信號狀態(tài)從“1”變?yōu)椤?/font>0”,則定時器停止運行。此時,輸出Q 的信號狀態(tài)為“0”。
當定時器運行時,如果復(fù)位(R)輸入端從“0”變?yōu)椤?/font>1”,則定時器復(fù)位。同時當前時間和時基清零。此時,輸出Q 的信號狀態(tài)為“0”。如果在輸入端R 的信號狀態(tài)為邏輯“1”,同時定時器沒有運行,輸入端S 為“1”,則定時器復(fù)位。
當前的時間值可以在輸出 BI 和BCD 掃描出來。BI 上的時間值為二進制值,BCD上的時間值為BCD 碼。當前的時間值等于初始TV 值減去定時器起動以來的歷時時間。
S_ODT接通延時 S5 定時器指令應(yīng)用舉例:

圖5-8 S_ODT接通延時S5定時器指令應(yīng)用舉例
如果輸入端 I0.0 的信號狀態(tài)從“0”變?yōu)椤?/font>1”(RLO 出現(xiàn)上升沿),則起動定時器 T5。如果規(guī)定的2 秒時間已結(jié)束,輸入 I0.0 的信號狀態(tài)仍為“1”,則輸出 Q4.0 為“1”。如果輸入 I0.0 的信號狀態(tài)從“1”變?yōu)椤?/font>0”,則定時器停止運行,Q4.0 為“0”(如果 I0.1 的信號狀態(tài)從“0”變?yōu)椤?/font>1”,則定時器復(fù)位,而不管定時器是否正在運行)。
5.3.4 SHR_W 字右移指令

圖5-9 SHR_W 字右移指令符號
SHR_W(字右移指令)可以由使能(EN)輸入端的邏輯“1”信號激活。SHR_W 指令用于將輸入IN 位的位 0 到位15 逐位右移。位16 到位 31 不受影響。輸入N 指定移位的位數(shù)。如果N 大于16,該命令將“0”寫入輸出 OUT,并將狀態(tài)字中的位 CC 0 和OV 清零。從左邊到需填充空出位的所有位將填入N 個零。移位操作的結(jié)果可以在輸OUT 中掃描。如果N 不等于“0” ,則通過 SHR_W 指令將 CC0位和OV 位清零。ENO 和EN 具有相同的信號狀態(tài)。
SHR_W字右移指令應(yīng)用舉例:

圖5-10 SHR_W字右移指令應(yīng)用舉例
如果 I0.0 為邏輯“1”,則 SHR_W 方塊激活。MW0 裝入,并右移使用 MW2 指定的位數(shù)。其結(jié)果被寫入 MW4 中。Q4.0 置位。
5.4.1 程序流程圖
開始→首次選擇步進速度→正轉(zhuǎn)或反轉(zhuǎn)起動→移位寄存器賦初值→高速、中速、或低速中其中一個速度→發(fā)生移位脈沖→執(zhí)行移位→移位輸出控制步進電機→六拍計數(shù)到→移位寄存器賦初值→六拍計數(shù)沒到→繼續(xù)執(zhí)行

圖5-11 步進電機運行時的程序框圖
5.4.2 軟件模塊
以工作框圖為基本依據(jù),結(jié)合考慮控制的具體要求,首先可將梯形圖程序分成4個模塊進行編程,1:步進速度選擇;2:起動、停止和清零;3:移位步進控制功能模塊;4:A、B、C三相繞組對象控制。然后,將各模塊進行連接,最后經(jīng)過調(diào)試、完善、實現(xiàn)控制要求。
5.4.3. 梯形圖程序設(shè)計
控制步進電機的各輸入開關(guān)及控制A、B、C三相繞組工作的輸出端在PLC中的I/O編址如下:
表5-1 輸入輸出地址
I0.0 | 步進電機正轉(zhuǎn)起動按鈕 | Q0.0 | 控制A相繞組 |
I0.1 | 步進電機反轉(zhuǎn)起動按鈕 | Q0.1 | 控制B相繞組 |
I0.2 | 停止及清零按鈕 | Q0.2 | 控制C相繞組 |
I1.0 | 低速開關(guān) | | |
I1.1 | 中速開關(guān) | | |
I1.2 | 高速開關(guān) | | |
采用移位指令進行步進控制。首先指定移位寄存器MW0(16位),移位寄存器的初值如下:
表5-2 移位寄存器初值
M0.7 | M0.6 | M0.5 | M0.4 | M0.3 | M0.2 | M0.1 | M0.0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
按照三相六拍的步進順序每右移1位,電機前進一個步距角(一拍),完成六拍后重新賦初值。其中,M0.6和M0.7始終為“0”。據(jù)此,可作出移位寄存器輸出狀態(tài)及步進電機正反轉(zhuǎn)繞組的狀態(tài)真值表,從而得出三相繞組的控制邏輯關(guān)系式見表5.3 。
表5-3 三相繞組的控制邏輯關(guān)系式
正轉(zhuǎn)時 | 反轉(zhuǎn)時 |
A相 | Q0.0 = M0.5 + M0.4 + M0.0 | A相 | Q0.0 = M0.5 + M0.4 + M0.0 |
B相 | Q0.1 = M0.4 + M0.3 + M0.2 | B相 | Q0.1 = M0.2 + M0.1 + M0.0 |
C相 | Q0.2 = M0.2 + M0.1 + M0.0 | C相 | Q0.2 = M0.4 + M0.3 + M0.2 |
從而設(shè)計出程序的梯形圖見附錄。編寫好梯形圖程序后,點擊【保存】,然后點擊【下載】,將程序下載到PLC中,即可運行。點擊眼鏡圖標的【監(jiān)視】命令,可打開對程序的監(jiān)視。
低速時按下I1.0上升沿觸發(fā),而中速I1.1和高速I1.2與I1.0閉合觸點串連形成互鎖,利用傳送指令MOVE將數(shù)字50傳送到移位寄存器VW100。I0.0和I0.1是正反轉(zhuǎn)按鈕,I0.2是停止及清零按鈕,當正轉(zhuǎn)時按下I0.0, 而I0.0常開和I0.1,I0.2閉合觸點形成串連,目的形成互鎖,使正轉(zhuǎn)時,反轉(zhuǎn)不能啟動。當按下正轉(zhuǎn)I0.0時與常閉觸點I0.1和I0.2串連,要想停止按下I0.2,不論處在正傳或反轉(zhuǎn)都會停止。停止按鈕I0.2的常開觸點與控制正轉(zhuǎn)反轉(zhuǎn)的輔助常閉觸點相串連將0通過傳送指令送到移位寄存器MW0中。啟動正轉(zhuǎn)反轉(zhuǎn)都能使移位寄存器都能從A相開始使,這樣電機不存在累積誤差,正轉(zhuǎn)反轉(zhuǎn)輔助觸點相并聯(lián)經(jīng)過上升沿觸發(fā)在與遞增計數(shù)CO相并聯(lián)將二進制100000通過傳送指令傳送到移位寄存器MWO控制電機的拍數(shù)。通過遞增計數(shù)CO啟動M3.0。當增加到六次時CO輔助觸點閉合,啟動M3.0使增計數(shù)器復(fù)位從新開始計數(shù),接通延時定時器的目的,決定移位的快慢。VW100的值不一樣,脈沖的頻率不一樣。SHR_W右移字指令通過T6產(chǎn)生一個脈沖,移動一位。M2.0的作用給一個脈沖M2.0得電閉合一次遞增計數(shù)就加一次,當增加到六次時,遞增計數(shù)器動作,他的輔助觸點閉合,M3.0動作遞增計數(shù)器復(fù)位。通過移位寄存器輸出狀態(tài)及步進電機繞組狀態(tài)真值表可以看出控制電機的正反轉(zhuǎn)。中速,高速控制方式和低速相同。
為了生成一個新項目,完成系統(tǒng)硬件配置文件并將其下載,完成系統(tǒng)硬件組態(tài)步驟如下:
1.雙擊SIMATIC Manager圖標,打開STEP7 主畫面。點擊【新建N…】,輸入文件名稱(GaoChao PLC)和文件夾地址,然后點擊【確定】,系統(tǒng)將自動生成(GaoChao PLC)項目。

圖5-12 新建項目
2.點亮(GaoChao PLC)項目名稱,點擊【插入】,【站點】,點擊SIMATIC 300 站點,將生成一個S7-300的項目。

圖5-13 插入站點
3.點開左面的【+】,選中SIMATIC 300(1),然后選中【硬件】并雙擊,進入硬件組態(tài)畫面。

圖5-14 進入硬件組態(tài)
4.雙擊SIMATIC 300\RACK-300,然后將Rail 拖入到左邊空白處。生成空機架。

圖5-15 創(chuàng)建機架
5.雙擊PS-300,選中電源PS 307 2A,將其拖到機架RACK的第一個插槽。

圖5-16 插入電源
6.雙擊CPU-300,雙擊CPU-315,雙擊6ES7 315-2AF00-0AB0,將其拖到機架RACK的第2個插槽。

圖5-17 插入CPU
7.點開SM300,點開DI/DO—300選中SM323 DI16/DO16*DC24V/0.5A模塊,并將其拖入左下面的第4 槽中,一個數(shù)字輸入輸出模塊組態(tài)完畢,系統(tǒng)將自動為模塊的通道分配I/O地址(該處為I0.0 - I1.7;Q0.0 - Q1.7)。

圖5-18 插入輸入輸出模塊
8.點擊【保存并編譯】,存盤并編譯硬件組態(tài),完成硬件組態(tài)工作。切換回剛才的界面,依次點開SIMATIC 300(1),CPU 315,S7 程序(1),塊,OB1。寫入附錄中的程序梯形圖,保存并下載到PLC中。程序運行時,可通過點擊【選項】,【參考數(shù)據(jù)】,【顯示】來查看每個變量的狀態(tài)。

圖5-19 查看變量狀態(tài)
組態(tài)王開發(fā)監(jiān)控系統(tǒng)軟件,是新型的工業(yè)自動控制系統(tǒng)正以標準的工業(yè)計算機軟、硬件平臺構(gòu)成的集成系統(tǒng)取代傳統(tǒng)的封閉式系統(tǒng)。
在組態(tài)王的硬件組態(tài)的設(shè)備設(shè)置中,添加西門子S7—300。當定義設(shè)備時選擇該PLC的驅(qū)動,地址與PLC地址位取相同值即可與PLC通訊。

圖5-20 定義PLC設(shè)備
組態(tài)和PLC之間是直接通訊的,只要監(jiān)控數(shù)據(jù)發(fā)到PLC里,組態(tài)王就可以讀取,變量名稱和PLC的相同,直接編輯即可。定義數(shù)據(jù)變量時,I/O數(shù)據(jù)定義PLC寄存器,運行程序即可實現(xiàn)訪問PLC寄存器獲得采集的數(shù)據(jù)。上位控件(按扭等)所連接的變量,設(shè)定時和PLC的硬件地址相對應(yīng)起來。
由此可以創(chuàng)建組態(tài)王對步進電機PLC控制系統(tǒng)的組態(tài)。如圖所示:

圖5-21 組態(tài)王對S7-300控制步進電機的監(jiān)控畫面
當按下三中速度中的一個時,與之相對應(yīng)的狀態(tài)指示燈亮。當按下“正轉(zhuǎn)”或者“反轉(zhuǎn)”時,步進電機以剛才選定的速度進行正傳或反轉(zhuǎn),與之對應(yīng)的轉(zhuǎn)向指示燈亮。點擊“復(fù)位”按鈕時,步進電機停止,同時復(fù)位指示燈亮。
5.8 本章小結(jié)
本章講述了STEP7軟件的使用方法,設(shè)計了PLC控制步進電機運行的程序流程圖,并依此編寫了梯形圖程序。講述了運用西門子STEP7軟件進行硬件組態(tài)的方法。并且,運用組態(tài)王軟件,設(shè)計了PLC控制步進電機運行的監(jiān)控系統(tǒng)。