Can Arrays in SCADA Basic shared by each server?

14 Posts
4 Users
0 Likes
61 Views
(@sq.zheng@pcvue.com.cn)
Posts: 0
New Member Guest
 

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!

 
Posted : 19/04/2013 8:55 am
n.kunzer
(@n-kunzerarcinfo-com)
Posts: 1236
Member Moderator
 

No, you can't share Scada Basic variables between several stations.

 
Posted : 19/04/2013 9:01 am
(@sq.zheng@pcvue.com.cn)
Posts: 61
Trusted Member Guest
 

Thank for you quick reply!

The answer is a bit frustrating.:(

 
Posted : 19/04/2013 9:09 am
ED
 ED
(@e-duvalarcinfo-com)
Posts: 138
Estimable Member
 

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.

 
Posted : 24/04/2013 3:25 am
(@sq.zheng@pcvue.com.cn)
Posts: 61
Trusted Member Guest
 

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.

 
Posted : 26/04/2013 11:22 am
(@sq.zheng@pcvue.com.cn)
Posts: 61
Trusted Member Guest
 

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!

 
Posted : 09/05/2013 2:37 pm
ACHT
 ACHT
(@a-chaverotarcinfo-com)
Posts: 161
Reputable Member
 

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

 
Posted : 13/05/2013 1:37 pm
(@sq.zheng@pcvue.com.cn)
Posts: 61
Trusted Member Guest
 

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. 🙂

 
Posted : 14/05/2013 12:39 pm
ACHT
 ACHT
(@a-chaverotarcinfo-com)
Posts: 161
Reputable Member
 

Did you see this message in the event viewer ?

707=96 2013 05 14 094532
 
Posted : 14/05/2013 12:56 pm
(@sq.zheng@pcvue.com.cn)
Posts: 61
Trusted Member Guest
 

Did you see this message in the event viewer ?

Yes. E.g.: Even i set 8000 in global program, and set the array[50][10][10], it says "Symbol table is full."

708=97 sb
 
Posted : 14/05/2013 1:05 pm
ED
 ED
(@e-duvalarcinfo-com)
Posts: 138
Estimable Member
 

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.

 
Posted : 14/05/2013 5:16 pm
(@sq.zheng@pcvue.com.cn)
Posts: 61
Trusted Member Guest
 

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.

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?

 
Posted : 15/05/2013 7:47 am
ED
 ED
(@e-duvalarcinfo-com)
Posts: 138
Estimable Member
 

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.

 
Posted : 15/05/2013 1:18 pm
(@sq.zheng@pcvue.com.cn)
Posts: 61
Trusted Member Guest
 

Thx,Emmanuel.

So I can close my ticket. 🙂

 
Posted : 20/05/2013 11:22 am