NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

OPC通讯下,高亮显示执行过程下可以读取数据,正常运行下读取的数据始终为零

大家好!有个问题我都不知道怎么调整了。
能帮我看下我的VI是什么原因吗。
我用LABVIEW做CLIENT来访问KEPWARE的OPC服务器,OPC的服务通过以太与西门子的PLC(315-2DP)通讯。
我的VI在高亮显示执行过程方式下能够读取PLC里面的值,但是不在这个方式下读取的值始终为零。能帮我分析一下吗。
还有就是程序中的关于循环的应用问题,不知道我的FOR循环是否正确,原理上好像是外部的循环执行一次,里面的FOR循环应该执行规定的N次。但是我把N改后感觉没有什么变化呀——即时在高亮显示执行过程方式下也没有看到什么不同(好像也只执行了一次)。
要是我把FOR的N定为0,代表什么意思呢。
现在自己不知道怎么了,不清楚。不知道该怎么调了。
谢谢非常感谢

就是在高亮显示运行情况下可以看到显示的数字变化。不在高亮显示的情况下,数据就始终为零,不变。
麻烦大家,帮看看是什么原因。现在吧通讯的部分单独放到一个循环里了还是不行。
用LABVIEW自带的OPCDEOM,还好些。用别的OPC就不行呀。

我就是想用LABVIEW来控制西门子的315-2DP的PLC。通过改写存储单元中的值。

昨天做了各种各样的尝试。
最后迫不得已采用了下策:把LABVIEW中的那个MULTIPLE OPC ITEMS MONITOR的程序搬上去,下面加了自己的向PLC写的程序。
让两个程序块并行的运行了。
好像以前看过说是最好不要在LABVIEW中让程序并行 的运行。
也只能采用这个下策了。。。。。
为了能够让读取数据只在前面的布尔值为1的时候才运行,对读取的程序 加了一个条件结构。
由于从下一个框中取布尔的运算结果直接连到上面的程序的条件端,数据不搭配。准备用局部变量,
但是采用局部变量后原来想要的操作逻辑好像改变了,原来的 逻辑为:3为一个方向点动,5为它的连续。4和6为相反的方向的点动和连续。
请大家帮看看,到底是什么原因。谢谢非常感谢。

0 项奖励
1 条消息(共 2 条)
3,868 次查看

您好!

  1.您是否有NI DSC模块,在该模块中可以直接将 server 的IO和LabVIEW中的变量绑定。编程可以大大简化。

 

  2. for循环的循环次数有 N输入和输入的数据共同决定,在您的应用中输入了数组,维数是2,决定了For循环的次数是2.

 

   3. 您 读取 datasocket 的速度过快,要添加定时。

 

AE Yang Liu

0 项奖励
2 条消息(共 2 条)
3,814 次查看