电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

PROFIBUSDP主站通信程序设计VIP免费

PROFIBUSDP主站通信程序设计_第1页
PROFIBUSDP主站通信程序设计_第2页
PROFIBUSDP主站通信程序设计_第3页
PROFIBUS-DP 主站通信程序设计 通信程序 主要函数 如果已经设计好了能完成某种功能的从站,就可以编写主站测试程序来测试从站的性能。 下面采用CP5611 网络接口卡,以FBPRO-8DI 八路数字量输入智能节点为例介绍PROFIBUS-DP 主站通信程序设计,编程环境使用VC++6.0。本程序能够完成应用程序的初始化、数据读入、数据输出和应用程序的复位等基本操作。 PROFIBUS-DP 主站通信程序设计步骤为: ① 在 VC++6.0 下创建一个应用程序; ② 将 CP5611 网络接口卡提供的DPN_USER.H 和DPLIB.LIB 两个文件拷贝到刚刚新建的项目根目录下,并且添加到应用程序中; ③ 在 VC++6.0 环境下编写通信程序。 6.4.1 通信程序中主要函数介绍 1.定义变量 dpn_interface dpn_ptr; //使用前必须首先定义 dpn_interface 的结构: struct dpn_interface { struct REFERENCE reference; //子结构体 unsigned char stat_nr; //站地址 unsigned char length; //返回数据长度 unsigned short int error_code; //错误代码 unsigned char slv_state; //DP 从站状态 unsigned char sys_state; //DP 主站状态 unsigned char sys_event; //事件信息 unsigned char user_data [MAX_DATA_LEN]; //数据区 }; struct REFERENCE { unsigned char board_select; //CP 板卡选择设置 unsigned char access; //系统访问设置 }; 2.初始化函数dpn_init(&dpn _ptr) 编写上位机程序时,在对CP5611/5613 进行访问操作之前必须调用初始化函数。使用初始化函数之前,必须对该函数做一些初始化操作,其他函数使用前也必须首先对变量初始化: dpn_ptr.reference.board_select=1;//选择CP5611/5613 的板卡号,若系统中只有一块板卡,则板卡号默认为 1 dpn_ptr.reference.access=(DPN_SYS_NOT_CENTRAL)|(DPN_ROLE_NOT_CENTRAL); //系统中不设置高级任务和高级请求 //以上两项一般固定 dpn _ptr.length=126; //length=profibus 网络中最大的从站地址 int j=0; for( j=0;j<126;j++) //设置设备读写属性 { if(“网络中存在该地址”) { dpn_ptr.user_data[j]=DPN_SLV_WRITE_READ; //如果网络中存在本地址,则将属性设置为DPN_SLV_WRITE_READ,否则为0 } else dpn_ptr.user_data[j]=0; } //例如FBPRO-8DI 地址为2,应该设置 //dpn_ptr.user_data[2]=DPN_SLV_WRITE_READ; dpn_init(&dpn...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部