LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

施耐德plc与labview通讯

想让施耐德plc作为从站 上位机编写通讯程序读取plc里面的数据 在施耐德自带的《使用技巧文集》里面有一个例子 是用VB实现MODBUS串行通讯的 如图 我理解其中的%MW10就是对应地址0010 我用自己编写的程序读取其中的数据 用总是出现错误-1073807253 我也设置了延时和VISA CLEAR 仍然不能解决问题 我不知道自己是哪里错了 希望各位大神帮忙

360截图20111007113904198.jpg

 

0 Kudos
Message 1 of 6
(4,691 Views)

assert the RTS line before writing, then after the writing, delay by several ms and the de-assert the line.

 

RTS line的设置如下:

 

  1. 在LabVIEW的程序框图,放置一个属性节点Functions Palette » Instrument I/O » VISA » VISA Advanced)。

  2. 右键点击属性节点,然后选择Property

  3. 选择Properties » Serial Settings » Modem Line Settings.

  4. 选择相应的设置属性(Line CTS StateLine DCD StateLine DSR StateLine DTR StateLine RI StateLine RTS State)。
0 Kudos
Message 2 of 6
(4,684 Views)

我按照您说的改了以后,什么数据也读不出来,不知道你说的这个设置是什么意思

360截图20111010095857640.jpg

0 Kudos
Message 3 of 6
(4,662 Views)

通信过程中,有些时候存在着RTS设置问题时会出现传输错误的情况;

 

此外,还可能是您帧结构出现了问题,请参考下列链接:

 

http://forums.ni.com/t5/NI-LabVIEW-CVI-%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86%E7%AD%89%E4%BA%A7%E5%93%...

0 Kudos
Message 4 of 6
(4,659 Views)

谢谢您的解答 我会再研究一下帧结构的

0 Kudos
Message 5 of 6
(4,648 Views)

Capture.GIFCapture.GIFCapture.GIF我用的是MODBUS指令,与M238通过499网络模块通讯,但是总是会出现问题,程序如图,第一幅图是modbus指令VI,在第二幅图中调用,在这个程序中,我连接了3个PLC,两个是施耐德的M258,自带以太网接口,一个M238,不带以太网接口,扩展一个以太网模块499, 但是与M258通讯时正常,一运行到与M238的499通讯时,就会出现以上错误。请指教,参数哪里错了。

0 Kudos
Message 6 of 6
(4,377 Views)