gk_樂一
級別: 探索解密
|
如題,子程序需要用到很多實數的中間變量,到LD56就不能用了,能否類似系統庫文件那個,外部調用全局變量 [ 此帖被gk_樂一在2021-01-25 17:39重新編輯 ] |
---|---|
|
湛藍小爾
工控交流 Q703935819
級別: 家園常客
|
子程序本來不就是開放外部接口,不然,你是個假子程序,里面用全局。 |
|
---|---|---|
|
zhou1211
級別: 略有小成
|
不會吧,全局變量要是子程序不能用,那還叫全局變量? |
---|---|
|
gk_樂一
級別: 探索解密
|
子程序的確是開發外部接口的,我現在遇到的問題是我需要用到大量的實數型中間變量,但是子程序的局部變量最大只能用到LD56(64個字節,最后4個系統占用) 我在想,能否類似modbus通訊庫那種,用分配庫地址的方式,來定義或者說是分配子程序中字節不夠的問題,不知道我的表達是否準確
|
---|---|
|
gk_樂一
級別: 探索解密
|
全局變量,你只要是用V的全局變量,不管用到哪里都是全局變量
|
---|---|
|
sjbandmm
級別: 略有小成
|
子程序就這么多局部變量,接口用局部變量,中間變量完全可以用全局變量,比如將vw0-vw198用作中間變量,那么即便多個子程序重復使用也是沒問題的,記得每次使用前復位一次就好了(其實不復位也可以,總是要賦值的)。中間變量為什么一定要用局部變量,我沒明白。 |
---|---|
|
gxtmdb82164
級別: 論壇先鋒
|
可以,西門子有專門的文檔講這個,可以去找來看一下 實際操作中等于就是使用了外部V空間的變量,不過這個V區地址是不固定的,跟著具體的項目文件走,一般是自己出一個偏移地址的變量表來定義各個變量的詳細信息,西門子自己官方出的很多庫最后也是會給V區變量的說明的. 印象中是只要在子程序中使用了V區變量,然后在封裝庫的時候會有相應的提示,可以自己試試. |
---|---|
|
gk_樂一
級別: 探索解密
|
這倒是一個思路,可以試試
|
---|---|
|