首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于ARM与GPRS技术的SCADA系统在风光电厂中的应用
来源:本站整理  作者:佚名  2011-09-04 21:17:35



3.2 系统任务设计

  μC/OS-Ⅱ要求在其上运行的应用软件“任务化”,所以需要按μC/OS-Ⅱ的任务编写规范设计系统应用任务。按任务优先级从高到低设计如下[4]。

  Task0:完成系统各部分(包括MC39i)初始化工作后,采用时间片的方式进行PPP数据帧的接收,并完成该数据帧的解析。

  Task 1:风光发电厂各发电站状态参数的读取。

  Task 2:UDP数据包的接收处理。

  Task 3:TCP数据包的接收处理。

  Task 4:ICMP数据包的接收处理(主要是响应PING)。

  Task 5:针对UDP数据报中的命令请求进行响应。

  Task 6:针对TCP数据报中的命令请求进行响应(Web服务器功能)。

  系统任务之间的通信如图3所示。

  

系统任务之间的通信

  3.3 IP数据包解析模块软件设计

  IP协议是TCP/IP协议的核心,也是网络层中最重要的协议,IP层接收由更低层发来的数据包,并将其发送到更高层——TCP或UDP层;反之,IP报也把从TCP或UDP层接收来的数据包传送到更低层,并最终通过TCP/IP网络进行无连接传送数据报。

  本系统向监控中心传送的数据,需先进行TCP/IP协议的处理,即要求LPC2214实现TCP/IP协议。其中IP数据包的封装及发送是通过函数ip_send( )实现的,通常此函数是在PPP协议处理函数中被调用。风光发电站各状态参数在被封装为UDP数据包以后,调用此函数进行IP协议格式数据封装,即在IP数据报头的数据结构中添加IP报头信息(其中包括计算IP报头的校验和值)。在封装好IP包之后,要设置此IP报头数据(20 B)的“发送结构”Send_Ptr,从而与UDP数据报构成一个发送数据链。

  发送IP报之前要先得到“发送信号量”SendFlag,否则只有挂起当前任务等待此信号量。一旦得到发送信号量,对该IP报进行PPP协议数据格式封装,之后再启动MC39i发送数据,数据发送完毕后要及时释放发送信号量。

  具体程序如下:

  Uint8 ip_send(struct Send_Ptr *TxdData,uint8 * dest_ip,uint8 PROTOCOL)

  {//TxdData为存放待传输数据首指针;dest_ip为目的IP地址首指针;IP包中的下一层

  //客户协议类型(UDP、TCP)

  uint16 CRC;

  uint8 Ip_Head[20];

  struct Send_Ptr TxDIPData;

  uint8 err;

  static uint16 FrameIndex=0;

  Ip_Head[0]=0x45;

  …… //进行TCP/IP协议中的IP数据包

  //报头设置

  Ip_Head[19]=dest_ip[3];

  CRC=CreateIpHeadCrc(Ip_Head); //对IP首部中每16位

  //进行二进制反码求和

  Ip_Head[10]=(CRC&0xff00)>>8;

  Ip_Head[11]=CRC&0x00ff;

  TxdIpData.STPTR=TxdData;

  TxdIpData.length=20;

  TxdIpData.DAPTR=Ip_Head;

  OSSemPend(SendFlag,10,&err);

  //获取μC/OS-Ⅱ操作系统当前的发送权(得到“发

  //送信号量”SendFlag)

  if(err==OS_NO_ERR) //没有得到发送权(发送信

  //号量SendFlag),挂起任务,等待

  {

  if(ip_mac_send(&TxdIpData,dest_ip))

  //按照PPP协议打包数据,并启动MC39i

  //通信模块进行传输数据

  {

  OSSemPost(SendFlag);

  //发送成功,释放“发送信号量”,并返回“1”

  return(1);

  }

  else

  {

  OSSemPost(SendFlag);

  //发送失败,释放“发送信号量”,并返回“0”

  return(0);

  }

  }

  else

  return (0);

  }

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:81,398.44000 毫秒