FREEMODBUS TCP
“FREEMODBUS TCP”相关的资料有哪些?“FREEMODBUS TCP”相关的范文有哪些?怎么写?下面是小编为您精心整理的“FREEMODBUS TCP”相关范文大全或资料大全,欢迎大家分享。
FreeModbus学习笔记
FreeModbus学习笔记
一、 FreeModbus简介
FreeMODBUS一个奥地利人写的Modbus协议。它是一个针对嵌入式应用的一个免费(自由)的通用MODBUS协议的移植。Modbus是一个工业制造环境中应用的一个通用协议。Modbus通信协议栈包括两层:Modbus应用层协议,该层定义了数据模式和功能;另外一层是网络层。
FreeMODBUS 提供了RTU/ASCII 传输模式及TCP协议支持。FreeModbus遵循BSD许可证,这意味着用户可以将FreeModbus应用于商业环境中。目前版本FreeModbus-V1.5提供如下的功能支持:
表1 FreeModbus-V1.5功能支持
代码 Master Slave MB_RTU MB_ASCII MB_TCP 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x0B 0x0C 0x0F 0x10 0x11 0x14 0x15 0x16 0x17 0x18 0x2B 0x2B/0x0D 0x2B/0x0E 主机 从机 RTU模式 ASCII模式 TCP模式 读线圈 读离散输入 读保持寄存器 读输入寄存器 写单个线圈 写单个寄存器 读异常状态
FreeModbus--完全分析
FreeModbus--完全分析
说明:freemodbus-v1.5.0
主流程
[objc] view plaincopy
1. /* ----------------------- Start implementation -----------------------------*/ 2. int
3. main( void ) 4. {
5. eMBErrorCode eStatus; 6.
7. eStatus = eMBInit( MB_RTU, 0x0A, 0, 38400, MB_PAR_EVEN ); 8.
9. /* Enable the Modbus Protocol Stack. */ 10. eStatus = eMBEnable( ); 11.
12. for( ;; ) 13. {
14. ( void )eMBPoll( ); 15.
16. /* Here we simply count the number of poll cycles. */
freeModbus代码解读及移植笔记
1. FreeModbus协议分析
协议必须首先调用初始化功能eMBinit()函数。后调用eMBEnable(),最后,在循环体或者单独一个任务中调用eMBPoll()函数。
2. 应用层协议 2.1. 系统的启动
2.1.1. eMBInit()函数的源码分析
以RTU方式为例,首先,检查调用的地址是否合法。如不合法,返回错误。如果合法则继续执行,
首先,针对RTU方式还是ASCII方式,选择不同的编译模块。
对需要调用的函数指针进行复制。如果移植需要改变其他用途,则要修改相应的指针,包括如下赋值:
pvMBFrameStartCur = eMBRTUStart; pvMBFrameStopCur = eMBRTUStop; peMBFrameSendCur = eMBRTUSend; peMBFrameReceiveCur = eMBRTUReceive;
pvMBFrameCloseCur = MB_PORT_HAS_CLOSE ? vMBPortClose :NULL; pxMBFrameC
modbus tcp 详解
开放型 MODBUS-TCP规范(中文版)
发布时间:2005年7月5日
开放型Modbus/TCP规范
修订版1.0,1999年3月29日
Andy Swales Schneider电气公司 aswales@modicon.com
目录
目录.................... 2
1.该规范的发展概况.................... 3 2.概述................. 3 2.1面向连接. 3
第1 页 共30 页
2.2 数据编码 4
2.3 参考编号的解释........... 4 2.4 隐含长度基本原则....... 5 3. 一致性等级概述........................ 5 3.1 类型 0..... 5 3.2 类型 1..... 5 3.3 类型 2..... 6
3.4机器/厂家/网络的特殊功能.................... 7 4.协议结构........ 7
5. 一致性等级的协议参考值....... 8 5.1 类型0指
freemodbus程序解读之port.c
/*
* FreeModbus Libary: LPC214X Port
* Copyright (C) 2007 Tiago Prado Lone * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PART
TCP-IP术语
IP, Internet Protocol, (RFC-791) 网际协议
ICMP, Internet Control Message Protocol, (RFC-792) 网际报文控制协议
IGMP, Internet Group Multicast Protocol, (RFC-1112) 网际成组多路广播协议 UDP, User Datagram Protocol, (RFC-768) 用户数据报协议 TCP, Transmission Control Protocol, (RFC-793) 传输控制协议 TELNET, Telnet Protocol, (RFC-854,855) Telnet协议
FTP, File Transfer Protocol, (RFC-959) 文件传输协议, 计算机网络上主机之间传送文件的一种服务协议。
SMTP, Simple Mail Transfer Protocol, (RFC-821) 简单邮件传输协议
SMTP-SIZE, SMTP Service Ext for Message Size, (RFC-1870) 可处理大信包的扩充的SMTP协议
SMTP-EXT, S
TCP IP报文讲解
TCP/IP协议 学习理解:
一个完整的数据帧:
利用抓包工具,我们可以从网络中随便抓取一个包,比如抓个ICMP包。其结构如下:
— Frame 3076下是该数据帧里的一些相关信息:
数据帧到达时间 /捕捉到数据帧的时间
—? —?
从抓到第一个包到现在计时
帧序列号: /抓包工具抓到的第几个包 帧长度: /该包自己标记的长度 捕捉到的帧长度: /实际捕捉到的包长 [帧是否被标记]: /?
[帧里包含的协议:eth:ip:icmp:data] /包内自上往下封装的协议 下面是数据帧里的结构:
— 以太网 /协议
目的主机硬件地址:
有效管理TCP
<一>、单选题
(2)、如果网络中的两台路由器采用直接相连的方式,且该网络段中不再有其他任何网络设备,那么采用哪种长度的子网掩码最合适? A、27 B、28 C、29 D、30 正确答案:D
(3)、在配置的RIP属性“传出数据包协议”时,使用列表中的哪一项可以保持自己的路由不被通告给其他使用RIP的路由器? A、RIP1版广播 B、RIP2版广播 C、RIP2版多播 D、静态RIP 正确答案:D
(5)、公司网络结构调整,原先使用的IP地址范围192.168.8.1~192.168.11.254,子网掩码255.255.252.0,要修改为192.168.8.1~192.168.15.254,子网掩码255.255.248.0。DHCP服务应该作出如何相应调整? A、添加一个地址作用域192.168.12.1~192.168.15.254,子网掩码255.255.252.0
B、添加一个地址作用域192.168.12.1~192.168.15.254,子网掩码255.255.248.0,修改作用域192.168.8.1~192.168.11.254的子网掩码为255.255.248.0
C、删除地址作用域192.168.8.1~192.
有效管理TCP
<一>、单选题
(2)、如果网络中的两台路由器采用直接相连的方式,且该网络段中不再有其他任何网络设备,那么采用哪种长度的子网掩码最合适? A、27 B、28 C、29 D、30 正确答案:D
(3)、在配置的RIP属性“传出数据包协议”时,使用列表中的哪一项可以保持自己的路由不被通告给其他使用RIP的路由器? A、RIP1版广播 B、RIP2版广播 C、RIP2版多播 D、静态RIP 正确答案:D
(5)、公司网络结构调整,原先使用的IP地址范围192.168.8.1~192.168.11.254,子网掩码255.255.252.0,要修改为192.168.8.1~192.168.15.254,子网掩码255.255.248.0。DHCP服务应该作出如何相应调整? A、添加一个地址作用域192.168.12.1~192.168.15.254,子网掩码255.255.252.0
B、添加一个地址作用域192.168.12.1~192.168.15.254,子网掩码255.255.248.0,修改作用域192.168.8.1~192.168.11.254的子网掩码为255.255.248.0
C、删除地址作用域192.168.8.1~192.
TCP试题1
TCP/IP试题
1) IP地址 219.25.23.56 的缺省子网掩码有几位(C ) A. 8 B. 16 C. 24 D. 32
2) 网络层的协议有( ABCD)协议 A. IP B. ARP C. ICMP D. RARP
3) 划分子网是在IP地址的(B )部分 A. 网段地址 B. 主机地址 C. 子网网段 D. 缺省子网掩码
4) 一个B类IP地址最多可用(B )位来划分子网 A. 8 B. 14 C. 16 D. 22
5) 一个A类地址的子网掩码是255.255.240.0 有( D)位被用来划分子网 A. 4 B. 5 C. 9 D. 12
6) 一个网段150.25.0.0的子网掩码是255.255.224.0,(BC )是有效的主机地址 A. 150.25.0.0 B. 150.25.1.255 C. 150.25.2.24 D. 150.15.3.30
7) 关于IP报文头的TTL字段,以下说法正确的有(BC ) A. TTL的最大可能值是65535
B. 在正常情况下,路由器不应该从接口收到TTL=0的IP报文 C. TTL主要是为了防止IP报文在网络中的循环转发,浪费网络带宽
D. IP报文每经过一个网络设备