基于Agent 的变电站通信研究

2020-07-09 07:34傅军栋黄扬海
华东交通大学学报 2020年3期
关键词:轮询服务端客户端

傅军栋,陈 康,黄扬海

(华东交通大学电气与电子工程学院,江西 南昌330013)

传统电力系统中继电保护存在比较突出的问题,主要表现为:即使在系统运行方式发生变化时,继电保护的整定值不能跟随变化,没有自适应性[1];保护切除故障是按照本身的保护逻辑动作,保护之间缺乏足够的配合[2];保护仅考虑到切除相关设备的故障,没有考虑到对系统的影响[3];只是获取就地信息,没有获取充分的全局或局部信息,综合做出保护动作[4]。 这些问题对继电保护的可靠性、稳定性、灵敏性等有着严重的影响。

人工智能技术对模型的依赖程度较低,且适合于解决非线性和离散型优化问题,依据被广泛应用于电力系统的各类优化问题中[5]。 以多智能体系统(multi-agent system,MAS)为代表的技术通过协作解决分布式问题的能力受到研究人员的关注。 智能体不仅自身具备解决问题的能力和明确的行为模板,而且智能体之间能够相互配合,通过协调实现更优化的目标效果[6]。 将智能变电站继电保护与多智能体技术相结合,实时计算和设置参数,用于改善现有的保护技术。为了能快速切除故障,变电站的线路、母线、变压器等部分都安装了保护继电器,因此,变电站的保护和控制是分布式的。变电站的结构复杂,运行状态总是动态变化,多智能体技术正是适合运行在这样的环境中。

在变电站中应用多智能体技术,通信是需要考虑的首要问题。 目前,国外把Agent 技术与IEC 61850 结合的研究,主要有以下几个方向:在Agent 间通信的FIPA 标准中拓展IEC 61850 中的相关概念[7];用本体实现IEC 61850 标准和Agent 通信的映射[8];利用Agent 的定义构建系统,实现分布式控制[9]。

国内在IEC 61850 标准和Agent 技术的结合上做了许多研究。 主要实现方式包括: 使用本体实现IEC 61850 标准和Agent 消息的映射;资源描述框架(resource describtion framework,RDF)实现IEC 61850 和Agent 间的映射;利用Agent 定义,设计IED 设备的逻辑结构。 其中,文献[10]提出为了解决配电网中设备信息共享和互操作问题,引入了IEC 61850 标准,同时,为了配电网中解决分布式问题应用MAS 系统。将IEC 61850 与MAS 结合起来,需要把标准中定义的信息模型映射到ACL 本体,设备优化问题通过多Agent 系统技术解决,设备跨平台通信问题通过Web 服务解决。 文献[11]针对DER 大量接入电网后,配电网故障恢复的控制问题,提出了IEC 61850 的ADN 故障自恢复MAS。 通过代理之间的通信与协商完成故障定位、隔离和供电恢复。 文献[12]在交直流混合电网中,在多端直流的端子上设置智能体,智能体包含信息获取模块和自主决策模块,通过智能体之间的多智能体与系统间的交互、协调,实现各端换流站间有功功率的合理分配。

文献[10]和[11]将IEC 61850 中的数据模型和服务映射为ACL 语言的本体元素,使Agent 作为IED 设备的决策机构。 Agent 之间和Agent 与IEC 设备间通信,增加了通信开销,Agent 的本体与IEC 61850 元素映射并没有统一标准,本体设计的不合理或不完善,可能会造成通信上的混乱。 文献[12]利用多智能体理论来设计,添加智能决策模块,以IEC 61850 标准通信,不能充分利用多智能体的优势。

目前,国内外的研究主要集中于用多Agent 系统的定义构建系统,而通信方式完全采用Agent 通信或者IEC 61850 标准;通过中间文件,如本体,实现IEC 61850 标准与Agent 通信的映射。 没有把两者结合在一起,既利用IEC 61850 模型和通信实现相分离的优点,也可以使用Agent 的自治性、移动性等特性。 本文把IED 设备封装为Agent,把Agent 通信技术与IEC 61850 结合,利用Agent 独立自治性和协作性,提高变电站运行的稳定性和可靠性,增强了IEC 61850 的互操作性。

1 Agent 与IEC 61850

1.1 Agent 通信

在JADE 平台中,每个Agent 都需要从父类jade.core.Agent 类派生,并实现其setup( )方法。 每个Agent类必须包含setup( )方法,由setup( )方法启动Agent 并完成一些初始化的工作。 通过setup( )函数,程序类对应的Agent 可以在AMS 上注册Agent 名字,格式为<Agent 称呼>@<IP 地址:端口+”/JADE”>,Agent 在主容器上创建成功。 如果AMS 已经注册过这个Agent 名字后,Agent 不能被创建成功,这样保证了Agent 的命名是唯一的,Agent 发送消息的过程如图1 所示。

图1 Agent 发送消息的过程图Fig.1 The process diagram of Agent message sending

在JADE 平台上,Agent 之间的通信采用的是ACL 消息,ACL 消息遵循FIPA 标准。在Agent 被成功创建后,要发送ACL 消息,首先应设置好接受者的全局唯一标识符,消息内容,内容语言等。 然后,消息封装层把ACL 消息封装为有效负载payload 后,加入到消息的传输队列。 最后,根据Agent 传输消息的底层协议,如HTTP,TCP/IP 等,对消息进行编码发送。

以上是客户端的Agent 创建和信息发送过程,服务端Agent 创建过程和客户端一样。 服务端Agent 创建后,需要创建消息模板(设定发送者、通信动作等),对收到的消息进行选择性的接受,也可以发送消息给客户端,之后,服务器继续等待接收消息。 客户端可以设置消息模板对消息选择性的接收[13]。

1.2 IEC61850 的MMS 通信服务

IEC61850 协议中,核心的服务是MMS 服务(manufacturing message specification,MMS)。 如图2 所示为MMS 服务的通信过程图。

图2 MMS 服务的通信过程图Fig.2 The communication process of MMS service

左侧为客户端,右侧为服务器。 客户端设置套接字Socket 的参数为服务器的IP 地址和端口Port,服务器以端口Port 为参数,创建Socket,监听到客户端的连接请求后,建立连接。 客户端有两种获取服务端的SCL 模型文件方式:离线和在线。 获取到SCL 模型后,以Java 语言为基础,利用JDOM 方式实现对SCL 文档的解析,将SCL 文档以节点树的形式显示出来[14]。 离线方式是直接得到存储在本地的SCL 文件,接着对SCL模型进行解析;在线方式是通过发送读目录的ACSI 服务给服务器,服务器返回自身SCL 模型。 根据数据模型, 得到含路径名和功能约束参数的对象, 将对象和ACSI 服务映射为MMS 对象和服务。 MMS 编码采用ASN.1 的基本编码规则(basic encoding rules,BER),对得到的MMS 的域、变量、数据类型、服务等进行编码。MMS 服务底层使用TCP/IP 协议,用Socket 输出流把编码数据发送出去。

服务端在建立连接后,一直等待接收输入流的数据。 对接收的数据,进行BER 方式解码后,转为MMS对象和服务,最后,映射为含有路径名和功能约束的对象,以及ACSI 服务。 当需要反馈数据时,服务端可以把含路径名和功能约束的对象,经过MMS 映射和BER 编码后,发送给客户端。

1.3 Agent 与IEC 61850 结合的理论分析

基于IEC 61850 协议,智能变电站把物理设备的具体功能抽象为逻辑节点(logical node,LN),根据具体需求划分逻辑节点在不同的逻辑设备(logical device,LD)中,逻辑设备属于智能电子设备(intelligent electronic device,IED),智能电子设备就是对应物理设备数据模型和服务的集合体。

IEC 61850 的通信协议确定了四种通信服务,即制造报文规范(MMS),通用变电站对象事件(GOOSE)/采样(SV),通用变电站事件模型(GSSE)和时钟同步(SNTP)。 MMS 服务的底层是依靠TCP/IP 协议实现的,在利用MMS 服务进行通信时,需要先对指定端口和IP 地址进行Socket 连接,然后,使用读写数据值,读目录等ACSI 服务时,输入参数应该是路径名唯一,即智能电子设备名,逻辑设备名,逻辑节点名,数据对象名,数据属性名这个从上到下的树形结构,在根节点名唯一,根节点下子节点名字唯一,依次类推。 这样可以确定每次通信对象是否正确,避免在通信过程中,向错误的对象请求数据或发布控制命令。 在变电站内部通信或不同变电站通信时,设备进行配置前,要保证配置文件满足上述需求。

多Agent 系统中不需要考虑上面的问题,由于在创建Agent 的时候,每个Agent 的名字在环境中必须是唯一的,否则,不能被创建。 而且即使Agent 被转移到其他地方,也能被其他Agent 辨识出来,对于IED 设备来说,并不需要重新更改和交换配置信息,加强了互操作性。Agent 通信时,只需要知道对方的全局唯一标识符(globally unique identifier,GUID),就可以与对方通信。MMS 服务通过TCP/IP 协议通信时,首先,需要进行三次握手建立连接,直接发送信息即可;建立Socket 连接后,长时间不发信息,要发送心跳包,保持连接;Socket 结束通信时,要四次握手断开连接,不然会导致数据传输错误,Socket 不能关闭而报错。 Agent 通信时,不需要建立连接,保持或断开连接,在要发送信息时,只要确认对方的全局唯一标识符就可以发送消息。这样Agent 通信时,减小了通信所需时间,增强了通信的稳定性。

在智能变电站中,各保护设备、检测单元和控制执行等设备组成的继电保护系统,在结构上是分布离散的,很多时候解决继电保护问题是分布式的问题。 多Agent 系统与此类似,把分布的设备作为Agent,利用Agent 的协作,来求解分布式的问题,完成继电保护的检测、分析、判断、动作过程,迅速和有选择性的切除故障,使系统稳定运行,提高可靠性。 同时,把相关的算法和保护方案加入多Agent 系统,提高保护方法的性能[15]。

2 Agent 与IEC 61850 的结合

2.1 IEC61850 中的MMS 服务实现过程

制造报文规范(MMS)是应用层的协议,通过对实际设备在逻辑上建立模型,解决了不同厂家生产的IED 设备的互操作性问题。在IEC 61850-7 部分提供了,IEC 61850 中的信息模型和ACSI 服务到MMS 协议的具体映射。 IEC 61850 实现到MMS 的映射,有两种方式:应用框架和传输框架。 现在,TCP/IP 协议已经在LAN/WAN 得到了广泛的应用,成为事实上的标准,因此,本文实现是IEC 61850 到MMS 的映射,采用的是MMS 基于TCP/IP 的以太网通信模型。 下面是具体的实现过程。

首先通过解析ICD 文件保存在serverModel 类中,从本地获取的方式代码为:ServerModel serverModel =clientAssociation.getModelFromSclFile(“src/test/resources/testmm.icd”),获取的模型信息全面且可以永久保存。

在线获取的方式代码为:ServerModel serverModel = clientAssociation.retrieveModel( )。通过ACSI 服务读取服务器的各层的信息模型,获取信息不全且只能暂时保存,

获取到SCL 模型后,使用下面程序:

BdaFloat32 amp1 =(BdaFloat32) serverModel.findModelNode("IC011/phsTCTR1.Amp.instMag.f", Fc.MX);

clientAssociation.getDataValues(amp1);

先把数据属性的路径和功能约束作为输入参数,建立对应对象。 在ClientAssociation 类中,通过以下程序:

ConfirmedServiceRequest serviceRequest=constructGetDataValuesRequest(modelNode);

ConfirmedServiceResponse = encodeWriteReadDecode(serviceRequest);

decodeGetDataValuesResponse(confirmedServiceResponse, modelNode);

先把前面建立对象作为输入参数, 转为MMS 的BER 编码的数据结构, 将其解析为MMS 的读数据请求。再对MMS 读请求进行编码,转为MMSpdu 数据,存在BerByteArrayOutputStream 中,AcseAssociation 类的send (ByteBuffer) 和receive (ByteBuffer) 发送和接受MMSpcu 数据单元。 下面是AcseAssociation 类的send(ByteBuffer)方法内容:

encodePresentationLayer(payload, ssduList, ssduOffsets, ssduLengths);

encodeSessionLayer(ssduList, ssduOffsets, ssduLengths);

把MMSpdu 数据单元进行表示层和会话层的编码,再通过底层协议发送数据。

2.2 Agent 与IEC 61850 结合的过程分析与实现

Agent 之间通信使用的是基于FIPA 协议的语言。 JADE 为了方便Agent 之间交互,提供了一些框架,如协商,拍卖,任务代理等。 把Agent 技术与IEC 61850 结合目的是把IED 设备封装为Agent,使多Agent 系统的分布性、协作性等满足变电站的需要,同时,在IED 设备中实现了Agent 的优势。 在各IED 设备组成的多Agent 系统中,Agent 之间处于平等地位,Agent 根据自身的行为程序实现自治。后文的轮询Agent 协调Agent之间的通信,当自身不能满足需求时,通过轮询Agent 与其他Agent 通信,共享自身的信息,获取区域或全局信息, 经过决策分析, 给相关Agent 发送控制命令或参数。 Agent 管理平台参考模型如图3 所示。 它包括Agent 管理系统(agent management system,AMS)、目录服务(directory facilitator,DF)和信息传输服务(message transport service,MTS),所有这三个组成都在Agent 平台启动时自动激活。 当把IED 设备封装为Agent,就可以与Agent 一样,当Agent 的AID(agent identifier)的标识符为唯一时,在创建时即可在AMS 上注册。此时,其他Agent 就可以通过DF 服务发现这个Agent。 由于Agent 通信只需要确定对方的AID 标识即可,因此,当设备检修或更新信息后,用原来AID 注册,就可以被其他Agent 识别并可以互相通信,这增强了IEC 61850 的互操作性。

图3 Agent 管理平台参考模型图Fig.3 Reference model diagram of Agent management platform

如图4 所示,为Agent 与IEC 61850 结合的通信流程图。 首先通过SetUp( )方法创建Agent,在AMS 上创建成功后,就可以把IED 设备封装为Agent,Agent 之间通过GUID 确定通信对象。 因此,把IED 设备封装为Agent 后,ICD 文件不需要重新配置,即可由GUID 确定对象,增强了设备间的“互操作性”。 AID 标识符可以唯一确定Agent,在IEC 61850 中,许多设备可能处于同一地址中,对这些设备进行操作时,需要客户端对服务器Socket 连接,相同地址处不同设备对客户端来说无法区分,每一次对服务器设备进行操作,都需要指明具体的哪个IED 设备,IED 设备的具体逻辑节点,这影响了IEC 61850 的互操作性。 而Agent 的标识符是唯一确定的,将Agent 接入到一个新的地址,能被唯一识别,将Agent 通信技术与IEC61850 结合起来,可以增强IEC 61850 的“即插即用”的特性。

图4 Agent 与IEC61850 结合的通信流程图Fig.4 The combined communication flow diagram of Agent and IEC61850

然后,添加Agent 的行为(Agent 如何动作),获取到通信对象的SCL 模型文件,根据SCL 模型,得到包含路径名和功能约束等参数的对象,把这个对象和ACSI 服务映射为MMS 对象和服务,再经过BER 编码后得到数据,数据的传输主要是依靠Agent 之间ACL 消息的发送和接收。 根据FIPA 标准,设置ACL 消息参数,把经过MMS 协议映射及采用BER 编码的数据,作为消息内容,设置好接受者的标识符和通信动作。 最后,通过轮询者确定是否可以通信,如果是由于在不同局域网,可以转发信息给BridgeAgent,用它实现ACL 消息和TCP/IP 协议之间转换,通过Socket 流把数据发送过去。 轮询者对服务器通信,确定服务器状态,判断是否客户端是否可以连接,发送反馈信息给客户端。根据接收到的反馈信息判断,Agent 行为是否执行完毕,否则重新发送信息,行为执行完,结束运行。

本设计是在IEC 61850 的MMS 服务的基础上与JADE 平台的Agent 通信相结合,创建所需的服务器和客户端。

图5 客户端Agent 通信程序执行图Fig.5 Client Agent communication program execution diagram

如图5 为客户端Agent 通信程序执行图。 通过ClientAgent 类的SetUp 方法启动Agent,在AMS 上注册。调用ClientSap 类的associate 方法,其中传递参数客户端和服务器的Agent 名字。 调用AcseAssociation 类的startAssociation 和startSConnection 方法,把应用层和会话层的连接请求数据放在缓存器里,调用ClientTSap的connectTo 方法创建TConnection 类的实例,在TConnection 类中,使用senoperate 方法,给轮询Agent 发送信息,确认服务端Agent 的状态可以通信后,用send( )方法把缓存器的数据发送给服务端Agent,receive( )方法接受返回数据。

通过ClientAssociation 类的getModelFromSclFile 方法, 将指定路径的SCL 文件以DOM 方式进行解析,返回服务器的模型,存在ServerModel 类中。 将对需要操作的数据对象的路径名和功能约束作为参数,调用ServerModel 的findModelNode 方法生成对应类的实例。 如果ACSI 服务是读目录或读数据值, 调用ClientAssociation 类的constructGetDataValuesRequest 方法, 把对应的类的参数和ACSI 服务映射到MMS 对象和服务,用encodeWriteReadDecode 方法把MMS 请求经过BER 编码后,调用acseAssociation 类的send( )方法发送给服务器, 以及用receive ( ) 方法接受服务器的反馈信息, 调用ClientAssociation 类的decodeGet-DataValuesResponse 方法,把接受的数据,经BER 解码和MMS 映射,存储在模型中。 图6 为服务器的Agent通信程序执行图。 Agent 启动后,调用ClientServerITest 类的runServer( )方法,通过ServerSap 类的getSaps-FromSclFile 方法,把自身的SCL 模型解析并保存在ServerModel 类中。 调用ConnectionHandler 类的operate( )方法,执行TConnection( )类的senoperate( )方法,一直阻塞性的等待接收消息,通过轮询者传送信息,确定通信对象的名字。 调用AcseAssociation 类的listenForCn 方法,对客户Agent 发送的应用层和会话层连接数据作出响应。 在ServerAssociation 类中,执行handleNewAssociation 方法,一直接受ACL 信息,用handle-Connection( )方法解析ACL 消息为ACSI 服务和IEC61850 对象,对服务请求用sendAnMmsPdu 方法把响应数据发送客户Agent,之后重新运行handleConnection( )方法,进行监听。

图6 服务端Agent 通信程序执行图Fig.6 Server Agent communication program execution diagram

在Agent 类中,需要确定自身的名字,下面是设置名字和地址的过程。 ACL 消息需要首先初始化,设置ACL 消息的通信动作。Agent 发送消息,要知道对方的IP 地址和port 端口,使用AID 类设置Agent 的名称和地址,使用该类的构造方法设置接收方的名称,使用addAddresses()方法设置接收方的地址,即

ACLMessage acl = new ACLMessage(ACLMessage.INFORM);//初始化ACL 消息

AID dest = new AID(“IC01@192.168.43.86:1099/JADE”);//设置名称

dest.addAddresses(“http:// 192.168.43.86:7778/acc”);//设置地址

acl.addReceiver(dest);//设置接受者

发送者默认为创建的Agent 名字,或者指定接受者,即acl.setSender(dest)。

从ACSI 对象和服务采用MMS 协议,编码方式采用ANS.1,后面的传输用Agent 方式发送编码。 相对于MMS 协议映射后,用Socket 方式传输,Agent 直接发送映射后的编码,对方无法识别。 对于编码后的字节数组byte[ ],使用缓存器的这个方法ByteBuffer.put(byte[ ] src, int offset, int length),先把编码存在缓存器中中,ByteBuffer.flip( )把缓存器位置置位0,用方法ByteBuffer.get(byte[ ] dst, int offset, int length)把缓存器内容存在数组中,再转为字符串,用方法ACLMessage.setContent(String content)把字符串存在内容中,发送出去。

2.3 通过Agent 对IEC61850 消息进行过滤的实现

Agent 通信时,只要知道对方Agent 的名字和地址,就能直接发送消息给对方。 当Agent 使用receive( )方法时,能接受到所有发给自己的信息,并没有对发送者或者内容筛选,如果在和其他Agent 通信过程中,还有Agent 对它发送消息,有可能会接受不到原有通信对象的消息,甚至会使Agent 做出错误的判断。 因此,Agent 接收消息时,为了对通信对象发送的消息有选择性,需要对消息的发送者或者消息内容进行筛选。

每次发送的消息内容不是相同的,只能对通信的发送方进行筛选,接收消息时使用数据类型模板,即方法MessageTemplate.MatchSender(AID aid),以此得到相应的模板,再使用Agent.blockingReceive(mt)方法来接受特定发送对象发送的消息。

2.4 基于Agent 的IEC61850 IED 设备间通信机制

Agent 之间的协作性和协调性,加强了多Agent 系统解决复杂问题的能力,而且把任务分解,有效的解决的分布式问题,提高系统的灵活性。 对于单个对象之间的通信,Agent 直接给对方发送消息就能实现通信的过程。当多个Agent 之间交换信息时,要把接收的信息和发送者进行对应,回应时还要确定接收者,可能会造成混乱。 使用轮询机制可以有效避免这个问题,还可以查询每个Agent 的状态,及时发现有故障的Agent。

在通信系统中,采用轮询方式,把轮询者设计成一个Agent 来与其他Agent 交换信息。 如上图3-5,是轮询Agent 与其他Agent 的通信过程。 在用Agent 方式通信时,轮询Agent 询问每个Agent 是否需要通信,会发询问信息,如果不需要通信,则回复确认;如果需要通信,则回复服务端的名字,轮询Agent 先查询服务端是否能通信,发送给服务端内容为客户端名字,然后,服务端回复客户端名字,表示确认收到,轮询Agent 再把服务端名字发送给客户端,最后,服务端和客户端相互通信。 这样客户端得到确认回复,服务端知道与之通信的客户端名字,并且不会造成服务端与其他Agent 通信时,致使客户端发送消息得不到回复。

在数据库中,存着每个Agent 的通信状态,采用Agent 默认通信方式的状态:空闲为0,请求通信为1,通信中为2,采用TCP/IP 传输信息的状态:空闲为3,请求通信为4,通信中为5,故障状态都为6。轮询Agent 在与其他Agent 通信时,可以确定每个Agent 的状态,即空闲,需要通信,正在通信,故障,把相应的状态编号存在数据库表中,每次通信时根据对方状态更新数据,通信时直接查询状态就能判断是否需要去联系,对于通信中状态Agent,也需要轮询,及时确定状态。 对于请求通信的Agent,直接把接受者名字存下来,当接收者为空闲时,再发送给它,减少重复询问请求通信Agent 的时间。 当轮询Agent 在及几轮的轮询过程中,询问得不到回答时,会判断这个Agent 可能处于故障状态,通知检修。

2.5 TCP/IP 在智能变电站中Agent 的通信实现

目前,Socket 是使用最广泛的传输层的应用编程接口,在不同应用程序之间通信效率是比较高效的。 在IEC 61850 中, 客户端和服务器之间通信就是采用的TCP/IP 协议进行通信。 在局域网中Agent 通信稳定可靠,面对不同局域网时,Agent 通信并不能实现,此时,需要在交互的过程中使用TCP/IP 协议。 Agent 之间通信是基于FIPA 规范的,可以通过一个中间Agent 接收Agent 的ACL 消息,写入到输出流中,发送给对方,同时也可以从输入流里接收消息,再以Agent 的ACL 消息形式转发给目标Agent。

中间Agent 接收ACL 消息,把消息转为字符串发送到流中,监听socket,接收流中的数据,转为ACL 消息发送。 通过PrintWriter pw = new PrintWriter(socket.getOutputStream( ));pw.write(msg.toString( )),其中msg 为ACL 消息可以将Agent 消息写到输出流中,接收端在指定端口进行监听。 通过ACL 解析器,可以将ACL 消息从输入流中解析出来, 再ACL 消息进行具体操作,ACLParser parser = new ACLParser(BufferedReader(newInputStreamReader(socket.getInputStream( )))。

在不同变电站通信时,即不同局域网通信时,相互之间不能直接通信,此时,上述的基于TCP 传输协议的Agent 就可以作为桥接Agent, 一直等待接收局域网内Agent 发送消息, 将接收到的消息通过TCP/IP 传输,或者接收TCP/IP 上信息转发给同一局域网内其他Agent。

3 结论

为了在基于IEC61850 标准的变电站中利用MAS 系统的分布式控制能力, 提出了将IEC61850 标准与Agent 相结合的通信方式,从而把IED 设备封装为多智能体,同时,也增强了设备间的互操作性。

将IEC61850 标准与Agent 结合后,只需要确定对方名字即可实现通信,不需要在通信前进行连接或通信结束后断开连接,并且Agent 的AID 标识确定通信对象,忽略了IED 设备间的不同之处,增强了设备的互操作性。 使用轮询Agent 有效解决了多个Agent 之间通信,信息混乱的情况。 依靠中间Agent 实现的Agent通信方式和TCP/IP 通信的转换,在未来变电站间协调控制也会有重要作用。

猜你喜欢
轮询服务端客户端
你的手机安装了多少个客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
基于等概率的ASON业务授权设计∗
新时期《移动Web服务端开发》课程教学改革的研究
基于Turning Point平台的交互应答系统在我国教学中的应用研究
利用时间轮询方式操作DDR3实现多模式下数据重排
新华社推出新版客户端 打造移动互联新闻旗舰
IT设备数据管理技术应用浅析
摸清黑客套路防范木马侵入