CN1938986B - 用于应用层的数据处理方法 - Google Patents

用于应用层的数据处理方法 Download PDF

Info

Publication number
CN1938986B
CN1938986B CN2005800104601A CN200580010460A CN1938986B CN 1938986 B CN1938986 B CN 1938986B CN 2005800104601 A CN2005800104601 A CN 2005800104601A CN 200580010460 A CN200580010460 A CN 200580010460A CN 1938986 B CN1938986 B CN 1938986B
Authority
CN
China
Prior art keywords
primitive
application layer
message
service
communication cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2005800104601A
Other languages
English (en)
Other versions
CN1938986A (zh
Inventor
白承勉
李君锡
金容台
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR20040022214A external-priority patent/KR100629592B1/ko
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Priority claimed from PCT/KR2005/000949 external-priority patent/WO2005094194A2/en
Publication of CN1938986A publication Critical patent/CN1938986A/zh
Application granted granted Critical
Publication of CN1938986B publication Critical patent/CN1938986B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

本发明公开了一种基于生活网络控制协议用于应用层的数据处理方法。该用于应用层的数据处理方法基于预定协议,其中该预定协议由至少下层和应用层组成,该方法包括步骤:从上层应用软件接收预定原语;根据该原语生成通信周期标识符(CycleID);根据该原语和通信周期标识符(CycleID)生成服务说明;组成包括该原语的应用层协议数据单元(APDU);以及将该APDU传输至下层。

Description

用于应用层的数据处理方法
技术领域
本发明一般涉及一种数据处理方法,并且更具体地,涉及一种使用生活网络控制协议用于应用层的数据处理方法。
背景技术
家庭网络连接各种数字家庭设备,使得用户在室内或户外都能够一直享受到便捷、安全以及经济的生活服务。由于数字信号处理技术的发展,家庭设备操作系统技术以及高速多媒体通信技术已经被集成在数字家庭设备上,因此被称为白色家庭设备的电冰箱或洗衣机已经被逐步地数字化,并且已经开发出了新的信息家庭设备,用以改进家庭网络。
如表1中所示,家庭网络按照服务类型被分为数据网络,娱乐网络以及生活网络。
表1
  分类   功能   服务类型
  数据网络   PC与外围装置之间的网络   数据交换,互联网服务等
  娱乐网络   A/V装置之间的网络   音乐、动画服务等
生活网络 用于控制家庭设备的网络   家庭设备控制,家庭自动化、远程仪表读数、消息服务等
这里,建立数据网络,用以在PC与外围装置之间交换数据或者提供互联网服务,并且在使用音频或视频信息的家庭设备之间建立娱乐网络。另外,建立生活网络仅仅是用于控制家庭设备,例如家庭自动化或远程仪表读数。
传统的家庭网络系统包括一个主装置,该主装置是电子装置,用于控制其他电子装置的操作或者监视其状态,以及一个从装置,该从装置也是一个电子设备,它的功能就是响应主装置的请求以及根据电子设备的特性或其他因素来通知状态变化。典型的电子装置包括用于生活网络服务的家庭设备例如洗衣机和电冰箱,用于数据网络服务以及娱乐网络服务的家庭设备,以及产品例如气阀控制装置,自动门装置以及电灯。
但是,传统技术没有提出一个通用的通信标准,用于提供对家庭网络系统中的电子装置进行控制和监视的功能。还有,传统技术家庭网络系统中的网络协议也没有提出一个有效的方法,用于发送以及接收信息包。
发明内容
本发明成功地解决了上述问题。本发明的一个目的就是提供一种使用控制协议用于应用层的数据处理方法,其中该控制协议是一个通用的通信标准,用于提供对家庭网络系统中的电子装置进行控制和监视的功能。
本发明的另一个目的就是提供一种用于应用层的数据处理方法,使用生活网络控制协议作为通用通信标准。
本发明还有另一个目的就是提供多个统一的原语,用于在生活网络控制协议中传输数据。
本发明还有另一个目的就是提供一种用于应用层的数据处理方法,其中包括该应用层的上层生成、传输以及处理消息。
本发明还有另一个目的就是提供一种用于应用层的数据处理方法,其根据消息特性执行一个或者多个通信周期。
本发明还有另一个目的就是提供一种用于应用层的数据处理方法,其中该应用层能够通过预定的参数(通信周期控制)来控制数据接收处理。
本发明还有另一个目的就是提供一种用于从装置的应用层的数据处理方法,其中包括该应用层的上层生成、传输以及处理消息。
本发明还有另一个目的就是提供一种用于应用层的数据处理方法,其中该应用层能够通过使能或禁用数据接收来控制数据接收处理。
本发明还有另一个目的就是提供一种用于主装置的应用层的数据处理方法,其中包括该应用层的上层生成、传输以及处理消息。
本发明还有另一个目的就是提供一种用于应用层的数据处理方法,其中该应用层能够根据消息的特性来处理数据。
为了实现本发明的上述目的,提供了一种用于基于预定协议的用于应用层的数据处理方法,其中该预定协议由至少下层和应用层组成,该方法包括步骤:从上层应用软件接收预定原语;根据该原语生成通信周期标识符(CycleID);根据该原语和通信周期标识符(CycleID)生成服务说明;组成包括该原语的应用层协议数据单元(APDU);以及将该APDU传输至下层。
附图说明
图1为示例根据本发明的家庭网络系统的结构图;
图2为示例根据本发明的生活网络控制协议堆栈的结构图;
图3和4分别为示例图2的各层之间的接口的结构图;
图5-10分别为示例图3和4的接口的详细结构图;
图11和12为示例用于传输在各层之间被交换的数据的原语的结构图;
图13-15分别示例了请求消息的结构;
图16-18分别示例了响应消息的结构;
图19示例了事件消息的结构;
图20为示例根据本发明第一实施例用于应用层的数据处理方法的流程图;
图21为示例根据本发明第二实施例用于应用层的数据处理方法的流程图;
图22示例了根据本发明的通信周期标识符CycleID的结构;
图23为示例根据本发明第三实施例用于应用层的数据处理方法的流程图;
图24为示例根据本发明第四实施例用于应用层的数据处理方法的流程图;以及
图25为示例根据本发明第五实施例用于应用层的数据处理方法的流程图。
具体实施方式
下面将参照附图对根据本发明用于应用层的数据处理方法进行详细地描述。
图1为示例根据本发明的家庭网络系统的结构图。
参看图1,该家庭网络系统1通过互联网2对LnCP服务器3进行访问,并且客户端装置4通过互联网2对LnCP服务器3进行访问。也就是说,该家庭网络系统1与LnCP服务器3和/或客户端装置4相连并进行通信。
该家庭网络系统1的外部网络,例如互联网2包括根据一种客户端装置4的附加组成元件。例如,当客户端装置4为计算机时,该互联网2就包括Web服务器(未示出),并且当客户端装置4为互联网电话时,该互联网2就包括Wap服务器(未示出)。
该LnCP服务器3分别根据预定的登陆和退出过程对家庭网络系统1和客户端装置4进行访问,从客户端装置4接收监视和控制命令,并将该命令按照预定类型消息的形式通过互联网2传输给网络系统1。另外,该LnCP服务器3从家庭网络系统1接收预定类型的消息,并将该消息存储和/或传输至客户端装置4。该LnCP服务器3也存储或生成一个消息,并将该消息传输给家庭网络系统1。也就是说,该家庭网络系统1对LnCP服务器3进行访问并下载提供的内容。
该家庭网络系统1包括用于接入互联网2的家庭网关10,用于设置环境以及管理电子装置40至49的网络管理器20至23,40至49,用于接入在传输介质之间的LnCP路由器30和31,用于将网络管理器22以及电子装置连接至传输介质的LnCP适配器35和36,以及多个电子装置40至49。
该家庭网络系统1的网络是经由共享传输介质将电子装置40至49连接在一块而形成的。数据链路层使用非标准化传输介质例如RS-485或小的输出RF,或者标准化的传输介质例如电源线以及IEEE 802.11作为传输介质。
该家庭网络系统1的网络与互联网2分割,用于组成一个独立的网络,通过有线或无线传输介质将电子装置连接在一块。这里,该独立的网络包括物理上连接、但逻辑上被分割的网络。
该家庭网络系统1包括主装置,用于控制其他电子装置40至49的操作或者监视其状态,以及从装置,用于响应于主装置的请求并通知它们的状态改变信息。该主装置包括网络管理器20至23,并且从装置包括电子装置40至49。该网络管理器20至23包括被控制电子装置40至49的信息以及控制代码,并根据编程方法或通过接收来自LnCP服务器3和/或客户端装置4的输入来控制电子装置40至49。仍旧参看图1,当连接有多个网络管理器20至23时,每个网络管理器20至23必须都是主装置和从装置,即物理上是一个装置,但逻辑上该装置(混合装置)同时进行主和从功能,以便于与其他网络管理器20至23进行信息交换,数据同步和控制。
另外,该网络管理器20至23以及电子装置40至49可以直接或者通过LnCP路由器30和31和/或LnCP适配器35和36与网络(电源线网络,RS-485网络以及RF网络)相连。
该电子装置40至49和/或LnCP路由器30和31和/或LnCP适配器35和36被登记在网络管理器20至23中,并且由产品提供内在逻辑地址(例如0x00,0x00等)。该逻辑地址与产品代码(例如空调0x02,洗衣机0x01)组合,并被用作节点地址。例如,用节点地址例如0x0200(空调1)和0x0201(空调2)对电子装置40至49和/或LnCP路由器30和31和/或LnCP适配器35和36进行标识。根据预定的标准(全部相同的产品,产品的安装空间,用户等),一次可以使用一组地址,用于标识至少一个电子装置40至49和/或至少一个LnCP路由器30和31和/或至少一个LnCP适配器35和36。在该组地址中,显式组地址是一个簇,用于通过将地址选项值(将在下面提到的标记)设置为1来指定多个装置,隐式组地址通过将逻辑地址和/或产品代码的全部位值都添上1来指定多个装置。特别地,该隐式组地址被称为簇代码。
图2为示例根据本发明的生活网络控制协议堆栈的结构图。该家庭网络系统1使得网络管理器20至23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40至49根据图2的生活网络控制协议(LnCP)彼此相互通信。因此,网络管理器20至23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40至49根据该LnCP进行网络通信。
如图2中所示,该LnCP包括应用软件50,用于执行网络管理器20至23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40至49的内部功能,并提供与应用层60的接口功能,用于远程控制和监视该网络;应用层60,用于向用户提供服务,并且还提供一个功能,用于以消息的形式从用户形成信息或命令并将该消息传输至下层;网络层70,用于可靠地将网络管理器20至23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40至49网络连接在一块;数据链路层80,用于提供对共享传输介质进行访问的介质访问控制功能;物理层90,用于提供网络管理器20至23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40至49之间的物理接口,以及被传输位的规则;以及参数管理层100,用于设置和管理在每层中使用的节点参数。
更详细地,该应用软件50进一步包括网络管理子层51,用于管理节点参数,以及对网络进行访问的网络管理器20至23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40至49。也就是说,该网络管理子层51执行参数管理功能,用于通过参数管理层100设置或使用节点参数值;以及网络管理功能,用于当使用LnCP的装置为主装置时组成或管理该网络。
当网络管理器20至23,LnCP路由器30和31,LnCP适配器35和36以及电子装置40至49访问的网络是一个非独立传输介质例如电源线,IEEE 802.11以及无线(例如,当LnCP包括PLC协议和/或无线协议时)时,该网络层70还包括家庭代码控制子层71,用于设置、管理以及处理用于在逻辑上划分每个单独的网络的家庭代码,。当通过独立的传输介质例如RS-485在物理上划分单独的网络时,该家庭代码控制子层71并不包括在LnCP中。每个家庭代码都由4个字节组成,并且被设置作为用户的随机值或指定值。
图3和4分别为示例图2的各层之间的接口的结构图。
图3示例了当物理层90与非独立传输介质相连时各层之间的接口,图4示例了当物理层90与独立传输介质相连时各层之间的接口。
该家庭网络系统1将每层需要的报头和报尾加给来自上层的协议数据单元(PDU),并将它们传输给下层。
如图3和4所示,应用层PDU(APDU)就是在应用层60与网络层70之间传输的数据,网络层PDU(NPDU)就是在网络层70与数据链路层80或家庭代码控制子层71之间传输的数据,并且家庭代码控制子层PDU(HCNPDU)就是在网络层70(准确的说,家庭代码控制子层71)与数据链路层80之间传输的数据。在数据链路层80与物理层90之间的数据帧单元中形成该接口。
图5-10分别为示例图3和4的接口的详细结构图。
图5示例了应用层60中的APDU结构。
APDU长度(AL)字段示出了APDU的长度(从AL到消息字段的长度),并最小值为4,最大值为77。
APDU报头长度(AHL)字段示出了APDU报头的长度(从AL到AL0的长度),有效具有3个字节并且可扩展至7个字节。在LnCP中,该APDU报头可以被扩展至7个字节,用于对消息字段进行编码以及改变应用协议。
应用层选项(ALO)字段扩展了消息集。例如,当ALO字段被设置为0时,如果ALO字段中含有不同值,则忽略消息处理。
消息字段对事件信息或来自用户的控制消息进行处理,并根据ALO字段的数值而被改变。
图6示例了网络层70中的NPDU结构,并且图7示例了NPDU的详细NLC结构。
LnCP信息包字段起始(SLP)表示信息包的起始,并且具有数值0x02。
目的地址(DA)和源地址(SA)字段分别为信息包的接收者和发送者的节点地址,并都是16位。最有效1位包括一个标记,该标记表示组地址,随后的7位包括一种产品(产品代码),并且较低的8位包括逻辑地址,用于区分相同种类的多个网络管理器20至23以及相同种类的多个电子装置40至49。信息包长度(PL)字段示出了将要被传送的NPDU的整个长度,并且它的初始长度为15个字节,最大长度为120个字节。
服务优先权(SP)字段给出了传输消息的传输优先权并具有3位。表2示出了每个传输消息的优先权。
当从装置响应于主装置的请求时,该从装置从主装置获取请求消息的优先权。
表2
  优先权   数值   消息类型
  0   -与安全相关的消息
中间 1   -当一般的信息包被传输时-当传输用于在线或脱机状态改变的事件消息时
一般 2   -当传输用于组成网络的通知消息时-当传输一般的事件消息时
  优先权   数值   消息类型
  低   3   -当通过下载或上传机制传输数据时
NPDU报头长度(NHL)字段扩展了NPDU报头(SLP的NLC字段),有效具有9个字节,并且可扩展至最大值17个字节。
协议版本(PV)字段表示被采用的协议版本,并且其长度为1个字节。较高的4位示出了版本,并且较低的4位示出了子版本。版本和子版本分别使用HEX来表示它们的数值。
网络层信息包类型(NPT)字段为4位字段,用于区分网络层70中的一种信息包。该LnCP包括请求信息包,响应信息包,以及通知信息包。主装置的NPT字段必须被设置为请求信息包或通知信息包,从装置的NPT字段必须被设置为响应信息包或通知信息包。表3根据信息包的种类示出了NPT数值。
表3
  说明   数值
  请求信息包   0
  保留的   1-3
  响应信息包   4
  保留的   5-7
  通知信息包   8
  保留的   9-12
  用于与家庭代码控制子层进行接口的保留数值   13-15
传输计数器(TC)字段为2位字段,当网络层70中出现了通信错误,使其无法准确地传送请求信息包或响应信息包时,为了加强通知信息包的传输成功率,重新传输请求信息包或重复地传送通知信息包。表4根据NPT数值示出了TC字段的数值范围。
表4
  信息包的种类   数值(范围)
  请求信息包   1-3
  信息包的种类   数值(范围)
  响应信息包   1
  通知信息包   1-3
信息包号(PN)字段由2个字节组成,其与TC一块使用,用于检测从装置中的重样信息包,并且被用于处理主装置中的多个通信周期。图5根据NPT数值示出了PN字段的数值范围。
表5
  信息包的种类   数值(范围)
  请求信息包   0-3
  响应信息包   复制请求信息包的PN字段数值
  通知信息包   0-3
APDU字段为在应用层60和网络层70之间传输的应用层60的协议数据单元。该APDU字段的最小值为0字节,最大值为88个字节。
循环冗余检验(CRC)字段为16位字段,用于检查已接收的信息包(从SLP到APDU)的错误。
LnCP信息包结束(ELP)字段为信息包的末端,其数值为0x03。如果没有检测到该ELP字段,即使接收到的数据的字节长度与信息包的长度字段的数值相同,也认为该信息包是错误信息包。
图8示例了家庭代码控制子层71中的HCNPDU结构。
如图8中所示,家庭代码(HC)字段被加到NPDU的上部。
该家庭代码由4个字节组成,并且在信息包能够被传输的线路长度中具有唯一的数值。
图9示例了数据链路层80中的帧结构。
根据传输介质改变LnCP的数据链路层帧的报头和报尾结构。当数据链路层80使用非标准化传输介质时,该帧的报头和报尾必须具备空字段,并且当数据链路层80使用标准化传输介质时,该帧的报头和报尾按照如协议所描述的形成。当物理层90为非独立的传输介质例如电源线或者IEEE 802.11时,NPDU字段为从上层网络层70传输的数据单元,并且HCNPDU为通过将家庭代码的4个字节加到NPDU的前部而得到的数据单元。该数据链路层80按照相同的方式处理NPDU以及HCNPDU。
图10示例了物理层90中的帧结构。
该LnCP的物理层90的功能是传输和接收物理信号至传输介质。该数据链路层80可以使用非标准化传输介质例如RS-485或小的输出RF或者标准化的传输介质例如电源线或IEEE.802.11作为LnCP的物理层90。使用LnCP的家庭网络系统1采用通用异步收发器(UART)帧结构和RS-232信号电平,使得网络管理器20至23以及电子装置40至49能够与RS-485,LnCP路由器30和31或LnCP适配器35和36连接。当UART使用串行总线连接在装置之间时,该UART控制通信线路上的位信号流。在LnCP中,来自上层的信息包转化为如图10所示的10位UART帧单元,并通过传输介质进行传输。该UART包括1位的起始位,8位的数据,以及1位的结束位,没有任何校验位。首先传输该起始位,接着传输数据位和结束位。当使用LnCP的家庭网络系统1采用了UART时,它就不具有额外的帧报头和帧报尾。下面将对在前面的层中使用的节点参数进行说明。
下面提到的节点参数的数据类型相当于表6的少数几个数据类型之一。
表6
  符号   数据类型   说明
  char   有符号的char   当没有规定数据长度时,1个字节
  uchar   没有符号的char   当没有规定数据长度时,1个字节
  int   有符号的int   当没有规定数据长度时,2个字节
  uint   没有符号的int   当没有规定数据长度时,2个字节
  long   有符号的long   当没有规定数据长度时,4个字节
  ulong   没有符号的long   当没有规定数据长度时,4个字节
  string   string   字符串数据,其中最后的字节为空
  FILE   -   具有文件结构的数据
首先,应用层60通过使用利用应用软件50从用户传输来的信息或命令生成消息和APDU,将该消息和APDU传输给较低网络层70,解释来自较低网络层70的APDU,以及将该APDU传输给应用软件50。
表7示出了在应用软件60中使用的节点参数值。
表7
  名称   类型   说明
  地址请求消息之间的传输间隔   constant uintAddressReqInt   在接通电源之后,直接从网络层70接收逻辑地址值。当该值为0x00时,以AddressReqInt秒的间隔连续地传输地址请求消息,直到指定一个地址。
  名称   类型   说明
  激活事件消息之间的传输间隔   uintNP_AliveInt   当网络层70的逻辑地址不是0x00时,在网络连接状态下,以NP_AliveInt秒的间隔连续地传输激活事件消息
  缓冲器大小   ucharNP_BufferSize   包含消息的缓冲器的大小(以字节数为单位)
  服务超时   const uintSvcTimeOut   应用层60接收请求消息发出原语RegMsgSend所花费的时间,30秒
  下载请求消息之间的传输间隔   const unitDLInterval   如果从装置的应用层接收了下载请求消息之后,该从装置的应用层无法接收其他的下载消息请求,则下载服务的间隔时间就被视为是失败的
网络层70执行下面的功能。
第一,网络层70执行地址管理功能,即存储它的地址以及目标网络管理器20至23或目标电子装置40至49的地址。这里,网络层70可以通过使用包括在地址中的网络管理器20至23或电子装置40至49的信息和地址信息来指定一个串地址,并支持多信道广播和广播通信。
第二,网络层70执行流动控制功能,即管理通信周期和控制信息包的流动。
第三,网络层70执行错误控制功能。也就是说,当网络层70在一规定时间内没有接收响应信息包时,该网络层70就会重新尝试数据。重试计数最大为3。
第四,网络层70执行事务控制功能,即通过检查重样的信息包来防止相同消息的重样事务,并控制同步通信周期。
第五,网络层70执行路由选择控制功能,即在至少两个独立的传输介质之间传输信息包,并控制信息包的流动,以防止LnCP路由器30和31以及LnCP适配器35和36之间的死循环。
该网络层70以通信周围为单元提供服务。该通信周期被分为{1-Request,1-Response}(1-请求,1-响应),{1-Request,Multi-Response}(1-请求,多-响应),{1-Notification}(1-通知),以及{Repeated-Notification}(重复-通知)。
在{1-Request,1-Response}通信周期内,一个主装置向一个从装置传输一个请求信息包,并且该从装置向主装置传输一个响应信息包作为响应。
在{1-Request,Multi-Response}通信周期内,一个主装置向多个从装置传输一个请求信息包,并且每个从装置都顺序地传输对应于该请求信息包的响应信息包。
在{1-Notification}通信周期内,(主或从)装置传输一个通知信息包给一个或多个(主或从)装置,并直接结束通信。
在{Repeated-Notification}通信周期内,为了获得{1-Notification}通信周期内的传输可靠性,重复传输相同的信息包,并结束通信。
表8示出了上面提到的通信周期,信息包类型,以及传输服务(或网络层服务)之间的关系。
表8
  通信周期   信息包类型   NL服务
  {1-Request,1-Response}   请求信息包-响应信息包   肯定应答(0)
  {1-Request,Multi-Response}   请求信息包-响应信息包   肯定应答(0)
  {1-Notification}   通知信息包   否定应答(1)
  {Repeated-Notification}   通知信息包   重复-通知(2)
图11和12为示例用于传输在各层之间被交换的数据的原语的结构图。
图11示例了在主装置的各层之间传输原语。
如图11中所示,应用软件50和应用层60之间的原语包括UserReq,UserDLReq,UserULReq,ALCompleted,UserRes以及UserEventRcv。
用户请求原语UserReq是由来自于主装置的应用软件50的单个通信周期形成的服务请求原语,用于控制和监测。该用户请求原语UserReq包括表9A的组成要素。
表9A
  名称   类型   说明
  应用服务代码   ulongALSvcCode   应用层60的应用服务代码,产品代码与命令代码的组合
  请求消息   RequestMessage<sup>*</sup>ReqMsg   包括命令代码和输入自变量的请求消息
  请求消息的长度   ucharReqMsgLength   请求消息的字节数据长度
  目的地址   uint DstAddress   接收器装置的地址
  名称   类型   说明
  网络层服务   uchar NLService   网络层70中的传输服务0:请求-响应-消息1:只-请求-消息2:重复-消息3:只事件消息
  超时   uint TimeOut   当AL服务为请求-响应-消息时,主装置传输请求信息包以及接收响应信息包所花费的时间(ms),或者当AL服务为重复消息时,连续消息之间的时间间隔(ms)
  服务优先权   ucharSvcPriority   数据链路层80中的传输优先权
在应用层服务(AL服务)中,请求-响应-消息是请求消息和响应消息的组合。这里,主装置传输请求消息,并且接收该请求消息的从装置一直传输响应消息。在只-请求-消息中,只提供请求消息。这里,接收请求消息的从装置并不传输响应消息。在重复-消息中,只连续地提供请求消息或事件消息。这里,从装置并不传输响应消息。在只-事件-消息中,只提供事件消息。这里,从装置并不传输响应消息。
用户下载请求原语UserDLReq为从主装置的应用软件50传输的下载服务请求原语,并且包括表9B的组成要素。
表9B
  名称   类型   说明
  应用服务代码   ulong ALSvcCode   应用层60的应用服务代码,产品代码与命令代码的组合
  下载文件   FILE<sup>*</sup>DownloadFile   具有下载数据的文件
  应用层服务   uchar ALService=0   传输服务类型被固定为请求-响应-消息(0)
  目的地址   uint DstAddress   接收器装置的地址
  超时   uint TimeOut   主装置传输请求信息包以及接收响应信息包所花费的时间(ms)
  名称   类型   说明
  服务优先权   uchar SvcPriority   数据链路层80中的传输优先权被固定为1
用户上传请求原语UserULReq为从主装置的应用软件50传输的上传服务请求原语,并且包括表9C的组成要素。
表9C
  名称   类型   说明
  应用服务代码   ulong ALSvcCode   应用层60的应用服务代码,产品代码与命令代码的组合
  上传文件   FILE<sup>*</sup>UploadFile   用于存储上传数据的文件名
  应用层服务   uchar ALService   固定为请求-响应-消息(0)的传输服务类型
  目的地址   uint DstAddress   接收器装置的地址
  超时   uint TimeOut   主装置传输请求信息包以及接收响应信息包所花费的时间(ms)
  服务优先权   uchar SvcPriority   固定为1的数据链路层80中的传输优先权
用户响应原语UserRes为用于将主装置的服务执行结果传输给应用软件50的原语,并且包括表9D的组成要素。
表9D
  名称   类型   说明
  应用服务代码   ulong ALSvcCode   应用层60的应用服务代码,产品代码与命令代码的组合
  响应消息   ResponseMessage<sup>*</sup>ResMsg   具有命令代码和返回自变量的响应消息
  响应消息的长度   uchar ResMsgLength   响应消息的字节数据长度
  源地址   uint SrcAddress   发送器装置的地址
用户事件接收原语UserEventRcv为被传输给主装置的应用软件50的事件服务原语,并且包括表9E的组成要素。
表9E
  名称   类型   说明
  应用服务代码   ALSvcCode   应用层60的应用服务代码,产品代码、命令代码以及事件代码的组合
  事件消息   EventMessage<sup>*</sup>EventMsg   来自从装置的事件消息
  事件消息的长度   uchar ResMsgLength   响应消息的字节数据长度
  源地址   uint SrcAddress   发送器装置的地址
应用层完成原语ALCompleted为将主装置的应用层60的执行结果传输给应用软件50的原语,并且包括表9F的组成要素。
表9F
  名称   类型   说明
  应用服务代码   ulongALSvcCode   应用层60的应用服务代码,产品代码以及命令代码的组合
  服务结果   uchar ALResult   如果应用软件成功地完成了被请求的服务,该值将为SERVICE_OK(1),如果没有,将为SERVICE_FAILED(0)
  失败原因代码   uchar ALFailCode   当ALResult为SERVICE_FAILED时,失败原因的值
仍旧参看图11,应用层60与网络层70之间的原语包括ReqMsgSend,NLCompleted以及MsgRev。
该请求消息发送原语ReqMsgSend为用于将消息从主装置的应用层60传输至网络层70的原语,并且包括表10A的组成要素。
表10A
  名称   类型   说明
  通信周期标识符   ulong CycleID   主装置中通信周期的ID号
  名称   类型   说明
  请求消息   uchar*ReqAPDU   包括在主装置的应用层60中生成的请求消息的APDU
  请求消息的长度   uchar APDULength   APDU的字节数据长度
  目的地址   uint DstAddress   接收器装置的地址
  源地址   uint SrcAddress   发送器装置的地址
  网络层服务   uchar NLService   主装置的通信周期服务类型0:肯定应答;1:否定应答;2:重复通知
  响应超时   ucharresponseTimeOut   当NL服务被选择为肯定应答时,主装置传输请求信息包和接收响应信息包所花费的时间
  重复通知信息包之间的传输间隔   uint RepNotiInt   当选择NL服务作为重复通知时,连续的通知信息包之间的时间间隔(ms)
  服务优先权   uchar SvcPriority   请求消息的传输优先权
这里,通过将应用服务代码ALSvcCode与接收器装置的节点地址组合来生成通信周期标识符CycleID。
消息接收原语MsgRcv为将信息包从主装置的网络层70传输至应用层60的原语,并且包括表10B的组成要素。
表10B
  名称   类型   说明
  通信周期标识符   ulong CycleID   主装置中通信周期的ID号
  事件响应消息   uchar<sup>*</sup>ResEventAPDU   被传输至应用层60的APDU
  事件响应消息的长度   uchar APDULength   APDU的字节数据长度
  目的地址   uint DstAddress   接收器装置的地址
  源地址   uint SrcAddress   发送器装置的地址
通信周期标识符CycleID的结构将在后面说明。
网络层完成原语NLCompleted为用于将信息包处理状态从网络层70通知给应用层60的原语,并且包括表10C的组成要素。
表10C
  名称   类型   说明
  通信周期标识符   ulong CycleID   主装置中通信周期的ID号
  传输结果   uchar NLResult   如果成功的完成了通信周期,则该数值将为CYCLE_OK(1),如果不是,将为CYCLE_FAILED(0)
  失败原因代码   uchar NLFailCode   当NLResult的数值为CYCLE_FAILED时,失败原因的分类值
  重试计数   ucharNLSuccessCode   当NLResult的数值为CYCLE_OK时,重新传输的次数
下面将不再说明其余层之间的原语。
图12示例了从装置各层之间原语的传输。
首先,应用软件50a与应用层60a之间的原语包括UserReqRcv,UserResSend以及UserEventSend。
用户请求接收原语UserReqRcv为用于将请求消息(包括下载和上传)从主装置传输至从装置的应用软件50a的原语,并且包括表11A的组成要素。
表11A
  名称  类型   说明
  应用服务代码  ulong ALSvcCode   产品代码和命令代码的组合,应用层60a的服务代码
  请求数据  uchar<sup>*</sup>ReqData   包括在来自主装置的请求消息的数据
  请求数据的长度  uchar ReqDataLength   请求数据的长度(字节)
  源地址  uint SrcAddress   发送器装置的地址
用户响应发送原语UserResSend为用于将对应于主装置的请求消息的响应消息传输给从装置的应用层60a的原语,并且包括表11B的组成要素。
表11B
  名称  类型  说明
  应用服务代码  ulong ALSvcCode  产品代码和命令代码的组合,应用层60a的服务代码
  响应数据  uchar<sup>*</sup>ResData  包括在被传输至主装置的响应消息中的数据
  响应数据的长度  uchar ResDataLength  ResData的字节长度
用户事件发送原语UserEventSend为用于将要被传输至主装置的从装置的事件消息的状态变量值传输给应用层60a的原语,并且包括表11C的组成要素。
表11C
  名称   类型   说明
  应用服务代码   ulong ALSvcCode  应用层60a的服务代码,产品代码、命令代码和事件代码的组合
  应用层服务   ucharALService  传输服务类型2:重复消息3:只事件消息
  事件代码   uint EventCode  事件代码
  状态变量值   uchar*StateValue  事件消息的状态变量值
仍旧参看图12,应用层60a与网络层70a之间的原语包括ReqMsgRcv,ResMsgSend,EventMsgSend以及NLCompleted。
请求消息接收原语ReqMsgRcv为用于将从网络层70a接收到的请求消息传输至应用层60a的原语,并且包括表12A的组成要素。
表12A
  名称   类型   说明
  请求消息   uchar<sup>*</sup>ReqAPDU   被传输至应用层60a的APDU
  请求消息的长度   uchar APDULength   APDU的字节数据长度
  目的地址   uint DstAddress   接收器装置的地址
  名称   类型   说明
  源地址   uint SrcAddress   发送器装置的地址
  网络层服务   uchar NLService   从装置的通信周期服务类型0:肯定应答;1:否定应答
  重样信息包检查结果   ucharDuplicateCheck   当NL服务被选择为肯定应答时,主装置传输请求信息包和接收响应信息包所花费的时间
响应消息发送原语ResMsgSend为用于将响应消息从应用层60a传输至网络层70a的原语,并且包括表12B的组成要素。
表12B
  名称   类型   说明
  通信周期标识符   ulong CycleID   从装置中通信周期的ID号
  响应消息   uchar<sup>*</sup>ResAPDU   包括在从装置的应用层60中生成的响应消息的APDU
  响应消息的长度   uchar APDULength   APDU的字节数据长度
事件消息发送原语EventMsgSend为用于将事件消息从应用层60a传输至网络层70a的原语,并且包括表12C的组成要素。
表12C
  名称   类型  说明
  通信周期标识符   ulong CycleID  从装置中通信周期的ID号
  事件消息   uchar<sup>*</sup>EventAPDU  包括在从装置的应用层60a中生成的事件消息的APDU
  事件消息的长度   uchar APDULength  APDU的字节数据长度
  目的地址   uint DstAddress  接收器装置的地址
  源地址   uint SrcAddress  发送器装置的地址
  名称   类型  说明
  网络层服务   uchar NLService  网络层70a的传输服务1:否定应答;2:重复通知
  重复通知消息之间的传输间隔   uint RepNotiInt  当NL服务被选择为重复通知时,连续的通知信息包之间的间隔时间(ms)
  服务优先权   uchar SvcPriority  事件消息的传输优先权
网络层完成原语NLCompleted为用于将信息包处理状态从网络层70a通知给应用层60a,并且包括表12D的组成要素。
表12D
  名称   类型   说明
  通信周期标识符   ulong CycleID   从装置中通信周期的ID号
  传输结果   uchar NLResult   如果成功的完成了通信周期,则该值将为CYCLE_OK(1),如果不是,将为CYCLE_FAILED(0)
  失败原因代码   uchar NLFailCode   当NLResult的值为CYCLE_FAILED时,失败原因的分类值
  重试计数  uchar NLSuccessCode   当NLResult的数值为CYCLE_OK时,重新传输的次数
下面将不再说明其余层之间的原语。
根据在消息上排列的字节(或位)数据,数据的高字节(或位)位于消息的左侧,而数据的低字节(或位)位于消息的右侧。下面描述应用层60和60a对该消息进行处理。
*Request Message(请求消息):将在从装置中进行的命令执行消息,其被从主装置的应用层60传送至网络层70,或者从从装置的网络层70a传送至应用层60a。根据来自网络层70a的传输模式,从装置的应用层60a能够发送响应消息(将要被描述);
*Response Message(响应消息):传达从装置中命令执行结果的消息,其被从主装置的网络层70传送至应用层60,或者被从从装置的应用层60a传送至网络层70a。响应于请求消息而发出该消息;以及
*Event Message(事件消息):传达装置状态变化的消息,其被从网络层传送至应用层(在被发送侧的情况下),或者被从应用层传送至网络层(在接收侧的情况下)。该接收侧并不对该消息作出响应。
图13-15分别示例了请求消息的结构。
图13示出了一个基本请求消息,其由命令代码CC以及自变量arg1,arg2,...构成。通常,发出请求消息就是用于控制装置,检查装置状态,以及检查装置的信息。
图14示出了一个下载请求消息,其中包括全部页TotalPage字段以及当前页CurrentPage字段作为输入自变量,所述的输入自变量用于分割数据并将其传输给装置。图15示出了一个上传请求消息,其中包括页数PageNo和数据大小DataNo作为输入自变量,所述的输入自变量用于分割以及从装置获取数据。
更详细地,当具有预定数据的主装置想要将该数据传输给从装置和/或另一个主装置时,发出该下载请求消息。按照预定数据大小对该数据进行分割,并且被分割数据的总数成为总页数,并且包括在当前请求消息中并被传输的特定页成为当前页。
当主装置想要上传被保留在从装置和/或另一个主装置中的数据时,发出该上传请求消息。该主装置请求具备相同大小的部分数据,并且该部分数据成为具备相同页数的被分割数据。
图16-18分别示例了响应消息的结构。
主要有两种类型的响应消息:如果来自主装置的请求被成功执行,就会生成ACK-响应消息,以及如果该请求失败了,就会生成NAK-响应消息。
图16示出了ACK-响应消息的结构。从图中可以看出,ACK-响应消息由表示请求执行的结果的命令代码CC,ACK(例如0x06),以及自变量(arg1,arg2,...)构成。当从装置成功地执行来自主装置的请求时,传输该ACK-响应消息。
图17示出了NAK-响应消息的结构。从图中可以看出,该NAK-响应消息由命令代码CC,NAK(例如0x15),以及1字节NAK_code构成。当从装置执行来自主装置的请求失败时,传输该NAK-响应消息。该NAK_code应该与涉及产品操作失败的错误区别开来,这是对请求失败的原因进行分类的代码值,特别是由于在主装置与从装置之间进行通信期间的错误命令代码或错误自变量而引起的。
图18示出了包括错误代码Error_code的NAK-响应消息。该错误代码Error_code为涉及产品操作的错误。如果从装置主要是因为这种类型的错误而未能执行请求,则该NAK_code值就被固定为预定值,也就是说例如‘0x63’,并且Error_code值跟在NAK_code之后。
图19示例了事件消息的结构。
当装置状态改变时,生成事件消息。从图中可以看出,事件消息由命令代码(例如0x11),2字节的事件代码,以及4个字节的状态值构成。在事件代码中,较高字节表示产品代码,低字节表示状态变量。
图20为说明根据本发明第一实施例用于应用层的数据处理方法的流程图。简言之,主装置的应用层60从应用软件50接收预定的原语,组成APDU,并将该APDU传输给网络层70。
现在参看图20,在步骤S61中,主装置的应用层60接收用户请求原语UserReq,用户下载请求原语UserDLReq,或者用户上传请求原语UserULReq。
在步骤S62中,由于在包括在用户请求原语UserReq中的应用层服务代码ALSvcCode中指定的服务由单个通信周期形成,因此主装置的应用层60分割出用于处理的单个通信周期。
类似地,由于在包括在用户下载请求原语UserDLReq或用户上传请求原语UserULReq中的应用层服务代码ALSvcCode中指定的服务由多个通信周期CycleNo形成,因此主装置的应用层60将该通信周期CycleNo分为单个通信周期,并且连续地处理每个通信周期,使得能够处理整个通信周期CycleNo。
在步骤S63中,主装置的应用层60生成请求或通知消息,以便于执行由用户请求原语UserReq的单个通信周期形成的服务。同时,主装置的应用层60根据下载或上传过程生成多个请求消息(生成的请求消息的数量等于预定数据中被分割数据的数量),以便于执行由用户下载请求原语UserDLReq或用户上传请求原语UserULReq的多个通信周期CycleNo形成的服务。
在步骤S64中,主装置的应用层60生成通信周期标识符CycleID,用于已生成的请求或通知消息。实际上,主装置的应用层60将相同的通信周期标识符CycleID给予用户下载请求原语UserDLReq或用户上传请求原语UserULReq的多个请求消息(即,具备一致的CycleID的消息),并且连续地执行由单个通信周期形成的各个服务。下文中,图20中描述的原语包括用户请求原语UserReq,用户下载请求原语UserDLReq,以及用户上传请求原语UserULReq。
如图22中所示,该通信周期标识符为4字节字段,其由目的地址DstAddress以及命令代码组成。也就是说,主装置的应用层60通过将包括在来自应用层50的原语中的应用层服务代码ALSvcCode与目的地址DstAddress组合而生成通信周期标识符CycleID。
返回至图20,在步骤S65中,由于主装置的应用层60无法给出相同的通信周期标识符CycleID,直到完成该通信周期,因此取而代之的是它就会查找预存的服务说明(即将描述)。如果存在与步骤S64中生成的新通信周期标识符CycleID相同的ID值,则该主装置的应用层60就会忽略掉新的通信周期标识符CycleID,并且直接进行至步骤S67,而不会生成任何它的服务说明。
在步骤S66中,当主装置的应用层60接收到原语时,它就会生成一个具有表13中所示结构的服务说明。
13
  变量   类型   说明
  ALSvcCode   4字节   应用层的服务代码
  ALSvcType   1字节   在应用层的服务类型0:请求-响应-消息1:只-请求-消息2:重复-消息3:只-事件-消息
  CycleNo   1字节   服务执行的通信周期号
  CycleID   4字节   通过APDU被传送至网络层的通信周期标识符
下面将更详细地描述如何设置表13中的每个变量。
*设置应用层服务代码ALSvcCode为包括在原语中的应用层服务代码ALSvcCode;
*设置应用层服务类型ALSvcType为包括在原语中的应用层服务代码,例如‘0’表示请求-响应-消息,‘1’表示只-请求-消息,‘2’表示重复-消息,并且‘3’表示只-事件-消息;
*通信周期号在用户请求原语UserReq的情况下设置通信周期号CycleNo为‘1’,并且在用户下载请求原语UserDLReq或用户上传请求原语UserULReq的情况下设置为相应于被分割消息(或数据)的值;以及
*通信周期标识符CycleID是根据节点地址以及应用层服务代码ALSvcCode而设置的。
在图20的步骤S67中,主装置的应用层60通过将报头加给传输至网络层70的消息而组成APDU。这时,报头中字段值设置如下。
*AL=传输消息的字节数+3;
*AHL=3;以及
*ALO=0(如果没有应用层选项)。
在步骤S68中,主装置的应用层使用请求消息发送原语ReqMsgSend将APDU传输至网络层70。
步骤S69之后的数据处理方法执行完成所涉及的通信周期和服务。
在步骤S69中,为了确定该通信周期是否已经完成了,主装置的应用层60确定在服务执行开始后服务超时SvcTimeOut内该网络层完成原语NLCompleted是否已经被从网络层传出。如果是,则主装置的应用层60确定该通信周期已经完成并且进行至步骤S70。在步骤S70中,主装置的应用层60将在服务说明中定义的通信周期号CycleNo减少预定值(例如,‘1’)。另一方面,如果在服务超时SvcTimeOut内并没有传输网络层完成原语NLCompleted,则主装置的应用层60进行至步骤S71,并将通信周期号CycleNo设置为‘0’。例如,有时候由于消息的传输错误或从装置失效,该网络层完成原语NLCompleted并没有传输。除了上述的方案以外,应用层60还能够通过检查NAK响应消息来确定该通信周期是否已经完成。如果接收到了NAK响应消息,则该数据处理方法进行至步骤S71,这里,该应用层60将通信周期号CycleNo设置为‘0’。这样进行的原因是因为当响应于由多个通信周期形成的服务(例如下载和上传服务)而接收NAK响应消息时,整个服务必须被终止。
在步骤S72中,主装置的应用层60确定整个周期是否被完全执行。例如,当通信周期号CycleNo为‘0’时,主装置的应用层60就会认为服务已经完成,否则,该数据处理方法就会进行至用于执行剩余消息的通信周期的步骤S65或S67,使得多个通信周期CycleNo能够被完成。
在步骤S73中,主装置的应用层60删除相应的服务说明,并且在步骤S74中,主装置的应用层60将包括服务执行结果的应用层完成原语ALCompleted传输至应用软件50。
图21为说明根据本发明第二实施例用于应用层的数据处理方法的流程图。总而言之,从装置的应用层60a从应用软件50a接收预定原语,组成APDU,并将该APDU传输至网络层70a。
在步骤S81中,从装置的应用层60a从应用软件50a接收用户事件发送原语UserEventSend。
在步骤S82中,从装置的应用层60a的数据接收功能禁用,无法从网络层70a接收任何数据。这里,通过预定的参数(未示出)或预定的逻辑能够使能该数据接收功能。
在步骤S83中,从装置的应用层60a组成并生成事件消息,该事件消息包括事件代码EventCode和状态变量StateVariable,并被包括在用户事件发送原语UserEventSend中。
在步骤S84中,从装置的应用层60a根据所有主装置(即网络管理器20至23)的目的地址(例如,0x00FF)以及事件消息的命令代码(例如,0x11)生成通信周期标识符。因此,由用户事件发送原语UserEventSend生成的每个通信周期标识符CycleID都具有相同值。
在步骤S85中,由于从装置的应用层60a一次只能处理一个通信周期,因此如果预存储的服务说明当前正在进行,就必须等待,直到该服务完成以及该服务说明被删除。
在步骤S86中,从装置的应用层60a生成一个服务说明,该服务说明具有如下与表13中所示类似的结构。
*应用层服务代码ALSvcCode被设置为包括在用户事件发送原语UserEventSend中的应用层的应用层服务代码ALSvcCode;
*应用层服务类型ALSvcType设置为重复-消息(2)或只-事件-消息(3);
*通信周期号CycleNo一直固定为‘1’;以及
*通信周期标识符CycleID固定为例如‘0x00FF0011’。
在步骤S87中,从装置的应用层60a组成一个APDU,该APDU包括在步骤S83中生成的事件消息,并且在步骤S88中,从装置的应用层60a通过使用事件消息发送原语EventMsgSend将该APDU传输给网络层70a。
步骤S89之后的数据处理方法执行完成所涉及的当前通信周期和服务。
在步骤S89中,从装置的应用层60a确定自从服务执行开始后该服务超时SvcTimeOut是否已经失效。如果是,则应用层60a进行至步骤S91,否则,该应用层60a进行至步骤S90。
在步骤S90中,从装置的应用层60a确定该网络层完成原语NLCompleted是否从网络层70传出。如果不是,则应用层60a进行至步骤S89,如果是,则该应用层60a进行至步骤S91。
在步骤S89和S90中,虽然该服务超时SvcTimeOut还没有失效,但是如果该网络层完成原语NLCompleted被传输,则从装置的应用层60a可以进行至步骤S91。当然,当服务超时SvcTimeOut失效时,从装置的应用层60a一直进行至步骤S91。
在步骤S91中,从装置的应用层60a删除了服务说明,并且在步骤S92中,使能从装置的应用层60a的数据接收功能,准备好从网络层70a接收数据。
图23为说明根据本发明第三实施例用于应用层的数据处理方法的流程图。简而言之,从装置的应用层60a从网络层70a接收请求消息接收原语ReqMsgRcv,提取出消息,并将该消息传输给应用软件50a。
在步骤S101中,从装置的应用层60a从网络层70a接收请求消息接收原语ReqMsgRcv。
在步骤S102中,从装置的应用层60a的数据接收功能禁用,无法从网络层70a接收任何数据。这里,通过预定的参数(未示出)或预定的逻辑能够完成该数据接收功能。
在步骤S103中,如果包括在来自网络层70a的请求消息接收原语ReqMsgRcv中的APDU的ALO字段值不等于预定值(例如,‘1’),则从装置的应用层60a进行至步骤S104,并忽略接收到的APDU。接着,在步骤S105中,使能应用层60a的数据接收功能,准备好接收数据。
在步骤S106中,从装置的应用层60a使用AHL字段的值从APDU中提取出消息。即使可能将未定义的新字段添加至接收到的APDU的报头,该从装置的应用层60a也应该能够通过AHL字段的被指定字节将其识别为报头,并从中提取出消息。
在步骤S107中,从装置的应用层60a确定是否根据网络层服务NLService生成服务说明。当包括在请求消息接收原语ReqMsgRcv中的消息的网络层服务NLService为否定应答(即,事件或通知消息)时,则不需要额外的操作(例如,生成和传输响应消息)。这样,从装置的应用层60a可以进行至步骤S109,而不生成服务说明。但是,当网络层服务NLService为肯定应答(即,请求消息)时,该从装置的应用层60a就会生成服务说明,该服务说明具有与表13所示类似的结构。
*应用层服务代码ALSvcCode包括:包括在用户事件接收原语UserEventRcv中的目的地址DstAddress以及包括在被提取消息中的命令代码;
*应用层服务类型ALSvcType固定为‘0’(请求-响应);
*通信周期号CycleNo固定为‘1’;以及
*通信周期标识符CycleID,通过将包括在用户事件接收原语UserEventRcv中的目的地址DstAddress与应用层服务代码ALSvcCode组合而设置或生成。
这样生成的通信周期标识符CycleID与图22中的一样。
返回至图23,在步骤S109中,从装置的应用层60a生成包括被提取消息的用户请求接收原语UserReqRcv,并将其传输给应用软件50a。
在步骤S110中,从装置的应用层60a确定包括在请求消息接收原语ReqMsgRcv中的网络层服务NLService是否为否定应答。如果是,则提取出的消息被传输至应用软件50a,并且不需要额外的操作(例如,生成和传输响应消息)。这样,使能应用层60a的数据接收功能,准备好从网络层70a接收数据。
图24为说明根据本发明第四实施例用于应用层的数据处理方法的流程图。概述该实施例的数据处理方法,从装置的应用层60a从应用软件50a接收用户响应发送原语UserResSend,组成APDU,并将该APDU传输给网络层70a。
在步骤S121中,从装置的应用层60a从应用软件50a接收用户响应发送原语UserResSend,并且在步骤S122中,使用包括在该原语中的响应数据组成响应消息。
在步骤S123中,从装置的应用层60a通过将报头加给传输至网络层70a的消息而组成APDU。这时,报头中字段值被设置如下。
*AL=传输消息的字节数+3;
*AHL=3;以及
*ALO=0(如果没有应用层选项)。
在步骤S124中,从装置的应用层60a使用响应消息发送原语ReqMsgSend将该APDU传输至网络层70a。
在步骤S125中,为了确定该通信周期是否已经完成,从装置的应用层60a确定该服务执行时间是否短于服务超时SvcTimeOut。如果是,则从装置的应用层60a进行至步骤S126,如果不是,则从装置的应用层60a进行至步骤S127。在步骤S126中,如果接收到了网络层完成原语NLCompleted,则从装置的应用层60a进行至步骤S127,如果没有,从装置的应用层60a进行至步骤S125。即使服务超时SvcTimeOut还没有失效,但是如果接收到了网络层完成原语NLCompleted,从装置的应用层60a也能够进行至步骤S127。无须讳言,当服务超时SvcTimeOut失效时,从装置的应用层60a一直进行至步骤S127。
在步骤S127中,从装置的应用层60a删除预生成和存储的服务说明(参看图23的S108)。
在步骤S128中,使能从装置的应用层60a的数据接收功能,准备好从网络层70a接收数据。
图25为说明根据本发明第五实施例用于应用层的数据处理方法的流程图。简要地说明该实施例的数据处理方法,主装置的应用层60从网络层70接收请求消息接收原语ReqMsgRcv,从中提取消息,并将该消息传送至应用软件50a。
在步骤S141中,主装置的应用层60从网络层70接收消息接收原语MsgRcv。
在步骤S142中,如果包括在接收到的消息接收原语MsgRcv中的APDU的ALO字段值不等于预定值(例如‘0’),则主装置的应用层60进行至步骤S143并忽略接收到的APDU。但是,如果ALO字段值等于预定值,则主装置的应用层60进行至步骤S144。
在步骤S144中,主装置的应用层60使用AHL字段的值从APDU提取出消息。即使可能将未定义的新字段添加至接收到的APDU的报头,该主装置的应用层60也应该能够通过用于AHL字段的被指定字节将其识别为报头,并从中提取出消息。
在步骤S145中,主装置的应用层60检查对应于接收到的消息接收原语MsgRcv的服务说明。如果存在与包括在消息接收原语MsgRcv中的通信周期标识符CycleID相同数值的服务说明,则主装置的应用层60进行至步骤S146。但是,如果没有这种服务说明,则主装置的应用层60进行至步骤S147。在步骤S145中检查服务说明的原因就是要确定包括在消息接收原语MsgRcv中的消息是否为响应消息。如果存在相应的服务说明时,就意味着必定已经存在对应于响应消息的请求消息(为了说明后面的原则,当主装置的应用层60从应用软件50接收请求消息,并生成和传输一个用户请求原语UserReq至另一个装置例如主装置和/或从装置时,它也生成和存储一个用于请求消息的服务说明)。这里,该服务说明具有与表13中所示类似的结构。
在步骤S146中,主装置的应用层60生成包括被提取消息的用户响应原语UserRes,并将该UserRes传输至应用软件50。
在步骤S147中,主装置的应用层60检查该提取出的消息是否为事件消息。由于事件消息通常包括预定的命令代码(例如0x11),因此主装置的应用层60能够容易地检查出提取出的消息是否包括该命令代码。如果证明得出该提取出的消息就是事件消息,则主装置的应用层60进行至步骤S148,并生成包括被提取出消息的用户事件接收原语UserEventRcv,并将该UserEventRcv传输给应用软件50。同时,如果提取出的消息被证明是请求消息而不是事件消息,则主装置的应用层60进行至步骤S149,并且忽略和丢弃该消息。
如前面所说明的,根据本发明的用于应用层的数据处理方法使用控制协议,其中该控制协议为用于对家庭网络系统中的电子装置提供控制和监视功能的通用通信标准。
还有,根据本发明的用于应用层的数据处理方法使用生活网络控制协议作为通用通信标准。
根据本发明的用于应用层的数据处理方法使用多个统一的原语,用于在生活网络控制协议中传输数据。
还有,包括应用层的上层生成、传输以及处理消息。
还有,根据消息的特性,执行一个或多个通信周期。
还有,在预定消息和信息包处理期间控制该数据接收处理。
还有,包括从装置应用层的的上层生成、传输以及处理消息。
还有,通过将数据接收功能设置为使能或禁用状态来控制输出处理。
还有,包括主装置应用层的的上层生成、传输以及处理消息。
还有,根据消息的特性来处理数据。
虽然已经对本发明的优选实施例进行了描述,但可以理解的是,本发明应该不仅限于这些优选实施例,并且在随后的权利要求书所规定的本发明的精神和范围内,本领域内的技术人员能够进行各种改变和修改。

Claims (25)

1.一种基于预定协议用于应用层的数据处理方法,其中该预定协议由至少下层和应用层组成,该方法包括步骤:
从上层应用软件接收预定原语;
根据该原语生成通信周期标识符CycleID;
根据该原语和通信周期标识符CycleID生成服务说明;
组成包括该原语的应用层协议数据单元APDU;以及
将该APDU传输至下层。
2.根据权利要求1的方法,其中通过将包括在原语中的应用层服务代码ALSvcCode与目的地址DstAddress组合来生成通信周期标识符CycleID。
3.根据权利要求1的方法,其中该服务说明包括:包括在原语中的应用层服务代码ALSvcCode、根据所述应用层服务代码ALSvcCode的应用层服务类型ALSvcType、通信周期号CycleNo以及通信周期标识符CycleID。
4.根据权利要求1的方法,进一步包括步骤:
完成通信周期。
5.根据权利要求4的方法,其中该完成步骤包括子步骤:
进行第一确定,关于在从服务执行开始的服务超时SvcTimeOut内是否接收到了来自下层的网络层完成原语NLCompleted。
6.根据权利要求5的方法,其中如果,在第一确定步骤中,在服务超时SvcTimeOut内接收到了网络层完成原语NLCompleted,则包括在服务说明中的通信周期号CycleNo减少预定值,并且如果没有,则通信周期号CycleNo被设置为‘0’。
7.根据权利要求5的方法,其中该完成步骤进一步包括子步骤:
进行第二确定,关于包括在服务说明中的通信周期号CycleNo是否为‘0’。
8.根据权利要求7的方法,其中如果,在第二确定步骤中,该通信周期号CycleNo为‘0’,则删除该服务说明,并且如果不是,则生成通信周期标识符CycleID或组成APDU。
9.根据权利要求5的方法,其中该完成步骤进一步包括步骤:
如果,在完成步骤的第一确定步骤中,在服务超时SvcTimeOut失效之前接收到了网络层完成原语NLCompleted或者如果该服务超时SvcTimeOut失效了,则删除该服务说明。
10.根据权利要求1至8之一的方法,进一步包括步骤:
在服务说明被删除之后,将应用层完成原语ALCompleted传输至应用软件。
11.根据权利要求1至8之一的方法,进一步包括步骤:
在生成通信周期标识符CycleID之后,查找对应于该生成的通信周期标识符CycleID的预存服务说明,以便于根据该查找结果确定是否生成服务说明。
12.根据权利要求1,4至8之一的方法,进一步包括步骤:
在接收到原语之后,根据包括在该原语中的应用层服务代码ALSvcCode分割通信周期;以及
根据分割后的通信周期生成请求或通知消息,
其中在APDU的组成步骤期间分割通信周期以及生成请求或通知消息。
13.根据权利要求1,4和9之一的方法,进一步包括步骤:
在生成通信周期标识符CycleID之后,查找对应于已生成的通信周期标识符CycleID的预存服务说明;以及
根据该查找结果,等待直到该被查找的服务说明被删除。
14.根据权利要求1,4和9之一的方法,进一步包括步骤:
在接收到原语之后,将数据接收功能设置为禁用状态;以及
生成包括原语中的事件代码EventCode以及状态变量StateVariable的事件消息,其中该事件消息被包括在组成APDU中。
15.根据权利要求14的方法,进一步包括步骤:
在删除了服务说明之后,将数据接收功能设置为使能状态。
16.一种基于一协议用于应用层的数据处理方法,其中该预定协议由至少下层和应用层组成,该方法包括步骤:
从下层接收包括应用层协议数据单元APDU的请求消息接收原语ReqMsgRcv;
确定APDU中应用层选择ALO字段的值是否等于预定值;
当APDU中应用层选择ALO字段的值等于预定值时,从APDU中提取出消息;
确定包括在请求消息接收原语ReqMsgRcv中的网络层服务NLService是否为肯定应答;
当包括在请求消息接收原语ReqMsgRcv中的网络层服务NLService为肯定应答时,生成服务说明;
生成包括该消息的用户请求接收原语UserReqRcv;以及
将生成的用户请求接收原语UserReqRcv传输给应用软件。
17.根据权利要求16的方法,进一步包括步骤:
在原语接收步骤之后,将数据接收功能设置为禁用状态。
18.根据权利要求16的方法,其中如果该网络层服务NLService为否定应答,则不生成服务说明。
19.根据权利要求16的方法,其中该服务说明包括应用层服务代码ALSvcCode,应用层服务类型ALSvcType,通信周期号CycleNo,以及通信周期标识符CycleID。
20.根据权利要求17或18的方法,进一步包括步骤:
如果请求消息接收原语ReqMsgRcv的网络层服务NLService为否定应答,在传输了用户请求接收原语UserReqRcv之后将数据接收功能设置为使能状态。
21.一种基于一协议用于应用层的数据处理方法,其中该预定协议由至少下层和应用层组成,该方法包括步骤:
从上层应用软件接收用户响应发送原语UserResSend;
根据该用户响应发送原语UserResSend生成响应消息;
组成包括该响应消息的应用层协议数据单元APDU;
使用预存服务说明将该APDU传输至网络层;
确定来自网络层的服务执行时间是否短于服务超时SvcTimeOut;
当来自网络层的服务执行时间短于服务超时SvcTimeOut时,确定是否接收到了网络层完成原语NLCompleted;
当来自网络层的服务执行事件长于服务超时SvcTimeOut时或者当虽然服务执行事件短于服务超时SvcTimeOut但是接收到了网络层完成原语NLCompleted时,删除服务说明;以及
将数据接收功能设置为使能状态。
22.一种基于一协议用于应用层的数据处理方法,其中该预定协议由至少下层和应用层组成,该方法包括步骤:
从下层接收包括应用层协议数据单元APDU的消息接收原语MsgRcv;
确定APDU中应用层选择ALO字段的值是否等于预定值;
当APDU中应用层选择ALO字段的值等于预定值时,使用APDU报头长度AHL字段的值从APDU中提取出消息;
检查是否查找到了对应于包括在消息接收原语MsgRcv中的通信周期标识符CycleID的服务说明;
当查找到了对应于包括在消息接收原语MsgRcv中的通信周期标识符CycleID的服务说明时,生成预定原语;以及
将生成的原语传输给上层的应用软件。
23.根据权利要求22的方法,其中当查找到了对应于包括在消息接收原语MsgRcv中的通信周期标识符CycleID的服务说明时,该消息接收原语MsgRcv包括响应消息。
24.根据权利要求22的方法,进一步包括步骤:
当没有查找到对应于包括在消息接收原语MsgRcv中的通信周期标识符CycleID的服务说明时,检查该提取出的消息是否为事件消息。
25.根据权利要求24的方法,进一步包括步骤:
如果提取出的消息不是事件消息,则忽略提取出的消息。
CN2005800104601A 2004-03-31 2005-03-31 用于应用层的数据处理方法 Expired - Fee Related CN1938986B (zh)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
KR1020040022213 2004-03-31
KR10-2004-0022214 2004-03-31
KR1020040022215 2004-03-31
KR10-2004-0022215 2004-03-31
KR10-2004-0022213 2004-03-31
KR20040022214A KR100629592B1 (ko) 2003-05-30 2004-03-31 응용계층에서의 데이터 처리 방법
KR20040022215A KR100595063B1 (ko) 2003-05-30 2004-03-31 응용계층에서의 데이터 처리 방법
KR1020040022214 2004-03-31
KR20040022213A KR100605217B1 (ko) 2003-05-30 2004-03-31 응용계층에서의 데이터 처리 방법
PCT/KR2005/000949 WO2005094194A2 (en) 2004-03-31 2005-03-31 Data processing method for application layer

Publications (2)

Publication Number Publication Date
CN1938986A CN1938986A (zh) 2007-03-28
CN1938986B true CN1938986B (zh) 2010-06-09

Family

ID=37955246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800104601A Expired - Fee Related CN1938986B (zh) 2004-03-31 2005-03-31 用于应用层的数据处理方法

Country Status (1)

Country Link
CN (1) CN1938986B (zh)

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
KIM S. ET AL..Home networking digital TV based on LnCP.IEEE TRANSACTIONS ON CONSUMER ELECTRONICS48 4.2002,48(4),990-996.
KIM S. ET AL..Home networking digital TV based on LnCP.IEEE TRANSACTIONS ON CONSUMER ELECTRONICS48 4.2002,48(4),990-996. *
LEE J. ET AL..A new home network protocol for controllingandmonitoring home appliances - HNCP.DIGEST OF TECHNICAL PAPERS. INTERNATIONAL CONFERENCE..2002,312-313.
LEE J. ET AL..A new home network protocol for controllingandmonitoring home appliances- HNCP.DIGEST OF TECHNICAL PAPERS. INTERNATIONAL CONFERENCE..2002,312-313. *
LEE K. ET AL..Network configuration technique for home appliances..CONSUMER ELECTRONICS.2002,180-181. *

Also Published As

Publication number Publication date
CN1938986A (zh) 2007-03-28

Similar Documents

Publication Publication Date Title
US8150986B2 (en) Data processing method for application layer
US7852842B2 (en) Data processing method for network layer
KR100638017B1 (ko) 네트워크 디바이스
US20100005166A1 (en) Network device
KR100596755B1 (ko) 홈 네트워크 시스템
CN100534074C (zh) 家庭网络设备
US7844680B2 (en) Home network system
CN1938984B (zh) 用于网络层的数据处理方法
US7668074B2 (en) Home network system
CN1938986B (zh) 用于应用层的数据处理方法
WO2005094194A2 (en) Data processing method for application layer
CN1939008A (zh) 用于数据链路层的数据接收方法以及传送方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100609

Termination date: 20120331