没有合适的资源?快使用搜索试试~ 我知道了~
首页VBA的妙用:串口通讯程序与EXCEL相结合
VBA的妙用:串口通讯程序与EXCEL相结合

VisualBasic的应用程序版(VBA)是Microsoft公司长期追求的目标,使可编程应用软件得到完美的实现,它作为一种通用的宏语言可被所有的Microsoft可编程应用软件所共享。
资源详情
资源评论
资源推荐

VBA的妙用:串口通讯程序与的妙用:串口通讯程序与EXCEL相结合相结合
VisualBasic的应用程序版(VBA)是Microsoft公司长期追求的目标,使可编程应用软件得到完美的实现,它作
为一种通用的宏语言可被所有的Microsoft可编程应用软件所共享。
1 VBA简介简介
Visual Basic的应用程序版(VBA)是Microsoft公司长期追求的目标,使
2
简单的
上位机向串口发送读命令之后需要等待下位机应答并读取回复信息,常用的等待有3种方式:
1) 轮询式
上位机向串口发送读命令之后一直等待下位机应答,通讯程序处于一个等待循环中。
优点:速度快、误码率低(几乎不存在误码)。
缺点:消耗CPU。(解决办法:使用Sleep()API函数)。
2) 消息式
消息式通讯是采用响应WINDOWS消息的办法读取串口。
优点:节省CPU、误码率低。
缺点:发送接收机制过于繁琐。
3) 定时接收式
定时接收式通讯是根据预设的定时器时间进行读取数据。
优点:发送接收机制相对简单、节省CPU。
缺点:误码率太高,不同的硬件需要配置不同的通讯时间参数,需要严格的校验运算。
3 EXCEL-VBA串口通讯实例串口通讯实例
软件:EXCEL。
硬件:艾默生EC10 PLC。
功能:通过EXCEL中的按钮控制PLC的输出继电器Y0。
界面:RUN(运行通讯)、STOP(停止通讯)、Y0(Y0 ON/OFF控制)。
主程序:主程序:
Option Explicit
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As
Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Public com1 As New MSCommLib.MSComm
Public y0Stt As Boolean
Public y0_on As Boolean
Public tmrFlag As Boolean
Public tmr As Long
Sub runn()
On Error GoTo ed
com1.Settings = "9600,e,8,1"
If com1.PortOpen = False Then
com1.PortOpen = True
End If
tmr = SetTimer(0, 0, 500, AddressOf ontimer)
Exit Sub
ed:
MsgBox "串口打开错误!"


















weixin_38651445
- 粉丝: 7
- 资源: 960
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- ARM Cortex-A(armV7)编程手册V4.0.pdf
- ABB机器人保养总结解析.ppt
- 【超详细图解】菜鸡如何理解双向链表的python代码实现
- 常用网络命令的使用 ipconfig ping ARP FTP Netstat Route Tftp Tracert Telnet nslookup
- 基于单片机控制的DC-DC变换电路
- RS-232接口电路的ESD保护.pdf
- linux下用time(NULL)函数和localtime()获取当前时间的方法
- Openstack用户使用手册.docx
- KUKA KR 30 hA,KR 60 hA机器人产品手册.pdf
- Java programming with JNI
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论1