應用領域 | 環保,化工,生物產業,電子/電池,電氣 |
---|
使用以太網通訊, 我在一個FB塊內調用TSEND_C和TRCV_C,當使用多重背景時,結果右鍵點擊TSEND_C,“屬性"選項是灰色的! 也就是說TSEND_C或者TRCV_C不能使用多重背景! 只能每一每指令賦值一個DB塊。
![]() |
參考價 | 面議 |
更新時間:2023-08-14 13:19:04瀏覽次數:811
聯系我們時請說明是化工儀器網上看到的信息,謝謝!
CPU 1214C AC/DC/RLY
S7-1200新推出來, 肯定會有一些新意的地方,同時也有一些不完善的地方。 筆者覺得應該列出兩個貼子讓廣大用戶把一些使用心得寫出來, 這樣能使產品更早的完善,大家也可以提提改進意見,甚至發現一些軟件上的BUG
來講講西門子S7-1200PLC一些優點:
1、統一了編程平臺,以后用西門子的PLC軟件都一樣,這樣有利于推廣。
2、 符號表里可以允許重疊寄存器地址,比如我定義了X1 :INT: MW0 ;X2:INT:MW2 , X3:DWORD:MD0 ,這在一些運行中會比較方便些,或許是西門子考慮到全符號尋址的需求吧。
3、軟件里的每一個NetWork可以收起來,不占多少空間,這樣當network較多時,查找程序比較方便。
4、一些硬件上的改進當然也是好的,比如串口模塊,模擬量模擬的分辨率也提高了。 期望后續再出一些新的模塊。
5、高速脈沖定位控制相比S7-200有了很多的改善, 可以說以現在的市場來講200的高速脈沖是個杯具(當然畢竟200的年代太久遠了)。
6、對于高速計數器的使用,也比200要簡化一些,不必須再啰嗦地設置一些控制字了,這對初學者是個福音。
7、LAD編程提供了“橫向串連"功能,比如我要置位Q0.0、Q0.2、Q0.4,可以在一條水平線上串起來,這樣節省了縱向空間(在200的編程軟件里則必須是縱向排列的),暫時也就寫這么多,想起來了再寫,也希望大家補充,謝謝!
再列一下在測試過程中的一些問題或者改進建議:
1、當你修改某一個程序塊后, 如果單獨下載該塊,那么使用的時間很長,甚至達一分鐘以上。 如果你選擇下載全部軟件塊,反而下載時間會短很多,在20秒以內!不知道S7-1200的下載機制造成的?
2、編程軟件里的“符號表"不能象S7-200里一樣由用戶新建組別,不方便。 在S7-200里我一般都分幾個區,比如I區,Q區,M區,V區等,或者以程序里使用的功能分區。 但是在1200里所有的符號變量全部堆在一塊,變量較多時查找很不方便。
3、發現一個BUG: 由于定時器要占用DB,而我的程序使用定時器較大,所以我就將所有的定時器放在一個FB里調用,這樣使用多重背景。 問題是,當我建立了一個比如TON1 IEC_Timer 的靜態變量, 然后選中它,復制,結果粘貼出來的結果為TON1_1 IEC_TIMER,大家注意,前面是T大寫后面全是小寫, 而粘貼的結果TIMER全為大寫! 然后將程序下載到PLC內,運行報錯!提示什么NIL_PTR有問題!
4、測試了運動控制的回零功能,覺得這個回零機制不太合理。 假設電機驅動絲桿直線運行, 過程中有三點A--B--C , 其中B區域點為零點開關信號。我組態為正向逼近, 開關檢測為“左(負)邊",
1)如果開始回零時負載處于AB之間, 那么先以高速沿AB方向搜索原點,當檢測到B原點信號后,系統速度先停止再改為低速反向按BA方向運行,直到B處原點信號沒有了,再以低速朝AB方向運行, 再檢測到B原點開關立即停止,回零完成。這個動作沒問題。
2)如果開始回零時負載處于B處(即回零開始時原點開關有信號), 那么系統也會先以高速朝AB方向運行,直到B信號沒有了, 再反向…… 然后過程也和1)一樣。 我覺得這種回零方式就有問題! 既然回零開始時零位開關已經有信號了,那么系統就應該直接反向按BA方向走,當原點信號丟失后再以低速朝AB方向就可以找到零位了! 實事上在我的系統里就只能按照我說的方式去回零,否則機械上就會發生碰撞! 現在我只能在回零時先由程序判斷零位開關是否有信號, 如果有信號那么先以增量定位方式讓負載朝BA方向直到沒有原點開關后,再啟動回零程序! 這樣就麻煩多了!
5、當在我FC里新那TEMP變量較多時,編譯沒問題,下載到PLC運行就出錯, 好像我是建立了四個INT,四個DINT,四個REAL, 不知道1200系統為每個塊能分配多少字節的臨時變量啊?象S7-200就是64個(其中四個用于系統)。 按照這個量的話,我建得也不多啊。
6、使用以太網通訊, 我在一個FB塊內調用TSEND_C和TRCV_C,當使用多重背景時,結果右鍵點擊TSEND_C,“屬性"選項是灰色的! 也就是說TSEND_C或者TRCV_C不能使用多重背景! 只能每一每指令賦值一個DB塊。
7、軟件太容易崩潰了!經常莫名其妙地要求重啟!更要命的是你打開某一個塊它就提示要重啟,可是打開別的塊就沒問題! 沒辦法只好把這個塊刪掉!重新編寫一遍又好了!頭大了!已經發生了好多次這種情況了!
8、LAD編程環境下不能提供對“位"進行異或運算,而在FBD模式則可以!
9、當FB或者DB選擇為純符號編程時,不能顯示地址,這樣我用第三方的觸摸屏沒法和它通訊! 可是當我選擇為絕對地址的時候,斷電保持又沒法單獨設置! 煩! 西門子還是想把1200和精簡系列的屏捆綁起來做壟斷?
CPU 1214C AC/DC/RLY
S7-PLCSIM 不支持專用 I/O 設備功能。僅提供 I/O 寄存器的過程映像和直接訪問仿真。例如,可以通過模擬量輸出范圍監視來查看此專用功能。在物理設備上,如果 STEP 7 程序將范圍外的值寫入模擬量輸出寄存器,則模擬量模塊會返回診斷錯誤。S7-PLCSIM 中不會發生這種情況。
S7-PLCSIM 不支持寫入診斷緩沖區的所有錯誤消息。例如,S7-PLCSIM 不仿真 CPU 中與故障電池相關的消息或 EPROM 錯誤。但 S7-PLCSIM 可仿真大多數的 I/O 和程序錯誤。
由于 S7-PLCSIM 軟件運行在裝有 Windows 操作系統的 PC 上,因此 S7-PLCSIM 中操作的掃描周期時間和確切時間不同于在物理硬件上執行的那些操作所需的時間。這是因為 PC 的處理資源“競爭"產生了額外開銷,具體開銷取決于多種因素。
如果程序高度依賴于執行操作所需的時間,則需注意不應僅根據 S7-PLCSIM 仿真的時間結果來評估程序。
S7-PLCSIM 不支持受專有技術或密碼保護的塊。在對 S7-PLCSIM 執行下載操作前,必須刪除保護。
S7-PLCSIM 不會對訪問保護或復制保護進行仿真。
S7-PLCSIM 支持仿真實例間的通信。實例可以是 S7-PLCSIM 仿真或 WinCC 運行系統仿真。
可以運行 S7-PLCSIM 的兩個實例,而且它們之間可相互通信。
可以運行 S7-PLCSIM V1x的一個實例和 S7-PLCSIM V5.4.6 或更高版本的一個實例,而且它們之間可相互通信。
仿真實例間的通信
所有仿真實例必須在同一 PC 上運行才能相互通信。每個實例的 IP 地址都不得重復。
S7-PLCSIM 支持 TCP/IP 連接。
對于 S7-1200 和 S7-1200F PLC,可使用 PUT/GET 和 TSEND/TRCV (T-block) 指令來仿真通信。
T-block 指令和 UDP
S7-PLCSIM 不能仿真組態為使用 UDP 協議的 T-block 連接。
T-block 指令和數據分段
S7-PLCSIM 執行 T-block 指令時數據分段為 1024 字節。實際 CPU 的數據分段為 8192 字節。
如果在單個 TSEND 指令中發送的數據超過 1024 字節,并且在 adhoc 模式下通過 TRCV 指令接收數據,則 TRCV 指令生成的新數據只有 1024 字節。此時,必須多次執行 TRCV 指令才能接收額外的字節。
T-block 指令和 數據緩沖
S7-PLCSIM 執行 T-block 指令時無需在接收 CPU 中緩沖數據。
不過在 S7-PLCSIM 中,只有仿真的接收 CPU 中的程序執行 TRCV 指令后,仿真的發送 CPU 才能完成 TSEND 指令。
但是,在 S7-PLCSIM 中執行 TSEND 指令時,只有接收 CPU 上的程序執行 TRCV 指令后,TSEND 指令才能完成。
每個仿真的 PLC 的 IP 地址都不得重復
如果每個仿真的 PLC 都具有相同的 IP 地址,則無法運行多個仿真。每個仿真的 PLC 的 IP 地址都不得重復。
在啟動仿真之前,應確保 IP 地址在 STEP 7 中。
可在TIA PORTAL的“擴展的下載到設備"對話框中使 PLC 上的 LED 燈閃爍,但 S7-PLCSIM 無法仿真此功能。但是通過事件仿真可以使ER燈閃爍。
S7-PLCSIM 不會仿真 SD 存儲卡。因此,不能仿真需要存儲卡的 CPU 功能。例如,數據記錄功能會將所有輸出都寫入 SD 卡,這樣便無法仿真數據記錄功能。
S7-PLCSIM 不支持數據日志。
S7-PLCSIM 不支持使用配方。
S7-PLCSIM 不支持 Web 服務器功能。
如果 STEP 7 項目中包含 PROFIBUS 元素,則 S7-PLCSIM 不會仿真 PROFIBUS 元素,但是項目中的其它部分會照常仿真。啟動仿真之前,您無需將 PROFIBUS 元素從項目中移除。只是必須注意,S7-PLCSIM 會忽略 PROFIBUS 元素。
要仿真 F-CPU,必須先在 STEP 7 項目中調整 F-參數 F-監視時間,然后再執行下載到 S7-PLCSIM。這是因為基于軟件的仿真和物理硬件間存在時間差。
要調整 F 監視時間,請按以下步驟操作:
1. 在 STEP 7 項目樹中,右鍵單擊 F-CPU 并選擇'屬性'(Properties)。
2. 在'屬性'(Properties) 對話框中,導航到'故障安全 > F 參數 > 集中式 F-I/O 的默認 F 監視時間'(Fail-Safe > F-parameter > Default F-monitoring time for central F-I/O)。
3. 將 F 監視時間從默認值 150 ms 調整為更高值。
4. 單擊'確定'(OK)。可能需要重復該步驟,直至找到可使 F-CPU 仿真無錯運行的 F 監視值。
S7-PLCSIM 支持仿真的 S7-1200 和 S7-1200F 的大多數指令,就像物理 PLC 一樣。可以下載成功編譯到虛擬 PLC 中的所有程序。但是,某些指令會調用僅受部分支持的
SFC(系統函數)或 SFB(系統函數塊),并且仿真可能無法按預期工作。對于具有部分受支持指令的程序,S7-PLCSIM 將驗證輸入參數并返回有效輸出,但不一定返回帶有物理 I/O 的實際 PLC 將返回的信息。例如,S7-PLCSIM 不支持 SIMATIC SD 存儲卡,因此在執行仿真時,用于將數據保存到存儲卡中的程序指令實際上不會保存任何數據。