手机版
欢迎光临汇博在线http://www.paper188.com
您的位置:汇博论文在线 > 理工论文 > 自动化 > 变电站自动化IED设备嵌入式通信模块的开发

变电站自动化IED设备嵌入式通信模块的开发

2014-10-30 10:02 来源: 互联网 作者:王伟等 浏览次数 3671


    3.3 CGI程序 

  为了在嵌入式IED上实现网络通信功能,除了为其安装Boa服务器之外,还要编写特定的程序才能显现它的网络通信功能。 本文中的嵌入式IED采用CGI程序来利用Boa服务器与变电站层计算机进行交互。 
  CGI是运行在Boa服务器与本机或或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上,这里的CGI运行在装有Boa服务器的IED上。在物理上,CGI是一段程序,它运行在Server上,提供同客户端 Html页面的接口。它解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。 
  本文在这里用C语言作为编程语言,编写一个简单的通过控制IED的某个开关量信息“switch”的CGI程序。计算机通过CGI请求访问装有Boa服务器和CGI程序的ARM嵌入式系统,来控制IED的开关量信息。从而实现站控层计算机对IED进行简单的访问和控制的过程。 
  控制IED的开关量信息“switch”的CGI程序流程图和源代码如下: 
  #include 
#define OPEN 1 
#define CLOSE 0 
int main(int argc, char **argv) 

int fd; 
int switch; 
int i,j,k; 
char *data; 
data = getenv("QUERY_STRING"); 
printf("Content-type:text/html\n\n"); 
printf("\n"); 
printf("\n"); 
printf("\n"); 
printf("\n"); 
printf("\n"); 
printf("

IED CGI TEST

\n"); 
fd = open("/dev/switch",0); 
//打开switch驱动 
if(fd == -1) 

printf("wrong\r\n"); 
exit(-1); 

sscanf(data,"switch=%d",&switch); 
if(switch == 1) //如果按下“TurnOn”按钮,打开SWITCH,同时将按钮字符改为“TurnOff” 

printf("TurnOff"); 
ioctl(fd, OPEN); 


else //如果按下“TurnOff”按钮,关闭SWITCH,同时将按钮字符改为“TurnOn” 

printf("TurnOn"); 
ioctl(fd, CLOSE); 

close(fd); //关闭SWITCH驱动 
printf("\n"); 
return 0; 

程序编写完成后保存为ied.c。接着对其进行编译。在Linux终端中输入下列语句: 
#arm-linux-gcc ied.c –o ied.cgi 
最后开启webserver,我们就可以通过网页来控制IED的开关switch了,在PC网页浏览器里调入CGI的URL(http://BoardIP/cgi-bin/ied.cgi?switch=1)就可以访问该CGI并且可以控制开关switch了。如图,点击TurnOff按钮可以关闭switch,再次点击则打开switch开关。 
[上一页1  2  3  4 [下一页]

服务说明

汇博在线(paper188.com)网拥有实力强大的团队,能帮助你实现论文写作方法,论文发表,代写代发论文等服务领域.

我们承诺

在您接受本站服务的过程中,我们为您提供优质的服务,包括后期免费修改、免费指导答辩等。衷心感谢您对本站的信任和支持!

论文指导范围

毕业论文,硕士毕业论文,研究生论文,博士论文,职称论文代写,领导讲话,报告总结,演讲致辞,心得体会,党团辅导等代写服务。

发表论文领域

发表省级杂志,国家级杂志,核心杂志等服务。