html+js+cgi
来源:互联网 发布:手机淘宝改好评步骤 编辑:程序博客网 时间:2024/05/29 05:54
<!DOCTYPE HTML><html><head> <title>统计分析</title> <script type="text/javascript"src="tongjifenxi.js"></script> <script type="text/javascript"> function altRows(id){ if(document.getElementsByTagName){ var table = document.getElementById(id); var rows = table.getElementsByTagName("tr"); for(i = 0; i < rows.length; i++){ if(i % 2 == 0){ rows[i].className = "evenrowcolor"; }else{ rows[i].className = "oddrowcolor"; } } }} window.onload=function(){ altRows('alternatecolor');var counts;counts=0;arr = new Array("全部波形","三相电压","三相电流","A相电压","B相电压","C相电压","N相电压","A相电流","B相电流","C相电流","N相电流"); counts=arr.length; var i; for (i=0;i < counts; i++) { document.form1.sel.options[i] = new Option(arr[i],i); }}</script><link rel="stylesheet" type="text/css" href="layout.css"><style type="text/css">#workingArea { position:absolute; margin-left:10px; /* top:160px; */ top:10px; bottom:5px; left:0; overflow:auto; background-color:white; width:740px; border-right:1px solid #000040; border-collapse: collapse; }</style><style type="text/css">table.altrowstable { font-family: verdana,arial,sans-serif; font-size:11px; color:#333333; border-width: 1px; border-color: #a9c6c9; border-collapse: collapse;}table.altrowstable th { border-width: 1px; padding: 4px; border-style: solid; border-color: #a9c6c9;}table.altrowstable td { border-width: 1px; padding: 4px; border-style: solid; border-color: #a9c6c9;}.oddrowcolor{ background-color:#d4e3e5;}.evenrowcolor{ background-color:#c3dde0;}</style></head><body><img src="logo.gif" alt="" style="position:absolute;margin-top:0px;margin-left:0px;"> <div id="main"> <div id="title"> <font id="title_text"> EFM9000系列后台管理程序</font> </div> <div id="head"> <span class="goto"> <a href="rtd.html">实时数据</a> </span> <span class="goto"> <a href="elec_real.html">电能监测</a> </span> <span class="goto"> <a href="Har_data.html">谐波数据</a> </span> <span class="goto"> <a href="flicker.html">波动与闪变</a> </span> <span class="goto"> <a href="unbalance.html">三相不平衡</a> </span> <span class="goto"> <a href="vol_wave.html">波形显示</a> </span> <span class="goto" > <a href="DIO.html">开入开出</a> </span> <span class="goto"style="background-color:#33cc33;" > <a href="set.html">系统设置</a> </span> <span class="goto" > <a href="historydb.html">分析数据</a> </span> </div> <div style="position:relative;width:930px; height:420px; background-color:#33cc33; left:0px;top:100px; border:5px #33cc33; "> <div id="head2"> <span class="goto2"> <a href="set.html">测量设置</a> </span> <span class="goto2"> <a href="sysset.html">通信设置</a> </span> <span class="goto2"> <a href="multirate.html">复费率设置</a> </span> <span class="goto2"> <a href="clear_power.html">电度清零</a> </span> <span class="goto2"> <a href="applyset.html">统计与录波</a> </span> <span class="goto2"> <a href="pqmdb.html">事件记录</a> </span> <span class="goto2"style="background-color:#33cc33;" > <a href="tongjifenxi.html">统计分析</a> </span> </div> </div> <div style="position:absolute;clear:both;width:770px;top:135px;height:440px;background:white;left:20px;border-radius:10px;"> <div id='workingArea'> <table border='2' class="altrowstable" id="alternatecolor"> <tr> <th colspan='1'> No. </th> <th colspan='1'> Type </th> <th colspan='1'> Avr </th> <th colspan='1'> Max </th> <th colspan='1'> Min </th> </tr> <tr> <td style='width:50px;' align='center'>1</td> <td style='width:150px;' align='center'>A相频率</td> <td style='width:150px;' id="avr1" align='center'></td> <td style='width:150px;' id="max1" align='center'></td> <td style='width:150px;' id="min1" align='center'></td> </tr> <tr> <td align='center'>2</td> <td align='center'>B相频率</td> <td id="avr2" align='center'></td> <td id="max2" align='center'></td> <td id="min2" align='center'></td> </tr> <tr> <td align='center'>3</td> <td align='center'>C相频率</td> <td id="avr3" align='center'></td> <td id="max3" align='center'></td> <td id="min3" align='center'></td> </tr> <tr> <td align='center'>4</td> <td align='center'>半波有效值a1</td> <td id="avr4" align='center'></td> <td id="max4" align='center'></td> <td id="min4" align='center'></td> </tr> <tr> <td align='center'>5</td> <td align='center'>半波有效值a2</td> <td id="avr5" align='center'></td> <td id="max5" align='center'></td> <td id="min5" align='center'></td> </tr> <tr> <td><form name="form1"></td> <td> <select name="sel" id="sel"onchange="tjfx_change()"style="position:relative;width:80px;height:20px;left:20px;top:5px;border:0px;background-color:white;color:black;"> <option value="0"selected>— — —</option> <option value="1">1日</option> <option value="2">2日</option> <option value="3">3日</option> <option value="4">4日</option> <option value="5">5日</option> <option value="6">6日</option> <option value="7">7日</option> <option value="8">8日</option> <option value="9">9日</option> <option value="10">10日</option> <option value="11">11日</option> <option value="12">12日</option> <option value="13">13日</option> <option value="14">14日</option> <option value="15">15日</option> <option value="16">16日</option> <option value="17">17日</option> <option value="18">18日</option> <option value="19">19日</option> <option value="20">20日</option> <option value="21">21日</option> <option value="22">22日</option> <option value="23">23日</option> <option value="24">24日</option> <option value="25">25日</option> <option value="26">26日</option> <option value="27">27日</option> <option value="28">28日</option> <option value="29">29日</option> <option value="30">30日</option> <option value="31">31日</option> <option value="32">周</option> <option value="33">月</option> </select> </td> </tr> </div> <div style="position:absolute;clear:both;width:160px;top:10px;height:40px;background:black ;left:800px; border-radius:0px;"> </div> </div> </body></html>/***CGI***/#include <sys/types.h>#include <sys/socket.h>#include <linux/in.h>#include <linux/un.h>#include <string.h>#include <signal.h>#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <unistd.h>#include <sys/ioctl.h>#include <sys/select.h>#include <sys/time.h>#include "addr.h"#define db_max 1000#define port 60001int socket_fd;char modbus_buf[256];float host_to_client(short in,short gene){float out;float muti;muti=32768/gene;out=in/muti;return out;}short client_to_host(float in,short gene){short out;float muti;muti=32768/gene;out=in*muti;return out;}int modbus_tcp_transfer(char *buf){int nwrite, nreads, ret;char sendbuf[12];struct sockaddr_in server_addr;fd_set readfd;struct timeval timeout;sendbuf[0]=0;sendbuf[1]=0;sendbuf[2]=0;sendbuf[3]=0;sendbuf[4]=0;sendbuf[5]=6;sendbuf[6]=buf[0];sendbuf[7]=buf[1];sendbuf[8]=buf[2];sendbuf[9]=buf[3];sendbuf[10]=buf[4];sendbuf[11]=buf[5];if((socket_fd=socket(AF_INET,SOCK_STREAM,0))==-1){close(socket_fd);return -1;}bzero(&server_addr, sizeof(server_addr));server_addr.sin_family=AF_INET;server_addr.sin_port=htons(port);server_addr.sin_addr.s_addr=inet_addr("127.0.0.1");if(connect(socket_fd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr))==-1){close(socket_fd);return -1;}timeout.tv_sec=1;timeout.tv_usec=0;FD_ZERO(&readfd);FD_SET(socket_fd,&readfd);if((nwrite=write(socket_fd,sendbuf,12))==-1){close(socket_fd);return -1;}ret=select(socket_fd+1,&readfd,NULL,NULL,&timeout);switch(ret){case -1:close(socket_fd);return -1;break;case 0:close(socket_fd);return -1;break;default:if(FD_ISSET(socket_fd,&readfd)){if((nreads=read(socket_fd,buf,256))==-1){close(socket_fd);return -1;}close(socket_fd);return 0;}break;}}void create_modbus(char a1,char a2,char a3,char a4,char a5,char a6){modbus_buf[0]=a1;modbus_buf[1]=a2;modbus_buf[2]=a3;modbus_buf[3]=a4;modbus_buf[4]=a5;modbus_buf[5]=a6;}int main(int argc,char *argv[]){ int ret=0; unsigned char float4char[4]; int i,k; char *data; float f_tmp[66]; int page1,page2,page3; char str1[5],str2[5],str3[5]; data=getenv("QUERY_STRING"); if(sscanf(data,"page1=%[^&]&page2=%[^&]&page3=%[^&]&", str1,str2,str3)!=3) { exit(EXIT_FAILURE); } page1=atoi(str1); page2=atoi(str3); page3=atoi(str3); create_modbus(1,3,ModbusAddrInfo[page1].BaseAddr>>8,ModbusAddrInfo[page1].BaseAddr&0xff,0,44); if((ret=modbus_tcp_transfer(modbus_buf))==-1) exit(EXIT_FAILURE); k=0; for(i=0;i<22;i++) { float4char[3]=modbus_buf[k+9]; //9 float4char[2]=modbus_buf[k+10]; //10 float4char[1]=modbus_buf[k+11]; //11 float4char[0]=modbus_buf[k+12]; //12 f_tmp[i]=*((float *)float4char); //save k=k+4; } create_modbus(1,3,ModbusAddrInfo[page2].BaseAddr>>8,ModbusAddrInfo[page2].BaseAddr&0xff,0,44); if((ret=modbus_tcp_transfer(modbus_buf))==-1) exit(EXIT_FAILURE); k=0; for(i=0;i<22;i++) { float4char[3]=modbus_buf[k+9]; //9 float4char[2]=modbus_buf[k+10]; //10 float4char[1]=modbus_buf[k+11]; //11 float4char[0]=modbus_buf[k+12]; //12 f_tmp[i+22]=*((float *)float4char); //save k=k+4; } create_modbus(1,3,ModbusAddrInfo[page3].BaseAddr>>8,ModbusAddrInfo[page3].BaseAddr&0xff,0,44); if((ret=modbus_tcp_transfer(modbus_buf))==-1) exit(EXIT_FAILURE); k=0; for(i=0;i<22;i++) { float4char[3]=modbus_buf[k+9]; //9 float4char[2]=modbus_buf[k+10]; //10 float4char[1]=modbus_buf[k+11]; //11 float4char[0]=modbus_buf[k+12]; //12 f_tmp[i+44]=*((float *)float4char); //save k=k+4; } printf("Content-Type:text/html\n\n"); printf("%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f|%.2f", f_tmp[21],f_tmp[0],f_tmp[1],f_tmp[2],f_tmp[3],f_tmp[4],f_tmp[5],f_tmp[6],f_tmp[7],f_tmp[8],f_tmp[9],f_tmp[10], f_tmp[11],f_tmp[12],f_tmp[13],f_tmp[14],f_tmp[15],f_tmp[16],f_tmp[17],f_tmp[18],f_tmp[19],f_tmp[20], f_tmp[43],f_tmp[22],f_tmp[23],f_tmp[24],f_tmp[25],f_tmp[26],f_tmp[27],f_tmp[28],f_tmp[29],f_tmp[30], f_tmp[31],f_tmp[32],f_tmp[33],f_tmp[34],f_tmp[35],f_tmp[36],f_tmp[37],f_tmp[38],f_tmp[39],f_tmp[40], f_tmp[41],f_tmp[42],f_tmp[65],f_tmp[44],f_tmp[45],f_tmp[46],f_tmp[47],f_tmp[48],f_tmp[49],f_tmp[50], f_tmp[51],f_tmp[52],f_tmp[53],f_tmp[54],f_tmp[55],f_tmp[56],f_tmp[57],f_tmp[58],f_tmp[59],f_tmp[60], f_tmp[61],f_tmp[62],f_tmp[63],f_tmp[64]); return 0;}
0 0
- html+js+cgi
- web server/cgi/html/css/js
- 在嵌入式平台上,开发html/cgi/js经验
- html使用js动态调用cgi(C++)并传参
- CGI HTML TEMPLATE
- CGI工作原理 - HTML
- boa cgi html
- html+cgi上传图片
- boa/cgi/html
- boa cgi html
- jsp+cgi+html
- boa cgi html
- boa cgi html
- boa cgi html
- boa cgi html CGIC
- HTML+CSS+JavaScript+CGI
- HTML访问CGI
- CGI编程---html表单
- hdu 2586 How far away
- 放球问题
- 方便回顾篇进程
- 泛型的典型应用:人的信息类和接口
- Java 之多线程同步
- html+js+cgi
- 方便查看篇---内存
- 【Python学习笔记】函数式编程:装饰器
- Mention
- LIBSVM学习(七)--参数解释
- Makefile
- sublime 配置文件后缀名字
- 全国大学生信息安全竞赛writeup--careful(pwn150)
- 多线程操作数据库