34401A RS232 通讯

henlyming 2011-09-28 01:48:20
哪位大哥有34401A 通过RS232编程的经验。
我现在可以通过串口对34401A进行设置,但是无法得到34401A的返回值。
最好有实例发给我看看,VB或C#都可以,现谢谢了。
邮箱:henlyming@163.com
...全文
1542 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
专情小白菜 2014-06-24
  • 打赏
  • 举报
回复
请问程控RS232串口线的型号是哪一种呢?普通的直连线和交叉线感觉都不行啊。
wylgeli 2013-08-19
  • 打赏
  • 举报
回复
我的也一样。。。。。。
18821 2013-07-03
  • 打赏
  • 举报
回复
我也遇到跟上面一样的问题了,数据能发下去,却收不到数据。搞了两天,终于知道什么原因了,HP表有专用串口线的,那个线的接线估计跟一半的串口线的引脚接线不一样。
wwbwwb2121 2013-02-22
  • 打赏
  • 举报
回复
哦,看错了,是没有设触发, 加init trig
wwbwwb2121 2013-02-22
  • 打赏
  • 举报
回复 1
兄弟,还记得34401a的程序吗? 你这个问题我现在也遇到了,原因是万用表没有调成程控模式, 加个:SYST:REM 就OK了
macji 2012-08-22
  • 打赏
  • 举报
回复
你好 我刚刚调试出来了
把read?
改用 initiate
fetch?
macji 2012-08-22
  • 打赏
  • 举报
回复
你好 我弱弱的问句 你用串口有没有 调试成功读取数据?我也是在这一步就不行了
henlyming 2011-10-11
  • 打赏
  • 举报
回复
谢谢大家啦,这个不搞了,用GPIB卡通讯了,要多花不少钱啊
皇城龙三 2011-10-09
  • 打赏
  • 举报
回复
看看你程序调用的设备名称和你读取的设备的名称是否一致
henlyming 2011-10-09
  • 打赏
  • 举报
回复
谢谢楼上,这个方法我也试过啦,没有用啊,
这估计得找搞过的提示一下,应该不难,哎!
枪牌 2011-10-08
  • 打赏
  • 举报
回复
搞过串口,没搞过34401A

波特率这些没设置错吧?
先用windows自带的超级终端输入那些命令,看看是否可以正常输出


Public Event DataReceived As SerialDataReceivedEventHandler
Dim instance As New SerialDataReceivedEventHandler(AddressOf HandlerMethod)

AddHandler comPort.DataReceived, instance

Private Sub HandlerMethod(ByVal sender As Object, ByVal e As SerialDataReceivedEventArgs)
'Do Something
End Sub

俺是像上面那么写的,vb代码
lifelongemail 2011-10-08
  • 打赏
  • 举报
回复
这是什么哇
henlyming 2011-10-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 shiningstarhu 的回复:]
你确定你的34401A是可以直接通过字符串方式设置的嘛?
也就是你代码中的那些WriteLine("....")

一般这种硬件控制都是需要把你的命令字符串转换成字节形式发送的。
返回值一般也是字节形式,光靠ReadLine应该不行。

你需要通过TextEncoder将你的字符串命令转换成字节, 读取的时候通过ReadByte之类的
方法在通过TextEncoder把字节转换成字符……
[/Quote]
WriteLine中的字符34401是有响应的,而且也也会设置成相应的设置。
Read那边我ReadBye也试过的也是读不到东西,会超时。
看来不行要用GPIB卡去控制了。
LMAOhuaNL 2011-10-07
  • 打赏
  • 举报
回复
虚心的关注一下了,真的没搞过
ShiningstarHu 2011-10-07
  • 打赏
  • 举报
回复
你确定你的34401A是可以直接通过字符串方式设置的嘛?
也就是你代码中的那些WriteLine("....")

一般这种硬件控制都是需要把你的命令字符串转换成字节形式发送的。
返回值一般也是字节形式,光靠ReadLine应该不行。

你需要通过TextEncoder将你的字符串命令转换成字节, 读取的时候通过ReadByte之类的
方法在通过TextEncoder把字节转换成字符串。

henlyming 2011-10-07
  • 打赏
  • 举报
回复
哎,没有人回复啊
henlyming 2011-09-28
  • 打赏
  • 举报
回复
前面几个命令34401都有反映,通讯应该没有问题?
哪位大哥有什么意见?
henlyming 2011-09-28
  • 打赏
  • 举报
回复
serialPort1.Open();
serialPort1.WriteLine("*CLS");
serialPort1.WriteLine("SYST:REM");
serialPort1.WriteLine("CONF:DC 10,0.1");

serialPort1.WriteLine("READ?");


MessageBox.Show(serialPort1.ReadLine());
serialPort1.Close();
这是我的测试代码?但是就是无法读到值。
Manual上写,READ?命令过后会将34401的测试值传送的输出缓存。
但是我用ReadLine()无法获取到任何值,出现超时。
无常名 2011-09-28
  • 打赏
  • 举报
回复
没做过这个,不过做过串口相关的。
一般这个问题就是串口设置和协议的问题(哎废话么)。
把详细问题发出来吧,帮你顶。。。。
henlyming 2011-09-28
  • 打赏
  • 举报
回复
自己顶,谢谢楼上
加载更多回复(1)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧