- 博客(18)
- 资源 (16)
- 收藏
- 关注
原创 PROFIBUS-DP 协议帧格式
为核心,帧结构精简但功能明确,是工业现场级通信的经典设计。掌握其字段定义与状态机逻辑,是调试复杂网络的基础。⚠️ 长度由 GSD 文件预定义(如 2 字节输入 + 2 字节输出)。🔧 例如:主站发送输出数据并请求输入 →。(方向0 + 数据帧0 + 功能码0)。:PROFIBUS-DP 协议格式以。例:数据域长 10 字节 →。(实际值),此处仅为示例。
2025-06-01 23:11:03
1898
原创 PROFIBUS-DP协议
的特性成为设备级通信的基石。尽管面临工业以太网的冲击,其庞大的现存网络和成熟生态仍将在未来十年持续服役。对于工程师而言,掌握 DP 的配置、诊断和与 PA/PROFINET 的集成能力,仍是工业通信领域的必备技能。PROFIBUS-DP 广泛应用于需要。连接 PA 设备,实现过程仪表集成。
2025-06-01 23:10:13
1799
原创 Ethernet/IP 数据封装格式详解
综上所述,一个完整的 Ethernet/IP 数据包是由多个层次嵌套构成的整体结构体。从外部看过去依次经历了物理链路级别的MAC地址识别过程直至深入内部触及到底层应用程序接口层面的操作行为为止2。# 示例代码展示如何解析 Ethernet/IP 数据包中的关键字段# 解析以太网头部])= '88ab': # 检查是否为 CIP 报文# 继续向下一层解析 IP/TCP/CIP 结构......
2025-04-26 12:13:27
939
原创 Ethernet/IP 协议主要指令及功能
值得注意的是,尽管 EtherNet/IP 提供了丰富的工具集满足多样化业务诉求,但由于各厂商产品间存在一定的差异化解释现象,因此实际部署前务必验证双方软硬件版本匹配情况以免引发潜在冲突风险。这些显式消息遵循 CIP 的对象模型结构,其中每个设备都具有预定义的对象及其关联的服务方法。显式消息用于设备之间的请求/响应通信,通常涉及配置、诊断和状态监控等功能。为了实现高效的性能优化,在设计阶段需合理规划网络拓扑并考虑带宽利用率等因素。向 Allen Bradley PLC 类型的目标发起简单读取操作的过程。
2025-04-26 12:08:09
633
原创 Ethernet/IP协议的数据帧格式或报文结构
当前者情况发生时(即存在 IP 头部),紧接着的是标准 TCP 或 UDP 协议头部之后才是真正的应用层有效载荷区域——这里便是我们的主角:CIP Message Router 请求或者响应消息所在位置。Ethernet/IP 协议作为 CIP 的一种实现方式,其核心在于将高层的 CIP 数据封装到以太网的标准帧中进行传输。此处,"Common Packet Format"再次扮演起承上启下的角色,它由固定长度的部分构成,用于指示接下来的服务类型编码等等信息。然而,在某些情况下也可能直接指定特殊的值如。
2025-04-26 12:03:00
1089
原创 CIP(Control and Information Protocol)的组成部分
CIP(Control and Information Protocol)是一个通用工业协议,旨在为工业自动化环境中的设备提供一致的通信方法。它定义了一系列的服务、对象和属性,用于描述设备的行为和交互方式3。CIP 协议独立于底层网络技术,因此它可以运行在不同的物理媒介上,例如 DeviceNet、ControlNet 和 Ethernet/IP。
2025-04-26 09:06:47
973
原创 wxWidget 源码编译
@echo offcd build/mswtitle 编译wxWidgetsecho 开始编译echo ---------------------------------------------------------------------echo 编译发行版本mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC...
2019-08-07 08:58:34
594
1
原创 code:blocks wxWidget 静态编译GUI界面报错解决方法
采用静态编译后出现一下错误E:\wxWidgets-3.1.2\lib\gcc_lib/libwxmsw31u_core.a(corelib_window.o):window.cpp:(.text+0x1118e): undefined reference to `OpenThemeData@8'E:\wxWidgets-3.1.2\lib\gcc_lib/libwxmsw31u_core...
2019-08-02 09:08:00
1263
转载 LDR指令
LDR指令的格式为:LDR{条件} 目的寄存器,<存储器地址>LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用于从存储器中读取32位的字数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。该指令在程序设计中比较常用,且寻址方式灵活多样,请读者认真掌握。指令...
2018-12-14 22:38:37
5767
转载 通过串口实现printf和scanf函数
在做裸板开发时,常常需要通过输出或者通过串口输入一些信息。在有操作系统机器上,我们很少关心输入和输出的问题。因为有很多现成的库函数供我们调用。在做裸板开发时,可没有现成库函数供我们调用,一切都需要我们自己实现。下面我们通过串口在裸板上实现一个printf和scanf函数。printf主要用来进行格式化输出,scanf函数主要用来进行格式化
2014-10-11 10:06:43
1492
转载 差错检测和纠正
物理过程所引起的差错,在某些介质中通常是突发的而不是单个的。网络设计者已经研究出两种基本的策略来处理差错。一种方法是在每一个要发送的数据块上附加足够的冗余信息,使接收方能够推导出已发出的字符应该是什么。另一种方法是只加足够的冗余位,使接收方知道差错发生,但不知道是什么样的差错,然后要求接收方重新进行传输。前者的策略是使用纠错码(error-correcting code),而后者则使用检错码(er
2014-09-12 10:51:43
996
转载 AVR bootloader 详解
ATmega128具备引导加载支持的用户程序自编程功能(In-System Programming by On-chipBoot Program),它提供了一个真正的由MCU本身自动下载和更新(采用读/写同时"Read-While-Write"进行的方式)程序代码的系统程序自编程更新的机制。利用AVR的这个功能,可以实现在应用编程(IAP)以及实现系统程序的远程自动更新的应用。IAP的本质就是
2014-09-12 10:13:25
1955
转载 C 语言运算符优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .
2014-09-12 10:10:52
410
转载 const的用法
const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。另外CONST在其他编程语言中也有出现,如C++、PHP5、C#.net、HC08 C。1什么是const?编辑 常类型是指使用类型修饰符const说
2014-09-05 11:48:19
457
转载 C中的volatile用法
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i; ... int k = i;
2014-09-05 11:44:09
323
转载 按位翻转数据算法
unsigned char ReverseBits(unsigned char ch){ ch = (ch & 0x55) > 1) & 0x55; ch = (ch & 0x33) > 2) & 0x33; ch = (ch & 0x0F) > 4) & 0x0F; return ch; }0x55 -> 01010101 B 0x33 -> 00110011 B 0x0F -> 00001
2014-08-06 23:05:40
1095
原创 Ubuntu14.04安装ti-sdk-am335x-evm-07.00.00.00-Linux-x86-Install.bin问题
ti-sdk-am335x-evm-07.00.00.00-Linux-x86-Install.bin这个文件2G,安装时出现root@frank-Lenovo-G450:/usr# ./ti-sdk-am335x-evm-07.00.00.00-Linux-x86-Install.bin段错误 (核心已转储)
2014-06-30 09:28:46
4564
嵌入式软件设计常用算法
2014-06-04
单片机外围电路设计
2014-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅