欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    将串口接收到的数据保存到ecel文档.docx

    • 资源ID:9576728       资源大小:97.49KB        全文页数:13页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    将串口接收到的数据保存到ecel文档.docx

    1、将串口接收到的数据保存到ecel文档一用VB DDE通讯!二1.启动excel从:工具-宏-Visual Basic 编辑器,打开excel VBA.2.在ThisWorkbook上右单击鼠标选择插入-用户窗体3.单击一下插入的窗体,单击菜单上的-工具-附加控件-选择Microsoft Communications Control, version 4.在窗体上添加mscomm1,添加commandButton15.单串口机子,短接rs232的2脚和3脚,双串口机子用232线连接两个串口,注意2、3线交叉,我这里以单串口短接举例。6.复制以下代码到你的窗体里:VB codeVBA代码Priva

    2、te Sub CommandButton1_Click() = BEG1ENDEnd SubPrivate Sub MSComm1_OnComm()Dim t1 As Long, com_String As StringStatic i As Integert1 = TimerSelect Case Case comEvReceive 收到 RThreshold定义的字符数1字节 = 0 Do DoEvents Loop While Timer - t1 255 Then i = 1 (3, i).Value = com_String End Select Filename:=C:End Su

    3、bPrivate Sub iniMscomm() On Error Resume Next=-初始化通信串口-= = 1 使用 COM1 = 9600,N,8,1 9600 波特,无奇偶校验,8 位数据,一个停止位 = True 打开端口 = 1 缓冲区有1个字节就产生OnComm事件 = 0 为 0 时,使用 Input 将使 MSComm 控件读取接收缓冲区中全部的内容。 = comInputModeTextInput以二进制形式取回用comInputModeBinary,以文本形式取回是(缺省项) = True = 0 清空缓冲区 End SubPrivate Sub UserForm_

    4、Initialize() iniMscommEnd Sub7.双击thisWorkBook,复制以下代码到窗体里:VB codeVBA代码Private Sub Workbook_Open() 0 End Sub8.保存文件并关闭excel,然后再打开你的文件,然后单击你窗体上的按钮看看。9.这个程序是我为你特意做的,已经做过测试,sys2003 office2003。10.如果excel中有数据输入,再去测试你的设置,注意com口号与波特率的设置。三mark excel 串口还有一个办法就是用任何编程,只需将收到的数据用csv文件的格式,生成一个文本文件,然后就可以用excel打开了。这个方

    5、法适合于任何语言,只要能生成文本文件就可以了。如果存成txt再打包可以的话, Perl简单些,不熟悉的人3天也能做出来.Spreadsheet:WriteExcel 和 Spreadsheet:ParseExcel四Excel VBA串口通信 2010-01-27 16:41 1466人阅读 评论(0) 收藏 举报 用c#也可以实现这种功能,那就是用serialPort控件,这里用VBA写的,用MSComm控件实现。其实还有另外一个控件叫NETComm控件,也可以做,源码中注释很清楚,不再赘述vb:showcolumns:firstline1 view plaincopyprint102030

    6、4050607080901001101201301401501. PrivateSubbtn_Close_Click()2. =False打开串口 3. =True连接按钮响应 4. =False断开按钮变灰 5. EndSub6. 7. PrivateSubbtn_exit_Click()8. If=TrueThen如果串口被打开 9. =False关闭按钮 10. EndIf11. UnloadUserForm1关闭窗体 12. EndSub13. 14. PrivateSubbtn_Start_Click()15. iniMSComm对串口控件设置 16. =True17. =True1

    7、8. =False19. EndSub20. 21. PrivateSubiniMSComm()对串口控件设置 22. =1占用的串口号,1表示COM1 23. =115200,n,8,1这个自己根据自己的情况设置 24. 25. =126. =027. =True这句话放到连接按钮事件中去 28. =comInputModeText29. =True30. =031. EndSub32. 33. PrivateSubMSComm1_OnComm()事件处理 34. Dimt1AsLong,com_stringAsString35. StaticiAsInteger36. t1=Timer37

    8、. SelectCase38. CasecomEvReceive 如果接收到数据则执行下列语句 39. =040. Do41. DoEvents42. LoopWhileTimer-t1255Theni=146. (3,i).Value=com_string写到Excel中去 47. =+com_string写到文本框中去 48. EndSelect49. EndSub五VBA的妙用:串口通讯程序与EXCEL相结合发布时间:2010-3-11发布者:北京世纪长秋科技有限公司1 VBA简介Visual Basic的应用程序版(VBA)是Microsoft公司长期追求的目标,使可编程应用软件得到完

    9、美的实现,它作为一种通用的宏语言可被所有的Microsoft 可编程应用软件所共享。在没有VBA以前,一些应用软件如Excel、Word、Access、Project等都采用自己的宏语言供用户开发使用,但每种宏语言都是独立的,需要用户专门去学习,它们之间互不兼容,使得应用软件之间不能在程序上互联。拥有一种可跨越多个应用软件,使各应用软件产品具有高效、灵活且一致性的开发工具是至关重要的。VBA作为一种新一代的标准宏语言,具有上述跨越多种应用软件并且具有控制应用软件对象的能力,使得程序设计人员仅需学习一种统一的标准宏语言,就可以转换到特定的应用软件上去,程序设计人员在编程和调试代码时所看到的是相同

    10、的用户界面,而且VBA与原应用软件的宏语言相兼容,以保障用户在代码和工作上的投资。有了VBA以后,多种应用程序共用一种宏语言,节省了程序人员的学习时间,提高了不同应用软件间的相互开发和调用能力。2 串口通讯程序简单的串口通讯程序一般是先由上位机向下位机发送读(write)或写(read)数据命令,然后等待下位机应答;下位机接受到命令之后,首先要对数据命令进行校验,对于符合校验约束的命令下位机会将相应的数据回复到上位机,对于不符合校验约束的命令下位机或将其抛弃或回复错误信息;上位机接收到下位机的响应之后,首先要对接收到的回复信息进行校验,对不符合校验约束的数据进行异常处理,对符合校验约束的信息进

    11、行解码,解码之后的信息便是上位机从下位机获得的有效信息了。上位机向串口发送读命令之后需要等待下位机应答并读取回复信息,常用的等待有3种方式:1) 轮询式上位机向串口发送读命令之后一直等待下位机应答,通讯程序处于一个等待循环中。优点:速度快、误码率低(几乎不存在误码)。缺点:消耗CPU。(解决办法:使用Sleep()API函数)。2) 消息式消息式通讯是采用响应WINDOWS消息的办法读取串口。优点:节省CPU、误码率低。缺点:发送接收机制过于繁琐。3) 定时接收式定时接收式通讯是根据预设的定时器时间进行读取数据。优点:发送接收机制相对简单、节省CPU。缺点:误码率太高,不同的硬件需要配置不同的

    12、通讯时间参数,需要严格的校验运算。3 EXCEL-VBA串口通讯实例软件:EXCEL。硬件:艾默生EC10 PLC。功能:通过EXCEL中的按钮控制PLC的输出继电器Y0。界面:RUN(运行通讯)、STOP(停止通讯)、Y0(Y0 ON/OFF控制)。主程序:Option ExplicitPublic DeclareSub Sleep Lib kernel32 (ByVal dwMilliseconds As Long)Public DeclareFunction SetTimer Lib user32 (ByVal hwnd As Long, ByVal nIDEvent As Long,

    13、ByVal uElapse As Long, ByVal lpTimerFunc As Long) As LongPublic DeclareFunction KillTimer Lib user32 (ByVal hwnd As Long, ByVal nIDEvent As Long) As LongPublic com1 As New Public y0Stt As BooleanPublic y0_on As BooleanPublic tmrFlag As BooleanPublic tmr As LongSub runn()On Error GoTo ed = 9600,e,8,1

    14、If = False Then = TrueEnd Iftmr = SetTimer(0, 0, 500, AddressOf ontimer)Exit Subed:MsgBox 串口打开错误!End SubSub stoppi()If = True Then = FalseKillTimer 0, tmrEnd IfEnd SubPublic Function ontimer()Dim a(7) As ByteDim add As LongOn Error GoTo edIf tmrFlag = False ThentmrFlag = TrueIf y0_on = True Theny0_o

    15、n = FalseIf y0Stt = True Thena(0) = &H1 a(1) = &H5 a(2) = &H0 a(3) = &H0 a(4) = &HFF a(5) = &H0 a(6) = &H8C a(7) = &H3A = a add = 0DoDoEventsSleep 10add = add + 1If add = 100 ThenExit DoEnd IfLoop Until = 8 Elsea(0) = &H1 a(1) = &H5 a(2) = &H0 a(3) = &H0 a(4) = &H0 a(5) = &H0 a(6) = &HCD a(7) = &HCA

    16、 = a add = 0DoDoEventsSleep 10add = add + 1If add = 100 ThenExit DoEnd IfLoop Until = 8End IfEnd IfEnd IftmrFlag = FalseExit Functioned: MsgBox 串口错误!tmrFlag = FalseEnd Function界面程序:Private Sub cmd1_Click()y0_on = Truey0Stt = Not y0SttEnd SubPrivate Sub cmdRun_Click()runn = 1End SubPrivate Sub cmdStop_Click()stopp = 0End Sub4 结束语由上可见,VBA已经广泛应用于微软的应用软件当中,所以为更好的完善二次开发功能,众多的组态软件都在VBA支持上做了努力,世纪星组态软件开发语言已与VBA非常相似,相信在未来的版本中,世纪星将全面支持VBA,它的二次开发功能会迈上一个新的台阶。六


    注意事项

    本文(将串口接收到的数据保存到ecel文档.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开