18420489986
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 136 個
工控威望: 497 點
下載積分: 3001 分
在線時間: 147(小時)
注冊時間: 2022-05-17
最后登錄: 2024-09-12
查看18420489986的 主題 / 回貼
樓主  發(fā)表于: 2024-06-08 11:06
程序里面有多個子程序,其中3個子程序引用了同樣的FB塊,當(dāng)這3個子程序都調(diào)用時,程序正常運行;當(dāng)只調(diào)用其中一個時,程序很多寄存器的值錯亂了,且在不斷地變化,包括我整個程序沒有用上的寄存器而且也不在自動分配軟元件范圍內(nèi)的都會錯亂,我手動將D0-D7999和M0-M7679的值都清零了,過一會兒還是會出現(xiàn)錯亂的值,懂的大佬指點一下
沒有簽名
18420489986
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 136 個
工控威望: 497 點
下載積分: 3001 分
在線時間: 147(小時)
注冊時間: 2022-05-17
最后登錄: 2024-09-12
查看18420489986的 主題 / 回貼
1樓  發(fā)表于: 2024-06-08 11:10
補充:試過了從一開始就只調(diào)用其中一個子程序,下載程序時將儲存器清除,仍然不行,頭大啊
沒有簽名
source08
級別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 538 個
工控威望: 6769 點
下載積分: 6654 分
在線時間: 210(小時)
注冊時間: 2011-03-01
最后登錄: 2024-11-09
查看source08的 主題 / 回貼
2樓  發(fā)表于: 2024-06-08 11:34
單獨把子程序?qū)С鰜頊y試嘛!
gione
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 166 個
工控威望: 348 點
下載積分: 978 分
在線時間: 320(小時)
注冊時間: 2007-11-05
最后登錄: 2024-11-09
查看gione的 主題 / 回貼
3樓  發(fā)表于: 2024-06-08 15:51
FB內(nèi)用變量編寫,不要直接用寄存器
ayusecret
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 181 個
工控威望: 259 點
下載積分: 802 分
在線時間: 72(小時)
注冊時間: 2021-10-31
最后登錄: 2024-11-05
查看ayusecret的 主題 / 回貼
4樓  發(fā)表于: 2024-06-10 10:50
目前知道Q系列的元件區(qū)域是按順序排的,只要你的索引某個元件超過你參數(shù)配置的最大值,它是可以跨元件進行賦值的(Q系列CPU手冊上可以查到),所以要檢查你的索引最大值是否合理