xiefei_fly 发表于 2006-3-23 06:14:54

斑竹帮忙“救火”啊

斑竹和各位大哥帮下忙,公司老大让我今晚把一个电子天平的计算机读取数据的软件搞定,可我现在还没有把计算机如何给天平发送命令的问题弄明白:通过RS232方式硬件设置和一些通讯协议都按照说明书上设了。说明书上给的命令只有:1BH+70H:要求天平发送一次数据;1BH+71H:校准;1BH+72H:记数;1BH+73H:单位转换;1BH+74H:去皮;请问如何使用这些命令啊???

cpubbs 发表于 2006-3-23 06:19:04

可以把这些输入一个TEXT控件里面,然后放入COM的发送函数里面试试!用CVI做串口很少,只做过一次,不太熟,如果用LV的话就很容易的!不知道发送的时候要不要发这个加号,可以尝试一次就可以了!

cpubbs 发表于 2006-3-23 06:20:18

我们的版主们才是CVI的高手!希望他们能看到贴子!

xiefei_fly 发表于 2006-3-23 06:34:01

<P>这种方式我试过的,不行。我还试着不用CVI,直接发送命令过去:将命令<FONT color=#0909f7>1BH+70H<FONT color=#000000>写入txt文件中(比如tp.txt),然后建一个BAT执行文件:</FONT>COMMAND /C COPY tp.txt COM1<FONT color=#000000>.</FONT><FONT color=#000000>提示:</FONT><FONT color=#ff0000>Write fault error writing device COM1</FONT> 错误。</FONT></P>

xiefei_fly 发表于 2006-3-23 06:35:56

<P>这证明错误与CVI没有多大关系,本身对计算机给天平发送命令不熟,各位老大多提宝贵意见,在这里谢过了哈:)</P>

cpubbs 发表于 2006-3-23 07:25:36

用串口调试助手试试,你这样用BAT文件的我没有试过呢,呵呵!

xiefei_fly 发表于 2006-3-23 07:26:39

斑竹,有没有关于cvi通过串口驱动其他设备的例子,借我参考一下以解燃眉之急?

xiefei_fly 发表于 2006-3-23 07:28:52

<P>串口调试助手?不知道怎么用。</P>
<P>我是新手,对CVI也不太熟悉,希望老大指点一下。</P>

cpubbs 发表于 2006-3-23 07:29:24

我CVI不是太熟,因为我也是学习CVI不久!你可以看一下CVI自带的例子!我一直是用LV的!调试你可以用串口调试助手试试!

xiefei_fly 发表于 2006-3-23 08:59:42

好的,我在看看,还是多谢斑竹了

game216 发表于 2006-3-26 02:43:29

<DIV>串口打开了没?</DIV>
<DIV><FONT color=#ff0000>Write fault error writing device COM1</FONT></DIV>
<DIV>串口的数据好像没写进去</DIV>

huhuyo 发表于 2006-3-26 02:52:37

<P>CVI串口编程也很简单.打开,写,关闭.</P>
<P>OpenComConfig ();<BR>FlushInQ();//清空串行口的输入队列,根据实际情况,可以省略.<BR>ComWrt ();<BR>CloseCom ();</P>

huhuyo 发表于 2006-3-26 02:57:11

<P>有一个问题需要注意,有些仪器的指令要求是以\n为结束输入符的.</P>
<P>也就是说,有可能你的写数据应该为ComWrt(Comport,"<FONT color=#1a1ae6>1BH+70H\n</FONT>",strlen("<FONT color=#1a1ae6>1BH+70H\n</FONT>");</P>
<P>你可以试一下.</P>

xiefei_fly 发表于 2006-3-26 05:35:01

刚查了一下,设备是要求发送16进制数1B70,谢谢各位老大前面的指点,不过现在还有个问题就是ComWrt是写字符串的,它可以发送16进制数1B70吗?我试着用ComWrtByte函数,不过它是只能发送一个Byte,即我发送1B70时,只有后两位70被发送,还是无法满足要求,请各位大哥给点指点,1B70这个16进制数究竟应该怎么发送,在此先谢过了哈.
页: [1]
查看完整版本: 斑竹帮忙“救火”啊