西門子 PLC SFC14/15 80B1故障


SFC14/15

S7-300/400/1500 PLC中,SFC14/15用於將分站的IO數據批量讀取到DB塊中。MOVE(L T)指令只能最多傳送4byte。因此,使用SFC14/15能夠簡化程序段。

LADDR 硬件地址,16進制
RET_VAL 返回值,0表示無故障,其它值表示故障
RECORD 數據塊指針,例如( P#DB13.DBX0.0 byte 100),注意byte和數據長度之間有空格。

轉載請保留 http://www.cnblogs.com/lion-zheng/

80B1故障

在使用中,碰到了80B1故障,幫助文件的描述為

The length of the specified destination area is not identical to the user data
length configured with STEP 7.

即,DB塊中的數據長度,和分站的數據長度不一致。

網絡結構

我使用的網絡是315-2PN/DP和SIMOTION D435-2PN/DP進行的iDevice通訊。Simotion作為iDevice從站,分配了I/O各100個byte。PLC作為主站,以下是PLC側的硬件配置。Simotion的地址為300(16#12C)

故障現象

100個byte的通訊量比較大,我實際需要的大約為80個,因此我定義了DB3,包含80個byte。在OB1中調用SFC14之后,出現了801B報警。

解決方法

DB塊中的數據長度,需要和硬件組態中定義的分站數據長度一致。將DB3改為100個byte。故障消失。


解決的方法很簡單,就是DB塊的數據長度,要和分站長度一致。但解決這個問題的過程中也被一些因素誤導,花了一些時間。例如,分站的數據長度,對於iDevice,並沒有32byte/64byte這樣的限制。另外,SFC14/15在小於4byte時,並不檢查數據長度。

轉載請保留 http://www.cnblogs.com/lion-zheng/
Zheng lei 2017 - 0522


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM