技术论坛

无法建立新的变量,请教下变量表规范问题

作者 主题
游侠

经验值: 308
发帖数: 32
精华帖: 0
主题:【求助】无法建立新的变量,请教下变量表规范问题


只看楼主 楼主 2020-12-18 08:07:01

这是我自己做了个带参数的子程序

其中到L21.2后无法新建变量,试过多种方式无法新建变量

唯一的方法是删除前面的一个变量腾出位置,才能建立

我重新开了个新变量表,然后随意建立新变量也出现了同样的问题


这是新建立的变量表,也出现了同样的问题,LB29之后无法建立新的变量

我怀疑变量表应该有某种规范,比如数据格式应尽量统一,依次按顺序建立

请问是这样的吗?希望大神能解惑


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1658464&b_id=64&s_id=0&num=13

至圣

经验值: 12573
发帖数: 2503
精华帖: 31
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 1楼 2020-12-18 08:34:01
smart软件规定,子程序接口变量参数最多只能16个,不管你是位变量还是指针,最多只能16个。

所以,建议你用指针传递数据结构可以传递更多数据。
 
以下网友喜欢您的帖子:

  
游侠

经验值: 308
发帖数: 32
精华帖: 0
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 楼主 2楼 2020-12-18 08:39:37
不会的,我试过,顺序建立IN和OUT变量,可以建立超过16个的
 
以下网友喜欢您的帖子:

  
奇侠

经验值: 7591
发帖数: 1989
精华帖: 0
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 3楼 2020-12-18 09:14:07
以下是引用lsyzdhs在2020-12-18 08:39:37的发言 >2楼:不会的,我试过,顺序建立IN和OUT变量,可以建立超过16个的

老弟,那你能最多能建立多少个变量呢?


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1180
发帖数: 266
精华帖: 0
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 4楼 2020-12-18 10:08:39

刚才试了一下确实不行,会不会是局部变量的输入输出总和不能超过20个呢


无闻
以下网友喜欢您的帖子:

  
游侠

经验值: 308
发帖数: 32
精华帖: 0
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 楼主 5楼 2020-12-18 11:17:53
这个我暂时没有验证上限,但是超过20个没问题
不会存在只支持16个
有也可能是版本问题,我是2.4版本
 
以下网友喜欢您的帖子:

  
游侠

经验值: 308
发帖数: 32
精华帖: 0
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 楼主 6楼 2020-12-18 11:19:38
更多的我暂时没试,我没有做过真正的项目
但真正的项目肯定比我做着玩的复杂的多
那他们如何保证不会遇到这种问题呢?
 
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 7楼 2020-12-18 14:15:41

16个应该没有什么疑问的。可以超过16个的,上个图,学习学习。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12737
发帖数: 1586
精华帖: 1
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 8楼 2021-07-26 18:38:58

进来学习一下楼主是咋能弄出第17引脚的。


努力学习西门子
以下网友喜欢您的帖子:

  
侠士

经验值: 1307
发帖数: 91
精华帖: 0
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 9楼 2021-07-27 08:14:56

楼主,手册P130:每个子例程调用的输入/输出参数的最大限制是16。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 12573
发帖数: 2503
精华帖: 31
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 10楼 2021-07-27 17:57:45

那些能超过16个的估计不是西门子的软件了。

国产的有些模仿S7 200的是用STM32/ARM的,支持16个以上不是问题。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67550
发帖数: 14784
精华帖: 100
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 11楼 2021-07-28 08:20:06
以下是引用lsyzdhs在2020-12-18 11:19:38的发言 >6楼:更多的我暂时没试,我没有做过真正的项目 但真正的项目肯定比我做着玩的复杂的多 那他们如何保证不会遇到这种问题呢?

你参考一下pid指令。不是向导,是直接的pid指令。

大家知道pid指令肯定有p i d 三个参数的,但是这条指令你看见没有?它外表只有些什么参数?参数都哪里去了?

间接寻址就是用这个方法,在子程序里面自己向有关的V区去取参数的。

第一个参数在vb600。那么接下来余下的参数就知道在600往后紧挨着的就是第二个参数了。至于每一个参数的长度也是能够预知的。第一个参数是字节,那么第二个参数就知道从601开始了。第二个参数是双字,第三个参数就知道从605开始了。


 
以下网友喜欢您的帖子:

  
侠客

经验值: 827
发帖数: 70
精华帖: 0
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 12楼 2021-11-16 17:56:03

16个限制,感觉已经足够了


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2841
发帖数: 451
精华帖: 2
回复:无法建立新的变量,请教下变量表规范问题


只看楼主 13楼 2021-11-16 19:49:16
最多16个变量,如果bool过多,可以使用字节或字,一个字节包含了8个位,一个字16个位。这样可以节约大量变量。
利而不害,为而不争;专注暖通空调行业
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
无法建立新的变量,请教下变量表规范问题
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。