西門子S7-PLCSIM使用入門
西門子S7-PLCSIM使用入門
摘 要
本文檔主要用于討論以下相關(guān)問題:
² S7-PLCSIM工具軟件的基本信息
² S7-PLCSIM工具軟件的簡單使用
關(guān)鍵詞
Step7;S7-PLCSIM
1. S7-PLCSIM簡介
使用S7-PLCSIM具有以下優(yōu)點:
在PG/PC上進(jìn)行不依賴于硬件的S7程序測試。
在程序開發(fā)早期消除錯誤。
降低開發(fā)成本,加速開發(fā)進(jìn)程,提高程序質(zhì)量。
適用于 LAD, FBD, STL, S7-GRAPH, S7-HiGraph,S7-SCL, CFC, S7-PDIAG, WinCC (本地安裝)。
2. S7-PLCSIM與真實PLC的差別:
S7-PLCSIM 并不能*代替真實的PLC, 它與真實的硬件PLC有著如下的差別:
- 當(dāng)對S7-PLCSIM進(jìn)行“STOP”操作后,程序再開始時,從中斷處開始執(zhí)行。
- 當(dāng)對S7-PLCSIM進(jìn)行“STOP”操作時,不影響輸出狀態(tài)。
- 當(dāng)在子窗口修改變量時,其修改立刻有效,而不會等到下個周期。
- 你可以手動修改或復(fù)位定時器的值。
- 可以實現(xiàn)單周期操作模式。
- 你可以觸發(fā)中斷OB塊。
- 對過程映像區(qū)的修改立刻生效。
- 不支持所有的診斷信息,例如EEPROM錯誤。
不支持多CPU模式。
S7-PLCSIM 提供 CPU 才擁有的系統(tǒng)資源(例如定時器范圍為 T0-T2047, M 范圍為16KB), 所以當(dāng)使用S7-PLCSIM 模擬通過的程序(假設(shè)使用了定時器 T2000),可能會無法下載到低檔CPU上運行(例如CPU315-2AG10-0AB0定時器范圍為T0-T255,)。
不支持FM功能模塊
不支持通信功能
S7-PLCSIM類似于400有4個累加器,所以不同于僅有2個累加器的300CPU
對于調(diào)用以下塊,S7-PLCSIM 執(zhí)行空操作:
- SFB12, SFB13, SFB14, SFB15, SFB16, SFB19, SFB20, SFB21, SFB22 , SFB23, SFB41, SFB42, SFB43, SFB44, SFB46, SFB47, SFB48, SFB49, SFB60,SFB61, SFB62, SFB63, SFB64, and SFB65
- SFC7, SFC11, SFC12, SFC25, SFC35, SFC36, SFC37, SFC38, SFC48, SFC60, SFC61, SFC62, SFC65, SFC66, SFC67, SFC68, SFC69, SFC72, SFC73,SFC74, SFC81, SFC82, SFC83, SFC84, SFC87, SFC102, SFC103, SFC105,SFC106, SFC107, SFC108, SFC126 and SFC127
- OB55, OB56,OB57, OB61, OB62, OB63,OB64, OB81, OB84, OB87, OB88 and OB90
特別提示:此問題是每個S7-PLCSIM使用者都會關(guān)心的問題,使用者務(wù)必要牢記以上的差別。
2.1. S7-PLCSIM安裝與使用:
STEP7標(biāo)準(zhǔn)版并不包括S7-PLCSIM軟件包及*,需單獨購買,STEP7 Professional 版包括了S7-PLCSIIM的軟件包及*,安裝即可。在菜單Options中,可以激活S7-PLCSIM,此時再進(jìn)行上傳/下載/監(jiān)控等操作就是針對S7-PLCSIM了,而不會對真實PLC進(jìn)行操作(不論PLC是否聯(lián)機)。
圖2?1S7-PLCSIM 調(diào)用
3. S7-PLCSIM軟件兼容性
不同S7-PLCSIM 軟件版本與STEP7及操作系統(tǒng)之間的兼容性:圖中的 X 表示兼容,- 表示不兼容
圖2?2S7-PLCSIM 軟件兼容性
S7-PLCSIM的使用
S7-PLCSIM特性
S7-PLCSIM 可以模擬一個S7控制器,并且具備以下資源:
內(nèi)存區(qū)域 | 描述 |
定時器 | T0-T2047 |
M 存儲器 | 131,072 BIT(16K BYTE) |
I/O地址范圍 | 131,072 BIT(16K BYTE) |
過程映像區(qū)(可設(shè)置,每個掃描周期更新) | 大131,072 BIT(16K BYTE) 預(yù)設(shè)值:8192 BIT(1024 BYTE) |
本地數(shù)據(jù)區(qū)(可設(shè)置) | 大64K BYTE 預(yù)設(shè)值:32K BYTE) |
邏輯塊和數(shù)據(jù)塊 | 2048 FB/FC, 4095 DB |
SFB | 除SFB12, SFB13, SFB14, SFB15, SFB16, SFB19, SFB20, SFB21, SFB22 , SFB23, SFB41, SFB42, SFB43, SFB44, SFB46, SFB47, SFB48, SFB49, SFB60,SFB61, SFB62, SFB63, SFB64, SFB65 以外的SFB |
SFC | 除SFC7, SFC11, SFC12, SFC25, SFC35, SFC36, SFC37, SFC38, SFC48, SFC60, SFC61, SFC62, SFC65, SFC66, SFC67, SFC68, SFC69, SFC72, SFC73,SFC74, SFC81, SFC82, SFC83, SFC84, SFC87, SFC102, SFC103, SFC105,SFC106, SFC107, SFC108, SFC126, SFC127 以外的SFC |
OB | 除OB55, OB56,OB57, OB61, OB62, OB63,OB64, OB81, OB84, OB87, OB88 and OB90以外的OB |
另外,S7-PLCSIM 還具備以下特性:
- 可以插入視圖來訪問:PLC的輸入/ 輸出/中間寄存器/定時器/計數(shù)器/數(shù)據(jù)塊,支持符號地址訪問方式
- 可以使定時器自動運行或手動控制它們,可以分別或統(tǒng)一復(fù)位定時器
- 可以更改CPU操作模式 (STOP, RUN, RUN-P)。并且S7-PLCSIM 提供了暫停模式,用戶可停止程序的執(zhí)行,而不影響仿真CPU中的狀態(tài)
- S7-PLCSIM 提供了單周期掃描模式,可以方便調(diào)試
- 可以使用中斷 OB 來測試程序邏輯
- 可以記錄一系列事件(操作輸入/輸出/M存儲器/定時器),并且可以回放記錄的事件,可以用于自動程序測試
- 可以使用所有的 STEP 7 工具來監(jiān)視和調(diào)試S7-PLCSIM所仿真的PLC(而不需要實際的硬件)。
3.2. S7-PLCSIM調(diào)用
可以通過STEP7菜單Options-> Simulate Modules,激活S7-PLCSIM; 或者通過點擊工具欄中的圖標(biāo),來激活S7-PLCSIM。
3.3. S7-PLCSIM簡單示例
3.3.1. S7-PLCSIM界面:
下圖為S7-PLCSIM工作界面,
3.3.2. S7-PLCSIM菜單
1.File菜單:
用戶可以通過S7-PLCSIM菜單File > Save PLC As, 將當(dāng)前模擬的PLC存儲為一個文件,下次使用時可以通過File > Open PLC,直接打開此文件,而不需要下載過程,方便調(diào)試。對于S7-PLCSIM V5.4版本,可以在此設(shè)置多種下載方式,例如,MPI, DP, Ethernet。
2.View菜單:
用戶可以通過View > Accumulators/Block Registers/Stacks來查看PLC內(nèi)部的累加器/地址寄存器/狀態(tài)字/堆棧資源
3.Insert菜單:
用戶可以通過Insert >Input Variable插入變量(輸入/ 輸出/中間寄存器/定時器/計數(shù)器/數(shù)據(jù)塊)方式來模擬各種工況。
4.PLC菜單:
用戶可以通過PLC 菜單模擬真實PLC的上電/斷電,內(nèi)存復(fù)位操作,以及修改PLC的MPI地址(S7-PLCSIM V5.4版本以下)。
5.Execute菜單: (僅對部分內(nèi)容作解釋)
- Key Switch Position: RUN與RUN-P的區(qū)別,在RUN情況下,用戶無法下載程序及修改S7-PLCSIM內(nèi)部存儲區(qū);RUN-P情況下,用戶可以下載程序及修改S7-PLCSIM內(nèi)部存儲區(qū),在兩者中任意一種情況下,用戶程序都可以正常運行。
- Startup Switch Position: 用戶可以選擇當(dāng)S7-PLCSIM由STOP模式轉(zhuǎn)換到RUN模式時,執(zhí)行的啟動類型:Cold Start, 操作系統(tǒng)將調(diào)用OB102,用戶程序從開始位置執(zhí)行,存儲在非保持區(qū)的用戶數(shù)據(jù)被刪除;Hot Start, 操作系統(tǒng)將調(diào)用OB101,并且用戶程序從中斷位置繼續(xù)執(zhí)行;Warm Start, 操作系統(tǒng)將調(diào)用OB100。
- Scan Mode: Single Scan S7-PLCSIM*的掃描模式,程序僅執(zhí)行一個周期,當(dāng)用戶通過Next Scan操作時,S7-PLCSIM 執(zhí)行下一個掃描周期;Continuous Scan S7-PLCSIM 按照普通模式仿真真實PLC 掃描模式。
- Next Scan: 當(dāng)用戶可以使能S7-PLCSIM 執(zhí)行下一個掃描周期
- Pause: 在不影響輸出的情況下,中斷當(dāng)前仿真的程序,注意在暫停的情況下,可能會導(dǎo)致其它應(yīng)用程序與S7-PLCSIM的超時或連接中斷。
- Automatic Timers:定時器自動運行
- Manual Timers: 可以通過插入定時器窗口,手動設(shè)置定時器的值及時基。
- Reset Timers:用戶可以復(fù)位所有/部分的定時器
- Trigger ErrorOB:
- Scan Cycle Monitoring: 用戶可以在此設(shè)置允許的大程序執(zhí)行時間,如果程序執(zhí)行超過此時間,S7-PLCSIM將進(jìn)入停止?fàn)顟B(tài)。
6.Tools菜單:
- Record/Playback S7-PLCSIM主要用于模擬工況,而即使一個簡單的工況也可能是由一定時間段內(nèi)的各種觸發(fā)事件組成的。如果重復(fù)調(diào)試某個工況,而*依賴于手工操作模擬,是比較困難的。S7-PLCSIM可以解決這個難題:編程人員可以將手工模擬過程錄制成一個事件文件,針對不同的工況,可以錄制不同的事件文件。選擇不同的事件文件,即可模擬不同的工況,而不必一次又一次地去手動輸入。
1) 錄制事件:此時操作者的每一步操作都會被記錄下來
2) 回放事件:此時操作者的每一步操作會依次被重現(xiàn)(現(xiàn)在為第2 個操作)
- Options 在此菜單下S7-PLCSIM可以先使用 Attach Symbols,導(dǎo)入step7項目的符號表,然后在監(jiān)控的情況下使用。
3.4. S7-PLCSIM的常見問題
3.4.1. 問題:S7-PLCSIM與在線連接的優(yōu)先級
問題:當(dāng)S7-PLCSIM已經(jīng)運行,并且計算機已經(jīng)與真實PLC有正確的編程連接方式,此時點擊在線監(jiān)控或者下載程序,STEP7所訪問的節(jié)點是S7-PLCSIM還是真實PLC呢?
解答:S7-PLCSIM的優(yōu)先級要高于真實PLC在線連接的優(yōu)先級。也就是說,在S7-PLCSIM軟件運行的情況下,所有的下載/上傳/監(jiān)控操作,都是針對S7-PLCSIM進(jìn)行的,與真實PLC無關(guān)。有時計算機與真實PLC無法建立連接可能就是因為S7-PLCSIM正在運行,此時關(guān)閉S7-PLCSIM即可。
3.4.2. 問題:S7-PLCSIM與WinLC的區(qū)別
問題:S7-PLCSIM與WinLC有何區(qū)別?
解答:WinLC的特性相當(dāng)于真實PLC的特性, 所以此問題請參考本文中S7-PLCSIM與真實PLC區(qū)別的章節(jié)。
3.4.3. 問題:無法調(diào)用OB40
問題:為什么在S7-PLCSIM菜單中無法觸發(fā)OB40?
解答:S7-PLCSIM仿真真實的PLC,由于OB40與硬件組態(tài)關(guān)系密切,所以只有在下載了硬件組態(tài)后(或者Block文件夾下的SDB文件),在S7-PLCSIM菜單中才可以觸發(fā)OB40。
3.4.4. 問題:S7-PLCSIM仿真通信程序
問題:S7-PLCSIM是否可以仿真通信程序,例如:PTP通信,以太網(wǎng)通信?
解答:S7-PLCSIM無法仿真通信程序,此問題請參考本文中S7-PLCSIM與真實PLC區(qū)別的章節(jié)。
3.4.5. 問題:S7-PLCSIM是否可以仿真定時器或定時中斷功能
問題:S7-PLCSIM是否可以仿真定時器或定時中斷功能?
解答:S7-PLCSIM的本質(zhì)是一個在Windows環(huán)境下運行的應(yīng)用程序,所以其執(zhí)行狀態(tài)與計算機的性能及系統(tǒng)資源使用狀態(tài)都有著密切的聯(lián)系。其仿真程序的掃描周期也實時受計算機負(fù)荷的影響,程序掃描周期可能會延長到幾十個毫秒或者幾百個毫秒。因此,當(dāng)S7項目中的定時器時基定義非常?。ɡ?0 毫秒)時,或者定時中斷周期非常?。ɡ鐜讉€毫秒)時,S7-PLCSIM(受Windows運行機制及計算機性能影響)是無法在這么短的時間內(nèi)完成應(yīng)有相應(yīng)的。對于真實的PLC, 由于其實時功能是由硬件來保證的,所以不存在上述問題(如果程序量比較大,程序掃描周期大于定時器的預(yù)設(shè)時間,這種情況下應(yīng)當(dāng)使用定時中斷功能代替定時器的使用)。所以對于時序邏輯要求不嚴(yán)格的程序邏輯,可以使用S7-PLCSIM仿真的;對于時序邏輯要求嚴(yán)格的程序邏輯,使用S7-PLCSIM仿真是不可靠的。
3.4.6. 問題:項目下載后,S7-PLCSIM 的SF點亮
問題:為什么項目下載后,S7-PLCSIM 的SF點亮,但程序仿真執(zhí)行不受影響?
解答:這種情況多出現(xiàn)于向低版本的S7-PLCSIM 軟件下載了其無法識別的新硬件組態(tài)。用戶升級S7-PLCSIM的軟件版本即可。