为满足实时性要求,也为了实现工业网络的低成本,现场总线采用的通信模型大都在OSI模型的基础上进行了不同程度的简化。图2-24 OSI与部分现场总线通信参考模型的对应关系图2-24中的H1指IEC标准中的61158。图2-25是OSI模型与另两种现场总线的通信参考模型的分层比较。其中LonWorks采用了OSI模型的全部七层通信协议,被誉为通用控制网络。......
2023-11-20
以太网是上位机与控制卡进行通信的唯一方式,上位机通过以太网周期性地向主控制卡索要测控板卡的采样信息,向主控制卡发送模拟量/数字量输出命令,向控制卡下载控制算法信息等。在测控板卡或从控制卡故障的情况下,主控制卡通过以太网主动连接上位机的服务器,向上位机报告故障情况。
在网络通信过程中经常遇到的两个概念是客户端与服务器。在控制卡的设计中,在常规的通信过程中,控制卡作为服务器,上位机作为客户端主动连接控制卡进行通信。而在故障报告过程中,上位机作为服务器,控制卡作为客户端主动连接上位机进行通信。
在控制卡中,以太网通信已经构成双以太网的平行冗余通信网络,两路以太网处于平行工作状态,相互独立。上位机既可以通过网络1与控制卡通信,也可以通过网络2与控制卡通信。第一路以太网在硬件上采用STM32F407ZG内部的MAC与外部PHY构建,在程序设计上采用了一个小型的嵌入式TCP/IP协议栈uIP;第二路以太网采用的是内嵌硬件TCP/IP协议栈的W5100,采用端口编程,程序设计要相对简单。
1.第一路以太网通信程序设计及嵌入式TCP/IP协议栈uIP
第一路以太网通信程序设计,采用了一个小型的嵌入式TCP/IP协议栈uIP,用于网络事件的处理和网络数据的收发。
uIP是由瑞典计算机科学学院的Adam Dunkels开发的,其源代码完全由C语言编写,并且是完全公开和免费的,用户可以根据需要对其做一定的修改,并可以容易地将其移植到嵌入式系统中。在设计上,uIP简化了通信流程,裁剪掉了TCP/IP中不常用的功能,仅保留了网络通信中必须使用的基本协议,包括IP、ARP、ICMP、TCP和UDP,以保证其代码具有良好的通用性和稳定的结构。
应用程序可以将uIP看作一个函数库,通过调用uIP的内部函数实现与底层硬件驱动和上层应用程序的交互。uIP与系统底层硬件驱动和上层应用程序的关系如图11-16所示。
图11-16 uIP与系统底层硬件驱动和上层应用程序的关系
2.第二路以太网通信程序设计及W5100的Socket编程(www.chuimin.cn)
W5100内嵌硬件TCP/IP协议栈,支持TCP、UDP、IPv4、ARP和ICMP等。W5100还在内部集成了16KB的存储器作为网络数据收发的缓冲区。W5100的高度集成特性使得以太网控制和协议栈运作对用户应用程序是透明的,应用程序直接进行端口编程即可,而不必考虑细节的实现问题。
在完成了W5100的初始化操作之后,即可以开始基于W5100的以太网应用程序的开发。W5100中的应用程序开发是基于端口的,所有网络事件和数据收发都以端口为基础。启用某一端口前需要对该端口做相应设置,包括端口上使用的协议类型、端口号等。
3.网络事件处理
以太网通信程序主要用于实现控制卡与上位机间的通信,及主从控制卡间的数据同步操作。控制卡与上位机间的通信采用TCP协议,并且正常情况下,控制卡作为服务器,接受上位机的访问,或回送上位机的数据索要请求,或处理上位机传送的输出控制命令和控制算法信息;在控制卡或测控板卡或通信线出现故障时,控制卡作为客户端,主动连接上位机的服务器,并向上位机报告故障情况。主从控制卡间的数据同步操作使用UDP协议,以增加数据传输的效率,当从控制卡死机重启后,主控制卡会主动要求与从控制卡进行信息传输,以实现数据的同步。主控制卡以太网程序功能见表11-8。
表11-8 主控制卡以太网程序功能
注:源端口为客户端的端口,目的端口为服务器端的端口。
主控制卡与从控制卡的以太网功能略有不同,如故障信息的传输永远由主控制卡完成,因为某一控制卡死机后,依然运行的控制卡一定会保持或切换成主控制卡。从控制卡死机重启后,在进行同步信息的传输时,主控制卡作为客户端主动向作为服务器的从控制卡传输同步信息。
有关现场总线及其应用技术的文章
为满足实时性要求,也为了实现工业网络的低成本,现场总线采用的通信模型大都在OSI模型的基础上进行了不同程度的简化。图2-24 OSI与部分现场总线通信参考模型的对应关系图2-24中的H1指IEC标准中的61158。图2-25是OSI模型与另两种现场总线的通信参考模型的分层比较。其中LonWorks采用了OSI模型的全部七层通信协议,被誉为通用控制网络。......
2023-11-20
在互联网中,任何两台通信的主机之间,从源端到目的端的信道都是由一段一段的点到点通信线路组成的。图8-15 传输层端到端通信点到点通信是由网络互联层来实现的,网络互联层只屏蔽了不同网络之间的差异,构建了一个逻辑上的通信网络,因此它只解决了数据通信问题。端到端通信是建立在点到点通信基础之上的,它是比网络互联层通信更高一级的通信方式,用于完成应用程序(进程)之间的通信。端到端的通信是由传输层来实现的。......
2023-11-20
CAN通信程序的设计需要充分利用双CAN构建的环形通信网络,实现正常情况下的高效、快速的数据通信,以及实现故障情况下的及时、准确的故障性质确定和故障定位。CAN通信数据包的分帧情况见表11-7。......
2023-11-22
基金会现场总线,是在过程自动化领域得到广泛支持和具有良好发展前景的技术。屈于用户的压力,这两大集团于1994年9月合并,成立了现场总线基金会,致力于开发出国际上统一的现场总线协议。基金会现场总线分低速H1和高速H2两种通信速率。H1的传输速率为31.25 kbit/s,通信距离可达1900 m,可支持总线供电,支持本质安全防爆环境。H2总线标准也已形成。......
2023-11-22
如果已经设计好了能完成某种功能的从站,就可以编写上位机测试程序来测试从站的性能。本节采用CP5611网络接口卡,以FBPRO-8DO八路数字量输出智能节点为例,介绍PROFIBUS-DP上位机通信程序设计,编程环境使用VC++6.0。2)将CP5611网络接口卡提供的DPN USER.H和DPLIB.LIB两个文件复制到刚刚新建的项目根目录下,并且添加到应用程序中。3)在VC++6.0环境下编写通信程序。2)对dpn_ptr.user_data[j]的值超出了以下范围:①DPN_SLV_WRITE_READ。6)没有正确安装CP5611网络接口卡的驱动程序。......
2023-11-22
表4-20 通信距离与通信波特率关系表(续)CAN接收子程序1)程序流程图。图4-35 CAN接收子程序流程图2)程序清单。图4-36 CAN发送子程序流程图2.PeliCAN程序设计初始化子程序程序清单如下:入口条件:波特率控制字存入NBTR0和NBTR1中。......
2023-11-22
节省硬件数量与投资由于现场总线系统中分散在设备前端的智能设备能直接执行多种传感、控制、报警和计算功能,因而可减少变送器的数量,不再需要单独的控制器、计算单元等,也不再需要DCS系统的信号调理、转换、隔离技术等功能单元及其复杂接线。......
2023-11-20
为满足实时性要求,也为了实现工业网络的低成本,现场总线采用的通信模型大都在OSI模型的基础上进行了不同程度的简化。图2-22 OSI与部分现场总线通信参考模型的对应关系图2-22中的H1指IEC标准中的61158。图2-23是OSI模型与另两种现场总线的通信参考模型的分层比较。其中LonWorks采用了OSI模型的全部七层通信协议,被誉为通用控制网络。......
2023-11-22
相关推荐