I got a good question from my customer:
In his redundancy servers project, he declared an array a[j][k]in the scada basic to make some function. Now, he asked me: if the Server 1 starts, and trigger the array a[j][k], then Server 2 starts(or sometimes there is server down, then restart it), can the server 2 gets the array's value from Server 1?
I see the info in Help: "The global declaration program is used to declare working variables and functions that are used throughout a project. " But i dont know here whether "a project" includes the multi-station.
So does it mean that the customer can declare the array in the global program?
The customer doest not like to use our internal variables in the scada, because it' easier for them to maintain the array then PcVue internal variables.
Thx!
No, you can't share Scada Basic variables between several stations.
Thank for you quick reply!
The answer is a bit frustrating.:(
Your customer can as easily build a string with numerical index like
ARRAY.i.j.k where ARRAY.i.j.k is an ionternal vairable in PcVue.
OK that makes a lot of internal variable but anyway he does not have the choice. He must use internal variable produce by the list (containing the association) for both station to get the data change by one station.
Hello Emmanuel,
Yes, the customer can only DIM his array with PcVue internal variables in this case.
The help file "The global declaration program is used to declare working variables and functions that are used throughout a project. I think "the project here" is the station.
Hello, here is a related question on the SCADA Basic for this issue:
The customer wants to know whether we can change the limit of the SCADA Basic: Max number of symbols 4 200 to 5000.
Because in their project, they need more than 5000 symbol.
Thank you!
Hello Shuquan
We can change the limit of SCADA Basic with this instruction :
SYS MAXSYMBOLES = 5000;
Insert it to the Global Program.
I don't know if it's possible to increase more than 5000.
For your information, see the article KB144
Hello Anthony,
Thanks. I tried to modify it to 6000 in the global program, it does not work.
Maybe we can wait for the answer from the experts. 🙂
Hi
What I mean in my previous post is that instead of using dim varialbe he uses internal variable with naming convention
ARRAY.xx.yy.zz
then in its scada basic loop he build the string and can get the varilabe value or set the varialbe value of the internal varilabe of PcVue.
This varilabe can be produce and consumme as any varilabe in its architecture.
And you go around the problem of number of symboles.
This is the best solution and you use the standard PcVue function so you are in known territory.
Hi
What I mean in my previous post is that instead of using dim varialbe he uses internal variable with naming convention
ARRAY.xx.yy.zzthen in its scada basic loop he build the string and can get the varilabe value or set the varialbe value of the internal varilabe of PcVue.
This varilabe can be produce and consumme as any varilabe in its architecture.
And you go around the problem of number of symboles.This is the best solution and you use the standard PcVue function so you are in known territory.
Thanks, Emmanuel!
I think your solution is the best!
To be curious, do you know whether we can change the limitation of the symbol amount in SCADA Basic?
I have no other solution then the one previously mention in your topic. And you prove that the number of symbol is limited to 5000, which to be honest is a lot.
Thx,Emmanuel.
So I can close my ticket. 🙂




