VB MODBUS实现源码

VB MODBUS实现源码

ID:41123810

大小:92.00 KB

页数:17页

时间:2019-08-17

VB MODBUS实现源码_第1页
VB MODBUS实现源码_第2页
VB MODBUS实现源码_第3页
VB MODBUS实现源码_第4页
VB MODBUS实现源码_第5页
资源描述:

《VB MODBUS实现源码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、OptionExplicitPublicbln_busyAsBooleanPublicbln_successAsBooleanPublicbln_readwordAsBooleanPublicDeclareFunctiontimeGetTimeLib"winmm.dll"()AsLongPublicSubtran_modbus_order(ByValbyt_slv_idAsByte,ByValbyt_funcAsByte,ByValaddrAsLong,byt_data()AsByte)Dimtrans_byte()

2、AsByteDimiAsIntegerDimjAsIntegerDimkAsIntegerDimIndexAsIntegerDimCRC()AsByteDimtempAsIntegerDimlenthAsIntegerDimlenth1AsIntegerSelectCasebyt_funcCase1ReDimtrans_byte(7)AsBytetrans_byte(0)=byt_slv_idtrans_byte(1)=1trans_byte(2)=(addr-1)256trans_byte(3)=(addr-1)

3、Mod256trans_byte(4)=0trans_byte(5)=byt_data(0)CRC=CRC16(trans_byte)trans_byte(6)=CRC(0)trans_byte(7)=CRC(1)Case3ReDimtrans_byte(7)AsBytetrans_byte(0)=byt_slv_idtrans_byte(1)=3trans_byte(2)=(addr-1)256trans_byte(3)=(addr-1)Mod256trans_byte(4)=0trans_byte(5)=byt

4、_data(0)CRC=CRC16(trans_byte)trans_byte(6)=CRC(0)trans_byte(7)=CRC(1)Case6ReDimtrans_byte(7)AsBytetrans_byte(0)=byt_slv_idtrans_byte(1)=6trans_byte(2)=(addr-1)256trans_byte(3)=(addr-1)Mod256trans_byte(4)=byt_data(0)trans_byte(5)=byt_data(1)CRC=CRC16(trans_byte

5、)trans_byte(6)=CRC(0)trans_byte(7)=CRC(1)Case15lenth=UBound(byt_data)+1lenth1=(lenth-1)8+1ReDimtrans_byte(8+lenth1)trans_byte(0)=byt_slv_idtrans_byte(1)=&HFtrans_byte(2)=(addr-1)256trans_byte(3)=(addr-1)Mod256trans_byte(4)=0trans_byte(5)=lenthtrans_byte(6)=le

6、nth1k=0Index=7temp=0Fori=1Tolenthtemp=temp+byt_data(i-1)*(2^k)If(iMod8=0)Thentrans_byte(Index)=CByte(temp)Index=Index+1temp=0k=0EndIfk=k+1Nextitrans_byte(Index)=CByte(temp)CRC=CRC16(trans_byte)trans_byte(7+lenth1)=CRC(0)trans_byte(8+lenth1)=CRC(1)Case16lenth=UB

7、ound(byt_data)+1ReDimtrans_byte(8+lenth)trans_byte(0)=byt_slv_idtrans_byte(1)=&H10trans_byte(2)=(addr-1)256trans_byte(3)=(addr-1)Mod256trans_byte(4)=0trans_byte(5)=lenth2trans_byte(6)=lenthFori=0Tolenth-1trans_byte(7+i)=byt_data(i)NextiCRC=CRC16(trans_byte)tr

8、ans_byte(7+lenth)=CRC(0)trans_byte(8+lenth)=CRC(1)EndSelectfrm_main.com_modbus.Output=trans_byteDimts_iAsIntegerDimts_strAsStringts_str="send:"Forts_i=0ToUBound(trans_byte)t

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。