691342165
級(jí)別: 探索解密
|
各位大俠們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ū)域長度錯(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ū)域長度錯(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ū)域長度錯(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í)別: 論壇版主
|
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了;蛘咧苯佑镁钟蜃兞縼碜,更簡單一些----在接口區(qū)規(guī)定一個(gè)TEMP類型的變量,把DB1.DBD12換成這個(gè)變量就行。 |
---|---|
|