扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1.电脑要有485转232的转换器
创新互联建站服务项目包括南沙网站建设、南沙网站制作、南沙网页制作以及南沙网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,南沙网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到南沙省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
2.你要看懂DLT_645—1997规约的通讯协议,现在大多电能表厂都会遵行这个通讯协议,DLT_645—1997规约不是最新的通讯协议.就看电表的使用什么通讯协议.
3.要知道电能能的通讯地址,不知道也没关系,可以单表通讯,用12个9当地址.就可以读出来.
4.用mscomm32.ocx控件访问串口; 你用要一点编程基础;
总之,按协议编程很重要,我有过成功经历.也没有那么难呀.
serial port是按字符接受字节的。 你可以吧inputlen设置为12,相当于一次读一桢的数据。然后把12个字符赋给var,再把var赋给字符,然后可以读取了。读入阀值设置为12
我不会做 我去帮你找找看看
这个站我感觉不错。 希望能住到你。 。
输出时不要清缓冲区
Private Sub Command1_Click() '发送指令
Dim pu() As Byte
Dim strdata As String
ReDim pu(5)
pu(0) = "H00"
pu(1) = "H03"
pu(2) = "H00" '2、3为温度计地址
pu(3) = "H00" '2、3为温度计地址
pu(4) = "H00" '4、5为读取寄存器长度
pu(5) = "H01" '4、5为读取寄存器长度
MSComm1.Output = pu
MSComm1.Output = CRC16(pu)
'MSComm1.OutBufferCount = 0 '清除发送缓冲区
End Sub
事件处理程序不要用 Msgbox,也没必要每种事件都处理。
Private Sub MSComm1_OnComm() 'COM事件
Dim RcvBuff() As Byte
Debug.Print "返回值:" MSComm1.CommEvent
Select Case MSComm1.CommEvent
Case comEvReceive
DoEvents
RcvBuff = MSComm1.Input
'
'处理 RcvBuff 中的返回报文
'
Case Else
'Donothing...
End Select
End Sub
如何处理收到的报文我就不写了,你自己研究。
你小子!你也太小气了吧,这样的问题一分都不给!
上位机采集数据要么是通过IP/TCP 协议(网卡),要么是通过串口获取。
你的是通过串口获取。
1.定义一个时钟Timer。(时钟周期为你的采集周期)
2.在时钟的Tick事件里写采集数据代码。(SerialPort类)
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流