西門子s7-plcsim提供了方便、強(qiáng)大的仿真模擬功能。與真實(shí)的plc相比,它的靈活性高,提供了許多plc硬件無法實(shí)現(xiàn)的功能,使用也更加方便。但是仿真軟件畢竟不能完全取代真實(shí)的硬件,不可能實(shí)現(xiàn)完全仿真。用戶利用s7-plcsim進(jìn)行仿真時,還應(yīng)該了解它與真實(shí)plc的差別。
1.s7-plcsim上有如下功能在真實(shí)plc上無法實(shí)現(xiàn)
1)仿真的cpu中正在運(yùn)行時可以用“stop”選項(xiàng)中斷程序,恢復(fù)“運(yùn)行”時是從程序中斷處開始繼續(xù)處理程序。
2)與真實(shí)的cpu一樣,仿真軟件可以改變cpu的操作模式(run、run-p和stop)。但與實(shí)際cpu不同的是仿真的cpu切換到stop模式并不會改變輸出的狀態(tài)。
3)仿真軟件中在目標(biāo)視圖中變量的每個改變,其存儲區(qū)對應(yīng)相關(guān)地址的內(nèi)容會被同時更新。cpu并不是等到循環(huán)周期結(jié)束或開始時才更新改變的數(shù)據(jù)。
4)使用關(guān)于程序處理的選項(xiàng)可以指定cpu如何執(zhí)行程序:
●選擇“by cycles”程序執(zhí)行一個周期后等待命令再執(zhí)行下一個循環(huán)周期。
●選擇“automatic”程序的處理同實(shí)際自控系統(tǒng)一樣,一旦一個循環(huán)周期結(jié)束馬上執(zhí)
行下一個周期。
5)仿真定時器可以使用自動或手動方式處理,自動方式按照程序執(zhí)行結(jié)果,手動方式可以給定特殊值或復(fù)位定時器。復(fù)位定時器可以復(fù)位單獨(dú)的定時器或一次復(fù)位所有定時器。
6)可以手動觸發(fā)診斷中斷ob。ob40到ob47(過程中斷)、ob70(i/o冗余錯誤)、ob72(cpu冗余錯誤)、ob73(通信冗余錯誤)、ob80(時間錯誤)、ob82(診斷警告)、ob83(插拔模塊警告)、ob85(程序執(zhí)行錯誤)和ob86(機(jī)架故障)。
7)過程映像區(qū)和i/o區(qū)。如果改變一個輸入映像區(qū)的值,s7-plcsim立即將此值復(fù)制到輸入外設(shè)區(qū)。這就意味著從輸入外設(shè)區(qū)寫到輸入過程映像區(qū)所需要的值在下一個循環(huán)周期開始時不會丟失。同樣如果改變了輸出映像區(qū)的一個值,此值立即被復(fù)制到輸出外設(shè)區(qū)。
2.s7-plcsim與“實(shí)際”的自動化系統(tǒng)還有以下不同
1)診斷緩沖區(qū)。s7-plcsim不能支持所有寫入診斷緩沖區(qū)的錯誤消息。例如,關(guān)于cpu中的電池電量不足的消息或者eeprom錯誤是不能仿真的。但大部分i/o和程序錯誤都是可以仿真的。
2)在改變操作模式時(比如從run切換到stop)輸入/輸出沒有“安全”狀態(tài)。
3)不支持功能模塊(fm)。
4) s7-plcsim與s7-400 plc cpu一樣支持4個累加器。在某些情況下s7-plcsim上運(yùn)行的程序與真實(shí)的只有兩個累加器s7-300 plc cpu上運(yùn)行結(jié)果不同。
5)輸入/輸出的不同。大多數(shù)s7-300 plc產(chǎn)品系列的cpu可以自動配置輸入/輸出設(shè)備。如果將模塊連接到控制器,cpu即自動地識別此模塊。對于仿真的自動化系統(tǒng),這種自動地識別是不能模擬的。如果把一個自動組態(tài)好i/o的s7-300 plc cpu程序裝載到s7-plcsim中,系統(tǒng)數(shù)據(jù)中將不包含任何i/o組態(tài)。因此,如果使用s7-plcsim來仿真s7-300 plc的程序,為了使cpu能識別所使用的模塊,必須首先裝載硬件組態(tài)。在s7-plcsim中s7-300 plc cpu不能自動識別i/o,例如cpu 315-2dp,cpu 316-2dp或cpu 318-2dp等,為了能將硬件組態(tài)裝載到s7-plcsim,需要創(chuàng)建一個項(xiàng)目。復(fù)制相應(yīng)的硬件組態(tài)到這個項(xiàng)目并裝載到s7-plcsim。然后從任意step 7項(xiàng)目裝載程序塊,i/o處理都不會有錯誤。
此外,s7-plcsim v5.4 sp3以前的版本不能對通信進(jìn)行仿真。