gk_樂一
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 181 點
下載積分: 2831 分
在線時間: 51(小時)
注冊時間: 2019-12-20
最后登錄: 2024-09-13
查看gk_樂一的 主題 / 回貼
樓主  發(fā)表于: 2021-01-22 14:47
如題,子程序需要用到很多實數(shù)的中間變量,到LD56就不能用了,能否類似系統(tǒng)庫文件那個,外部調用全局變量
[ 此帖被gk_樂一在2021-01-25 17:39重新編輯 ]
湛藍小爾
工控交流 Q703935819
級別: 家園?

精華主題: 0
發(fā)帖數(shù)量: 349 個
工控威望: 642 點
下載積分: 2101 分
在線時間: 80(小時)
注冊時間: 2014-03-03
最后登錄: 2024-07-10
查看湛藍小爾的 主題 / 回貼
1樓  發(fā)表于: 2021-01-23 11:12
子程序本來不就是開放外部接口,不然,你是個假子程序,里面用全局。
專心搞錢
Q群943838323   博圖
Q群703935819   昆侖通態(tài)
zhou1211
級別: 略有小成
精華主題: 1 篇
發(fā)帖數(shù)量: 205 個
工控威望: 362 點
下載積分: 1172 分
在線時間: 66(小時)
注冊時間: 2013-11-04
最后登錄: 2024-09-18
查看zhou1211的 主題 / 回貼
2樓  發(fā)表于: 2021-01-24 10:50
引用
引用第1樓湛藍小爾于2021-01-23 11:12發(fā)表的  :
子程序本來不就是開放外部接口,不然,你是個假子程序,里面用全局。 [attachment=251991]

不會吧,全局變量要是子程序不能用,那還叫全局變量?
gk_樂一
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 181 點
下載積分: 2831 分
在線時間: 51(小時)
注冊時間: 2019-12-20
最后登錄: 2024-09-13
查看gk_樂一的 主題 / 回貼
3樓  發(fā)表于: 2021-01-25 17:45
子程序的確是開發(fā)外部接口的,我現(xiàn)在遇到的問題是我需要用到大量的實數(shù)型中間變量,但是子程序的局部變量最大只能用到LD56(64個字節(jié),最后4個系統(tǒng)占用)
我在想,能否類似modbus通訊庫那種,用分配庫地址的方式,來定義或者說是分配子程序中字節(jié)不夠的問題,不知道我的表達是否準確
引用
引用第1樓湛藍小爾于2021-01-23 11:12發(fā)表的  :
子程序本來不就是開放外部接口,不然,你是個假子程序,里面用全局。 [attachment=251991]
gk_樂一
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 181 點
下載積分: 2831 分
在線時間: 51(小時)
注冊時間: 2019-12-20
最后登錄: 2024-09-13
查看gk_樂一的 主題 / 回貼
4樓  發(fā)表于: 2021-01-25 17:46
全局變量,你只要是用V的全局變量,不管用到哪里都是全局變量
引用
引用第2樓zhou1211于2021-01-24 10:50發(fā)表的  :

不會吧,全局變量要是子程序不能用,那還叫全局變量?
sjbandmm
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 237 個
工控威望: 407 點
下載積分: 987 分
在線時間: 167(小時)
注冊時間: 2008-08-23
最后登錄: 2024-05-22
查看sjbandmm的 主題 / 回貼
5樓  發(fā)表于: 2021-01-25 20:40
子程序就這么多局部變量,接口用局部變量,中間變量完全可以用全局變量,比如將vw0-vw198用作中間變量,那么即便多個子程序重復使用也是沒問題的,記得每次使用前復位一次就好了(其實不復位也可以,總是要賦值的)。中間變量為什么一定要用局部變量,我沒明白。
gxtmdb82164
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 718 個
工控威望: 1096 點
下載積分: 284 分
在線時間: 569(小時)
注冊時間: 2019-09-22
最后登錄: 2024-09-19
查看gxtmdb82164的 主題 / 回貼
6樓  發(fā)表于: 2021-01-26 09:21
引用
引用第3樓gk_樂一于2021-01-25 17:45發(fā)表的  :
子程序的確是開發(fā)外部接口的,我現(xiàn)在遇到的問題是我需要用到大量的實數(shù)型中間變量,但是子程序的局部變量最大只能用到LD56(64個字節(jié),最后4個系統(tǒng)占用)
我在想,能否類似modbus通訊庫那種,用分配庫地址的方式,來定義或者說是分配子程序中字節(jié)不夠的問題,不知道我的表達是否準確



可以,西門子有專門的文檔講這個,可以去找來看一下
實際操作中等于就是使用了外部V空間的變量,不過這個V區(qū)地址是不固定的,跟著具體的項目文件走,一般是自己出一個偏移地址的變量表來定義各個變量的詳細信息,西門子自己官方出的很多庫最后也是會給V區(qū)變量的說明的.

印象中是只要在子程序中使用了V區(qū)變量,然后在封裝庫的時候會有相應的提示,可以自己試試.
gk_樂一
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 181 點
下載積分: 2831 分
在線時間: 51(小時)
注冊時間: 2019-12-20
最后登錄: 2024-09-13
查看gk_樂一的 主題 / 回貼
7樓  發(fā)表于: 2021-01-28 15:10
這倒是一個思路,可以試試
引用
引用第5樓sjbandmm于2021-01-25 20:40發(fā)表的  :
子程序就這么多局部變量,接口用局部變量,中間變量完全可以用全局變量,比如將vw0-vw198用作中間變量,那么即便多個子程序重復使用也是沒問題的,記得每次使用前復位一次就好了(其實不復位也可以,總是要賦值的)。中間變量為什么一定要用局部變量,我沒明白。
gk_樂一
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 108 個
工控威望: 181 點
下載積分: 2831 分
在線時間: 51(小時)
注冊時間: 2019-12-20
最后登錄: 2024-09-13
查看gk_樂一的 主題 / 回貼
8樓  發(fā)表于: 2021-01-28 15:12
就是不知道怎么搞
引用
引用第6樓gxtmdb82164于2021-01-26 09:21發(fā)表的  :


可以,西門子有專門的文檔講這個,可以去找來看一下
實際操作中等于就是使用了外部V空間的變量,不過這個V區(qū)地址是不固定的,跟著具體的項目文件走,一般是自己出一個偏移地址的變量表來定義各個變量的詳細信息,西門子自己官方出的很多庫最后也是會給V區(qū)變量的說明的.

.......