VISA读取问题
请教:上位机发送十六进制数据:00 00 01 01但是VISA 读取转换成十进制后进变成四个数据:0,0,1,1
怎样将上面八个字节作为一个整体十进制数据输出:257
请将转换工具截图显示给我,不胜感激!!!! 这几个数无论咋转换都转不成257的!
兄弟您这样试,右击这个VISA WRITE的WRITE BUFFER,然后选择HEX DISPLAY,这个时候看到的,就是发送出去的,是十六进制的! 要看关于这方面的应用实例,可以下载学习套件的资料,里面很多这种应用,包括和单片机通信实现电压采集和温度采集等的!
大家好,cpubbs论坛第一,二版本学习套件全套资料免费下载!2008-4-19
http://www.cpubbs.com/bbs/thread-54941-1-1.html
里面很多地方有用到这种转换,比如实验6和实验8!好运!有问题再一起学习!
回复 2# cpubbs 的帖子
不是我自写自收啊,人家上面发过来就是那个格式的,让我转换成十进制数显示,那就是没有办法了...... 不是的,有办法!对方发的数据是如何的?我们学习套件上面的也是收到后转换为真实的值的! 关键要了解对方的数据,在我们收到后,需要通过什么方式运算才能是真实的值,比如收到按您说的HEX DISPLAY下是00 00 01 01,哪么,我们要弄成NORMAL DISPLAY下面显示的是什么?然后再要经过一个什么运算,比如乘多少除多少,才是257呢?现在是这个不清楚! 如果清楚,用学习套件,或咱们精华贴中的那几个关于串口数据转换的VI,一般的均可以满足的!回复 6# cpubbs 的帖子
如果上位机发送到是00 00 01 01还可以乘除的数据,但是它现在还会发送7C 22 D3 F3这样的数据,所以根本没有办法用乘除法做啊,很头疼。感觉LABview数据类型这方面很麻烦,程序现在进入死区没办法前进了allqq-mogudiandian-56all回复 5# cpubbs 的帖子
上位机发送格式就是以上那样的四个字节组成的,有大有小,还有负数如8F 0000 00 什么的,感觉数据处理很麻烦正负也要判断,所以......死区..... 不是的兄弟,不要着急,这种完全可以转换的!比如这种是16进制的字符的代码,可以通过转换成相应的NUMERIC然后再运算的!我还是感觉您现在看到的是NORMAL DISPLAY下面的!您看一下Hexadecimal String To Number这个就是能将一些如AB FF CD类的字符串转换成相应的NUMERIC的数字形式的! 有问题一般都可以解决的,静下心来! 用PC串口与三菱J3-A通迅,控制伺服电机起停,速度调整,有这方面的例题吗?请高手指点指点!谢谢
回复 10# cpubbs 的帖子
请问高手你对VISA了解多少?用的多吗?你说Hexadecimal String To Number是把十六进制转换成十进制的意思吗?这个方法是我第一次就用了的,看完我以前说的资料,你应该也知道上位机发送给我的是ASC码,而在LABVIEW里转换工具String To Byte Array 可以读取成字节,而通过Hexadecimal String To Number根本什么都识别不了只能输出0,因为Hexadecimal String To Number要求输入的是十六进制
回复 6# cpubbs 的帖子
高人:你说我“看到的是NORMAL DISPLAY下面的”是什么意思?
例如这样的数据C0 56 DF 3A 通过“VISA读”到底怎么样才能转顺利换成十进制呢 这方面用得非常多!
您还是上传程序吧!我说的HEX DISPLAY还 NORMAL DISPLAY,是指右击这个WRITE BUFFER或READ BUFFER的快键菜单上面的!
页:
[1]
2