本科论文--基于C8051单片机的炉温采集显示系统上位机软件设计.doc_第1页
本科论文--基于C8051单片机的炉温采集显示系统上位机软件设计.doc_第2页
本科论文--基于C8051单片机的炉温采集显示系统上位机软件设计.doc_第3页
本科论文--基于C8051单片机的炉温采集显示系统上位机软件设计.doc_第4页
本科论文--基于C8051单片机的炉温采集显示系统上位机软件设计.doc_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学士学位论文 i 摘 要 随着自动化技术以及信息技术的发展,锅炉的管理越来越趋于智能化,省去了很 多的人力物力且管理效率有很大提高,减少了因为监督管理不善而引起的事故。visual basic 是 microsoft 公司于 1991 年推出的基于窗口的可视化程序设计语言,大大简化 windows 程序界面的设计工作,同时其编程系统采用了面向对象、事件驱动机制,它 还引入了使用部件编程的概念,实际上这是对面向对象编程思想的扩展。 本设计是利用 vb 设计上位机的各个界面,并利用对 vb 中的 mscomm (microsoft communication control)通信控件的编程,使上位机与控制主板进行通信 连接,单片机将上位机所需温度数据传输给上位机,上位机对接收到的数据进行校对、 处理和显示,对下位机各个参数进行补偿,下位机修改参数后,将正确的温度数据传 送给上位机,上位机保存修改后各温度数据。并利用 api 函数、vb 中的动态数组及 picture 控件对采集的实时温度数据进行曲线显示,利用文件调用对历史温度进行显示, 利用 vb 数组进行编码与译码,实现 led activex 控件(仿真的七段译码器)的仿真, 可直观的显示锅炉各点的温度。 关键字:上位机;界面设计;串口通信 学士学位论文 ii abastract with the development of automation technology and imformation technology, the management of boiler goes to more and more intelligenize, which help to economize much manpower and material resources, reduce accident capable of being attributed to negligent supervisory mangement. visual basic is presented by microsoft company in 1991,whose language was designed based on windows visualized program. this had grately simplified the designing work of windows process interface, meanwhile, the programming-mechanism adopt object-orientation and matter driving mechanism. visual basic has also introduced using the concept of part programming. in reality, this is an expension to the idea of object- oriented program. this design used each interface of monitor-computer of vb design, and make use of programming mscomm to connect monitor-computer and controller mainboard. thus micro- controllor can transfer temperature data that monitor-computer needed, who then profreed, dispose and display the data received, and repair each parameter of lower monitor. after that, it will transfer the accurate temperature data to upper monitor and then revamp again to display and preserve. micro-controllor use api function, vb dynamic array, and picture control to graphic display the real-time temperature data, use document transfer to vision historical temperature, amd use vb array to coding, so as to implement led activex control simulation, and intuitionisticly vision each temperature of the boiler. keywords: monitor-computer; design of interface; series communication 学士学位论文 iii 目录 摘 要i abastractii 1 绪论1 1.1 vb 简介 1 1.2 vb 串口通信简介 1 1.2.1 事件驱动方式1 1.2.2 查询方式2 1.3 系统要研究的主要内容2 1.4各项研究的基本要求2 1.5 项目研究的意义2 2 通信协议设计4 2.1 rs-485 串行接口标准4 2.2 rs-485 通信协议4 3 上位机界面设计6 3.1 窗体设计6 3.1.1 窗体的特点6 3.1.2 窗体的建立6 3.2 主界面设计8 3.3 密码界面设计21 3.4 参数修改界面设计23 4 绘制曲线27 4.1 实时曲线27 4.2 历史曲线33 5 系统调试36 5.1 设置调试断点36 5.2 单步执行36 5.3 调试窗口37 结论38 致谢39 学士学位论文 iv 参考文献40 附录 a41 附录 b46 学士学位论文 1 1 绪论 1.1 vb 简介 basic 是英文 beginners all-purpose symbolic instruction code(初学者通用符号 指令代码)的缩写,它是专门为初学者设计的高级语言。 visual basic 是 microsoft 公司于 1991 年推出的基于窗口的可视化程序设计语言。 “visual”是“可视化的”、 “形象化的”的意思。visual basic 的语法与 basic 语言的语法基 本相同,因此 visual basic 也具有易学易用的特点,此外它还提供了一套可视化设计工 具,大大简化了 windows 程序界面的设计工作,同时其编程系统采用了面向对象、事 件驱动机制,应用 visual basic 可以方便地完成从小的应用程序,到大型的数据库管理 系统、多媒体信息处理、功能强大的 internet 应用程序等各项任务。 1.2 vb 串口通信简介 通信,对于设备来说就是两设备之间的数据交换,这种通信是通过电信号来实现 的。高电位代表一种状态,而低电位代表另一种状态,在组合了很多种电位状态之后 就形成了设备之间的数据交换。 计算机的发展已经有很长一段时间,其中串行通信存在的时间很长,应用领域也 非常广泛。市场上有很多产品应用了串行通信技术作为产品对外数据交换的桥梁,串 行通信受到如此重视,主要原因就是因为其技术简单而且容易实现。 visual basic 提供了大量的控件供编程人员使用,编程人员可以方便地利用这些组 件中的属性、方法、语言等以事件驱动方式开发应用程序。 mscomm 控件全称为 microsoft communication control,是 microsoft 公司提供的 简化 windows 下串行端口传输和接收数据,为应用程序提供串行通信功能。mscomm 控件提供下列两种处理通信的方式: 1.2.1 事件驱动方式 事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下, 在事件发生时需要得到通知,例如,在串口接收缓冲区中有字符,或者 carrier detect (cd) 或 request to send (rts) 线上一个字符到达或一个变化发生时。在这些情况下, 可以利用 mscomm 控件的 oncomm 事件捕获并处理这些通讯事件。oncomm 事件 学士学位论文 2 还可以检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅 commevent 属 性。在编程过程中,就可以在 oncomm 事件处理函数中加入自己的处理代码。这种方 法的优点是程序响应及时,可靠性高。每个 mscomm 控件对应着一个串行端口。如 果应用程序需要访问多个串行端口,必须使用多个 mscomm 控件。 1.2.2 查询方式 查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。在程 序的每个关键功能之后,可以通过检查 commevent 属性的值来查询事件和错误。如 果应用程序较小,并且是自保持的,这种方法可能是更可取的。例如,如果写一个简 单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的 字符是调制解调器的“确定”响应。 1.3 系统要研究的主要内容 利用 vb 编程软件完成上位机同下位机的通信控制,通过上位机来监控锅炉温度 等各项指标。 完成单片机同 vb 编程软件通信的连接。 实现上位机软件对下位机的参数修改功能。 实现温度采集的上位机显示输出、绘制并且存储温度变化曲线。 完成实际软件的调试。 1.4 各项研究的基本要求 进行上位机的界面设计,利用对 mscomm 通信控件的编程完成对上位机与单片机 的通信连接,单片机将上位机所需数据传输给上位机,上位机对接收到的数据进行处 理和显示,保存单片机向上位机传输的各种温度数据,对下位机各个参数进行补偿。 并利用 vb 中的动态数组及 picture 控件对采集的温度数据进行曲线显示,利用 vb 数 组进行编码与译码,实现七段数码管的仿真,使 led 直观的显示锅炉各点的温度。 1.5 项目研究的意义 随着自动化技术以及信息技术的发展,锅炉的管理越来越趋于智能化,省去了很 学士学位论文 3 多的人力物力且管理效率有很大提高,减少了因为监督管理不善而引起的事故。本课 题的设计正是基于这个目的,在本设计中主要采集锅炉的各点的温度,通过 led 显示 屏直观准确的进行显示,把采集到的数据通过 rs485 传输到上位机,上位机将采集上 来的锅炉温度数据进行实时处理,并在显示屏上显示,使人在电脑面前就能观测到锅 炉房内的温度情况,而且监测人员可以通过电脑把监测时间内任意时刻的温度曲线调 出,便于操作人员进行数据分析,更为以后的维修等提供了数据保障。 学士学位论文 4 2 通信协议设计 本工程主要是通过桥式电路采集锅炉各点的温度,然后将采集的温度转换为电压 值,再通过单片机内的 pt100 的 a/d 值与温度的对照表表格一一对照,将电压值一一 转换为温度值,等待上位机的中断信息,系统的主要流程是用户通过计算机串口发出 相应的控制指令,通过电平转化,将控制信号通过 rs-485 串行接口送到单片机的,单 片机接收信号做出相应的反应,将上位机所需要的参数发送回计算机,上位机将其传 送来的数据进行显示,完成一整套控制和监视的功能。 2.1 rs-485 串行接口标准 (1) rs-485 的电气特性:发送端:逻辑“1”以两线间的电压差+(2 至 6)v 表示;逻 辑“0”以两线间的电压差-(2 至 6)v 表示。接收端:a 比 b 高 200mv 以上即认为是 逻辑“1”,a 比 b 低 200mv 以上即认为是逻辑“0”。 (2) rs-485 的数据最高传输速率为 10mbps。但是由于 rs-485 常常要与 pc 机的 rs- 232 口通信,所以实际上一般最高 115.2kbps。又由于太高的速率会使 rs-485 传输距 离减小,所以往往为 9600bps 左右或以下。 (3) rs-485 接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。 (4) rs-485 接口的最大传输距离标准为 1200 米(9600bps 时) ,rs-485 接口在总线 上是容许连接多达 128 个收发器、即 rs-485 具有多机通信功能,这样用户可以利用单 一的 rs-485 接口方便的建立起网络。因为 rs-485 接口组成的半双工网络,一般只需 二根信号线,所以 rs-485 接口均采用双绞线传输。rs-485 的国际标准并没有规定 rs- 485 的接口连接器标准、所以采用接线端子或者 db-9、db-25 等连接器都可以。 2.2 rs-485 通信协议 在 rs-485 通信中,发送过程主要采取了总线仲裁机制: 在向 485 总线写数据时,主设备先写一字节的地址请求,所有的从设备均会收到, 只有地址与之相等的从设备端口打开,其他设备全部关闭。这样,主设备与从设备之 间的通信就是点对点的。 每一个从设备均有一根请求线与主设备相连,若从设备需要与主设备通信时,先 通过请求线进行请求,当请求成功后,从设备应能检测到总线上的地址与自身地址相 学士学位论文 5 同,从设备才能打开发送中断,才能发送消息,发送完之后必须关闭发送中断,释放 总线,以保证其他从设备这段时间能与主设备正常通信,提高通信效率。 rs-485 通信发送流程图如下图所示。 y n y n 开始 握手协议 传输一帧 是否传完 校验和 校验成功 返回 图 2.1 rs-485 发送流程图 面向握手,即每发出一帧,总是要等待确认帧,否则将认为是通信出错。这是一 种可靠的通信方式,适合传输系统命令和一些非常重要的系统参数。在此设计中进行 传输时,先进行握手来确定是否发送数据,在数据发送之后,将所发的数据进行累加 作为所传送数据的最后一个数据,作为校验码,如果校验码错误,则会通信错误,丢 弃该次传送的数据。 学士学位论文 6 3 上位机界面设计 3.1 窗体设计 3.1.1 窗体的特点 实用性的应用程序往往需要多个窗体,以满足用户不同的输入输出操作。在多窗 体中,各个窗体是平等的,每个窗体都有自己的界面和程序代码,具有一定的特点和 功能。对用户而言,多窗体可以使界面丰富多彩。 在某一个时刻只能有一个窗体是激活的。 3.1.2 窗体的建立 进入集成开发环境的新建工程,选择“标准 exe” ,按“确定”按钮后第一个窗体 自动加载,其缺省名为 form1 并缺省定为启动窗口以后的窗口需要有集成开发环境的 “工程”菜单选项中的“添加窗体”来加入。在本设计中主界面为启动窗口,在主界 面中有四个 commandbutton,其中三个可分别调出其它的三个界面。 comchangepara comhistime comrealtime主显示 屏界面 密钥 届面 参数修改 界面 实时温度 曲线界面 历史温度 曲线界面 图 3.1 多窗体示意图 窗体的主要属性 窗体的属性决定了窗体的外观和操作。窗体的大部分属性可用两种方法来设置: 通过属性窗口设置和通过程序代码设置。有少量的属性不能在程序代码中设置。 (1)caption 属性 设置窗体的标题内容。标题内容应概括说明本窗体作用。 学士学位论文 7 (2)maxbutton 属性和 minbutton 属性 maxbutton 属性为 true,窗体右上角有最大化按钮;为 false 时,无最大化按钮。 minbutton 属性为 true,窗体右上角有最小化按钮;为 false 时,无最小化按钮。 (3)borderstyle 属性 决定窗体边框式样及窗体是否能调整大小。 (4)backcolor 属性和 forecolor 属性 backcolor 属性设置窗体的背景颜色,forcolor 属性设置窗体的前景颜色。窗体的前景 颜色是执行 print 方法时所显示文本的颜色。 (5)height 属性和 width 属性 设置窗体的初始高度和宽度。其单位为 twip。1twip=1/20 点=1/1440 英寸=1/567cm。 (6)left 属性和 top 属性 用于设置窗体左边框距屏幕左边界的距离和窗体顶边距屏幕顶端的距离。其单位为 twip。 (7)name(名称)属性 设置窗体的名称,在程序代码中用这个名称引用该窗体。新建工程时,窗体的名称缺 省为 form1;添加第二个窗体,其名称缺省为 form2,依次类推。为了便于识别,用 户通常给 name 属性设置一个有实际意义的名称。 (8)enabled 属性 属性值为 true 或 false,设置对象是否能够对用户产生的事件做出反应。一般在程序中 设置,用于临时屏蔽对窗体或其它控件的的控制。 (9)moveable 属性 属性值为 true 或 false,设置是否可以移动窗体。 (10)visible 属性 属性值为 true 或 false,设置窗体是否被显示。用户可用该属性在程序代码中控制窗体 的隐现。 (11)picture 属性 设置在窗体中显示的图片。单击 picture 属性右边的按钮,弹出“加载图片”对话框,用 户可选择一个图片文件作为窗体的背景图片。若在程序中设置该属性的值,需要使用 loadpicture 函数。 (12)windowstate 属性 学士学位论文 8 设置窗体启动后的大小状态。 表 3.1 窗口属性设置 名称caption 属性 maxbutton 属性 minbutton 属性 borderstyle 属性 windowstate 属性 mainform主屏true/ true 2-sizable 可修改窗体尺寸 2-maximized 最大化显示 frmrealtime实时温度曲线true/ true 2-sizable 可修改窗体尺寸 2-maximized 最大化显示 frmhistime历史温度曲线true/ true 2-sizable 可修改窗体尺寸 2-maximized 最大化显示 frmchangepara温度对照修正表true/ true 2-sizable 可修改窗体尺寸 0-normal 正常大小 dialogpassword请输入密码true/ true 2-sizable 可修改窗体尺寸 0-normal 正常大小 3.2 主界面设计 主界面的作用用来显示时间,以及显示该时间各点的温度值,并有四个 commandbutton 调用其它的界面和校正时间子过程。 进入 visual basic 的用户界面,这时编辑窗口内有一个新的表单 form1,将表单的 标题(caption)属性改为 mainform,这个表单是该上位机的主界面。在以后的窗体设 计中所用的空间还需在框架的基础上添加 mscomm 控件、dtpicker 控件、 commdialog 控件、msflexgrid 控件和已编辑好 led activex 控件(仿真的七段译码 器) 。 在 mainform 窗口中加入图片框 picture1,为了界面的美观在其 picture 属性中链接 所要图片的地址,在 mainform 界面加入 led activex 控件,进行对系统的时间的显 示和下位机的温度的实时显示,加入时间控件对显示时间和温度的 led activex 控件 进行刷新,再加入 4 个 commandbutton,来调用其它的界面和校正时间子过程,加入 mscomm 控件使得此界面和单片机进行通讯。 学士学位论文 9 图 3.2 主界面设计 在 vb 应用程序中,命令按钮是使用最多的对象之一,常常用它接受用户的操作 信息,触发相应的事件过程,以实现指定的功能。 (1)caption 属性 设定命令按钮上显示的文本。 (2)default 属性 该属性用于设置默认命令按钮。 (3)style 属性和 picture 属性 命令按钮上除了可以显示文字外,还可以显示图形。若要显示图形,首先应将 style 属性设置为 1,然后在 picture 属性中设置要显示的图形文件。 (4)value 属性 该属性只能在程序运行期间引用或设置。true 表示被按下,false(默认)表示未被按 下。commandbutton 最常用的事件是 click 事件 学士学位论文 10 表 3.2 commandbutton 控件属性设计 属性 名称 caption 属性style 属性picture 属性事件 comsettime校正时间0-standardnoneclick 事件 comchangepara修正参数0-standardnoneclick 事件 comhistime历史温度曲线0-standardnoneclick 事件 comrealtime实时温度曲线0-standardnoneclick 事件 在此界面中用到了 timer 控件,时钟控件(timer)又称计时器、定时器控件,用 于有规律地定时执行指定的工作,适合编写不需要与用户进行交互就可直接执行的代 码,如计时、倒计时、动画等。在程序运行阶段,时钟控件不可见。 时钟控件: 图 3.3 时间控件图示 其属性如下 (1)interval 属性 取值范围在 0 到 64767 之间(包括这两个数值) ,单位为毫秒(0.001 秒) ,表示计时 间隔。若将 interval 属性设置为 0 或负数,则计时器停止工作。 (2)enabled 属性 无论何时,只要时钟控件的 enabled 属性被设置为 true 而且 interval 属性值大于 0,则计时器开始工作(以 interval 属性值为间隔,触发 timer 事件) 。 通过把 enabled 属性设置为 false 可使时钟控件无效,即计时器停止工作。 事件 时钟控件只能响应 timer 事件,当 enabled 属性值为 true 且 interval 属性值大于 0 时,该事件以 interval 属性指定的时间间隔发生,需要定时执行的操作即放在该事件过 程中完成。 在主界面中时钟控件有三个, 学士学位论文 11 表 3.3 timer 控件属性设置 名称 interval 属性interval 属性的作用enabled timer11000 每 1000 毫秒(也就是每 1 秒)刷新一次 显示时间的 led activex 控件 true timedrawline10000 每 10 秒刷新显示温度的各 led activex 控件 true timersave1000 每隔一秒对所采集的温度以以下路径 curdir & “datay“ & year(date) & “m“ & month(date) & “d“ & day(date) & “ &“t“ & hour(time) & “.txt“保存一次 true 在此界面中首先用 vb 中的 format 函数、right 函数及日期函数将年月日时分秒分 别从右取数并以“00”格式化,将时间赋值给 led activex 控件,由 led activex 控 件将时间显示。在 comsettime_click 事件中再利用 right 函数以及 format 函数格式化 时间,并将所有的时间数字利用与字符组成字符串,字符串的起始三个字符是“#0” ,n ;#代表的是传送字符串的起始,而后的“0”表示的是单片机的地址,90nn 再利用 asc 函数与 mid 函数将字符串各个字符进行提取依次相加然后经过一些计算得 到一个数,把该数加在该字符串的最后作为校验码,这就避免了校验码的单一性,每 一组时间都会得到其相应的校验码,之后通过 mscomm 控件传于单片机进行时间校验, 当单片机接受字符串时,亦做同样的计算,如果校验码相同,则根据所传信息对时间 进行修改;如果校验码不相同,则丢弃该信息。 1、format 函数 返回 variant(string) (字符串)值,其中含有一个表达式,它是根据格式表达式中的 指令来格式化的。 2、chr 函数 返回字符串,其中包含有与指定的字符代码相关的字符。 语法:chr(charcode) 必要的 charcode 参数是一个用来识别某字符的 long(长整数)值。 0 到 31 之间的数字与标准的非打印 ascii 代码相同。例如,chr(13)可以返回回车 学士学位论文 12 字符。charcode 的正常范围为 0255。 3、asc 函数 返回一个 integer(整数型)值,代表字符串的第一个字符的字符代码。 asc(string) 必要的 string 参数可以是任何有效的字符串表达式。如果 string 中没有包含 任何字符, 则会产生运行时错误。 4、len 函数 返回 long(长整数)值,其中包含字符串内字符的数目,或是存储一个变量所需的字 节数。 语法:len(string | varname) len 函数语法中个参数的说明 string 任何有效的字符串表达式。如果它包含 null,会返回 null varname 任何有效的变量名称。如果它包含 null,会返回 null;如果 varname 是 variant(变体数据类型) ,len 会视其为字符串并且总是返回其包含的字 符数 空字符长度为 0,空格也算一个字符,中方虽然占用 2bytes,但也算一个字符。 5、right 函数 返回 variant(string) (字符串)值,其中包含字符串中从右边算起指定数量的字符。 语法:left(string,length) left 函数的语法的命名参数 string 必要参数。字符串表达式,其中最右边的那些字符将被返回。如果它包 含 null,会返回 null length 必要参数。数值表达式,指出将返回多少个字符。如果为 0,返回零长 度字符串(“” ) ;如果大于或是等于 string 的字符串,则返回整个字符串 6、mid 函数 返回 variant(string) (字符串)值,其中包含字符串中指定数量的字符。 语法:mid(string,strat,length) mid 函数的语法的命名参数 string 必要参数。字符串表达式,其中返回字符。如果 string 包含 null,会返 回 null 学士学位论文 13 start 必要参数。为 long。指定 string 中被取出部分的字符位置。如果 start 超 过 string 的字符数,mid 返回零长度字符串(“” ) length 可选参数;为 variant(long) 。要返回的字符数。如果省略或 length 超 过文本的字符数(包含 start 处的字符) ,将返回字符串中从 start 到尾端的所有字符 mid(x,n):由 x 的第 n 个字符起,读取后面的所有字符。 mid(x,n,m):由 x 的第 n 个字符起,读起 m 个字符。 若 nlen(x),则返回空字符串,若第 n 个字符以后不足 m 个字符,则返回后面的所有字 符。 7、input 函数 返回字符串,它包含以 input 或 binary 方式打开的文件中的字符。 语法:input(number,#filenumber) input 函数的语法中各参数: number 必要。任何有效的数值表达式,指定要返回的字符个数; filenumber 必要。任何有效的文件号。 8、input #语句 从已打开的顺序文件中读出数据并将数据指定给变量。 语法:input #filenumber,varlist filenumber 必要。任何有效的文件号; varlist 必要。用逗号分界的变量列表,将文件中读出的值分配给这些变量不可 能是一个数组或对象变量。但是,可以使用变量描述数组元素或用户定义类的元素; 通常用 print #或 put 将 input 函数读出的数据写入文件。input 函数只用于以 input 或 binary 方式打开的文件。 与 input # 语句不同,input 函数返回它所读出的所有字符,包括逗号、回车符、空白 列、换行符、引号和前导空格等。 9、mscomm 控件 图 3.4 通行控件图示 mscomm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。 mscomm 控件在串口编程时非常方便,microsoft communications control(以下简称 学士学位论文 14 mscomm)是 microsoft 公司提供的简化 windows 下串行通信编程的 activex 控件, 它为应用程序提供了通过串行接口收发数据的简便方法。具体的来说,它提供了两种 处理通信问题的方法:一是事件驱动(eventdriven)方法,一是查询法。 mscomm 控件两种处理通讯的方式 mscomm 控件提供下列两种处理通讯的方式:事件驱动方式和查询方式。 mscomm 控件的常用属性 commport 设置并返回通讯端口号。 settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。 portopen 设置并返回通讯端口的状态。也可以打开和关闭端口。 input 从接收缓冲区返回和删除字符。 output 向传输缓冲区写一个字符串。 下面分别描述: commport 属性:设置并返回通讯端口号。 语法 object.commportvalue (value 一整型值,说明端口号。) 说明 在设计时,value 可以设置成从 1 到 16 的任何数(缺省值为 1) 。但是如 果用 portopen 属性打开一个并不存在的端口时,mscomm 控件会产生错误 68(设 备无效) 。 注意:必须在打开端口之前设置 commport 属性。 rthreshold 属性:在 mscomm 控件设置 commevent 属性为 comevreceive 并 产生 oncomm 之前,设置并返回的要接收的字符数。 语法:object.rthreshold = value (value 整型表达式,说明在产生 oncomm 事 件之前要接收的字符数。 ) 说明:当接收字符后,若 rthreshold 属性设置为 0(缺省值)则不产生 oncomm 事件。例如,设置 rthreshold 为 1,接收缓冲区收到每一个字符都会使 mscomm 控件产生 oncomm 事件。 ctsholding 属性:确定是否可通过查询 clear to send (cts) 线的状态发送数据。 clear to send 是调制解调器发送到相联计算机的信号,指示传输可以进行。该属性在 设计时无效,在运行时为只读。 语法: object.ctsholding(boolean) mscomm 控件的 ctsholding 属性设置值: 学士学位论文 15 true clear to send 线为高电平。 false clear to send 线为低电平。 说明:如果 clear to send 线为低电平 (ctsholding = false) 并且超时时, mscomm 控件设置 commevent 属性为 comeventctsto (clear to send timeout) 并 产生 oncomm 事件。 clear to send 线用于 rts/cts (request to send/clear to send) 硬件握手。如果 需要确定 clear to send 线的状态,ctsholding 属性给出一种手工查询的方法。 详细信息有关握手协议,可参阅 handshaking 属性。 sthreshold 属性: mscomm 控件设置 commevent 属性为 comevsend 并产生 oncomm 事件之前,设置并返回传输缓冲区中允许的最小字符数。 语法 object.sthreshold = value value 整形表达式,代表在 oncomm 事件产生之前在传输缓冲区中的最小字符数。 说明:若设置 sthreshold 属性为 0(缺省值) ,数据传输事件不会产生 oncomm 事件。若设置 sthreshold 属性为 1,当传输缓冲区完全空时,mscomm 控件产生 oncomm 事件。如果在传输缓冲区中的字符数小于 value,commevent 属性设置为 comevsend,并产生 oncomm 事件。comevsend 事件仅当字符数与 sthreshold 交叉 时被激活一次。例如,如果 sthreshold 等于 5,仅当在输出队列中字符数从 5 降到 4 时,comevsend 才发生。如果在输出队列中从没有比 sthreshold 多的字符, comevsend 事件将绝不会发生。 handshake 常数 常数值 描述 comnone0 无握手。 comxonxoff1 xon/xoff 握手。 comrts2 request-to-send/clear-to-send 握手。 comrtsxonxoff3 request-to-send 和 clear-to-send 握手皆可。 oncomm 常数 常数值 描述 comevsend 1 发送事件。 comevreceive2 接收事件。 学士学位论文 16 comevcts 3 clear-to-send 线变化。 comevdsr 4 data-set ready 线变化。 comevcd5 carrier detect 线变化。 comevring 6 振铃检测。 comeveof 7 文件结束。 error 常数 常数 值 描述 comeventbreak 1001 接收到中断信号 comeventctsto1002 clear-to-send 超时 comeventdsrto1003data-set ready 超时 comeventframe 1004帧错误 comeventoverrun1006 端口超速 comeventcdto 1007carrier detect 超时 comeventrxover1008接收缓冲区溢出 comeventrxparity1009parity 错误 comeventtxfull 1010传输缓冲区满 comeventdcb 1011 检索端口 设备控制块 (dcb) 时的意外错误 inputmode 常数 常数值 描述 cominputmodetext 0 (缺省) 通过 input 属性以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论