工控编程吧

标题: WINCC编译C语言动作,说全局变量空间超限,代码超限。 [打印本页]

作者: baikhgmv    时间: 2016-9-8 12:07
标题: WINCC编译C语言动作,说全局变量空间超限,代码超限。
WINCC编译C语言动作,说全局变量空间超限,代码超限。

一个按钮动作时,分别给几百个PLC外部变量赋值。

在编译保存时,提示错误:

global variable space is restricted to 64k

之后我删除了一半,又显示"代码空间限制在...",大意说代码行数过多。

我的问题是:

1、遇到这种一个按钮按下要给很多很多变量赋值的情况,应该怎么处理?


----------这个按钮按下触发这种语句:

if(i==1)

{

......

10行代码

}

.........

........

if(i==700)

{

......

10行代码

}

.所以总共写了有7000行。

因为对wincc配方和结构变量等不熟悉,而且时间紧,所以都是一个个赋值的,造成了这样的代码过长的情况。

一般用什么办法解决?



----------如果变量名和赋值有规律可考虑用循环,这要看你实际内容了


---------用项目函数啊。

一个不够,就用几个项目函数。

按钮动作中,分别调用就是了。




-----------定义一个带参数的模块,然后在动作中调用。这样只要700行。


--------谢谢您们的解答~~~

我去找下项目函数和模块的教程。


---------建立了一个项目函数MOVE,将后面3个变量值mov到前面3个变量里。思路是将外部变量名称直接传给函数,由函数处理变量的move,但是脚本里却出现编译错误,这是哪儿错了?


-----用raw变量, 一个顶50个







欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4