电机上位机控制及界面设计.docx

上传人:小飞机 文档编号:3663219 上传时间:2023-03-14 格式:DOCX 页数:43 大小:57.99KB
返回 下载 相关 举报
电机上位机控制及界面设计.docx_第1页
第1页 / 共43页
电机上位机控制及界面设计.docx_第2页
第2页 / 共43页
电机上位机控制及界面设计.docx_第3页
第3页 / 共43页
电机上位机控制及界面设计.docx_第4页
第4页 / 共43页
电机上位机控制及界面设计.docx_第5页
第5页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《电机上位机控制及界面设计.docx》由会员分享,可在线阅读,更多相关《电机上位机控制及界面设计.docx(43页珍藏版)》请在三一办公上搜索。

1、电机上位机控制及界面设计电机上位机控制及界面设计 吴牛俊 (自动化与电气工程学院 指导教师:周克宁) 摘要:随着计算机、电子、通讯技术的飞速发展,人们对于车间现场设备的运行管理控制,可视化操作等综合水平提出了新的要求。 为了满足这新的要求,本毕业设计本着“不在现场,远离现场”的原则,以C语言作为开发语言,VC为开发环境,针对某充电机产品编写了应用程序,将充电机的现场设备界面通过串口通信技术,与上位机界面有机的结合起来,以实现计算机的远程监控功能。此外,该上位机应用软件还实现了查看充电机存储在U盘中的运行记录文件的功能。 在本毕业论文通过这个项目的开发过程,阐述了编程环境的选择,串口通讯实现远程

2、测试的方法,通过文件操作读取U盘数据的技巧。探讨如何在PC平台与工控机平台间建立远程测试和历史数据读取和分析的一般方法。 关键词:人机界面;串口通信;Visual C+6.0;文件操作 Abstract:With the development of computer, electronics, communications technology, the people are requiring that the the operation and management of the equipment control,and the Visualization operation must

3、 develop too. To meet these new requirements, the design of the graduates base on that not on the scene, the scene away from the principle of and use the C language and VC environment programming the charger procedures. The design uses the communications technology to put the charger field equipment

4、 interface and PC interface combination.And it can be achieved RMON. In addition, the PC application software also can view the test records stored in the U disk. This paper through the project development process describes the following points.First is The choice of programming environments.Second

5、is Serial Communication remote test method.Third is the skills of reading the test records stored in the U disk.Discussion on general methods that through the PC platform with the establishment of industrial computer platform for remote testing and reading historical data and analysis Keywords:Human

6、-machine interface; Serial Communication;;Visual C+6.0;File 1 绪 论 1.1 背 景 随着计算机、电子、通讯技术的飞速发展,人们对于车间现场设备的运行管理控制,可视化操作等综合水平提出了新的要求。 1 随着计算机的运算速度不断升级功能日渐强大,在车间现场测控中扮演了越来越重要的角色。利用计算机软件通过运用先进的通讯技术监控远程现场设备的运行状况和运行参数。这将大大提高生产效率,保证生产安全。出于节省人工,提高效率或者安全生产方面的考虑很多环节需要远程监控车间设备的运行情况,这就离不开通讯技术的应用。这里所说的通信是只计算机与远程设备

7、之间的信息交换。由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。对于那些与计算机相距不远的人机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。 同时,随着人们对车间现场设备智能化的要求的提高,越来越多的设备采用了外存储器对生产测试过程中的数据进行存储,监控人员通过定期对存储了历史数据记录的分析,可以清楚得了解到设备的动态运行情况,这些数据对设备排错和参数设置提供依据都有很高的价值。随着PC端USB接口技术的普及,以U盘作为设备外存储器存储运行数据,具有实现简单,读取方

8、便的特点,应用也越来越广泛。如何高效,方便的通过最常用的PC机来读取设备外存储器中的数据,为数据的快速分析提供了保证。 因此研究计算机通过串行通信对远程车间设备的监控,读取U盘历史数据文件并显示具有一定的现实意义。 1.2 任务和目标 本毕业设计本着“不在现场,远离现场”的原则,为导师研制的某型号充电机产品编写PC端应用程序将充电机设备界面通过串口通信技术,与上位机界面有机的结合起来,以实现计算机的远程监控功能。按要求在上位机中打开并查看充电机设备运行过程中的存储在U盘中的历史数据文件,以便于分析测试。另外还要编写下位机微型打印机数据打印程序,为用户提供多种查看选择。 我在认真分析以上设计要求

9、之后,以C语言作为开发语言,VC为开发环境,在MFC框架上编写完成一个应用程序。这个应用程序采用MSCOMM控件来实现串口通讯,以C语言文件操作实现U盘历史数据文件的读写和显示操作。并且在此基础上,我还对上位机软件的界面进行了美化和优化,还添加了现场测试数据自动生成WORD文档,使得软件更人性化和操作更简单。 在本毕业论文通过这个项目的开发过程,阐述了编程环境的选择,串口通讯实现远程测试的2 方法,通过文件操作读取U盘数据的技巧。探讨如何在PC平台与工控机平台间建立远程测试和历史数据读取和分析的一般方法。 2 总体设计方案 2.1 系统总体结构 系统总体结构如下图所示,下位机是一台试用在变电所

10、等电力部门的充电机设备,采用工控机作为核心处理器。PC机端的应用程序通过RS232串口与设备实现通讯。充电机设备带有USB接口,用于接入U盘存储充电机历史数据。当用户需要查看历史记录数据时,将U盘从设备中拔下,接入PC端可以利用应用程序通过文件操作打开查看。 图1. 系统总体结构图 另外,该充电机设备通过工控机打印口连接一台微型打印机用于运行参数和测试数据的即时打印,供用户查看。 2.2 上位机用户操作界面结构 登录界面放电测试电压稳定精度测试电流稳定精度测试效率测试限流特性测试现场测试主界面放电测试电压稳定精度测试历史数据查询电流稳定精度测试效率测试限流特性测试参数设置3 图2. 软件组织结

11、构 3 上位机用户操作界面的建立 3.1 编程语言及编程环境 3.1.1 C+语言介绍 C+是脱胎自C语言的一种中级语言。从计算机角度看, 它可以嵌入ASM等低端语言; 从面向对象的程序设计角度看, 它有具备OOP的三个基本特征抽象, 封装和继承。 C语言是结构化和模块化的语言,它是面向过程的。C+保留了C语言原有的所有优点,增加了面向对象的机制。C+与C完全兼容。C+是对C的扩充,是C的超集。它既可用于结构化程序设计,又可用于面向对象的程序设计,功能强大。 C+性能良好,因为它被编译为机器代码。对于VBScript和Java等语言,代码在运行时由程序解释,而且每次运行程序时都要将代码转换为机

12、器码,这样做效率比较低,不仅仅是已编译过的C+程序运行得较快,而且微软C+编译器已存在多年。这意味着微软的编译器程序员已经把许多优点集中到编译器上,以致于它能产生非常高效的机器码。因为C+是编译语言,而且非常自然,比VB更接近机器代码,所以由C+编译器产生的代码一定比VB的编译代码效率更高。 C+是一种编译语言,即C+代码在执行之前已转换为机器码。只要此代码不依赖于外部的动态链接库(DLL),C+就可以在不需要安装额外程序的情况下移动到运行同样操作系统的其他机器和微处理器上,而移动Java程序时需要先安装Java运行期库。因此,使用C+语言相比其他语言具有最小的依赖性 由于C和C+已经存在许多

13、年了,现在有许多可利用的代码,我们的服务器组件可以使用现有的C/C+代码或库。 鉴于上述特点,我在本设计中选择C+作为主要编程语言。 3.3.2 Visual C+6.0编程环境介绍 本次设计中使用的Visual C+6.0是一个基于C+语言,基于Windows操作系统的功能强大的可视化软件开发工具。这不仅表现出在应用程序界面编辑和代码的编写中,还表现为数据处理上的高可视化和高面向对象性。Visual C+6.0不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境。它由许多组件组成,4 包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等

14、开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。另外,Visual C+6.0还提供了一个无所不包的应用框架MFC,并且可以非常方便的使用MSCcomm控件进行串口编程。使用Visual C+6.0的向导可以生成大量的使用代码,而不必人工地编写代码。 从编写程序的难易程度和程序的性能综合考虑,这些特点完全能够满足我在本次课题设计中的各种需求。 3.3.3 MFC程序框架介绍 MFC就是一个程序的框架。这个框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法。使用者只要通过预定义的接口把具体应用程序特有的东西填入这个轮廓就可以了。在它基础上来建立W

15、indows下的应用程序,相对SDK来说更为简单。Visual C+6.0提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件;资源编辑器用于帮助直观地设计用户接口; ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。 在本设计中要求通过编写代码来建立必要的用户界面,控制并定制其外观。同时还要响应用户的操作行为。例如,如果用户单击了现场测试按钮,就需要有代码来响应这一动作。而使用MFC框架,则会自动添按钮的响应消息,只需在对应位置添加事件处理动作就能完成控制任务。为此采用了Visual C+6.0的MFC单文档程序框架作为

16、上位机软件的基本框架。 3.4 基本界面的建立 3.4.1单文档 一个典型的应用程序应该活动在称为“框架窗口”中。一个框架窗口是一个全功能的主窗口,用户可以改变尺寸、最小化、最大化等。本设计方案中主要涉及单文档窗口,和对话框窗口。 整个上位机界面的底层是单文档,而上层使用的使对话框,并在对话框上添加主要控件,从而构成了完整的界面外观。 5 图3. 单文档结构图 使用MFC的向导即可生成如上所示的单文档窗口。这是整个界面的基础框架部分。 3.4.1对话框 在基础的单文档框架上面添加了两个无对话框将单文档窗体分为两部分。上一部Dialog1分为工具条按钮,下一部分Dialog2为具体功能显示区。此

17、两部分窗口均为非模态化对话框。 首先在资源里插入新建对话框,修改其属性;然后添加相应的类,如CUDiskDlg;再使用以下代码分别创建模态化对话框和非模态化对话框。 CUDiskDlg m_CUDiskDlg; /定义对象 /创建非模态化对话框 /显示对话框 m_UDHisDlg.Create(IDD_UDISKHIS,this); m_UDHisDlg.ShowWindow(TRUE); m_UDHisDlg.DoModal; /创建模态化对话框 6 3.4.1控件介绍 Button控件:Button控件是按钮控件,可以响应单击和双击事件。其使用方法是:在资源标签的相应窗体下,从Contro

18、ls对话框中将Button控件拖至对话框的相应位置,修改属性及ID号后,在其对应的事件处理函数中添加事件代码即可。在本设计中使用颇多,如U盘历史数据查询按钮,现场测试按钮等。 Edit控件:Edit控件是文本编辑控件,在本设计中主要用于U盘查询界面中详细数据的参数显示,和现场测试中参数设置部分的数据输入和测试结果表格中的数据显示及测试结论、处理意见的输入。将Edit控件在类向导中与一变量以value的形式相关联。当用于数据显示时,使用语句m_edit8 =str;将值赋予变量m_edit8,再用语句UpdateData;将变量内容显示。当用于数据输入时,应用语句UpdateData;将控件中的

19、数据读入赋予相关变量。 ListContrl控件:ListContrl控件主要用于显示列表式的数据显示。在本设计中,历史信息,详细数据,现场测试数据的显示均使用了ListContrl控件。该控件使用前需进行风格设置。 即通过以下语句获得原有风格: DWORD dwStyle = :GetWindowLong(m_listctrl.m_hWnd, GWL_STYLE); dwStyle &= (LVS_TYPEMASK); dwStyle &= (LVS_EDITLABELS); 通过以下语句置新风格: SetWindowLong(m_listctrl.m_hWnd, GWL_STYLE,dwS

20、tyle,|LVS_REPORT|LVS_NOLABELWRAP|LVS_SHOWSELALWAYS); 通过以下语句设置扩展风格 DWORD styles = LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_CHECKBOXES; ListView_SetExtendedListViewStyleEx(m_listctrl.m_hWnd, styles,styles );。 进行风格设置后,先插入列头,后才可以逐行添加数据信息。插入列头时,应用InsertColum方法,而逐行添加信息时,第一列的信息应该用InsertItem方法,而后几列则应用Se

21、tItem方法。 ListContrl控件也可以响应双击事件,其函数为OnDblclkListHis(NMHDR* pNMHDR, LRESULT* pResult)。并且能获得双击时鼠标所在的Item号。由此来实现双击历史信息记录后,显示对应的详细数据。 7 Picture控件:Picture控件是一个静态控件,用于插入图片等功能。而图片的插入,有静态插入和动态插入两种方法。静态插入是指,直接在Picture控件属性中,将将“类型”选项改为Bitmap,然后再在“图像”选项中选择合适的位图即可。 动态插入是指,在程序中定义HBITMAP类型变量m_Brown_h1,用语句m_Brown_h1

22、=:LoadBitmap(AfxGetInstanceHandle,MAKEINTRESOURCE(IDB_BROWN_H1)将变量m_Brown_h1与位图资源IDB_BROWN_H1关联起来。然后再将Picture控件与变量m_h1关联,再通过语句m_h1.SetBitmap(m_Blue_h1);就可以将图片动态插入。 3.5 历史数据察看功能 3.5.1历史数据察看功能介绍 历史数据察看功能主要是用于察看直接通过下位机,以文件形式存储在USB可移动存储设备上的历史检测数据纪录的。该纪录由历史信息和历史信息对应的详细数据信息两部分。每条历史信息包括序号、日期、时间、整定电压、整定电流、已

23、放容量五项内容;每条历史信息对应得详细数据信息有各自不同的几项内容。各项测试的详细数据信息如下:放电参数测试包括序号、时、分、端电压、放电电流五项;电压稳定精度测试包括输入电压、电压最大值、电压最小值、稳压精度、纹波系数五项;电流稳定精度测试包括输入电压最大值、电流最大值、电流最小值、稳流精度四项;限流特性测试包括输入电压、-10%、100%、+10%、稳流精度五项。 在用户进入该程序后,单击U盘历史查询按钮就会进入历史数据察看状态。按下各测试项目选择按钮,则进入不同的测试项目历史纪录查询状态。对应的历史信息就立刻显示在List中。双击List条目,则将对应的详细数据信息显示在List中,其参

24、数也将显示在对应位置。 8 图4. 历史数据查询界面 3.5.2历史数据察看功能实现的方法 3.5.2.1盘符的确定 由于每台PC的盘符划分不同,USB移动存储设备连接后所在的盘符也将不同。而对文件的操作必须指定明确的文件路径,方能正确的打开文件,读取数据。因此,如何确定USB移动存储设备的盘符是必须解决的问题。 在本设计中,我采用了添加配置文件方式来解决该问题。即在可执行程序的根目录下添加一可读写的文件,用于保存指定的盘符。当用户在某一PC机上第一次使用本软件时,将提示配置USB可移动存储设备盘符。当用户输入该PC机上USB可移动存储设备所在盘符,并按配置按钮后,盘符信息将写入配置文件,并一

25、直保存至下一次配置前。按下推出按钮,则向主框架发出消息,要求其重新创建历史数据察看功能对话框,在对话框的初始化中重新装载配置文件,读入正确的盘符。其中配置文件的装载,采用函数GetCurrentDirectory(dirlen,sDir)获得可执行文件的根目录,再用函数strcat(sDir,con_set.ini)生成完整的配置文件路径。 9 图5. 第一次配置文件界面 生成配置文件代码如下: UpdateData; if(m_usb.GetLength0&m_usb.GetLength0)&m_com.GetLength2) FILE* fp; fp=fopen(con_set.ini,w

26、b); char Disk,Com; Disk=m_usb.GetAt(0); Com=m_com.GetAt(0); fputc(Disk,fp); fputc(Com,fp); fclose(fp); MessageBox(配置成功!); else MessageBox(输入的参数格式错误,无法配置!); 配置文件的装载代码如下: FilePath=C:FHIST; 10 FilePath.SetAt(0,Disk); l=FilePath.GetLength; FileName=FileName_tmp; for(r=0;rl;r+) *(FileName+r)=FilePath.Get

27、At (r); *(FileName+l)=NULL; /打开文件并判断文件是否打开成功 if(fp=fopen(FileName,rb)=NULL) MessageBox(文件不存在,请检查文件位置并重新配置); return; 3.5.2.2历史数据及对应的详细数据的读取和显示 历史纪录在USB移动存储设备中以文件的形式存储。 各项历史信息和详细数据信息对应的文件名如下图: 检测项目 放电测试 电压稳定精度测试 电流稳定精度测试 效率测试 限流特性测试 历史信息文件名 FHIST UHIST IHIST EHIST XHIST 详细数据文件名 VDATA UDATA IDATA EDATA

28、 XDATA 图6. 各项历史信息和详细数据信息 实现历史信息的读取,首先从配置文件中读入盘符,获取到对应历史信息的文件路径,以二进制流形式打开对应文件,读取历史信息条数到int变量mark中。由于下位是16位操作系统,一个int型占16位,而上位机是32位操作系统,一个int型占32位,一个short int型占16位。由文件存储格式可知,实际的标志位为16位数,因此需将读取的二进制数强制转换为short int 型数据。然后根据各项历史信息数据的存储格式,移动指针,依次读取一条数据到数组data_tmp7中,共读取mark次。 移动指针读取数据到数组data_tmp7中的代码如下: 11

29、fseek(fp,(2+i*7*4),SEEK_SET); fread(data_tmp,4,7,fp); /移动指针到相应位置 / 详细数据的读取是当鼠标双击list1控件的某一条历史信息时,将响应list1控件的双击事件,进入的其响应函数。在该函数中,通过switch语句判断该条历史信息所属的测试项目,并由此打开相应的详细数据文件。当双击list1控件的某一条历史信息时,nItem=m_listctrl.GetNextItem(-1, LVNI_FOCUSED);将获取该行索引值,即该条历史信息在全部信息中排列的序号。根据此及对应测试项详细数据存储格式,可计算出该条历史信息所对应得详细数据

30、的第一个数据的指针。然后移动指针,读取该详细数据信息到数组tem。 放电测试项详细数据读取时移动指针,读取数据到数组data_tmp7中的代码如下: fseek(fp,(2+nItem*1240),SEEK_SET);/移动指针到对应日期 的数据存储位置 fread(data,4,310,fp);/读取数据流到tem,float *data 的指向tem的首地址 历史信息和对应的详细数据的显示,主要是edit控件的显示和listContrl控件的信息插入。 以放电测试为例,历史信息数据显示的主要代码如下: for(i=0;imark;i+) fseek(fp,(2+i*7*4),SEEK_SE

31、T); fread(data_tmp,4,7,fp); rewind(fp); itIndex=m_list_his.GetItemCount; LV_ITEM lvitem; lvitem.mask=LVIF_TEXT; lvitem.iItem=itIndex; lvitem.iSubItem=0; itoa(i+1),ch1,10); lvitem.pszText =ch1; m_list_his.InsertItem(&lvitem); /移动指针到相应位置 /插入数据 12 /日期 str=; itoa(int)data_tmp0,ch1,10); str=str+ch1+.; it

32、oa(int)data_tmp1,ch1,10); str=str+ch1+.; itoa(int)data_tmp2,ch1,10); str=str+ch1; int str_length; str_length=str.GetLength; char *str_data; char s_data15; str_data=s_data; for(j=0;j=10) itoa(int)data_tmp3,ch1,10); else itoa(int)data_tmp3,ch1,10); ch11=ch10; ch10=0; 13 ch2=0; str=str+ch1+:; if(data_t

33、mp4=10) itoa(int)data_tmp4,ch1,10); else itoa(int)data_tmp4,ch1,10); ch11=ch10; ch10=0; ch2=0; str=str+ch1+:+00; str_length=str.GetLength; char *str_time; char time_tem10; str_time=time_tem; for(j=0;jstr_length;j+) *(str_time+j)=str.GetAt (j); *(str_time+str_length)=NULL; lvitem.pszText =str_time; l

34、vitem.iSubItem=2; m_list_his.SetItem(&lvitem); /已放容量 chang(data_tmp5*0.01,str_da,h); lvitem.pszText =str_da; lvitem.iSubItem=3; m_list_his.SetItem(&lvitem); 14 /整定电流 chang_A(data_tmp6*0.01,str_da,A); lvitem.pszText =str_da; lvitem.iSubItem=4; m_list_his.SetItem(&lvitem); 以放电测试为例,详细数据显示的主要代码如下: for(i

35、=0;i=10) itoa(int)data3,ch,10); else str=str+ch+:; if(data4=10) itoa(int)data4,ch,10); itoa(int)data3,ch,10); ch1=ch0; ch0=0; ch2=0; else str=str+ch+:+00; m_edit_u9 =str; /开始端电压 chang_V(data5*62.5,str_da,V); itoa(int)data4,ch,10); ch1=ch0; ch0=0; ch2=0; 17 m_edit_u10 =str_da; /整定放电电流 chang_A(data6*0

36、.01,str_da,A); m_edit_u11 =str_da; /已放容量 chang(data7+i*6+5,str_da,h); m_edit_u12 =str_da ; m_edit_u13 = _T(); m_edit_u14 = _T(); UpdateData(FALSE); 3.4 现场测试功能 随着计算机、电子、通信技术的飞速发展,人们对于车间现场设备的运行管理控制,可视化操作等综合水平提出了新的要求。本设计中的现场测试功能就是本着“不在现场,远离现场”的原则,将充电机的现场设备界面通过串口通信技术,与上位机界面有机的结合起来,以实现计算机的远程监控功能。该功能的使用,可

37、实现在非车间场地,通过简单、人性的操作界面,对充电机测试数据的进行实时监控以及历史数据的准确查询,并且能在实际的生产任务中,最大限度的降低人工成本,提高生产效率,保证生产安全。 3.4.1现场测试功能介绍 本设计中的现场测试功能主要是指上位机和下位机间通过通信来实现上位机与下位机间的信息交换。将下位机检测到的数据实时上传给上位机,并在界面中显示,保存。由此实现在非车间场地,通过简单、人性的操作界面,对充电机测试数据的进行实时监控。 18 图7. 现场测试功能界面 上图为现场测试功能界面。该界面能实现对五个测试项目的测试数据进行实时监测。要求监测到的数据包括:放电参数测试包括序号、时、分、端电压

38、、放电电流五项及测试日期、测试时间、开始端电整定放电电流、已放容量等五个参数;电压稳定精度测试包括输入电压、电压最大值、电压最小值、稳压精度、纹波系数五项及测试日期、测试时间、直流电压、负载电流、整定电压、交流电压、纹波峰值等七个参数;电流稳定精度测试包括输入电压最大值、电流最大值、电流最小值、稳流精度四项及测试日期、测试时间、直流电流、直流电压、整定电流、交流电压、计算整定电流等七个参数;限流特性测试包括输入电压、-10%、100%、+10%、稳流精度五项及测试日期、测试时间、直流电压值、交流电压、限流整定值等5个参数。 当用户按下现场测试按钮后,由单文档试图创建并显示一对话框,即现场测试界

39、面。 当按下不同的现场测试项目按钮后,通过标志位flag_Face的置位及判断,进入到不同的现场测试状态。如图所示的参数设置图位置可进行各项测试的设备信息及参数设置。按下保存设置按钮,设置被禁用,并且设置的内容将被保存在测试结果表格中如图所示的表格设置。保存设置后,按准备测试按钮,则打开串口,进入通信等待状态。一但下位机向上位机发送数据,就会进入通信状态,根据预先定义的协议,进行数据通信。若要停止接收数据,则需按下停止接收数据19 按钮,即关闭串口。测试结束后,可在Edit1,Edit2中输入相应的测试论和意见。按保存按钮,则可以将测试结果导入word中,并保存下来。 各按钮功能及相关变量如下

40、表: 按钮名称 放电测试 电压稳定精度测试 电流稳定精度测试 充电机效率测试 限流特性测试 保存设置 按钮功能 进入放电测试功能 进入电压稳定精度测试功能 进入电流稳定精度测试功能 进入充电机效率测试功能 进入限流特性测试功能 相关变量 flag_Face=1 flag_Face=2 flag_Face=3 flag_Face=4 flag_Face=5 参数设置禁用,将设置内容保flag_IfParSave=1 存在测试结果表格中 修改设置 准备测试 参数设置可用 flag_IfParSave=0 判断设置是否保存,若已保存无 则打开串口 停止接收数据 保存结果 若串口打开,则关闭串口 根据

41、标志位flag_nFormWord的值,将测试结果导入对应word中 无 无 返回 隐藏现场测试界面,显示信息无 输入界面 图8. 各按钮功能及相关变量 3.4.2串行通信的建立及基本参数的设定 所谓“串行通信”是指外设和计算机间使用一根数据信号线,数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。如图所示。而串行接口是微机应用系统常用的接口。 在串行通信时,要求通信双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通信。目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。它被定义为一种在低速率20 串行通信中增加通信距离的单端标准。RS-232采

42、取不平衡传输方式,即所谓单端通信。 收、发端的数据信号是相对于信号地,如从DTE设备发出的数据在使用DB25连接器时是2脚相对7脚的电平,DB25各引脚定义参见图1。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3+12V与-3-12V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。RS-232是为点对点通信而设计的,其驱动器负载为37k。所以RS-232适合本地设备之间的通信。 图9. RS232DB25连接器引脚 规定 工作方式 节点数 最大传输电缆长度 最大传输速率 最大驱动输出电压 驱动器输出信号电平 (负载最小值) 驱动器输出信号电平 (空载最大值) 驱动器

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号