691342165
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 11 個
工控威望: 106 點
下載積分: 472 分
在線時間: 6(小時)
注冊時間: 2010-07-17
最后登錄: 2024-07-02
查看691342165的 主題 / 回貼
樓主  發(fā)表于: 2010-11-18 14:12
各位大俠們S7400編程里,OB1無條件調(diào)用FB1,為什么導致CPU停止啊,也不能監(jiān)視,為什么啊啊,只要把OB1里調(diào)用FB1這段程序刪掉就可以了,哪里錯了?求救,,,
診斷信息是:事件 2 / 14:  事件 ID 16# 4562
由編程錯誤引起的 STOP 模式(OB 沒有裝載或不能裝載,或沒有 FRB)
用戶程序中的斷點:循環(huán)程序(OB1)
優(yōu)先級:   1
FB 編號:      1
模塊地址:    48
先前的工作模式:RUN
要求的工作模式:STOP (內(nèi)部)
內(nèi)部錯誤, 進入的事件
22:44:03.757  2010-11-17


事件 3 / 14:  事件 ID 16# 2523
寫入時發(fā)生區(qū)域長度錯誤
全局 DB,雙字訪問, 訪問地址:    12
FB 編號:      1
模塊地址:    48
所需的 OB:編程錯誤 OB (OB121)
優(yōu)先級: 1
內(nèi)部錯誤, 進入的事件
22:44:03.757  2010-11-17

事件 1 / 100:  事件 ID 16# 2522
讀取時發(fā)生區(qū)域長度錯誤
全局 DB,雙字訪問, 訪問地址:    12
FB 編號:      1
模塊地址:    72
所需的 OB:編程錯誤 OB (OB121)
優(yōu)先級: 1
內(nèi)部錯誤, 進入的事件
22:14:15.561  2010-11-17


事件 2 / 100:  事件 ID 16# 2522
讀取時發(fā)生區(qū)域長度錯誤
全局 DB,雙字訪問, 訪問地址:    12
FB 編號:      1
模塊地址:    56
所需的 OB:編程錯誤 OB (OB121)
優(yōu)先級: 1
內(nèi)部錯誤, 進入的事件
22:14:15.561  2010-11-17


你的程序使用的數(shù)據(jù)塊的地址有錯誤,你訪問了不存在的地址,比如你的db1地址是到128,而你訪問了db1.dbd130,這樣就會出現(xiàn)你的錯誤(網(wǎng)上是這樣解釋的,但我應該怎么做呢)

比如我在FB1中我讀寫DB1這個北景數(shù)據(jù)塊,地址該怎么填呢?我是這樣填的:DB1.DBD12,到現(xiàn)在我還不知道錯在哪,這個DB1.DBD12是什么意思?不是DB1這個數(shù)據(jù)塊里雙字12這個地址嗎?背景數(shù)據(jù)塊與共享數(shù)據(jù)塊分別應該怎么填呢!謝謝!


這是程序,哪位幫我改好,我真的非常感謝,非常感謝  坦興自控.rar (279 K) 下载次数:37
sjm213
有小知識,無大學問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5176 個
工控威望: 7399 點
下載積分: 157935 分
在線時間: 3137(小時)
注冊時間: 2007-11-21
最后登錄: 2024-09-21
查看sjm213的 主題 / 回貼
1樓  發(fā)表于: 2010-11-19 10:07
1,直接填DB1就好;
2,你在FB1里用到了DB1.DBD12而實際DB1里面沒有,所以執(zhí)行到這里就會報警;
3,解決辦法就是改FB1中的DB1.DBD12為一個實際存在的地址,例如新建一個共享數(shù)據(jù)塊DB3,規(guī)劃好一個新的DBD0,就可以把DB1.DBD12改為DB3.DBD0了;蛘咧苯佑镁钟蜃兞縼碜觯唵我恍----在接口區(qū)規(guī)定一個TEMP類型的變量,把DB1.DBD12換成這個變量就行。