基于Delphi的计算机与密集柜之间的串口通信设计

合集下载

基于DELPHI的PC机与单片机无线串口通讯--毕业设计

基于DELPHI的PC机与单片机无线串口通讯--毕业设计

摘要本文设计了一种基于PC机与单片机构成的串口无线通讯方案,研究了实用的基于RS-232 串口的通信协议,并利用无线模块nRF905,探讨了FSK等调制方式。

通过对方案的设计,可以利用单片机与PC机组建成低成本、可控性强、使用灵活的控制系统,在工程控制方面体现出单片机较PLC的优势,同时也可以由多台单片机构成无线通信网络,为通讯提供无线方案,并且降低了网络的开发成本,这为个人组建合适的通讯网络提供可行性方案。

上位机控制平台采用DELPHI开发工具进行编写,所使用的DELPHI编程工具具有开发效率高、入门容易、开发周期短等特点,较之VB优势明显,更贴近英语格式。

因控制系统需要根据具体的应用环境,本文只介绍了简单的事例应用,控制简单的单片机输入输出端口。

根据设计要求和功能实现,模拟调试了控制台控制终端,编写了控制台的串口通讯控制软件,调试实现了串口通讯和无线通讯的结合,实现了理想的控制命令,介绍了编码方法以及在实验中运用了单片无线芯片。

介绍了无线模块的设计及其应用电路的设计要求,阐述了串口无线通讯在控制中的运用,并且展望了串口无线通讯的发展与未来无限通讯的发展趋势。

本文还提出了方案的二次开发和高级应用,为二次开发提供了软硬件的接口,实现了知识应用及专业技能的培养,为串口通讯提供了新的方向及发展前景。

关键词:RS-232; DELPHI;nRF905; AVR-MCU;无线通讯电路AbstractIn this paper,the serial wireless-comunication which bassed on practical RS-232 serial communication protocol, is constituted by Personal Computer-software and MCU, and using of wireless modules nRF905, which researchs FSK modulation and so on. The design of the program can be used to unit a systerm,which is controllability, flexible useful and controllable, with Microprocesser and Personal computer. It will no only reflect the advantages of Microprocesser than the PLC in engineering cyberne, but also can be constituted by numbers of Microprocesser with wireless communications chip to build a network communication program. The design provide a wireless programme, and reduce developing costs. It also provide a feasibility programme which is suitable for building private communication network.. Personal computer contol platform is built by DELPHI programming environment, which is used easily, high efficient, short development cycle and so on. The programming environment has many advantages than Visual Bassic programming environment, and it is more close to English. Because of cybernetic systerm being built bassing on practical application environment, The design only introduces a simple example application.According to demant of design and function realization, the design simulated and debuged control platform and terminate-controlled, programmed control platform software by serail communication. The design carries out a programme which is combined by serial communication and wireless communication. It achieves ideable control command, and introduces the method coding. It is also experimented by using of a single-chip wireless chip and the function of wireless module circuit. The design advanced second-exploit and advantage application, provided second-exploit software and hadware interface. It also educatedspeciality knowledge and skills, exhibited programming software.Keywords: RS-232; DELPHI; nRF905; AVR-MCU;wireless-communication目录1 绪论..............................................................................................................................- 1 -1.1设计的背景和现状............................................................................................- 1 -1.2设计要求及目的................................................................................................- 2 -1.3方案可行性分析................................................................................................- 2 -2 系统概述......................................................................................................................-3 -2.1 串口通讯原理...................................................................................................- 3 -2.1.1 串口信号线的接法................................................................................- 3 -2.2 数字信号调制解调方式介绍...........................................................................- 4 -2.2.1 ASK幅移键控法 ....................................................................................- 5 -2.2.2 PSK相移键控法.....................................................................................- 6 -2.2.3 FSK频移键控法.....................................................................................- 6 -2.2.4 QAM正交幅度调制法...........................................................................- 7 -2.2.5 MSK最小移频键控法 ...........................................................................- 7 -2.2.6 GMSK高斯滤波最小移频键控法.........................................................- 8 -2.3 系统框图...........................................................................................................- 8 -2.4 上位机设计原理...............................................................................................- 9 -2.4.1编译环境.................................................................................................- 9 -2.4.2上位机编写原理...................................................................................- 12 -第3章各功能部件硬件设计......................................................................................- 14 -3.1 无线模块设计及应用.....................................................................................- 14 -3.2 单片机串口通讯模块设计.............................................................................- 16 -3.3 演示电路工作原理及设计.............................................................................- 20 -4 软件流程设计............................................................................................................- 22 -4.1 上位机软件设计.............................................................................................- 22 -4.2 单片机软件设计.............................................................................................- 23 -4.3 无线模块驱动原理.........................................................................................- 25 -4.3.1 Shock Burst TX模式 ............................................................................- 26 -4.3.2 ShockBurst RX模式.............................................................................- 28 -4.3.3曼彻斯特编码.......................................................................................- 30 -5 调试实验....................................................................................................................- 32 -5.1 上位机运行介绍及截图.................................................................................- 32 -5.2 下位机运行介绍及截图.................................................................................- 33 -6 总结和展望................................................................................................................- 35 -参考文献........................................................................................................................- 36 -附录................................................................................................................................- 37 -致谢................................................................................................................................- 51 -1 绪论在计算机控制系统中,不可避免的要采用计算机串口进行通信。

基于DELPHI实现PC机与PLC的串行通讯

基于DELPHI实现PC机与PLC的串行通讯

基于DELPHI实现PC机与PLC的串行通讯未知来源供稿2004-4-229:49:00【字体:大中小】1引言DELPHI因为它的编程相对较简单、功能又很强大,应用程序开发周期较短、运行速度快等特点,目前被广泛应用于监控系统中,而在监控系统中,上位机与各控制设备及智能仪表(如: PLC、电力测试仪、温度巡检仪、数字电度表等)的串行通讯又是一个非常重要的环节。

在Windows环境下用Delphi实现串行通信有3种方法:(1)使用VB的通信构件MSComm;(2)调用Windows95下的API函数来完成通信;(3)熟悉C/C++或其它语言的用户可以将自己的程序编译链接为DLL(动态链接库),这样D elphi就可以调用DLL里的函数来通信。

其中最容易方法是用VB的通信构件MSComm进行编程。

在使用VB构件之前,首先要将VB构件文件MSComm32.OCX安装到Delphi的动态构件库中。

打开主菜单Component选择Import ActiveX Control...项,在弹出的对话框里选中Microsoft Comm Control6.0(安装VB6.0后必有此项),再单击Install按钮。

此时Delphi 载入VB构件文件并重新编译DCL(Delphi Component Library)。

编译完成后,MSComm 的小按钮出现在ActiveX页中,这时程序就可以使用此构件了。

应该注意的是,安装前要确保VB通信构件的控制文件MSComm32.OCX在编译DCL之前已在\Windows\Syste m下。

下面就以KOYO的SU-6系列PLC为例,全面介绍用DELPHI实现与PLC串行通讯的整个过程。

2三线制串行通讯线的制作上位机(PC机)的通讯一般采用9针串口,SU-6系列PLC选用通讯模块U-01DM,该模块的通讯用串行插座为25针,内含一个RS-232C接口和一个RS422接口,这里由于上位机与PLC在同一盘柜内,所以直接采用RS-232C进行通讯(最大传输距离为15m),三线制连接方式如图1所示。

Delphi编写串口通讯方法(转)

Delphi编写串口通讯方法(转)

Delphi编写串⼝通讯⽅法(转)前段时间做了个东西,计算机和单⽚机通讯,⽤到了串⼝编程,上位机⽤的是delphi,下位机⽤ats51,程序也做完了,顺便把Delphi串⼝编程给⼤家介绍以下.Delphi串⼝通讯可以同过以下⼏种⽅式:1.windows API函数。

2.Spocmm组件。

3.PComm库函数。

4.Mscomm控件。

1.windows API函数。

由于API函数实现起来⽐较⿇繁,这⾥就不做介绍了,主要介绍其它三种⽅式 .第三⽅组件或控件封装了API函数,简化了编程的难度,并提供详细帮助。

2.Spocmm组件。

SPcomm是专为delphi开发的组件,虽然它也是封装了windows api,但是我们可以看到它的源代码。

它提供了事件驱动的⽅式接收数据,在编程的时候,我们可以在OnReceiveData函数中接收到数据,并做相应的处理,SPcomm组件的主要属性:CommName:设置通讯端⼝BaudRate:设置端⼝波特率StartComm:打开串⼝StopComm:关闭串⼝WriteCommData:向串⼝写数据函数OnReceiveData:接收数据事件3.PComm库函数。

PComm库函数PComm 库函数是台湾MOXA公司提供的,他为⽤户提供了基于win32 api的开发接⼝。

PComm库函数分为7⼤类控制函数数据输⼊函数数据输出函数状态函数事件驱动函数传输⽂件函数特殊设定函数控制函数主要包括sio_open,sio_close,sio_ioct,sio_flushsio_open(PortNum) 打开串⼝sio_close(PortNum) 关闭串⼝sio_ioct(PortNum, baud, mode)设置串⼝的⼯作模式,包括 波特率,数据位,停⽌位,效验等sio_flush(portNum,func)清除发送,接收缓冲区 其中func 为0清空输⼊ ,为1清空输出,为2清空输⼊输出数据输⼊函数主要包括sio_getch,sio_readsio_getch(PortNum) 从输⼊缓冲区读⼀个字符sio_read(PortNum,buf,len)从输⼊缓冲区读指定个数的字符数据输⼊函数主要包括sio_putch sio_writesio_putch(PortNum) 写⼀个字符到输出缓冲区sio_write(PortNum,buf,len)写指定个数的字符到输出缓冲区状态函数主要包括 sio_lstatus,sio_getbaud,sio_getmodesio_lstatus(portNum)获取串⼝的CTS,DSR,DCD,RI线的状态sio_getbaud(portNum)获取串⼝的波特率sio_getmode(portNum)获取串⼝的⼯作模式。

基于Delphi的PC机与AVR单片机的串行通讯

基于Delphi的PC机与AVR单片机的串行通讯

基于Delphi的PC机与AVR单片机的串行通讯黄春香;杨奕【摘要】采用Delphi中的SPComm控件实现PC机与AVR单片机之间的串行通讯,在上位机和终端设备之间进行数据传输,对空气源热泵进行远程监控,实时掌握各机组的运行情况,以便在发生故障时能及时处理.详细介绍了监控系统的软硬件设计思路.实际使用证明该系统稳定可靠且兼容性高.%This paper introduced a kind of serial communication between PC and the AVR single-chip by using SPComm component in Delphi. Air source heat pump can be remotely controlled while data is transmitted between master computer and terminal equipment. Therefore operation condition of various units can be mastered real-timely so that fault can be treated in time. This paper presented the software and hardware design ideas of monitoring systems in detail. The practical use proves the stability and reliability as well as high compatibility of the system.【期刊名称】《仪表技术与传感器》【年(卷),期】2012(000)006【总页数】3页(P108-110)【关键词】Delphi;Modbus协议;SPComm;远程监控【作者】黄春香;杨奕【作者单位】南通大学电气工程学院,江苏南通226019;南通大学电气工程学院,江苏南通226019【正文语种】中文【中图分类】TP2731 监控系统组成1.1 硬件构成该监控系统以1台PC机作为主控单元,系统终端以AVR单片机ATmega32为核心,上位机与各终端机通过RS-485总线连接。

Delphi 第10章_串口通信编程

Delphi 第10章_串口通信编程

10.1.2 握手
DTE和DCE之间要实现双向通信,至少需要3条信号线:TxD使数据从
DTE到ECE。RxD使数据从ECE到ETE,SG为信号地。 必须使用握手信号,它提供了一种控制数据流的方法,即接收设备可 以控制发送设备的数据发送。 在异步串行通信中,这称之为握手(handshaking)或流量控制 (flow control)。握手控制可以具体分为硬件握手(硬件流控)和 软件握手(软件流控)。
始了全双工通信。同时,DTE仍监视着载波检测(DCD)信号,以确
定数据链路是否连接。
(8)数据传输结束后,DTE使数据终端就绪信号(DTE无效),Modem撤消 载波信号并以载波检测(DCD)和数据设备就绪(DSR)信号无效给 予响应。数据链路释放后,Modem和DTE准备下一次接收或作另一 次呼叫。
普通的Modem通常都是通过RS-232C串行口信号线与计算机连接。
根据 RS-232C 标准规定,接口 电路采用一对物理 D 型连接器: DTE设备应该有一个D型插头接 口, DCE 设备应该有一个 D 型 插座接口。 D 型 连 接 可 以 是 25 芯 ( 简 称 为 DB25 ),也可以是 9 芯(简称 为 DB9 )。 RS-232C 引脚分配
);
10.3 MSComm控件
10.3.1 MSCom安装
MSCcomm组件是Microsoft Visual Studio配带的ActiveX组件,一般安装Microsoft Visual Studio后 这些文件会自动生成,然后在Delphi XE8中安装MSComm控件。 步骤如下: (1)先打开Delphi XE8集成开发环境,选择菜单“Component”中的“Import ActiveX Control”命令,在 “Import AcitiveX”选项卡内选择“Microsoft Comm Control 6.0”项 。 (2)单击“Install” 按钮安装MSComm 控件,安装 后在“ActiveX”组件板中出现MSComm图标,即 可被使用。 MSCOMM32.OCX可以按如下两种方式注册: 第一种方式:点击【开始】|【运行】,在运行命令 栏中填入如下命令: Regsvr32 c:\windows\system\mscomm32.ocx 第二种方式:打开记事本输入以下内容,并且保存 未REG的扩展名,双击此文件也可以进行注册 REGEDIT4 [HKEY_CLASSES_ROOT\Licenses\ 4250E830-6AC2-11cf-8ADB-00AA00C00905] @=” kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun”

Delphi串口通信的实现

Delphi串口通信的实现

Delphi中串口通信的实现Delphi是一种具有功能强大、简便易用和代码执行速度快等优点的可视化快速应用开发工具,它在构架企业信息系统方面发挥着越来越重要的作用,许多程序员愿意选择Delphi作为开发工具编制各种应用程序。

但是,美中不足之处是 Delphi没有自带的串口通信控件,在它的帮助文档里也没有提及串口通信,这就给编制通信程序的开发人员带来许多不便。

目前,利用 Delphi实现串口通信的常用的方法有3种:一是利用控件,如MSCOMM控件和 SPCOMM控件;二是使用 API函数;三是调用其他串口通信程序。

其中利用 API编写串口通信程序较为复杂,需要掌握大量的通信知识。

相比较而言,利用 SPCOMM控件则相对较简单,并且该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作,而且还支持多线程。

下面本文结合实例详细介绍SPCOMM控件的使用。

SPCOMM的安装1.选择下拉菜单 Component中的 Install Component选项,在 Unit file name处填写SPCOMM控件所在的路径,其他各项可用默认值,点击 OK按钮。

2.安装后,在 System控件面板中将出现一个红色控件 COM。

现在就可以像 Delphi 自带控件一样使用 COM控件了。

SPCOMM的属性、方法和事件1.属性●CommName:表示 COM1、 COM2等串口的名字;●BaudRate:根据实际需要设定的波特率,在串口打开后也可更改此值,实际波特率随之更改;●ParityCheck:表示是否需要奇偶校验;●ByteSize:根据实际情况设定的字节长度;●Parity:奇偶校验位;●StopBits:停止位;●SendDataEmpty:这是一个布尔型属性,为 true时表示发送缓存为空,或者发送队列里没有信息;为 false时表示发送缓存不为空,或者发送队列里有信息。

2.方法●Startcomm方法用于打开串口,当打开失败时通常会报错。

利用DELPHI多线程机制实现PC机与PLC之间的串行通信

利用DELPHI多线程机制实现PC机与PLC之间的串行通信

利用DELPHI多线程机制实现PC机与PLC之间的串行通信在Delphi中实现PC机与PLC之间的串行通信可以利用Delphi的多线程机制来实现。

下面将介绍详细的步骤。

2. 将TIdSerialPort组件添加到窗体上。

TIdSerialPort是Delphi 中处理串行通信的组件,可以通过Indy控件库进行获取和使用。

3. 在窗体上添加一个Label控件,用于显示接收到的数据。

4. 在窗体上添加一个Edit控件,用于输入要发送的数据。

5. 添加一个Button控件,用于发送数据。

6. 双击Button控件,在OnClick事件中添加以下代码:```delphiprocedure TForm1.Button1Click(Sender: TObject);vardata: string;begindata := Edit1.Text;TThread.CreateAnonymousThreadprocedurebeginIdSerialPort1.WriteLn(data);.Startend;```上述代码创建了一个匿名线程,在线程中使用IdSerialPort1.WriteLn方法向串口发送数据。

7. 双击TIdSerialPort1的OnRxChar事件,在事件处理程序中添加以下代码:```delphiprocedure TForm1.IdSerialPort1RxChar(Sender: TObject; Count: Integer);vardata: string;begindata := IdSerialPort1.ReadLn;TThread.Queue(nil,procedurebeginLabel1.Caption := data;end```上述代码在串口接收到数据时,使用IdSerialPort1.ReadLn方法将接收到的数据读取到data变量中,并使用TThread.Queue方法将显示更新的代码放到主线程中执行,以避免主线程阻塞。

delphi 串口编程 例程

delphi 串口编程 例程

delphi 串口编程例程摘要:1.Delphi 简介2.串口编程基本概念3.Delphi 中串口编程的例程4.总结正文:一、Delphi 简介Delphi 是由Borland 公司开发的一款强大的集成开发环境(IDE),它基于Object Pascal 语言,适用于Windows 平台上的应用程序开发。

Delphi 提供了丰富的组件库和功能强大的编程工具,使得开发者可以快速、高效地开发出高质量的软件。

二、串口编程基本概念串口编程是指在计算机中通过串行通信接口(Serial Communication Interface,简称SCI)进行数据传输的过程。

串口通信是一种异步通信方式,通常用于电子设备之间的数据传输,如外设、modem 等。

在串口编程中,有几个基本概念需要了解:1.波特率:波特率是指每秒钟传输的比特数,它决定了通信速度。

常见的波特率有9600、19200、38400、57600 和115200 等。

2.奇偶校验:奇偶校验是一种数据传输时的错误检测方法。

发送方将数据位后的奇偶校验位附加到数据中,接收方根据接收到的数据计算校验位,以判断数据是否正确。

3.停止位:停止位是在数据传输过程中的一个标志位,用于表示数据传输的结束。

停止位的长度可以是1 位、1.5 位或2 位。

4.流控制:流控制是一种数据传输时的流量控制方法,它可以防止数据传输过程中的数据溢出。

常见的流控制方式有硬件流控制和软件流控制。

三、Delphi 中串口编程的例程在Delphi 中,可以使用TSerialPort 控件进行串口编程。

以下是一个简单的串口编程例程:1.创建一个新的Delphi 项目。

2.在“组件库”中找到TSerialPort 控件,将其拖放到窗体上。

3.设置TSerialPort 控件的属性,如PortName(串口名称)、BaudRate (波特率)、DataBits(数据位)、StopBits(停止位)、Parity(奇偶校验)和FlowControl(流控制)等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
维普资讯
第 l 4卷 第 2期
2o o 7年 4 月
莆 田 学 院 学 报
J ur a o Pu n o nl f ta Unv ri i iest y
中 图 分 类 号 :P 1 T 3 1
V0 .4 1 No 2 1 . Ap . 2 0 r 07
Ke r s e lh ; ei r c m u i t n s r a ie ; C mm o t l y wo d :D p i sr lp t o n c i ; e i c b t MS o a o ao re d n c nr o
0 引言
no 下 在
能数 控 密集柜 档 案管 理 系统 。计 算 机 与密 集柜 之 间的通 信 程 序 是整 个 系统 中的 一 个 重 要模 块 , 由
于篇幅限制 ,本文仅介绍计算机与密集柜之间的
串 口通信设计 部 分 。
密集柜 是 国 内一 种新 兴 的储 存 设 备 。其最 主
收稿 日期 : 060 .4 2 0 -9 1
H N ij , I hn eg, NG Bn, U B h l O G J- a 岫 LN Z e— n WA i H A G S iu h —2
( . l t ncIfr t nE gn eig e a ̄ etP t nU iesy P t n3 10 , hn ; 1Ee r i noma o n ier p r n, ui nvri , ui 5 0 C i co i nD a t a 1 a
要 特 点 是 节 约空 间 , 储量 大 , 有 良好 的防 尘 、 存 具
防鼠 、 防潮 、 防火和通风等功能 , 根据库房特征进
行 合 理布 局 , 高度 利 用空 间 , 用多 节 多联 安放 在 采 固定 的轨 道 上形成 一个整 体 ,用手 摇或 电动方 式 移 动 各列进 行 存取 。广泛 适 用于 企 事业 单 位 的图 书馆 、 案馆 、 料 室等 , 供 图 书 、 档 资 提 文件 、 案 资 档 料 的有效管 理 。 目前 。很 多 的密 集柜 厂 商都 采 用简 单 的手动 或 电动 控 制密 集柜 的 移动 操 作 ,没 有配 套 的系 统
c nrl b sd o lh, o raie h c mmu iain b t e o ue d srid c bn L tu ma ig i o t 。 ae n Dep i t e l te o o z nc t ewe n c mp tr a ere a ie h s 0 n kn t p sil o t la d mo i rte srid c bn t tr u h te c mp tr T e po rm a e n tsie y o sbe t c nr n nt h er a ie ho g o ue. h r ga h s b e e t d b o o o e h i f b t ts a d rcia rn o e]ue h t he a c rt a d fe t e o o h et n p a t l u t c 1 r ta t c uae n e ci c mmu iain al e d n b s v nc t c r o b oe y cm o u ia o d l. nc t n mo ue i
2 T e v rmet f i gkuT wnP tnC t P tn3 1 1 , hn . h Go e n n o J n -o o , ui i , ua 5 15C ia) a a y i
Ab ta t T e p pr it d cs h w te po r h sb e eeo e n ei e y uig MS o sr c : h ae nr ue o h rga o m a e dvlpd ad ds nd b s C mm n g n
管 理软 件 , 无法 完全 实现计 算机 化管理 。莆 田市久
图形 处理 与数 据 管 理 等方 面 具 有 很 强 的 功 能 , 利 用它来 开发 与密 集柜 通 信 的软 件 也十 分方 便 。本
文利 用 D lh 和 S L S re 0 0开 发 设 计 了 智 ep i Q evr 0 2
摘 要 : 主要介绍在 D l i  ̄ y#用 MS o m控件。 ep hJ g , J Cm 开发设计了计算机与密集柜之间进行 串口通信的程
序 , 而实现 了计算机对密集柜的有效控制与管理 , 实验检测和 实际运行 , 从 经过 通信模块能 够准确 、 快速地 完成
通信任务。
关键 词 : e h; D l i 串口通信; p 密集柜; C m MS o m控件
作者简介 : 洪家军 (99 , 湖 北荆 州公安县人 , , , 17.) 男, 助教 硕士 主要从 事计 算机 网络技 术与应 用 究。 研
文 章编 号 :6 24 4 0 70 -0 40 17 -13 2 0 )20 5 -4 I
文献标识码 : A
洪家军 ,林振衡 ,王
彬・ ,黄仕禄 2
( . 田学院 电子信息工程 系, 建 莆田 3 10 ;2莆田市江口镇人 民政府 。 建 莆 田 3 1l ) 1莆 福 51 0 . 福 5l 5
De i n f h S ra Po t sg o t e e i l r Co mm u ia i n e we n n c to b t e
Co u e a d e re Ca i e Ba e o Dep i mp t r n S r id bn t sd n l h
相关文档
最新文档