基于LonWorks技术的动态网络监控实现浅析.docx

基于LonWorks技术的动态网络监控实现浅析.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于LonWorks技术的动态网络监控实现  未知来源 供稿 2003-10-16 16:58:00 【字体: HYPERLINK javascript:fontZoom(16) 大  HYPERLINK javascript:fontZoom(14) 中  HYPERLINK javascript:fontZoom(12) 小】  1 引言 随着网络的迅速发展,越来越多的工业控制系统与网络结合,一些工控组态软件也纷纷推出了对网络的支持。通过网络进行远程数据采集已经成为可能,而且在一些领域已经得到了应用。目前得到运用的远程数据采集方法多采用Client/Serve结构,必须编写客户端程序和服务器程序,通过TCP套接字传递数据。这固然是一种高效的方法,但却存在如下不足:对网络要求高,一旦网络出现暂时堵塞等小问题,系统就无法正确工作;手工编程难度大,一般只能在局域网内部使用;客户端和服务器端必须安装软件。由于这些不足,使得基于网络的远程数据采集无法迅速推广。本文介绍一种基于Browser/Server结构的远程数据采集方法。 2 远程数据采集采用的通信技术 以太网技术从出现到现在的近20年中得到了飞速发展,先后出现了十兆网、百兆网、千兆网,其应用领域也从最初的办公自动化发展到工业控制、楼宇自动化领域。 以太网使用TCP/IP协议,这是个跨平台的通信协议,它既能用于局域网也能用于广域网,可方便地实现异种机之间的互联。基于以上原因,在楼宇自动化和工业控制等领域,网络集成是人们常常希望将以太网作为主干网,以太网之下用现场总线或485总线等将前端设备连在一起。这样可以使两者优势互补,使网络集成应用更加灵活与方便。 socket支持面向连接和无连接的编程模型,如图1所示。 下面对编程模型的各个系统调用结构和有关重要函数调用作一简单介绍。 以下是有关重要函数调用格式及说明,如图2所示。 (1) 创建socket—SocketCreate() 调用格式为: socketid= SocketCreate(nType) 说明:返回值socketid是一个整数,即socket号;nType:类型,指创建socket的应用程序所希望的服务协议类型(TCP或UDP)。 (2) 指定本地地址—bind() 调用格式为: bind(socketid,localIP,localPort) 说明:localIP,本地socket地址;localPort,本地端口。 (3) SocketListen()调用 调用格式:SocketListen(socketid) 说明:用于面向连接的服务器,表明愿意接受连接。 (4) 建立连接—SocketAccept() 调用格式: SocketAccept(socketid,dwRemoteIP) 说明:dwRemoteIP:指向客户socket地址结构的指针 (5)发送数据----SocketSend() 调用格式:SocketSend(socketid,*pby,nLen) 说明:pbyn:指向发送缓冲区的指针,nLen:缓冲区大小 (6) DsockOpen(),DsockClose() 说明:二者直接调用,分别表示打开、关闭socket库。 (7) SocketDestory(socketid)表示释放标识为socketid的socket。 由于采用B/S模式,客户机通过浏览器访问服务器,所以下面仅给出服务器端socket程序的部分重要语句源码: / /初始化 if(Dsock_Open()==FALSE) {printf(Unable to initialize socket library ); return 1;}  HYPERLINK \\\\创\\ file://创建SOCKET socketid = SocketCreate(TCP_SOCKET); if(socketid == INVALID_SOCKET) {printf(SocketCreate() error ); Dsockclose(); return 1;}  HYPERLINK \\\\指\\ file://指定本地地址 If(SocketBind(socketid,0l,port)==FALSE) { printf(SocketBind() error ); return FALSE}  HYPERLINK \\\\等\\ file://等待接受连接 if(SocketListen(Socketid)==FALSE) {printf(SocketListen() error ); return FALSE;}  HYPERLINK \\\\与\\ file://与请求通信的客户机建立

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档