基于UDP协议的进程管理系统的设计与实现

计算机工程与应用2005.36

图1

系统架构

1引言

目前计算机类课程大约85%以上是机房授课。在计算机机

房授课过程中,除了教学必须的程序外,学生可以随意运行与教学无关的程序,严重影响了课堂秩序。

如何解决既要让学生使用计算机,又要让学生不能运行与教学无关的程序?目前并没有相关的软、硬件解决办法。针对这个问题我们提出了一种切实可行的解决办法—通过对进程控制来管理计算机机房中学生机的程序运行。这样,教师在机房上课时可以自动控制学生机上程序的运行权利,专心授课。

2传统解决方案的缺陷

目前,市场上有很多网络教学系统,虽然基本教学功能日

益完善,但在教学监控模块都存在着缺陷。目前市场上的众多网络教学系统还仅限于基本的教学功能,对于教学课堂秩序的管理大多通过“屏幕监看”、“语音监听”等方式实现,即利用视频、音频信息来实现监控的方案。

下面就传统解决方案存在的缺陷分析如下:

(1)上述方案“只监不管”———只监控学生端信息,无法对学生的非法操作进行及时制止,并没有从本质上解决问题。

(2)监控信息量大影响系统性能。

(3)教师需花时间与精力去分析监控信息。

(4)实时性差:通过截屏获取图像信息并不及时,时间延迟较大。

通过以上分析,这里提出了一种新的解决方案—通过远程进程的管理和控制来实现监控。

下面将从系统架构、关键技术等几个方面对此方案的设计和实现进行阐述。

3系统架构

作者简介:张立涓(1977-),女(满),硕士,主要研究方向:计算机网络、网络多媒体。

基于UDP协议的进程管理系统的设计与实现

张立涓

(深圳职业技术学院计算机应用工程系,深圳518055)

文章提出了一种对远程进程进行控制和管理的解决方案。着重对客户端进程自动管理、控制,广播通信中应用

层通讯协议的定制等方面的技术进行了比较深入的探讨与分析,并提供了该方案的具体应用实例。最后,通过试验的数据,对该方案的实际性能进行了评价。关键词

进程

广播通信

协议

文章编号1002-8331-(2005)36-0195-03

文献标识码A

中图分类号TP39

DesignandImplementationofControlingandManaging

ProcessBasedonUDPProtocol

ZhangLijuan

(ShenzhenPolytechnicCollege,Shenzhen518055)

Abstract:Inthispaper,aschemeisbroughtforwardthatcontrollingandmanagingremoteprocess.ThetechniqueofprocessAuto-managingandAuto-controlandthetechniqueofmakingtheprotocolinapplicationlayerisdiscussedandanalyzeddeeply.Atlast,aapplicationinstanceofthisschemeisgiven,andtheperformanceofthisschemeisestimatedthroughtestdata.

Keywords:process,broadcast,protocol

195

2005.36计算机工程与应用

图2主程序流程图

字节1

>0

描述

数据类型标识

数据

!!!!本系统采用C/S模式,分为教师端和学生端两部分。为了交互的实时性,我们采用UDP广播通信方式,并且在UDP协

议之上的应用层定制了应用层通讯控制协议来实现服务器和客户端的交互控制。

4关键技术

4.1获得某一时刻系统中的进程快照信息

操作系统中有一个进程链表,用于保存当前运行的所有进程的信息。本系统首先调用函数CreateToolhelp32Snapshot获得进程链表的句柄,然后调用函数ProcessFirst和ProcessNext获得进程结构PROCESSENTRY32,此结构中包含进程的所有信息。通过获得某一时刻系统中的进程、模块(module)或线程的快照信息,通过学生机(客户端)与教师机(服务端)进程数据比较,判定是否非法进程,由客户端自动结束非法进程。

其中:LPPROCESSENTRY32结构的定义如下:

typedefstructtagPROCESSENTRY32{DWORDdwSize;//此结构的大小

DWORDcntUsage;//进程的引用数,如果为0,则次进程已停止DWORDth32ProcessID;//进程号ULONG_PTRth32DefaultHeapID;

DWORDth32ModuleID;//此进程引用的模块IDDWORDcntThreads;//此进程创建的线程数DWORDth32ParentProcessID;//父进程的ID

LONGpcPriClassBase;//这个进程创建的线程的基本优先权DWORDdwFlags;//保留TCHARszExeFile[MAX_PATH];}PROCESSENTRY32;

typedefPROCESSENTRY32*PPROCESSENTRY32;

4.2进程自动管理、控制

(1)服务器向客户端发送合法进程列表。(2)客户端获取当前系统中运行进程链表。

(3)在客户端通过定制的“进程比较算法”管理当前进程。(4)非法进程立即中止。主程序流程图如图2。

4.3应用层通信协议ACTP的定制

本系统采用UDP传输协议,使用WinSock实现局域网内

广播通信。为了实现教师端和学生端的通讯、完成交互控制,本方案定义了一个应用层通讯协议—辅助教学控制协议简写为

ATCP(AssistantTeachingControlProtocol),协议模型如下。

ATCP的报文格式简单描述如下:

数据类型标识字段长度为1个字节,指明数据是图像信息或是控制信息的请求/应答等。

196

计算机工程与应用2005.36(上接163页)

WCHAR*pName=L"GetSbl";

m_pSoapClient->GetIDsOfNames(IID_NULL,&pName,1,LOCALE_SYSTEM_DEFAULT,&dispid);

...

m_pSoapClient->Invoke(dispid,IID_NULL,LOCALE_SYSTEM_DEFAULT,DISPATCH_METHOD,&dispparams,&result,&ExceptInfo,NULL);

“result”

即从服务器端返回的IXMLNodeList类型的符号数据。客户端需要将它解析为CSymbol类型的符号对象。

图5为原型系统的IE端浏览界面。用户可以从左面树状视图选择符号种类,相应种类的符号会全部显示在右面视图的下方。右上方显示正在编辑的符号,符号数据的获取、更新采取

WebService完成。

4结语

符号库虽是GIS的支持模块,但其与GIS系统的建构模式

相似。本文采用的技术完全可以移植到网络GIS系统的建立之上。在下面的工作中,还需继续研究符号库系统和GIS系统在网络上的集成,GIS系统的在线标注符号和协同标注。(收稿日期:2005年7月)

参考文献

1.王伟等.基于COM技术的地图符号库结构设计与实现[J].武汉大学学报?信息科学版,2002;(3)

2.ErichGamma,RichardHelm,RalphJohnson.DesignPatternsElementsofReusableObject-OrientedSoftware[M].USA:Addison-Wesley,2000-09

3.MatinFowler.PatternsofEnterpriseApplicationArchitecture[M].USA:Addison-Wesley,2001-06

字节1

>0

描述

数据类型标识(6)

非法进程数

客户端机器名

数据

传统方案(利用视频、音频信息监控)

只能截取客户端某一时刻屏幕图像并传输到服务器端,有延迟

“只监不管”,对监控到的学生端的非法操作未作处理

教师需要对得到的视频信息进行人为观察和分析

采用锁死鼠标键盘使学生不能操作,但存在“要么不让动,让动就乱动”问题

本方案(利用对进程的控制实现监控)

实时对系统当前进程链表(进程名、进程模块信息等)进行监控,采用UDP广播通信方式,定制应用层传输控制协议,基本无延迟

“监管并施”,既实现了监控学生,又实现了对学生非法操作的及时制止,成为真正意义上的“

监”“控”教师无需进行人为监控,即可制止学生非法操作,实现了自动管理

首次在网络教学的电子教室内,实现了“让你动,但不让你乱动”的监控目标,解决了现有多媒体网络教学系统“要么不让动,让动就乱动”

问题方案

实时性

对监控到的非法操作的及时处理操作性

监控程度性能

表1

两种技术方案的比较

!!!!数据类型标识具体含义如下。

数据字段包含的具体内容及格式,根据数据类型字段的值而定。

1:服务器端要求客户端向其注册

2:客户端响应服务器端发出的注册请求报文3:服务器端向客户端发送合法进程信息4:服务器端锁定客户端鼠标键盘

5:服务器端解除锁定客户端鼠标键盘6:客户端向服务器端发送非法进程信息7:客户端退出报告

8:服务器发送在线人数统计信息9:客户端响应在线人数统计

例如:客户端向服务器端发送非法进程信息,报文格式如下:

5与传统解决方案的比较

表1从实时性等几个方面,将传统解决方案和本系统两种

方案进行了比较。

6系统测试、性能分析

(1)系统配置:

网络环境:10/100M以太网络操作系统:Windows2000/NT/XP

网卡:10/100M自适应

支持同一网段内IP地址的监控。最多254台客户机(目前一班机房30~45台机器),完全可以满足要求。

(2)实时监控:教师只需在课前几分钟内设置好本节课所需使用的进程列表即可,此后课堂上任意学生若做了违法操作(如:上网)教师机上将实时显示该学生违法操作信息(机器号、违法操作说明)。

(3)自动管理:一旦学生执行违法操作开启非法进程(如:上网、打游戏),系统将立即关闭该非法进程,基本无延迟。停止非法进程响应时间不超过60s(视系统性能而定范围5s~60s)。

(4)动态更新合法进程库:教师上课过程中可以根据需要随时随意添加或删除合法进程列表。

(5)提供基础进程库:为了降低教师设置合法进程列表的复杂程度,系统提供默认合法进程(如:Word、PowerPoint等)无需教师逐一进行设置,只需对一些特殊要用到的进程(如:

FLASH)进行设置即可。(收稿日期:2005年3月)

参考文献

1.AnthonyJones,JimOhlund著.京京工作室译.Windows网络编程技术[M].机械工业出版社,2000-03

2.JeffreyRichter著.王建华,张焕生,侯丽坤等译.Windows核心编程[M].机械工业出版社,2000-05

3.[美]BruceEckel著.刘宗田,邢大江,孔慧杰等译.ThinkinginC++[M].机械工业出版社

4.李博轩等编著.VisualC++6.0Internet开发指南[M].清华大学出版社,2000-07

197

TCP和UDP协议简介

TCP和UDP协议简介 从专业的角度说,TCP的可靠保证,是它的三次握手机制,这一机制保证校验了数据,保证了他的可靠性。而UDP就没有了,所以不可靠。不过UDP的速度是TCP比不了的,而且UDP的反应速度更快,QQ就是用UDP协议传输的,HTTP是用TCP协议传输的,不用我说什么,自己体验一下就能发现区别了。再有就是UDP和TCP的目的端口不一样(这句话好象是多余的),而且两个协议不在同一层,TCP在三层,UDP不是在四层就是七层。TCP/IP协议介绍 TCP/IP的通讯协议 这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP 协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。 TCP/IP整体构架概述 TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line 等)来传送数据。 TCP/IP中的协议 以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的: 1.IP 网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。 IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的

欧姆龙PLC以太网TCP命令FINS协议实验

ETN21以太网fins/TCP命令 实验时间:2014年10月8日 实验设备:CP1H-XA40DR-A、CP1W-EXT01、CJ1W-ETN21、网线 实验目的:利用SOCKETTOOL发送fins/TCP命令,对CPU内存进行读取和写入。 实验步骤: 1、IP地址设置: ①打开电脑本地连接查看IP地址如下: ②usb线连上电脑,打开I/O表,将ETN21模块的ip地址与电脑设置为同一 个网段不同节点,节点号跟硬件上的node number一样,下载重启模块,如下: 2、配置socketool软件 ①软件选TCP Client,创建,输入ETN21的IP地址和端口号,端口号9600,如下:

点击连接,显示十六进制值打勾: 3、握手信号 TCP方式客户端需要发给服务器握手信号,等待服务器正常反馈表示握手成功,才能正常交流数据。客户端发出的命令格式如下:

服务器反馈的命令格式如下: 故sockettool发送命令为:46494E53(FINS)0000000C(长度12字节)00000000(命令代码)00000000(错误代码)000000D6(客户端节点号214),即: 46494E530000000C0000000000000000000000D6 46494E530000000C00000000000000000000003C

反馈是46494E53(FINS)00000010(长度16字节)00000001(命令代码)00000000(错误代码)000000D6(客户端节点号)00000003(服务器节点号) 通讯建立成功。 4、TCP命令 ①命令帧如下,ETN手册W421第7-4有相关介绍,如下: Fins 命令格式:

TCP-UDP协议

第7章TCP/UDP协议 主要内容 1.TCP协议基本原理。 2.UCP协议基本原理。 https://www.360docs.net/doc/c4881950.html,sat实验。 能力要求 1.理解传输层在OSI体系结构中的地位和作用。 2.了解传输层如何保证通信服务的可靠性。 3.掌握TCP/UDP协议基本原理和报文数据结构。 因为世界上各种通信子网在性能上存在着很大差异,例如电话交换网、分组交换网、公用数据交换网,局域网等通信子网等,但网络的互联互通的特性决定了它们必须互连,而它们提供的吞吐量、传输速率、数据延迟通信费用各不相同,但对于会话层来说,却要求有一性能恒定的界面,传输层就承担了这一功能。传输层(Transport Layer)是OSI体系结构中重要、关键的一层,负责总体的数据传输和数据控制。传输层提供端到端的交换数据的机制。传输层对会话层等高三层提供可靠的传输服务,对网络层提供可靠的目的地站点信息。传输层协议主要包括TCP/UDP协议。它屏蔽了网络底层技术的差异,使会话层感受不到各种通信子网在技术标准和网络结构上的区别。此外传输层还要具备差错恢复,流量控制等功能。传输层面对的数据对象已不是网络地址和主机地址,而是端口。 传输层的最终目的是为会话提供可靠的、无误的数据传输。传输层的服务一般要经历传输连接建立阶段、数据传送阶段、传输连接释放阶段3个阶段才算完成一个完整的服务过程。在数据传输过程中,传输层要保证提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。 7.1 传输层功能概述 传输层也称为运输层,是介于低3层通信子网系统和高3层之间的一层,是源端到目的端对数据传送进行控制从低到高的最后一层。 传输层功能的目的是为会话提供可靠、无误的数据传输服务。传输层的服务一般要经历传输连接建立阶段、数据传送阶段、传输连接释放阶段3个阶段才算完成一个完整的服务过程。为完成这一服务,传输层要具备以下基本功能: 199

UDP协议设计与实现

udp协议设计与实现 一、网络协议栈结构 二、UDP协议功能 无连接传输: 不保证端到端数据传输的可靠性, 一定程度上保证了数据传输实时性, 适合多媒体数据传输. 三、UDP协议设计 1.UDP协议语法

用户数据报: UDP首部+数据,以字节为单位; 其中首部最小为8个字节,包含4个字段; 源端口号:2个字节,发送方应用层协议进程编号; 目的端口号:2个字节,接收方应用层协议进程编号; 长度:UDP首部+数据长度。 校验和:2个字节,伪首部+首部+数据 端口号理解 服务器端口号 周知端口号:数值一般为0~1023。 注册端口号:数值为1024~49151,为没有熟知端口号的应用服

务器程序使用;这个范围的端口号必须在IANA 登记,以防止重复使用。 客户端口号(或动态端口号):数值为49152~65535,留给客户应用程序暂时使用,由操作系统临时分配。 当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号;通信结束后,客户端口号立即释放,可供其他客户程序以后使用。 四、UDP协议语义 五、UDP协议时序关系 发送方接收方

UDP报文 UDP报文 发送方或接收方可以随时发送UDP报文给对方。 接收到UDP报文后,检查校验和,如果错误直接丢弃,然后不做任何处理;再检查目的端口号,如果目的端口号对应的上层进程接收队列存在,则接收;否则调用ICMP协议发送端口不可达ICMP差错报告。 五、UDP协议实现 发送方:transport_udp_send.cpp (.h) 定义一个UDP协议数据单元数据结构 定义变量: Struct source_address { Source_ip; Source_port; } Source_port = ; server_port =; Source_address= ;

Omron-Fins通讯协议

OMRON FINS 通讯 1. OMRON FINS 通讯 1.1 FINS 通讯概述 FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。 1.2 Fins 帧的结构 发送命令结构: 发送命令结构: 响应命令结构: 命令码: 01 01 读数据 01 02 写数据 结束码: 00 00 无错误,否则执行出错; 举例说明: 存储区代码(82代表D 区 80代表CIO 区) 当结束码不为00 00时,则代表执行错误,应重发当前帧。

2 FINS在以太网上的帧格式 Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。 2.1 FINS UDP/IP的帧格式 UDP/IP的帧格式:共10个字节,其名称如下: 其每个字节的具体解释如下: ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0; RSV:固定为00HEX; GCT:固定为02HEX; DNA:目标网络号;本网络:00;远程网络:01-7F; DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值; DA2:目标单元号;对于CPU来说,固定为00; SNA:源网络号;本网络:00; SA1:源节点号;IP地址最后一位的值; SA2:源单元号:可设置为与目标单元号相同; SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中; 举例说明: PC IP地址:10.11.1.19 PLC IP地址:10.11.1.86 如果要请求DM10开始的10个字的内容 80 00 02 00 00 56 00 00 13 00 00 Data1—Data10

UDP协议代码

服务端 // server.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #pragma comment(lib,"ws2_32.lib") #include #include #include #define MAX_BUF 65536 int _tmain(int argc, _TCHAR* argv[]) { WSAData wsaData; int err = WSAStartup(WINSOCK_VERSION,&wsaData); if(0!=err){return -1;} SOCKET sock; sock = socket(AF_INET, SOCK_DGRAM, 0); if(INV ALID_SOCKET==sock) {printf("socket() Failed: %d\n",WSAGetLastError()); WSACleanup();return -1;} sockaddr_in LocaAddr; LocaAddr.sin_family = AF_INET; LocaAddr.sin_port = htons(10000); LocaAddr.sin_addr.s_addr=htonl(INADDR_ANY); err = bind(sock, (sockaddr *)&LocaAddr, sizeof(LocaAddr)); if(SOCKET_ERROR==err) //出错处理 {printf("bind() Failed: %d\n",WSAGetLastError()); closesocket(sock);WSACleanup();return -1;} char rbuf[MAX_BUF]; memset(rbuf, 0, MAX_BUF); sockaddr_in RomoteAddr; int RemoteLen = sizeof(RomoteAddr); int rByte = recvfrom(sock, rbuf, MAX_BUF, 0, (sockaddr*) &RomoteAddr, &RemoteLen); if(SOCKET_ERROR==rByte) //出错处理 {printf("recvfrom() Failed: %d\n",WSAGetLastError()); closesocket(sock);WSACleanup();return -1;} printf("UDP recv[%d]DATA from %s: %s\n", rByte, inet_ntoa (RomoteAddr.sin_addr), rbuf); intsByte=sendto(sock, rbuf, strlen(rbuf), 0,(sockaddr *) &RomoteAddr, sizeof(RomoteAddr)); if(SOCKET_ERROR==sByte) //出错处理 {printf("sendto() Failed: %d\n",WSAGetLastError()); closesocket(sock);WSACleanup();return -1;}

udp协议号

竭诚为您提供优质文档/双击可除 udp协议号 篇一:udp通信协议简介 一、udp概述 1、udp是一种基本的通信协议,只在发送的报文中增加了端口寻址和可选的差错检测功能。 2、udp不是一种握手信息协议,不能确认接收到的数据或交换其他流量控制信息。 3、udp是一种非连接协议,计算机在使用udp发送报文之前,不要求远程已联网或指定的目的端口可用于通信。正因为如此,将udp称为不可靠协议,即如果只使用udp,则发送方不知道目的主机何时是否接收到报文。 4、定义udp的文档是RFc0768:userdatagramprotacal。在标准std0006中也获得通过。 5、使用udp发送报文的计算机将报文置于udp数据报中。udp数据报由报头及其后面包含报文的报文组成。 6、发送计算机将udp数据报置于ip数据报的数据字段中。在以太网中,ip数据报存放在以太网帧的数据字段中。接收到以太网帧后,目的计算机网络栈将udp数据报的数据

部分传递给数据报报头指定的端口或进程。 7、udp的大多数功能不如tcp,所以udp的实现要简单些,更适合于特定的应用场合。如果需要,则可在使用udp 进行通信时自定义握手协议。例如:接收接口在接收到报文之后,将返回包含确认代码或其他请求信息的响应。如果发送方在合理的时间内没有接收到响应信息,就会重新发送报文。但是,如果应用程序需要的不仅仅是最基本的握手或流量控制,则应该考虑使用tcp而不是udp进行重构。 8、udp有一个tcp没有的功能,就是可将报文发送到多个目的主机,包括向局域网内所有的ip地址以广播方式发送,或者向指定的ip地址以组播方式发送。对于tcp而言,广播和组播都不现实,因为源主机必须与所有目的主机握手。 二、udp报头 udp报头由4个字段组成,后面紧接着是要传输的数据。 1、源端口号:源端口号标识发送报文的计算机端口或 进程。长度2字节,可选,如果接收进程不需要知道发送数据报的进程,则该字段可置为0。 2、目的端口号:目的端口号标识接收报文的目的主机 端口或进程。2字节。 3、数据报长度:指整个数据报的长度,以字节为单位,包括报头,最大值为65535。该字段为2字节。 4、udp检验和:是根据udp数据报和伪报头计算得到的

Omron Fins通讯协议

OMRON FINS 通讯 1. OMRON FINS 通讯 1.1 FINS 通讯概述 FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。 1.2 Fins 帧的结构 发送命令结构: 发送命令结构: 响应命令结构: 命令码: 01 01 读数据 01 02 写数据

结束码:00 00 无错误,否则执行出错; 举例说明: 要读取DM10开始10个字的内容: 存储区代码(82代表D区80代表CIO区) 响应 当结束码不为00 00时,则代表执行错误,应重发当前帧。 2 FINS在以太网上的帧格式 Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。 2.1 FINS UDP/IP的帧格式 帧格式:UDP/IP帧+FINS命令帧 UDP/IP的帧格式:共10个字节,其名称如下:

其每个字节的具体解释如下: ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0;RSV:固定为00HEX; GCT:固定为02HEX; DNA:目标网络号;本网络:00;远程网络:01-7F; DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00; SNA:源网络号;本网络:00; SA1:源节点号;IP地址最后一位的值; SA2:源单元号:可设置为与目标单元号相同; SID:服务ID,响应端将接收过来的SID复制后添加到响应帧中; 举例说明: PC IP地址:10.11.1.19 PLC IP地址:10.11.1.86 如果要请求DM10开始的10个字的内容 则PC发送命令如下: 源IP地址:PLC地址(IP地址最后位) 目标IP地址:通讯主机地址(IP地址最后位) 而PLC返回命令如下:

tcpip协议与udpip协议的区别

T C P/I P协议与U D P/I P协议的区别TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议, 也就是说,在收发数据前,必须和对方建立可靠的连接。 一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程: A ---> B //主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话; A <--- B //主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作) //的数据包:“可以,你什么时候发?”,这是第二次对话; A ---> B //主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。 三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B 正式发送数据。 详细点说就是: TCP接通连接要进行3次握手过程 1 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立连接,通过这个数据段, 主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我. 2 主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:

我已经收到你的请求了,你可以传输数据了;你要用哪佧序列号作为起始数据段来回应我 3 主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:"我已收到回复,我现在要开始传输实际数据了 这样3次握手就完成了,主机A和主机B 就可以传输数据了. 3次握手的特点 没有应用层的数据 SYN这个标志位只有在TCP建产连接时才会被置1 握手完成后SYN标志位被置0 TCP断开连接要进行4次 1 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求 2 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1 3 由B 端再提出反方向的关闭请求,将FIN置1 4 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束. 由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式,大大提高了数据通信的可靠性,使发送数据端 和接收端在数据正式传输前就有了交互,为数据正式传输打下了可靠的基础 名词解释 ACK TCP报头的控制位之一,对数据进行确认.确认由目的端发出,用它来告诉发送端这个序列号之前的数据段

udp类型的协议

竭诚为您提供优质文档/双击可除 udp类型的协议 篇一:udp协议设计与实现 udp协议设计与实现 一、网络协议栈结构 二、udp协议功能 无连接传输:不保证端到端数据传输的可靠性,一定程度上保证了数据传输实时性,适合多媒体数据传输. 三、udp协议设计 1.udp协议语法 用户数据报:udp首部+数据,以字节为单位; 其中首部最小为8个字节,包含4个字段; 源端口号:2个字节,发送方应用层协议进程编号; 目的端口号:2个字节,接收方应用层协议进程编号; 长度:udp首部+数据长度。 校验和:2个字节,伪首部+首部+数据 端口号理解 服务器端口号 周知端口号:数值一般为0~1023。

注册端口号:数值为1024~49151,为没有熟知端口号的应用服 务器程序使用;这个范围的端口号必须在iana登记,以防止重复使用。 客户端口号(或动态端口号):数值为49152~65535,留给客户应用程序暂时使用,由操作系统临时分配。 当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号;通信结束后,客户端口号立即释放,可供其他客户程序以后使用。 四、udp协议语义 五、udp协议时序关系 发送方接收方 udp报文 udp报文 发送方或接收方可以随时发送udp报文给对方。 接收到udp报文后,检查校验和,如果错误直接丢弃,然后不做任何处理;再检查目的端口号,如果目的端口号对应的上层进程接收队列存在,则接收;否则调用icmp协议发送端口不可达icmp差错报告。 五、udp协议实现 发送方:transport_udp_send.cpp(.h) 定义一个udp协议数据单元数据结构

omronfins通讯协议

1. OMRON FINS 通讯 FINS 通讯概述 FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。运用 FINS 指令可实现各种网络间的无缝通信,通过编程发送FINS 指令,上位机或PLC 就能够读写另一个PLC 数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。 1.2 Fins 帧的结构 发送命令结构: 发送命令结构: 响应命令结构: 命令码: 01 01 读数据 01 02 写数据 结束码: 00 00 无错误,否则执行出错; 举例说明: 要读取DM10开始10个字的内容:

存储区代码(82代表D区 80代表CIO区) 响应 当结束码不为00 00时,则代表执行错误,应重发当前帧。 2 FINS在以太网上的帧格式 Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。 FINS UDP/IP的帧格式 帧格式:UDP/IP帧+FINS命令帧 UDP/IP的帧格式:共10个字节,其名称如下: 其每个字节的具体解释如下: ICF:发送接收标志字节,发送报文:ICF=80HEX;响应报文:ICF=C0; RSV:固定为00HEX; GCT:固定为02HEX; DNA:目标网络号;本网络:00;远程网络:01-7F; DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值; DA2:目标单元号;对于CPU来说,固定为00;

UDP协议及分析

UDP协议及分析 一、UDP协议 UDP 是User Datagram Protocol的简称,中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。 UDP协议的全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天UDP仍然不失为一项非常实用和可行的网络传输层协议。 与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,

UDP和TCP都属于传输层协议。UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。 二、UDP协议的主要特点 (1) UDP是无连接的,即发送数据之前不需要建立连接。 (2) UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。 (3) UDP 是面向报文的。UDP 没有拥塞控制,很适合多媒体通信的要求。 (4) UDP 支持一对一、一对多、多对一和多对多的交互通信。(5) UDP 的首部开销小,只有 8 个字节。 三、UDP协议的使用 在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比

基于FINS协议的OMRON PLC与上位机通信

基于FINS协议的 OMRON PLC与上位机通信

主要内容 一.Fins通信介绍 二.Finsgateway介绍 三.Compolet2003/V2介绍 四.上位机与OMRON PLC通信的几种方式 五.上位VB/VC与OMRON PLC通信案例 六. 总结

第一章 FINS通信 1.Fins通信介绍 在现代工业自动化控制系统中,可编程逻辑控制器(PLC)作为常用的现场控制设备,上位机作为数据采集及人机界面的一种已经得到广泛使用。过去,在工程项目开发中,PLC 和上位机间的通信常采用RS-232C或者RS-485串行方式,这种方法很难满足数据量大、通信距离远、实时性要求高的控制系统。随着互联网技术的发展、普及与推广,以太网技术得到了迅速的发展,其传输速率的提高和交换技术的应用,解决了以太网通信的非确定性问题,使得工业以太网能够广泛应用于工业信息控制领域,也是工业信息控制未来的发展趋势。 FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。使用FINS指令可实现各种网络间的无缝通信,包括用于信息网络的Etherne(以太网),用于控制网络的Controller Link和SYSMAC LINK。通过编程发送FINS指令,上位机或PLC就能够读写另一个PLC数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS协议支持工业以太网,这就为OMRON PLC与上位机以太网通信的实现提供了可能。 2.工业以太网优势 工业以太网的优势是相当明显的。其传输速率可以达到10/100Mb/s(取决于实际网络环境);两个节点之间的传输距离可以达到100m,对于整个网络的传输距离没有限制;网络内最大节点数可以达到254个,可以实现1(PLC):N(PC)、N:N、N:1等多种网络形式。这些都为构架各种规模的工业网络信息系统提供了有利的条件,具有良好的扩展性、实用性、灵活性。目前使用的上位机都配有以太网卡,所以上位机侧无需增加额外的硬件设备。因此,采用工业以太网方式对提高工厂的自动化信息控制水平具有很大的现实意义。 3.以太网FINS通信 在以太网FINS通信中,各种数据信息是以UDP/IP包或者TCP/IP包的方式在以太网上发送和接收的。其中,在Internet层远程设备使用的是IP地址,而在应用层使用的则是FINS节点地址。传输层中定义了本地UDP或TCP端口号,它为应用层(即FINS通信)提供通信端口,其默认设置为9600。用户可以根据实际情况自行修改,但是在同一网络中,各设备的通信端口号必须保持一致。

UDP协议及分析

U D P协议及分析一、UDP协议 UDP 是User Datagram Protocol的简称,中文名是用户数据报协议,是OSI (Open System Interconnection,开放式系统互联)参考模型中一种无连接的协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。 UDP协议的全称是用户数据报协议,在中它与协议一样用于处理数据包,是一种无连接的协议。在模型中,在第四层——,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在之间传输数据的网络应用。包括系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP 协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天UDP仍然不失为一项非常实用和可行的网络传输层协议。 与所熟知的TCP()协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI()参考模型,UDP和TCP都属于传输层协议。UDP协议的主要作用是将流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。 二、UDP协议的主要特点 (1) UDP是无连接的,即发送数据之前不需要建立连接。 (2) UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。

(3) UDP 是面向报文的。UDP 没有拥塞控制,很适合多媒体通信的要求。 (4) UDP 支持一对一、一对多、多对一和多对多的交互通信。 (5) UDP 的首部开销小,只有 8 个字节。 三、UDP协议的使用 在选择使用协议的时候,选择UDP必须要谨慎。在质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ和就是使用的UDP协议。 四、UDP协议的报头 (1)面向报文的 UDP 发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。 应用层交给 UDP 多长的报文,UDP 就照样发送,即一次发送一个报文。 接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。 应用程序必须选择合适大小的报文。 (2)UDP报文的组成 UDP报头由4个域组成,其中每个域各占用2个字节,具体如下:UDP源、目标端口号、长度、校验值

基于FINS协议的OMRON-PLC与上位机以太网通信的实现[多图]

基于FINS协议的OMRON PLC与上位机以太网通信的实现[多图] 引言 在当代工业自动化控制系统中,可编程逻辑控制器(PLC)作为常用的现场控制设备,上位机作为数据采集及人机界面的一种已经得到广泛运用。过去,在工程项目开发中,PLC和上位机间的通信常采用RS-232C或者RS-485串行方式,这种要领很难满足数据量大、通信距离远、实时性要求高的控制系统。随着互联网技能的发展、普及与推广,以太网技能得到了快速的发展,其传输速率的提高和交换技能的运用,处理了以太网通信的非确定性疑问,使得工业以太网能够广泛运用于工业信息控制领域,也是工业信息控制未来的发展趋势。 FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。运用FINS指令可实现各种网络间的无缝通信,包括用于信息网络的Etherne(以太网),用于控制网络的Controller Link 和SYSMAC LINK。通过编程发送FINS指令,上位机或PLC就能够读写另一个PLC数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS协议支撑工业以太网,这就为OMRON PLC与上位机以太网通信的实现提供了可能。 1 OMRON PLC与上位机通信方式 目前,在欧姆龙PLC网络组成中,上位机和PLC的通信可以采用RS232C /485串行通信、Controller Link通信和工业以太网通信三种方式。它们的主要性能参数如表1所示。 图片看不清楚?请点击这里查看原图(大图)。 文献[3]介绍了采用RS232C/485串行通信的方案,其通信速率仅为9600b /s,速率较慢,很难适应当代数据量大、通信距离较远、实时性要求较高的控制系统。 文献[2]中给出了基于FINS协议的Controller Link通信的设计方案,其最高速率可以达到2Mb/s,整个网络的最大传输距离为500m,硬件上须要在上位机安装CLK支撑卡,其扩展性及运用的灵活性没有工业以太网好。 在三种通信方式中,工业以太网的优势是相当明显的。其传输速率可以达到10/100Mb/s(取决于实际网络环境);两个节点之间的传输距离可以达到100m,对于整个网络的传输距离没有限定;网络内最大节点数可以达到254个,可以实现1(PLC):N(PC)、N:N、N:1等多种网络形式。这些都为构架各种规模的工业网络信息系统提供了有利的条件,具有良好的扩展性、实用性、灵活性。

OmronFins通讯协议

OmronFins通讯协议

OMRON FINS通讯 1.OMRON FINS通讯 1.1 FINS通讯概述 FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自 动化控制网络的指令/响应系统。运用 FINS指令可实现各种网络间的无缝通信, 通过编程发送FINS指令,上位机或PLC就 能够读写另一个PLC数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS 协议支持工业以太网,这就为OMRON PLC 与上位机以太网通信的实现提供了途径。 1.2Fins帧的结构 发送命令结构: 发送命令结构: 命令正

响应命令结构: 命令码: 01 01 读数据 01 02 写数据 结束码: 00 00 无错误,否则执行出错;举例说明: 要读取DM10开始10个字的内容: 01 01 HEX 82 hex 00 0A 00 00 0A 命令码存储区代码 (82代表D 区) 待读数据 起始地址 读取字的 数量 存储区代码(82代表D区80代表CIO区)响应 01 01 00 00 Data1----Data10 命令结束正

命令码结束码读取的10个字的 数据 当结束码不为00 00时,则代表执行错误,应重发当前帧。 2 FINS在以太网上的帧格式 Fins在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。具体帧格式分为UDP/IP帧格式和TCP/IP帧格式。 2.1 FINS UDP/IP的帧格式 帧格式:UDP/IP帧+FINS命令帧 UDP/IP 帧 FINS命令帧 UDP/IP的帧格式:共10个字节,其名称如 下: ICF RSV GCT DNA DA1 DA2 SNA SA1 SA2 SID 其每个字节的具体解释如下:

UDP数据包协议

UDP 是User Datagram Protocol的简称,中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。它是IETF RFC 768是UDP的正式规范。 目录

数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP 有不提供数据报分组、组装和不能对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。 UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。 与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。 UDP协议的主要作用是将网络数据流量压缩成数据报的形式。一个典型的数据报就是一个二进制数据的传输单位。每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。 编辑本段使用UDP 在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人不十分满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ和QQ就是使用的UDP协议。 编辑本段UDP报头 UDP报头由4个域组成,其中每个域各占用2个字节,具体如下: UDP 源端口号 目标端口号 数据报长度 校验值 UDP协议使用端口号为不同的应用保留其各自的数据传输通道。UDP和TCP协议正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。数据发送一方(可以是客户端或服务器端)将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。一般来说,大于49151的端口号都代表动态端口。

UDP协议及格式

U D P协议及格式2009-07-30 15:12:05|??分类:RTL8019AS |??标签:|字号大中小?订阅 UDP协议简介 UDP协议是英文UserDatagramProtocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP 协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。 与我们所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。 UDP协议的主要作用是将网络数据流量压缩成数据报的形式。一个典型的数据报就是一个二进制数据的传输单位。每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。 UDP报头 UDP报头由4个域组成,其中每个域各占用2个字节,具体如下: 源端口号 目标端口号 数据报长度 校验值 UDP协议使用端口号为不同的应用保留其各自的数据传输通道。UDP和TCP协议正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。数据发送一方(可以是客户端或服务器端)将UDP 数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。一般来说,大于49151的端口号都代表动态端口。 数据报的长度是指包括报头和数据部分在内的总的字节数。因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。数据报的最大长度根据操作环境的不同而各异。从理论上说,包含报头在内的数据报的最大长度为65535字节。不过,一些实际应用往往会限制数据报的大小, 有时会降低到8192字节。 UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是否出错。这与TCP协 议是不同的,后者要求必须具有校验值。 UDP和TCP协议的主要区别是两者在如何实现信息的可靠传递方面不同。TCP协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。

OmronFins通讯协议

OMRON FINS通讯 1. OMRON FIN通讯 1.1 FINS通讯概述 FINS(factory in terface network service) 通信协议是欧姆龙公司幵发的用于工业自动化控制网络的指令/响应系统。运用FINS指令可实现各种网络间的无缝通信,通过编程发送FINS指令,上位机或PLC就能够读写另一个PLC数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS协议支持工业以太网,这就为OMRON PL与上位机以太网通信的实现提供了途径。 1.2 Fins帧的结构 发送命令结构: 发送命令结构: ____ 命令码_____ II_____ 正文 _______ 响应命令结构: 命令码I 结束码丨丨正文 _______ 命令码:01 01读数据 01 02 写数据结束码:00 00无错误,否则执行出错;

举例说明: 要读取DM1(开始10个字的内容: 存储区代码(82代表D区80代表CIO区)响应 当结束码不为00 00时,则代表执行错误,应重发当前帧 2 FINS在以太网上的帧格式Fins 在以太网上帧格式比较简单,简单来说就是在上面所说的Fins帧的基础上加上以太网的包头就可以了。具体帧格式分为UDP/IP帧格式和TCP/IP帧格式2.1 FINS UDP/IP 的帧格式 帧格式:UDP/IP帧+FINS命令帧

其每个字节的具体解释如下: ICF:发送接收标志字节,发送报文:ICF=80HEX响应报文:ICF二CO; RSV固定为OOHEX GCT固定为02HEX DNA目标网络号;本网络:00;远程网络:01-7F ; DA1:目标节点号;对于以太网来说,即该网络IP地址最后一位的值;DA2:目标单元号;对于CPU来说,固定为00; SNA源网络号;本网络:00 ; SA1:源节点号;IP地址最后一位的值;

相关文档
最新文档