如何定义一个可以被所有函数使用的全局 C 变量?

描述
在文件和在线帮助中可以得到一个详细的描述,在关键字 “Global C tag” 。n

说明
请按照以下操作过程
创建一个新的项目函数,例如:n

void dummy()
{
}n

现在,如果在函数 dummy 创建一个变量,例如:n

void dummy()
{
int a = 0;
}n

这个变量只在 dummy 函数中被使用。n

如果,想让变量在所有的 C 程序中都被使用,你简单的在这个函数外对它做一个声明,例如:n

int a = 0;
void dummy()
{
}n

现在变量 “a” 在全部的程序中都可以被使用(所有函数,动作,对象动作,所有项目函数,所有标准函数)
为了在一个对象动作中使 用变量 a ,例如,需要变量已经简单声明成为外部变量。意味着编辑器被告知它不需要自己再创建这个变量,但是在运行时它将会在其他点被创建。变量 a 仅在本地计算机上存在。 在一个多客户端系统中,这个变量在其他计算机时不被识别的。也就是说,你只能使用 WinCC 的内部变量当作数据的交换区。n

例子n

void OnPropertyChange(..........)
n

{

extern int a;

// 变量没有在堆栈中建立,它只是作了一个声明

// 这个变量已经在其他地方被定义。

a += 1;

// 因此它不需要在这被初始化。

}

如果这个变量现在被访问,这个公共变量 a 在整个程序中被改变。
如果在一个项目函数中声明这个变量,这个变量存在于整个项目中。
如果在一个标准函数中声明这个变量,这个变量存在于所有项目中。n

注意

  1. 在定义全局 C 变量时最多可以使用 64 K 字节的函数存储空间。n
  2. 如果改变这个全局 C 变量(项目函数,全局动作和画面中的对象动作),所有使用这个 C 变量的函数中都需要被编译。
  3. 在项目和标准函数情况下,你可以使用全局脚本编辑器的 “编译所有函数” 的功能完成这个。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc333091.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论