西门子6ES7216-2AD23-0XB8诚信经营
西门子6ES7216-2AD23-0XB8诚信经营
Delphi是一种具有功能强大、简便易用和代码执行速度快等优点的可视化快速应用开发工具,它在构架企业信息系统方面发挥着越来越重要的作用,许多程序员愿意选择 Delphi作为开发工具编制各种应用程序。但是,美中不足之处是 Delphi没有自带的串口通信控件,在它的帮助文档里也没有提及串口通信,这就给编制通信程序的开发人员带来许多不便。
目前,利用 Delphi实现串口通信的常用的方法有 3种:一是利用控件,如 MSCOMM控件和 SPCOMM控件;二是使用 API函数;三是调用其他串口通信程序。其中利用 API编写串口通信程序较为复杂,需要掌握大量的通信知识。相比较而言,利用 SPCOMM控件则相对较简单,并且该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作,而且还支持多线程。下面本文结合实例详细介绍 SPCOMM控件的使用。
SPCOMM的安装
1.选择下拉菜单 Component中的 Install Component选项,弹出如图 1所示的窗口。
在 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方法用于打开串口,当打开失败时通常会报错。错误主要有 7种:⑴串口已经打开;⑵打开串口错误;⑶文件句柄不是通信句柄;⑷不能够安装通信缓存;⑸不能产生事件;⑹不能产生读进程;⑺不能产生写进程;
●StopComm方法用于关闭串口,没有返回值;
●WriteCommData(pDataToWrite: PChar;dwSizeofDataToWrite:Word )方法是个带有布尔型返回值的函数,用于将一个字符串发送到写进程,发送成功返回 true,发送失败返回 false。执行此函数将立即得到返回值,发送操作随后执行。该函数有两个参数,其中 pDataToWrite是要发送的字符串, dwSizeofDataToWrite是发送字符串的长度。
3.事件
●OnReceiveData :procedure (Sender: Tbbbbbb;Buffer: Pointer;BufferLength: Word) of bbbbbb
当有数据输入缓存时将触发该事件,在这里可以对从串口收到的数据进行处理。 Buffer中是收到的数据, BufferLength是收到的数据长度。
●OnReceiveError : procedure(Sender: Tbbbbbb; EventMask : DWORD)
当接收数据出现错误时将触发该事件。
SPCOMM的使用
下面是一个利用 SPCOMM控件的串口通信的例子。
以实现 PC机与单片机 8051之间的通信为例,首先要调通它们之间的握手信号。假定它们之间的通信协议是: PC到 8051一帧数据 6个字节, 8051到 PC一帧数据也为 6个字节。当 PC发出( F0,01,FF,FF,01,F0)后 8051能收到一帧( F0,01,FF,FF,01,F0),表示数据通信握手成功,两者之间就可以按照协议相互传输数据。
创建一个新的工程 COMM.DPR,把窗体的 NAME属性定为 FCOMM,把窗体的标题定义为测试通信,按照图 2添加控件 (图 2中黑色矩形围住的控件即为 COMM1)。
1.设定 COMM1属性:
●波特率: 4800;
●奇偶校验位:无;
●字节长度: 8;
●停止位: 1;
●串口: COM1。
Memo1中将显示发送和接收的数据。将新的窗体存储为 Comm.pas。
2.编写源代码
//变量说明
var
fcomm: TFCOMM;
viewbbbbbb:bbbbbb;
i:integer;
rbuf,sbuf:array[16] of byte;
//打开串口
procedure TFCOMM.bbbbShow(Sender: Tbbbbbb);
begin
comm1.StartComm;
end;
//关闭串口
procedure TFCOMM.bbbbClose(Sender: Tbbbbbb; var bbbbbb: TClosebbbbbb);
begin
comm1.StopComm;
end;
//自定义发送数据过程
procedure senddata;
var
i:integer;
commflg:boolean;
begin
viewbbbbbb:=‘’ ;
commflg:=true;
for i:=1 to 6 do
begin
if not fcomm.comm1.writecommdata(@sbuf[i],1) then
begin
commflg:=false;
break;
end;
//发送时字节间的延时
sleep(2);
viewbbbbbb:=viewbbbbbb+ inttohex(sbuf[i],2)+‘’ ; end;
viewbbbbbb:=‘发送’+ viewbbbbbb;
fcomm.memo1.lines.add(viewbbbbbb);
fcomm.memo1.lines.add(‘’ );
if not commflg then messagedlg(‘发送失败 !’ ,mterror,[mbyes],0);
end;
//发送按钮的点击事件
procedure TFCOMM.Btn_sendClick(Sender: Tbbbbbb);
begin
sbuf[1]:=byte($ f0); //帧头
sbuf[2]:=byte($ 01); //命令号
sbuf[3]:=byte($ ff);
sbuf[4]:=byte($ ff);
sbuf[5]:=byte($ 01);
sbuf[6]:=byte($ f0); //帧尾
senddata;//调用发送函数
end;
//接收过程
procedure TFCOMM.Comm1ReceiveData(Sender: Tbbbbbb; Buffer: Pointer;BufferLength: Word);
var
i:integer;
begin
viewbbbbbb:=‘’ ;
move(buffer^,pchar(@rbuf^),bufferlength);
for i:=1 to bufferlength do
viewbbbbbb:=viewbbbbbb+ inttohex(rbuf[i],2)+‘’ ;
viewbbbbbb:=‘接收’+ viewbbbbbb;
memo1.lines.add(viewbbbbbb);
memo1.lines.add(‘’ );
end;
如果 memo1上显示发送 F0 01 FF FF 01 F0和接收到 F0 01 FF FF 01 F0,这表示串口已正确地发送出数据并正确地接收到数据,则串口通信成功
一、GPRS简介
GPRS—General Packet Radio Service,GPRS为通用分组无线业务的简称,是欧洲电信协会GSM系统中有关分组数据所规定的标准。GPRS具有充分利用现有的网络、资源利用率高、始终在线、传输速率高、资费合理等特点。
与GSM CSD业务不同的是,GPRS业务将以数据liuliang计费,而GSM CSD业务则以时间计费,GPRS这一计费方式更适应数据通信的特点。此外,GPRS业务的速度较GSM CSD业务也将有很大tigao,GPRS可提供高达115kb/s的传输速率(高值为171.2kb/s),下一代GPRS业务的速度可以达到384Kbit/s。
GPRS一个较大的优势是能够充分利用现有的GSM网,可以使运营商在全国范围内推出此项业务。相信在数年内,通过便携式电脑,GPRS用户能以与ISDN用户一样快的速度上网浏览,同时也使一些对传输速率敏感的移动多媒体应用成为可能。
GPRS用户只有在发送或接收数据期间才占用资源,这意味着多个用户可高效率地共享同一无线信道,从而tigao了资源的利用率。同时,用户只需按数据通信量付费,而无需对整个链路占用期间付费。实际上,GPRS用户可能连接的时间长达数小时,却只需支付相对低廉的连接费用,可使用户的使用费用大大降低。
GPRS通信模块就是为使用GPRS服务而开发的无线通信终端设备。可应用到下列系统集成中: 远程数据监测系统、远程控制系统、自动售货系统、无线定位系统、门禁保安系统、物质管理系统等。
二、GPRS特点
GPRS,通用无线分组业务是一种基于GSM系统的无线分组交换技术,提供端到端的、广域的无线IP连接。GPRS充分利用共享无线信道,采用IP Over PPP实现数据终端的高速、远程接入。作为现有GSM网络向第三代移动通信演变的过渡技术(2.5G),GPRS在许多方面都具有显著的优势。
GPRS有下列特点:
1、可充分利用现有资源—中国移动全国范围的电信网络——GSM,方便、快速、低建设成本地为用户数据终端提供远程接入网络的部署;
2、传输速率高,GPRS数据传输速度可达到57.6Kbps,高可达到115Kbps—170Kbps,完全可以满足用户应用的需求,下一代GPRS业务的速度可以达到384Kbit/s;
3、接入时间短,GPRS接入等待时间短,可快速建立连接,平均为两秒;
4、提供实时在线功能 “alwaysonline”,用户将始终处于连线和在线状态,这将使访问服务变得非常简单、快速;
5、按liuliang计费,GPRS用户只有在发送或接收数据期间才占用资源,用户可以一直在线,按照用户接收和发送数据包的数量来收取费用,没有数据liuliang的传递时,用户即使挂在网上也是不收费的。
GPRS业务,具有接入迅速、永远在线、liuliang计费等特点,在远程突发性数据实时传输中有不可比拟的优势,特别适合于频发小数据量的实时传输,因而GPRS业务在某些行业上有特殊的应用。
三、GPRS系统结构
GPRS网是在GSM电话网的基础上增加以下功能实体构成的: N(服务GPRS支持节点)、GGSN(网关GPRS支持节点)、PTMSC(点对多点服务中心);共用GSM基站但基站要进行软件更新;采用新的GPRS移动台;GPRS要增加新的移动性管理程序;通过路由器实现GPRS骨干网互联;GSM网络系统要进行软件更新和增加新的MAP信令和GPRS信令等。GPRS骨干网的逻辑结构如图1所示。
图1 GPRS骨干网的逻辑结构图
GPRS网上增加了一些接口,主要包括:
Gb口:N通过Gb口与基站BSS相联,为移动台MS服务。通过逻辑控制协议LLC,建立N与MS之间的连接,提供移动性管理(位置跟踪)和安全管理功能。N完成MS和N之间的协议转换,即骨干网使用的IP协议转换成SNDCP和LLC协议,并提供MS鉴权和登记功能。
Gn口:N通过Gn口和GGSN相联,通过GPRS隧道协议(GTP)建立N和外部数据网(X.25或IP)之间的通道,实现MS和外部数据网的互联。
Gs口:用于N向MSC/VLR发送地址信息,并从MSC/VLR接收寻呼请求,实现分组型业务和非分组型业务的关联。
Gr口:HLR保存GPRS用户数据和路由信息(IMSI、N地址),每个IMSI还包含分组数据协议PDP信息,包括PDP类型(X.25或IP)、PDP地址及其QoS等级以及路由信息。
Gi口:GGSN通过Gi口实现GPRS网和外部数据网(PDP)的互联。GGSN实际上是两个互联网网关,GPRS本身属于IP领域网络,Gi口支持X.25和IP协议。从PDN网看GGSN,GGSN可看作是一个路由器连到PDN网。GGSN包含用于连接GPRS用户的路由信息,为外部数据网的PDU送到MS提供通道。通过GGSN与GPRS网互联的分组数据网PDN,可以是PSPDN网,这时,GPRS支持ITU-T X.121和ITU-T E.164编号方案,提供X.25虚电路及对X.25快速选择,还支持网间的X.75协议连接;也可以是Internet网,基于IP协议,在IP数据报传输方式中,GPRS支持TCP/IP头的压缩功能。
四、GPRS DTU及系统组网
DSLC GPRS无线数据传输系统以中国移动GSM/GPRS网络为通信平台,采用GPRS、SMS等承载方式,通过无线数据传输终端设备(GPRS DTU),提供透明数据传输通道,满足行业用户数据传输需求。
系统组网单元
• 数据终端设备 (DTU)
提供用于连接用户设备的RS232/485 串行接口,适用于各种工业应用。
• GPRS-1X网络
中国移动公司的无线公用数据传输网络,为智能设备提供透明的数据传输通道。
• 数据中心
命令接收/发起,接收并处理数据终端的数据。
组网方案介绍
• GPRS无线监控系统的组网比较简单,GPRS DTU可直接与用户设备通过RS-232或RS-485接口连接。
• 数据终端(GPRS DTU)的接入:GPRS用户可选择CMNET和APN接入网络,CMNET通常用于公众用户,APN针对行业用户,通常在一个组内,用户需设定用户名和密码,安全性更好。此外,APN用户可以申请绑定移动内网的固定IP地址。
• 数据中心的组网略微复杂一些。结合GPRS承载网络的特点,根据GPRS应用领域,我们提供数据中心组网方案多种应用形式供应用开发商参考。组网形式的选择主要由业务数据量、可靠性要求、数据保密性、网络状况决定。
方案1: GPRS MODEM接入方式 (监控中心作为数据终端绑定固定IP地址)
此种方案适用于没有接入Internet、而且对安全要求极高的企业;适合总数据带宽需求不太大的应用,例如使用Polling 传输协议的数据采集系统;全部数据在GPRS 网内运行;要求所有GPRS 终端之间可以直接通讯;数据中心的GPRS 数据终端接入点邦定固定IP 地址。(即至少提供一个邦定固定IP地址的SIM 卡)
方案2: Internet接入方式见图2 (监控中心经由Internet接入无线网)
企业已有稳定的、的连接到Internet 的接入;企业端的路由器端口地址,监控中心IP地址应是公有的,且由为企业提供Internet 连接的ISP 提供, 此种方案客户须先向INTERNET运营商申请公网固定IP。中心用公网固定IP,监控点直接向中心发起连接。或客户公司有一台连接Internet的服务器,并且具有公网固定IP,但是考虑到服务器的稳定运行问题,通常不让在服务器上安装其他应用软件,所以GPRS数据中心系统也不能安装在该服务器上,可以用NAT端口映射的方法来解决这个问题。
此种方案在实时性和稳定性方面很好,但公网固定IP使用费用比较高。
方案3:专线接入方式 见图1 (监控中心经DDN专线接入无线网)
此种方案适于企业没有接入Internet 或企业对安全方面考虑较高,适合金融、
证券、工业监控等行业使用;企业通过专线接入中国移动的路由器,用户端的接入路由器必须提供公有的IP 地址。
GPRS专网系统DTU终端上网登录监控服务器的工作过程为:
1 GPRS DTU发出GPRS网络发出登录请求
2 请求中包括由移动公司为GPRS专网系统专门分配的专网APN
3 据请求中的APN,GGSN向DNS服务器发出查询请求
4 找到与企业用户的系统服务器平台连接GGSN
5 并将用户请求通过GTP隧道封装送给GGSN
6 GGSN将用户认证信息(包括手机号码、用户账号、密码等)通过专线送至企业Radius进行认证;Radius认证服务器看到手机号等认证信息,确认是合法用户发来的请求
7 向DHCP服13 务器请求分配用户地址
8 Radius认证通过后,由Radius向GGSN发送携带用户地址的确认信息
9 用户得到IP地址后,就可以携带数据包,对GPRS 专网系统信息查询和业务处理平台进行访问
方案4: 动态IP的解决方案
对于没有固定IP的应用系统,组网方式同“固定IP接入”。解决问题的关键在数据中心端,目前有两种解决方案:
1. 短信发送IP
当数据中心的IP地址发生改变,中心端可通过短信的方式通知终端设备当前的新IP地址并通知其连接。短信发送可以采用通过Internet或USB接口的GPRS modem。
2. 动态域名解析
在使用动态DNS方式时,首先有几件事项要先准备。
是Domain Name,需要申请一组三级域名或二级域名。
第二是需要到网域管理中心来指定动态DNS服务。
当准备工作完成后,即会从网域管理中心得到一个Client软件,用来维护动态IP与Domain Name,当数据中心的计算机开机后,即可从ISP处取得动态IP,再透过Client软件与DDNS 服务器联机并刷新域名与IP对照,GPRS终端可通过DNS的方式来进行Domain Name 的正反解译,而后建立连接。
方案5: 中心采用专线接入见图3, 所有点都采用内网固定IP
此种方案客户的数据中心通过一条APN专线接入移动公司GPRS网络,双方互联路由器之间采用私有固定IP地址进行广域连接,并用防火墙进行隔离,在防火墙上进行IP地址和端口过滤。移动为客户分配专用的APN,用于GPRS专网的SIM卡开通该专用APN。得到专用APN后,给所有监控点及中心分配APN专网内部固定IP。见图二。
此种方案在实时性、安全型和稳定性方面都很好,适用于安全性要求较高、数据点比较多、实时性要求较高的应用环境。
方案6: 中心采用移动APN专网固定IP见图4
此种方案客户先与移动申请APN专网业务,移动为客户分配专用的APN,客户可以申请绑定移动内网的固定IP地址。中心用无线MODEM拨号上网,得到其内网固定IP;监控点直接向中心发起连接。中心和监控点都具有移动内网固定IP,减少中间环节,稳定性增强;且所有数据都在移动GPRS的APN内网传输,无需经过公网,安全性增强。见图三。
图4
此种方案无需负担专线月租费用,性价比合理,适合总数据带宽需求不太大的应用。推荐小型客户使用。
五. GPRS DTU的应用
GPRS DTU可提供以下几类应用:
• 运输业:车辆及智能调度。
• 金融、证券和商业:无线POS、无线ATM、自动售货机、流动银行等。
• 实时发布股市动态、天气预报、交通信息等。
• 公共安全业:随时随地接入远程数据库。
• 遥测、遥感、遥控:如气象、水文系统收集数据,对灾害进行遥测和告警,远程操作。
• 提供VPN业务,使企业员工能够随时随地与总部保持联系,降低公司建设自己的广域网的成本。
• 提供以GPRS承载业务为基础的网络应用业务和基于WAP的各种应用。
• 通过手提电话或电脑,可检查自动售卖机内的货存和营业额。
• 自动售卖机的手提电话付款。
• 监视器的错误状况,液体水平,温度...
• 监视冷库温度,湿度。内置温度探针(-25°/+100°)。
• GSM天文台,广泛应用在飞翔和航海俱乐部。
• 监视老人及行动不便的人。它可以将警报通过语音或短讯同时发给8个不同的电话号码。
• 可以遥控商业及住宅的防盗警报。
• 可以遥控暖气和冷却系统。
• 可以应用在汽车的防盗警报。
• 机房监控和远程维护管理系统
银行储蓄点机房监控
通信行业远端无人值守站机房监控和远程维护(如移动通信基站、微波站、光纤中继站等)
其他无人值守点(如仓库、办公楼等)监控
• 移动车辆监控调度系统
公安、110、交警车辆监控调度
银行运钞车、邮政运输车监控调度
出租车管理调度
公交车辆调度和指示
集团车辆监控调度
• 移动性数据查询系统
移动性证卷交易和信息查询
公安移动性数据(身份证、犯罪档案等)查询
交警移动性数据(车辆、司机档案等)查询
通信维护人员线路资料查询
其他外勤人员移动性数据查询
• 无线接入系统
无线固定电话接入(WLL)
无线IC卡
无线磁卡电话
火车、汽车、轮船等移动载体付费电话
• 城市公用事业实时监控维护系统
煤气调压站实时数据采集和自动控制
自来水、污水管网实时监控和维护
热力系统实时监控和维护
电力系统城市中压电网实时监控和自动补偿