首页 公司简介 荣誉 推广活动 技术论坛 产品信息
  首 页 :: 总经理致辞 :: 资质证书 ::

 

注册用户,可享有更多通行权利及信息

新用户注册

☆ 如有技术问题,请在线 或Mail至:fa@lggz.com,我们将尽快回覆您!
: 老师 您好: 我在编写E5EN与计算机的RS485程序时,始终不能收到下位机的响应幀,请帮我查找一下问题出在哪里。 硬件连接部分: 1、计算机的COM1--- RS232/RS485+端-- 0号仪表E5EN的 A 端--- 1号仪表E5EN的A端 -端----- ---------------------B端 ----------------------------B端 v+-------------(单片机电源的5v电压端) Gnd---------(单片机电源的接地端) 2、在100米内可不接终端电阻,如接应为RS485的正负端跨接120欧姆电阻,最远端一台仪表AB端跨接120欧姆电阻。 3、设备号依次设定为0,1;波特率9.6kpbs;数据位7;停止位2;校验E;其余默认。 软件部分: 4、 Private Sub CmdExit_Click() End End Sub Private Sub Command2_Click() Text2.Text = "" Text1.Text = "" End Sub Private Sub Timer1_Timer() Dim FcsResult As String Dim temp As String Dim Command As String temp = 0 Rem 打开串口 If (MSComm1.PortOpen = False) Then MSComm1.PortOpen = True Rem 命令 StrIn = "000000503" & Chr(3) Rem 校验码 For i = 1 To Len(StrIn) temp = Asc(Mid$(StrIn, i, 1)) Xor temp Next i BccResult = Chr(temp) Command = Chr(2) + StrIn + BccResult MSComm1.Output = Command Text1.Text = Command Rem 延时 Label3.Caption = "正在接受中...! " Text2.Text = "" timeDelay (1500) Label3.Caption = "命令幀是:" Rem 接受响应帧 If MSComm1.PortOpen = True Then Text2.Text = MSComm1.Input End Sub Declare Function GetTickCount Lib "kernel32" () As Long Sub timeDelay(t As Long) Dim tt& tt = GetTickCount() Do DoEvents Loop Until GetTickCount() - tt >= t End Sub 其中,MSCOMM控件的设置为文本,不是二进制(二进制出乱码,为什么?);setting=”9600,e,7,2”, mscomm1.inputlen=0; comport=1; 5、我换了好几家转换器的不同产品,也不见好转。 请您告诉我哪个环节出错了,如何改,谢谢!!!
暂无答案!


发表见解:
用户名:
密 码:
显示名称:

地址:广州市体育东路33号天盛大厦南梯707室
电话:020-85267788(20条线)  传真:020-85267077
网  址:http://www.zxlo.com
Mail:fa@lggz.com