0 ".$wSc." ORDER BY level_2,level_3 ";
if($DEBUG)echo "
defSql=$defSql";
$defRes = @mysqli_query($pubConn,$defSql);
$defRow = @mysqli_fetch_array($defRes);
do
{
$level_1 = $defRow[level_1];
$level_2 = $defRow[level_2];
$level_3 = $defRow[level_3];
$defaultValue[$level_2][$level_3] = $defRow[initValue];
if($DEBUG) echo "
defaultValue[$level_2][$level_3]={$defaultValue[$level_2][$level_3]}";
}while($defRow = @mysqli_fetch_array($defRes));
$cellFlagArr=array(
array('num' => '0', 'remark' => 'N', 'color' => '#FF0000'),
array('num' => '1', 'remark' => 'Y', 'color' => '#0000FF')
);
//****************************************************************
//函数
// ChComm($sysId)
//函数说明:检查命令处理结果
//
//变量说明:
// 无
//
//
//返回值:$paramType
//$nSubSysParam = 0;
//$nGlobalSubSysParam = 1;
//$nGlobalSysParam = 2;
//作者:
//
//修改注释:
//NO.1
//姓名:
//时间:
//修改说明:
//----------------------------------------------------------
function ChComm($sysId,$chkType=1)
{
global $omc_db;
global $remark,$nProcFail,$nWaitProc,$nInProc,$nOutProc;
$commTable = "parameterComm";
$DEBUG = 0;
$sysIdArr = explode('_',$sysId);
$sysTypeNo = $sysIdArr[0];
$sysNo = $sysIdArr[1];
$subSysNo = $sysIdArr[2];
if($chkType==0)
$selComm = " SELECT commState,remark FROM $commTable WHERE sysTypeNo = '$sysTypeNo' ";
else
$selComm = " SELECT commState,remark FROM $commTable WHERE sysTypeNo = '$sysTypeNo' AND sysNo = '$sysNo' ";
if($DEBUG)echo "
selComm=$selComm";
$selRes = @mysqli_query($pubConn,$selComm);
$selRow = @mysqli_fetch_array($selRes);
echo mysqli_error($pubConn);
do
{
$temCommState = $selRow[commState];
if($selRow[remark]){
$remark = $selRow[remark];
//echo "
remark=$remark";
}
//echo "
temCommState=$temCommState";
if($temCommState == $nWaitProc)
return($nWaitProc);
elseif($temCommState == $nInProc)
return($nInProc);
elseif($temCommState == $nOutProc)
$commState = $nOutProc;
else
$commState = 0;
}while($selRow = @mysqli_fetch_array($selRes));
return($commState);
}
//****************************************************************
//函数
// 从Buffer_2拷贝到$buffer_1
//函数说明:
//
//变量说明:
// 无
//
//
//返回值:$paramType
//
//
//
//作者:
//
//修改注释:
//NO.1
//姓名:
//时间:
//修改说明:
//----------------------------------------------------------
function copyBuffer($buffer_1,$buffer_2,$wDef,$type='1')
{
global $sysTypeNo,$sysTypeNo_1,$db,$db_1,$tb_0,$tb_1,$tb_2,$wSc;
$DEBUG = 0;
$addWer = " AND (LENGTH($buffer_2) > 0) AND $buffer_2 != 'Null' AND $buffer_2 NOT LIKE 'Error%' ";
//Location management
if($type)
$uTgSql = " UPDATE $tb_2 set $buffer_1=$buffer_2 WHERE subSysNo = '99' ".$wSc.$addWer;
else
$uTgSql = " UPDATE $tb_2 set $buffer_1=$buffer_2 WHERE subSysNo = '99' ".$wSc.$wDef.$addWer;
if($DEBUG) echo "
uTgSql=$uTgSql ";
$uTgRes = @mysqli_query($pubConn,$uTgSql);
echo mysqli_error($pubConn);
if($uTgRes)
return 1;
else
return 0;
}
//****************************************************************
//函数
// get 或 set
//函数说明:
//
//变量说明:
// 无
//
//
//返回值:$commType
//
//
//
//作者:
//
//修改注释:
//NO.1
//姓名:
//时间:
//修改说明:
//----------------------------------------------------------
function eSetGet($commType)
{
global $sysTypeNo,$sysTypeNo_1,$db,$db_1,$tb_0,$tb_1,$tb_2,$wSc,$nProcFail,$nWaitProc,$nInProc,$nOutProc;
global $maxNum,$remark,$nGetComm,$nSetComm;
$DEBUG = 0;
if($commType == $nGetComm)
$showType = "Get ";
else
$showType = "Set ";
//2.2
$sysId = "350_99_99";
$objIdStr = "2.2";
$scSend = sysCommSend($sysId,$commType,$objIdStr);
$i = 0;
while(1)
{
//echo "
i=$i";
if($i == 0)
echo "
$showType UDP parameters ";
if($i > $maxNum){
echo "
Timeout";
flush();
break;
}
echo "
";
flush();
$sysId = "350";
$chkType = "0";
$chRes=ChComm($sysId,$chkType);
//echo "
chRes=$chRes";
if($chRes == $nOutProc || $chRes == $nProcFail){
$pNext1 = 1;
if($chRes == $nProcFail)
echo "
$remark
";
elseif($remark == 'response timeout')
echo "
$remark
";
else
echo "
$remark
";
flush();
break;
}
sleep(1);
$i++;
}
if($pNext1)
{
$sysId = "350_99_99";
$objIdStr = "2.3";
$scSend = sysCommSend($sysId,$commType,$objIdStr);
$i = 0;
while(1)
{
//echo "
i=$i";
if($i == 0)
echo "
$showType TCP parameters ";
if($i > $maxNum){
echo "
Timeout";
$rValue = -1;
flush();
break;
}
echo "
";
flush();
$sysId = "350";
$chkType = "0";
$chRes=ChComm($sysId,$chkType);
//echo "
chRes=$chRes";
if($chRes == $nOutProc || $chRes == $nProcFail){
$pNext1 = 1;
if($chRes == $nProcFail)
echo "
$remark
";
elseif($remark == 'response timeout')
echo "
$remark
";
else
echo "
$remark
";
flush();
break;
}
sleep(1);
$i++;
}
}
}//end of function
if($saveSys)
{
/****************copy initValue to editValue******************/
$buffer_1 = "editValue";
$buffer_2 = "initValue";
$edCin=copyBuffer($buffer_1,$buffer_2,$wDef);
eSetGet($nSetComm);
sleep(1);
echo "";
}//end of set sys
elseif($readSys)
{
eSetGet($nGetComm);//get value
/****************copy readValue to initValue******************/
$buffer_1 = "initValue";
$buffer_2 = "readValue";
$inCre=copyBuffer($buffer_1,$buffer_2,$wDef);
if($DEBUG) echo "
inCre=$inCr";
sleep(1);
echo "";
}//end of $readSys
elseif($saveDisk)
{
/****************copy initValue to editValue******************/
$buffer_1 = "editValue";
$buffer_2 = "initValue";
$inCed=copyBuffer($buffer_1,$buffer_2,$wDef);
if($DEBUG) echo "
$inCed=$$inCed";
if($inCed)
echo "
Save success.";
else
echo "
Save Failure.";
flush();
sleep(1);
echo "";
}//end of $saveDisk
elseif($readDisk)
{
/****************copy editValue to initValue******************/
$buffer_1 = "initValue";
$buffer_2 = "editValue";
$edCin=copyBuffer($buffer_1,$buffer_2,$wDef);
if($DEBUG) echo "
edCin=$edCin";
if($edCin)
echo "
Read success.";
else
echo "
Read failure.";
flush();
sleep(1);
echo "";
}//end of $comSys
elseif($delete)
{
$delSql = " UPDATE $tb_2 set initValue = '$defaultValue' WHERE subSysNo = '99' ".$wSc. " AND instanceNo = $delValue ";
//echo "
delSql=$delSql";
$delRes = @mysqli_query($pubConn,$delSql);
echo mysqli_error($pubConn);
}
elseif($saveComm)
{
for($i=0;$i<1;$i++)
{
$temTb = $tb_2;
$updSql = " UPDATE $temTb set initValue = '01' WHERE subSysNo = '99' AND level_1 = '3' AND level_2 = '3' ";
//echo "
updSql=$updSql";
$updRes = @mysqli_query($pubConn,$updSql);
//echo "
updRes=$updRes";
}
for($j=0;$j<1;$j++)
{
if($sTimeOut)
break;
$sysId = $sysTypeNo."_99_99";
$commType = $nSetComm;
$objIdStr = "3.3";
$flag = sysCommSend($sysId,$commType,$objIdStr);
$i = 0;
while(1)
{
if($i == 0)
echo "
Save parapeter to system ";
if($i > $maxNum){
echo "
Timeout";
$sTimeOut = 1;
break;
}
echo "
";
flush();
$sysId = $sysTypeNo;
$chRes=ChComm($sysId);
//echo "
chRes=$chRes";
if($chRes == $nOutProc || $chRes == $nProcFail){
$pNext1 = 1;
if($chRes == $nProcFail)
echo "
$remark
";
elseif($remark == 'response timeout')
echo "
$remark
";
else
echo "
$remark
";
break;
}
sleep(1);
$i++;
}
}
}
if($readSys || $saveSys || $saveComm){
echo "
";
echo "
$strBack";
exit();
}
/************select value to see************/
$scSql = " SELECT level_1,level_2,level_3,instanceNo,initValue,editValue,readValue FROM $tb_2 WHERE subSysNo = '99' ".$wSc." ORDER BY level_3 ";
if($DEBUG) echo "
scSql=$scSql";
$scRes = @mysqli_query($pubConn,$scSql);
$scRow = @mysqli_fetch_array($scRes);
echo mysqli_error($pubConn);
do
{
$level_1 = $scRow[level_1];
$level_2 = $scRow[level_2];
$level_3 = $scRow[level_3];
$instanceNo = $scRow[instanceNo];
if($level_3 > 1){//if no.1=="--",then all="--"
if($showValue[$level_2][$instanceNo][1] == '--'){
$showValue[$level_2][$instanceNo][$level_3] = "--";
continue;
}
}
if($scRow[initValue] == $defaultValue[$level_2][$level_3] && (($level_2 == 2 && $level_3 < 7) OR ($level_2 == 3 && $level_3 < 8)) ){
$showValue[$level_2][$instanceNo][$level_3] = "--";
continue;
}
if($level_3 > 0 && $level_3 < 4){//name,sysid,password
$valueLen = floor(strLen($scRow[initValue])/2);
for($i=0;$i<$valueLen;$i++){
$temValue[$i] = substr($scRow[initValue],$i*2,2);
if($temValue[$i] == '00'){
break;
}else{
$temValue[$i] = Chr(HexDec($temValue[$i]));
}
}
$aNum = $i;
$tValue = '';
for($i=0;$i<$aNum;$i++){
$tValue = $tValue.$temValue[$i];
}
if($DEBUG)echo "
tValue=$tValue";
$showValue[$level_2][$instanceNo][$level_3] = $tValue;
}elseif($level_3 == 4){
$p4 = explode("E",$scRow[initValue]);
$showValue[$level_2][$instanceNo][$level_3] = $p4[0];
}elseif($level_3 == 6){
if($level_2 == 2){
$p6 = explode("E",$scRow[initValue]);
$showValue[$level_2][$instanceNo][$level_3] = $p6[0];
}elseif($level_2 == 3){
$valueLen = floor(strLen($scRow[initValue])/2);
for($i=0;$i<$valueLen;$i++){
$temValue[$i] = HexDec(substr($scRow[initValue],$i*2,2));
}
$showValue[$level_2][$instanceNo][$level_3] = $temValue[0].".".$temValue[1].".".$temValue[2].".".$temValue[3];
}
}elseif($level_3 == 7){
if($level_2 == 2){
$showValue[$level_2][$instanceNo][$level_3] = HexDec($scRow[initValue]);
}else{
$valueLen = floor(strLen($scRow[initValue])/2);
for($i=0;$i<$valueLen;$i++){
$temValue[$i] = HexDec(substr($scRow[initValue],$i*2,2));
}
$showValue[$level_2][$instanceNo][$level_3] = $temValue[0].".".$temValue[1].".".$temValue[2].".".$temValue[3];
}
}elseif($level_3 == 12){
if($scRow[initValue]==0||HexDec($scRow[initValue])==16)
$showValue[$level_2][$instanceNo][$level_3]='7bit';
else
$showValue[$level_2][$instanceNo][$level_3]='8bit';
}else{
$showValue[$level_2][$instanceNo][$level_3] = HexDec($scRow[initValue]);
}
if($DEBUG) echo "
showValue[$level_2][$instanceNo][$level_3]={$showValue[$level_2][$instanceNo][$level_3]}";
}while($scRow = @mysqli_fetch_array($scRes));
echo "