西門子編譯錯誤0006
『壹』 西門子變頻器報F0006故障代碼是什麼意思
故障原因 : 由於直流母線電壓過高,該裝置關機
檢查步驟 : 電源電壓 、輸入直流電壓
1 增大p464下降時間
2 激活p515 母線電壓調節器(檢查p071)
3 減小p526搜索速度
4 減小p259 最大發電功率(僅適用p100=3\4\5)
『貳』 設置ENO=0的錯誤條件 0006間接地址 這句話是什麼意思 在西門子S7 200指令中老看到 但是沒找到答案請大家指
是間接定址吧,我也遇到的,我的理解是,不能用指針定址他,指針中放的是數據的地址而不是數據,所以叫間接定址。
『叄』 西門子變頻器F0006故障
西門子6SE70變頻器F0006故障信息:由於直流母線電壓過高,該裝置關機。請檢查電源電壓或輸入的直流電壓。
『肆』 西門子PLC報警
嚴重錯誤將導致S7-200停止執行程序。依據錯誤的嚴重性,一個致命錯誤會導致S7-200無法執行某個或所有功能。處理致命錯誤的目標是使S7-200進入安全狀態,S7-200由此可以對存在的錯誤條件的相關詢問作出響應。
當檢測到致命錯誤時,S7--200執行以下任務:
進入STOP模式
點亮SF/DIAG (紅色)LED指示燈和停止LED指示燈
斷開輸出
這種狀態將會持續到錯誤清除之後。在主菜單中使用菜單命令PLC >信息可查看錯誤代碼。
從S7--200上可讀到的致命錯誤代碼及其描述:
錯誤代碼 描述
0000 無致命錯誤
0001 用戶程序校驗和錯誤
0002 編譯後的梯形圖程序校驗和錯誤
0003 掃描看門狗超時錯誤
0004 永久存儲器失效
0005 永久存儲器上用戶程序校驗和錯誤
0006 永久存儲器上組態參數(SDB0)校驗和錯誤
0007 永久存儲器上強制數據校驗和錯誤
0008 永久存儲器上預設輸出表值校驗和錯誤
0009 永久存儲器上用戶數據DB1校驗和錯誤
000A 存儲器卡失靈
000B 存儲器卡上用戶程序校驗和錯誤
000C 存儲卡組態參數(SDB0)校驗和錯誤
000D 存儲器卡強制數據校驗和錯誤
000E 存儲器卡預設輸出表值校驗和錯誤
000F 存儲器卡用戶數據DB1校驗和錯誤
0010 內部軟體錯誤
0011 比較觸點間接定址錯誤
0012 比較觸點浮點值錯誤
0013 程序不能被該S7-200理解
0014 比較觸點范圍錯誤
『伍』 西門子plc s7-200 為什麼這段程序我一編譯就提示錯誤啊
VW是字編址,VW21;VW22;VW23里位元組編址已經重疊,所有無法編譯。你仔細查看一下編程手冊里的編址方法,搞清楚位編址;位元組編址;字編址;雙字編址它們之間的關系,正確編址就不會出現不能編譯的情況了。
『陸』 西門子plc向導指令因編譯錯誤不能用什麼原因 請高人指點一下
程序編譯有錯誤的地方(請查看底部編譯窗口),或該CPU硬體版本不支持該向導
『柒』 西門子PLC INTF紅燈如何解決
西門子PLC INTF紅燈是因為沒有根據實際情況設置PLC系列或類型導致的,需要通過糾正設置來解決問題。其中的具體步驟如下:
1、打開相關窗口,直接選擇工程並點擊創建新工程。
『捌』 西門子報文的工作原理
西門子作為一個老牌工控企業,在中國市場擁有很高的市場佔有率。如果要說起西門子的通信協議,相信大家多多少少能說出一些,比如MPI、PPI、USS、Profibus、Profinet、S7等,但是西門子在協議的開放性方面還是相對要封閉一些,所以很多時候我們是沒法知道這些協議的底層通信原理的。
在這里,我主要是結合Wireshark抓包工具,跟大家去分享一下,如何是一步一步抓取西門子S7通信協議底層通信報文的,希望通過我一步一步地分析,讓大家都能夠對西門子S7協議有所了解的同時,也學會基本的抓包操作與報文分析。
1
環境搭建
1、首先我們要准備要准備一個西門子的PLC,並保證PLC與PC之間的網路連接正常。PS:對於手頭沒有PLC的童鞋,可以自行查看相關文章:基於TIA搭建西門子PLC模擬環境及通信方案。
2、為了抓取到通信的報文,需要實現PC與PLC之間的通信,這里我採用的方式是通過KepServer V6.4來實現。
3、安裝Wireshark抓包軟體。
4、認識S7協議的網路模型。
2
操作步驟
1、首先將KepServer與PLC之間的通信連接配置好;
PS:對於KepServer軟體應用可以參考相關文章:基於KepServer V6.4實現與三菱FX3U PLC之間的通信。
2、將Wireshark軟體打開,並處於監控報文狀態;
3、將KepServer進行連接PLC,此時Wireshark軟體中會出現報文的數據,將KepServer連接停止並關閉軟體,同時將Wireshark的監控停止,以便進行後續的報文分析;
3
初步分析
結合自身對TCP通信的了解,可以將抓取到的報文類型進行區分:
TCP三次握手過程
S7協議的第一次連接驗證
S7協議的第二次連接驗證
TCP四次揮手過程
通過分析,我們發現西門子的S7通信並不是簡簡單單的TCP通信,在TCP執行三次握手之後,還需要發送兩次連接驗證,在兩次連接驗證之後,才進行真正的數據交互。
4
抓包分析
(1)第一次握手發送報文
報文說明:
TPKT(第五層:會話層)
該層總共佔4個位元組:
版本號:0x03
預留:0x00
長度:0x0016
COTP(第六層:表示層)
該層總共佔用18個位元組:
長度:0x11
PDU類型(CRConnect Request 連接請求):0x0E
目標引用:0x0000
源引用:0x0001
擴展格式/流控制:0x00
參數代碼TPDU-Size:0xC0
參數長度:0x01
TPDU大小:0x0A
參數代碼SRC-TASP:0xC1
參數長度:0x02
SourceTSAP:0x0201
參數代碼DST-TASP:0xC2
參數長度:0x02
DestinationTSAP:0x0201
(2)第一次握手回復報文
報文說明:
TPKT(第五層:會話層)
該層總共佔4個位元組:
版本號:0x03
預留:0x00
長度:0x0016
COTP(第六層:表示層)
該層總共佔18個位元組:
長度:0x11
PDU類型(CCConnect Confirm 連接確認):0x0D
目標引用:0x0001
源引用:0x0006
擴展格式/流控制:0x00
參數代碼TPDU-Size:0xC0
參數長度:0x01
TPDU大小:0x0A
參數代碼SRC-TASP:0xC1
參數長度:0x02
SourceTSAP:0x0201
參數代碼DST-TASP:0xC2
參數長度:0x02
DestinationTSAP:0x0201
(3)第二次握手發送報文
報文說明:
TPKT(第五層:會話層)
該層總共佔4個位元組:
版本號:0x03
預留:0x00
長度:0x0019
COTP(第六層:表示層)
該層總共佔3個位元組:
長度:0x02
PDU類型(DT Data):0XF0
目標引用:0x80
S7Communication(第七層:應用層)
該層總用佔18個位元組,並且分兩部分:
Header:
協議ID(Protocol ID):0x32
ROSCTR:0x01
預留:0x0000
協議數據單元引用:0x037C
參數長度:0x0008
數據長度:0x0000
Parameter:
功能碼:0xF0
預留:0x00
最大AmQ(Calling):0x0001
最大AmQ(Called):0x0001
PDU長度:0x03C0
(4)第二次握手返回報文
報文說明:
TPKT(第五層:會話層)
該層總共佔4個位元組:
版本號:0x03
預留:0x00
長度:0x0019
COTP(第六層:表示層)
該層總共佔3個位元組:
長度:0x02
PDU類型(DT Data):0XF0
目標引用:0x80
S7Communication(第七層:應用層)
該層總用佔20個位元組,並且分兩部分:
Header:
協議ID(Protocol ID):0x32
Ack_Data:0x03
預留:0x0000
協議數據單元引用:0x037C
參數長度:0x0008
數據長度:0x0000
錯誤等級:0x00
錯誤代碼:0x00
Parameter:
功能碼:0xF0
預留:0x00
最大AmQ(Calling):0x0001
最大AmQ(Called):0x0001
PDU長度:0x00F0
(5)讀取數據發送報文:
由於只配置了VD0,因此讀取DB1.DBX0.0 開始的4個位元組
報文說明:
TPKT(第五層:會話層)
該層總共佔4個位元組:
版本號:0x03
預留:0x00
長度:0x001F
COTP(第六層:表示層)
該層總共佔3個位元組:
長度:0x02
PDU類型(DT Data):0XF0
目標引用:0x80
S7Communication(第七層:應用層)
該層總用佔24個位元組,並且分兩部分:
Header:
協議ID(Protocol ID):0x32
Ack_Data:0x01
預留:0x0000
協議數據單元引用:0x037D
參數長度:0x000E
數據長度:0x0000
Parameter:
功能碼Read Var:0x04
通信項數:0x01
通信項1:
通信項Header
變數指定:0x12
地址長度:0x0A
SyntaxID:0x10
傳輸數據類型byte:0x02
通信項Param
讀取長度:0x04
DB號:0x01
存儲區類型DB存儲區:0x84
開始位元組:0x000000
(6)讀取數據返回報文:
報文說明:
TPKT(第五層:會話層)
該層總共佔4個位元組:
版本號:0x03
預留:0x00
長度:0x001D
COTP(第六層:表示層)
該層總共佔3個位元組:
長度:0x02
PDU類型(DT Data):0XF0
目標引用:0x80
S7Communication(第七層:應用層)
該層總用佔22個位元組,並且分兩部分:
Header:
協議ID(Protocol ID):0x32
Ack_Data:0x03
預留:0x0000
協議數據單元引用:0x037D
參數長度:0x0002
數據長度:0x0008
錯誤等級:0x00
錯誤代碼:0x00
Parameter:
功能碼Read Var:0x04
通信項數:0x01
通信項1:
返回結果Success:0xFF
傳輸數據類型Byte/Word/DWord:0x04
長度:0x0020
數據:0x00000000
該返回報文說明讀取的4個位元組數值均為0
如果將這里的報文進行整理,結合Socket通信的相關知識,與西門子PLC通信的問題便迎刃而解了。
5
結語
大部分電氣工控人員都更偏向於工程實踐,本文從通信底層報文的角度跟大家分析了西門子S7通信的整體過程,希望可以對大家有所幫助。由於篇幅有限,很多細節方面可能無法一一展示,歡迎大家與我(微信號:w1066179)交流,多多拍磚!
作者簡介
付加勁,2012年畢業於安徽工業大學自動化專業,2017年畢業於杭州電子科技大學控制工程,先後從事鋼鐵、LNG、煙草、物聯網、醫療等行業,2014年開始接觸C#/.NET開發,對.NET開發工控上位機有深入研究,曾使用C#開發過多個行業的工控上位機項目,精通各種主流PLC及其通信,對運動控制及視覺也有所研究。
來源/ dotNet工控上位機
往期閱讀▼
看動畫就明白了!起動機是如何帶動汽車發動機的? 【多圖分享】焊接技術最高境界,美到爆表的焊縫! 為什麼單相電機要用電容,三相電機不需要電容? 【干貨分享】基於西門子PLC的Socket通信深度剖析 當工業機器人遇上虛擬現實,是什麼場景? 星三角降壓啟動接線圖解 據說是史上最全的PLC選型總結——你們覺得呢 機器人的工作原理,這大概是最詳細的解析了! 3D動畫透視閥門內部結構及工作原理詳解! 機器的功率kW,為什麼k小寫,而W要大寫? 分享一波械制圖基礎知識,PPT+動圖來了! 21個有關伺服電機的問題,想當工程師的你一定得知道 據說這是變頻器知識講得最全的了! PLC重點項目精講:電機起停、水塔水位、正反轉、星三角減壓 常見進制在PLC編程中的應用 為自動化工程師變身線上講師支幾招 一次性口罩的機械化生產 電工必學干貨,常用銅導線怎麼使用? 【有獎活動】2020工控貼圖,我們在分享 假如PLC出現問題,怎麼查找原因? 電氣設備發生故障後的檢修技巧的六個先後 【分享】S7-200 SMART出了V2.5版本的固件後,我做了個實驗 詳解高壓開關櫃的送停電操作、故障判斷處理 電磁接觸器的自鎖和互鎖原理,圖文詳解! 三相不平衡,如何判斷與解決? 工程常用的電氣符號,看完幫你識圖! 當電梯遇上PLC,一切控制就變得很簡單!
『玖』 西門子s7 200plc程序無法下載
PLC編譯和運行時間錯誤
錯誤總結
編譯和運行時間錯誤屬於非嚴重錯誤。非嚴重錯誤可能降低PLC的某些性能,但不會阻止PLC執行用戶程序或更新I/O。
?運行時間錯誤是在RUN(運行)模式中檢測到的非嚴重錯誤,在程序可監控和評估的特別內存(SM)位中反應。(欲了解有關這些SM位的詳情,請參考PLC非嚴重錯誤內存位置。)啟動時,PLC讀取I/O配置,並將該信息存儲在SM內存中。在正常操作過程中,會定期更新I/O狀態並將其存儲在SM內存中。如果PLC檢測到I/O配置的區別,則會設置模塊錯誤位元組的配置改變位;直至配置改變位被重設I/O模塊才會更新。PLC欲重設配置改變位,模塊I/O必須再次與存儲在系統數據內存中的I/O配置相匹配。
?運行時間編程錯誤是在執行程序的過程中,您或程序造成的非嚴重錯誤條件。例如,一個編譯程序時有效的間接地址指針被程序執行修改為指向超出范圍的地址。使用PLC > 信息命令確定出現的錯誤類型。
?只有通過修改用戶程序才能糾正運行時間編程錯誤。運行時間編程錯誤在下一次從STOP(停止)模式轉換為RUN(運行)模式時會被清除。
?在PLC編譯程序時在下載中檢測到編譯錯誤(或程序編譯錯誤)。如果存在編譯錯誤,編譯會暫停,並檢索先前的程序(該程序自從先前編譯以來為有效程序)。所有這些步驟均在PLC位於STOP(停止)模式時進行。可使用PLC > 信息吤釹允頸嘁氪砦蟆?
十六進制錯誤代碼 編譯錯誤(非嚴重)
0080 程序過大,CPU無法生成可執行代碼;請縮小程序大小
0081 堆棧下溢;將網路分成多個網路
0082 非法指令;檢查指令助記符
0083 缺少MEND,或主程序中不允許存在指令;增加MEND指令或移除不正確的指令
0084 保留
0085 缺少FOR;增加FOR指令或刪除NEXT指令
0086 缺少NEXT;增加NEXT指令或刪除FOR指令
0087 缺少標簽(LBL、INT、子程序);增加適當的標簽
0088 缺少RET或子程序中不允許存在指令;在子程序結尾處增加RET或移除不正確的指令
0089 缺少RETI或中斷例行程序中不允許存在指令;在中斷例行程序結尾處增加RETI或移除不正確的指令
008A 保留
008B 至SCR段非法JMP或從SCR段非法JMP
008C 重復標簽(LBL、INT、SBR);為其中一個標簽重新命名
008D 非法標簽(LBL、INT、SBR);核實未超出允許使用的標簽數
0090 非法參數;核實指令允許使用的參數
0091 范圍錯誤(包括地址信息);檢查操作數范圍
0092 指令計數域存在錯誤(包括計數信息);核實最大計數
0093 超過 FOR/NEXT嵌套層數
0095 缺少LSCR指令(載入SCR)
0096 缺少SCRE指令(SCR結束)或在SCRE前出現不允許使用的指令
0097 用戶程序包含不帶號碼及帶號碼的EU/ED指令
0098 嘗試在配備不帶號碼EU/ED指令的程序中執行運行時間編輯
0099 過多隱含程序段
009B 非法索引(字元串操作,已指定該操作中的一個起始位置數值0)
009C 超出最大指令長度
009D SDB0內檢測到非法參數
十六進制錯誤代碼 運行時間編程故障(非嚴重)
0000 無錯誤
0001 在執行HDEF方框之前啟用HSC方框
0002 輸入中斷分配沖突,分配至已經分配給HSC的點
0003 輸入分配沖突,分配至已經分配給輸入中斷或其他HSC的HSC
0004 嘗試在中斷例行程序中執行 ENI、DISI或HDEF指令
0005 嘗試在完成第一個HSC/PLS之前執行第二個帶有相同號碼的HSC/PLS,與主程序中的HSC/PLS發生中斷例行程序沖突
0006 間接編址錯誤
0007 TODW(日寫入時間)或TODR(日讀取時間)數據錯誤
0008 超出最大用戶子程序嵌套層數
0009 在埠0中同時執行XMT/RCV指令
000A 嘗試通過執行另一條用於相同HSC的HDEF指令重新定義HSC
000B 在埠1中同時執行XMT/RCV指令
000C 時鍾盒不存在
000D 嘗試重新定義現用脈沖輸出
000E PTO概況段號被設為0
000F * 在比較觸點指令中遇到非法數字數值
0010 當前PTO操作模式不允許的命令
0011 非法PTO命令代碼
0012 非法PTO輪廓表
0013 非法PID迴路表
0091 范圍錯誤(包括地址信息);檢查操作數范圍
0092 指令計數域錯誤(包括計數信息);核實最大計數
0094 用地址信息向非易失性內存寫入范圍錯誤
009A 在用戶中斷中嘗試轉入自由埠模式
009B 非法索引(字元串操作,已指定該操作中的一個起始位置數值0)
*比較觸點錯誤是唯一生成嚴重和非嚴重條件的錯誤。
生成非嚴重錯誤條件的原因是保存錯誤的程序地址。
另請參閱:
PLC非嚴重錯誤內存位置
『拾』 西門子plc塊編繹出錯有哪幾種情況
太多了。。有非致命錯誤和致命錯誤。
致命錯誤是編譯可以檢查出來的:在下方輸出窗口當中編譯完成後會出現錯誤信息。將其拉大可以看到錯誤的位置。至於什麼錯誤,錯誤有很多,沒辦法全部解答。
非致命錯誤:編譯檢查不出,但是下載不到PLC當中,檢查方法——菜單欄中PLC——選擇信息——在彈出窗口中有非致命錯誤信息。至於什麼錯誤,錯誤有很多,沒辦法全部解答。
如果想解決可以截圖給我看一下。不然沒辦法解答