FAQ___如何一次性读取所有的PLC变量

<< 点击显示目录 >>

主页  PVI通信 > 应用例程 > Windows >

FAQ___如何一次性读取所有的PLC变量

说明

PLC变量分为全局变量与每个任务的局部变量,可以在连接了CPU/Task后通过Upload方法,获取所有 全局变量/局部任务 中的变量名,可查看→ TM712_PVIServices 3.2 章节

 

一次性读取PLC内所有变量,可以自建一个方法,申请的PVI Variable的作用域为全局的,依次连接CPU与Task,Upload获得变量名后,分别进行对应连接。

 

管理CPU对象内的信息

不建议连接所有的PLC变量,建议只连接必要需要采集的变量,连接本身消耗通信资源与内存资源,连接的数量越多,通信速率会受影响降低。

 

参考代码

private void btConnectVariable_Click(object sender, EventArgs e)

{

if (cpu != null)

{

this.cpu.Variables.Uploaded += new PviEventHandler(GlobalVariablesUploaded);

this.cpu.Variables.Upload();

}

 

}

 

private void GlobalVariablesUploaded(object sender, PviEventArgs e)

{

this.listBox1.Items.Clear();

foreach (Variable variable in this.cpu.Variables.Values)

{

listBox1.Items.Add(variable.Name);

}

this.listBox2.Items.Add( "Global variablies uploaded\r\n");

}