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


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

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


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


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

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


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

精華主題: 7 篇
發(fā)帖數(shù)量: 5176 個(gè)
工控威望: 7399 點(diǎn)
下載積分: 157935 分
在線時(shí)間: 3137(小時(shí))
注冊(cè)時(shí)間: 2007-11-21
最后登錄: 2024-09-21
查看sjm213的 主題 / 回貼
1樓  發(fā)表于: 2010-11-19 10:07
1,直接填DB1就好;
2,你在FB1里用到了DB1.DBD12而實(shí)際DB1里面沒有,所以執(zhí)行到這里就會(huì)報(bào)警;
3,解決辦法就是改FB1中的DB1.DBD12為一個(gè)實(shí)際存在的地址,例如新建一個(gè)共享數(shù)據(jù)塊DB3,規(guī)劃好一個(gè)新的DBD0,就可以把DB1.DBD12改為DB3.DBD0了;蛘咧苯佑镁钟蜃兞縼碜觯(jiǎn)單一些----在接口區(qū)規(guī)定一個(gè)TEMP類型的變量,把DB1.DBD12換成這個(gè)變量就行。
691342165
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 11 個(gè)
工控威望: 106 點(diǎn)
下載積分: 472 分
在線時(shí)間: 6(小時(shí))
注冊(cè)時(shí)間: 2010-07-17
最后登錄: 2024-07-02
查看691342165的 主題 / 回貼
2樓  發(fā)表于: 2010-12-01 13:35
很感謝樓上的回答,只是我現(xiàn)在很不明白為你定義在TEMP類型的變量上,為什么不能定義在IN或OUT里呢。。。百思不得其解!很感謝大俠們。。。