gk_乐一
级别: 探索解密
精华主题: 0
发帖数量: 104 个
工控威望: 177 点
下载积分: 2573 分
在线时间: 46(小时)
注册时间: 2019-12-20
最后登录: 2024-05-10
查看gk_乐一的 主题 / 回贴
楼主  发表于: 2021-01-22 14:47
如题,子程序需要用到很多实数的中间变量,到LD56就不能用了,能否类似系统库文件那个,外部调用全局变量
[ 此帖被gk_乐一在2021-01-25 17:39重新编辑 ]
gxtmdb82164
级别: 论坛先锋
精华主题: 0
发帖数量: 666 个
工控威望: 1044 点
下载积分: 158 分
在线时间: 535(小时)
注册时间: 2019-09-22
最后登录: 2024-05-16
查看gxtmdb82164的 主题 / 回贴
1楼  发表于: 2021-01-26 09:21
引用
引用第3楼gk_乐一于2021-01-25 17:45发表的  :
子程序的确是开发外部接口的,我现在遇到的问题是我需要用到大量的实数型中间变量,但是子程序的局部变量最大只能用到LD56(64个字节,最后4个系统占用)
我在想,能否类似modbus通讯库那种,用分配库地址的方式,来定义或者说是分配子程序中字节不够的问题,不知道我的表达是否准确



可以,西门子有专门的文档讲这个,可以去找来看一下
实际操作中等于就是使用了外部V空间的变量,不过这个V区地址是不固定的,跟着具体的项目文件走,一般是自己出一个偏移地址的变量表来定义各个变量的详细信息,西门子自己官方出的很多库最后也是会给V区变量的说明的.

印象中是只要在子程序中使用了V区变量,然后在封装库的时候会有相应的提示,可以自己试试.