北极星

搜索历史清空

  • 水处理
您的位置:电力电力新闻技术正文

基于ARM与GPRS技术的SCADA系统在风光电厂中的应用

2011-09-23 12:49关键词:SCADA系统电力通信风光发电收藏点赞

投稿

我要投稿

发送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);

}

4 GPRS通信模块MC39i的应用

在本系统中MC39i作为GPRS终端的无线收发模块,从TCP/IP模块接收的IP数据包和从基站接收的GPRS分组数据进行相应的协议处理后再转发。MC39i提供了9针的标准RS232接口,通过SP3232电平转换芯片与LPC2214的串口相连,进行全双工通信。LPC2214与MC39i的接口如图4所示。

利用GPRS网络传输数据之前,需要采用PPP协议将GPRS通信模块接入Internet。PPP协议位于数据链路层,是为在两个对等实体间传输数据包连接而设计的,使用可扩展的链路控制协议LCP来建立,配置和测试数据链路。用网络控制协议族NCP建立和配置不同的网络层协议,并且允许采用多种网络层协议[5]。在本系统完成启动之后,首先进行MC39i的工作频率等参数设置,然后进行拨号与PPP协商,得到系统本地IP,从而完成GPRS终端的Internet接入。

LPC2214通过RS232串行口控制GPRS模块,涉及到的软件包括:MC39i的初始化、登录GGSN、与监控中心的Internet数据传输。LPC2214对MC39i模块的控制采用AT命令,图5给出了GPRS拨号上网及PPP协商软件流程图。

当GPRS拨号成功接入Internet后,就可以进行无线数据传输了。LPC2214将风光发电站的状态参数先进行TCP/IP协议的处理(封装为IP数据包),再经RS232串口控制MC39i模块将所有数据封装成GPRS分组数据包并传送到GPRS无线网络[6]。反之,GGSN的回答也可通过串行口进入本系统。

通过对本系统的试验测试,基本实现了数据的远距离的无线传输,具有时延低、正确率高等优点。

投稿与新闻线索:陈女士 微信/手机:13693626116 邮箱:chenchen#bjxmail.com(请将#改成@)

特别声明:北极星转载其他网站内容,出于传递更多信息而非盈利之目的,同时并不代表赞成其观点或证实其描述,内容仅供参考。版权归原作者所有,若有侵权,请联系我们删除。

凡来源注明北极星*网的内容为北极星原创,转载需获授权。

SCADA系统查看更多>电力通信查看更多>风光发电查看更多>