图11-16 uIP与系统底层硬件驱动和上层应用程序的关系2.第二路以太网通信程序设计及W5100的Socket编程W5100内嵌硬件TCP/IP协议栈,支持TCP、UDP、IPv4、ARP和ICMP等。......
2023-11-22
如果已经设计好了能完成某种功能的从站,就可以编写上位机测试程序来测试从站的性能。
本节采用CP5611网络接口卡,以FBPRO-8DO八路数字量输出智能节点为例,介绍PROFIBUS-DP上位机通信程序设计,编程环境使用VC++6.0。本程序能够完成应用程序的初始化、数据读入和数据输出以及应用程序的复位等基本操作。
PROFIBUS-DP上位机通信程序设计步骤为:
1)在VC++6.0下创建一个应用程序。
2)将CP5611网络接口卡提供的DPN USER.H和DPLIB.LIB两个文件复制到刚刚新建的项目根目录下,并且添加到应用程序中。
3)在VC++6.0环境下编写通信程序。
下面介绍通信程序中用到的几个函数的使用方法。
1.定义变量
2.调用初始化函数dpn init(&dpn ptr)
在使用该函数之前,必须对该函数做一些初始化操作,其他函数使用前也必须首先对变量初始化:
如果有错误,可以参考初始化函数的返回值来解决。
只有当初始化正确后,才能进一步进行以下操作。如果出现错误,可能原因有以下几种:
1)已经调用了初始化函数,并且已经成功,还没有调用复位函数,又一次调用初始化函数。
2)对dpn_ptr.user_data[j]的值超出了以下范围:
①DPN_SLV_WRITE_READ。
②DPN_SLV_READ。
③DPN_SLV_NO_ACCESS。
3)设置了DPN_SLV_WRITE_READ或DPN_SLV_READ属性的模块没有在配置软件中进行正确配置。
4)dpn_ptr.reference.board_select=1;dpn_ptr.reference.access=(DPN_SYS_NOT_ CENTRAL)|(DPN_ROLE_NOT_CENTRAL);属性设置不正确。
5)Set_PG/PC设置不正确,也不能初始化成功。(www.chuimin.cn)
6)没有正确安装CP5611网络接口卡的驱动程序。
7)在初始化前没有将配置好的参数文件正确下载到系统中。
3.数据输出dpn_out_slv(&ptr_ptr)
4.数据读入dpn_in_slv(&dpn_ptr)
初始化函数的返回值没有错误后,可以进行其他函数的操作,但有时并不能达到我们期望的结果,比如数据不能读取到上位机,或者上位机的数据不能正确下载到从站中。初始化正确但是不能正常通信的可能原因有以下几种:
1)从站没有工作。
2)从站电源指示灯亮,但是电源电压低,微处理器没有工作。
3)通信电缆没有连接好。
4)通信电缆太长或通信速率太快。
5)没有正确设置终端电阻。
6)地址设置不一致。
5.读取总线参数dpn_read_bus_par(&dpn_ptr)
6.复位dpn_reset(&dpn_ptr)
//退出时程序要复位
dpn_ptr.reference.board_select=1;
dpn_ptr.reference.access=(DPN_SYS_NOT_CENTRAL)|(DPN_ROLE_NOT_CENTRAL);
dpn_reset(&dpn_ptr);
//程序正确复位后error_code=0;
有关现场总线及其应用技术的文章
图11-16 uIP与系统底层硬件驱动和上层应用程序的关系2.第二路以太网通信程序设计及W5100的Socket编程W5100内嵌硬件TCP/IP协议栈,支持TCP、UDP、IPv4、ARP和ICMP等。......
2023-11-22
PROFIBUS-DP用于现场层的高速数据传输。除周期性用户数据传输外,PROFIBUS-DP还提供了强有力的诊断和配置功能,数据通信是由主机和从机进行监控的。系统配置PROFIBUS-DP允许构成单主站或多主站系统,这就为系统配置组态提供了高度的灵活性。......
2023-11-22
CAN通信程序的设计需要充分利用双CAN构建的环形通信网络,实现正常情况下的高效、快速的数据通信,以及实现故障情况下的及时、准确的故障性质确定和故障定位。CAN通信数据包的分帧情况见表11-7。......
2023-11-22
基金会现场总线,是在过程自动化领域得到广泛支持和具有良好发展前景的技术。屈于用户的压力,这两大集团于1994年9月合并,成立了现场总线基金会,致力于开发出国际上统一的现场总线协议。基金会现场总线分低速H1和高速H2两种通信速率。H1的传输速率为31.25 kbit/s,通信距离可达1900 m,可支持总线供电,支持本质安全防爆环境。H2总线标准也已形成。......
2023-11-22
PROFIBUS-DP经过功能扩展,一共有DP-V0、DP-V1和DP-V2三个版本,有时将DP-V1简写为DPV1。诊断功能经过扩展的PROFIBUS-DP诊断,能对站级、模块级、通道级这3级故障进行诊断和快速定位,诊断信息在总线上传输并由主站采集。DPM1和系统组态设备间的循环数据传输PROFIBUS-DP允许主站之间的数据交换,即DPM1和DPM2之间的数据交换。对数据寻址时,PROFIBUS假设从站的物理结构是模块化的,即从站由称为“模块”的逻辑功能单元构成。在系统启动时由DPM1对标识符进行检查。......
2023-11-22
表4-20 通信距离与通信波特率关系表(续)CAN接收子程序1)程序流程图。图4-35 CAN接收子程序流程图2)程序清单。图4-36 CAN发送子程序流程图2.PeliCAN程序设计初始化子程序程序清单如下:入口条件:波特率控制字存入NBTR0和NBTR1中。......
2023-11-22
为满足实时性要求,也为了实现工业网络的低成本,现场总线采用的通信模型大都在OSI模型的基础上进行了不同程度的简化。图2-22 OSI与部分现场总线通信参考模型的对应关系图2-22中的H1指IEC标准中的61158。图2-23是OSI模型与另两种现场总线的通信参考模型的分层比较。其中LonWorks采用了OSI模型的全部七层通信协议,被誉为通用控制网络。......
2023-11-22
在这种过程中,下列SAPs服务于DP方式。除了Default SAP、SAP56、SAP57和SAP58,其他的SAPs一直使能,这四个SAPs在DP从站状态机制进入数据交换状态才使能。用户也可以使SAP55无效,这时相应的缓存器指针R_SSA_Buf_Ptr设置为00H。在RAM初始化时已描述过使DDB单元无效。一个缓存器分配给D,用于SPC3发送数据;另一个缓存器分配给U,用于准备新的诊断数据。在U状态下可从Dout缓存中进行Read_Output_Data操作。关于缓存器的起始地址,这8个字节是明确规定的。......
2023-11-22
相关推荐