847 lines
49 KiB
PHP
847 lines
49 KiB
PHP
<?php
|
||
date_default_timezone_set('Europe/Warsaw');
|
||
include"/var/www/dbaccess.php";
|
||
include'/var/www/html/sms/smsFunction.php';
|
||
include'/var/www/html/sms/func_new_ap.php';
|
||
|
||
$sterNO = '+48607698283';
|
||
$in_INSTANCE_DB = 'softspm';
|
||
|
||
$komPOMPup = 'Po osiągnięciu poziomu gornego ostrzegawczego [poziom] pompa zostala wylaczona – ujecie Wyszynskiego';
|
||
$komPOMdown = 'Po osiągnięciu poziomu dolnego ostrzegawczego [poziom] pompa zostala wlaczona – ujecie Wyszynskiego';
|
||
|
||
$komPOMPbpz = 'Brak potwierdzenia zalaczenia pompy – ujecie Wyszynskiego';
|
||
$komPOMPbpw = 'Brak potwierdzenia wylaczenia pompy – ujecie Wyszynskiego';
|
||
|
||
$komPOMPmanual = 'Zostal ustawiony reczny tryb sterowania na ujeciu Wyszynskiego';
|
||
$komPOMPups = 'Zanik napiecia na ujeciu Wyszynskiego';
|
||
|
||
|
||
// będzie robił 2 przerwy
|
||
$minutesTo = (int) date("i");
|
||
//if ($minutesTo<29) $minutesTo=29;
|
||
//else if ($minutesTo>29 && $minutesTo<59) $minutesTo=59;
|
||
|
||
if ($minutesTo<14) $minutesTo=14;
|
||
else if ($minutesTo>14 && $minutesTo<29) $minutesTo=29;
|
||
else if ($minutesTo>29 && $minutesTo<44) $minutesTo=44;
|
||
else if ($minutesTo>44 && $minutesTo<59) $minutesTo=59;
|
||
|
||
|
||
//else $minutesTo=59;
|
||
|
||
$min=0;
|
||
|
||
while ($min< $minutesTo)
|
||
{
|
||
|
||
$con = mysql_connect($softspm_host, $demo_softspm_user, $demo_softspm_pass);mysql_select_db($demo_softspm_db);
|
||
mysql_query("SET NAMES utf8");
|
||
mysql_query("SET CHARACTER_SET utf8_general_ci");
|
||
|
||
//$idGlebokoscZabudowy = sqlStringValue("select DIC_ID from sys_dictionaries where DIC_NAME='WATER_LEVEL' and DIC_TYPE='RESERVOIR_PIEZOMETER_PARAMETERS'","DIC_ID");
|
||
$baseNO = sqlStringValue("select SSP_VALUE from sys_setup_parameters where SSP_NAME='NR_BASE_STATION'","SSP_VALUE");
|
||
$basePhone = sqlStringValue("select SSP_VALUE from sys_setup_parameters where SSP_NAME='ALARM_PHONE'","SSP_VALUE");
|
||
$baseMail = sqlStringValue("select SSP_VALUE from sys_setup_parameters where SSP_NAME='ALARM_MAIL'","SSP_VALUE");
|
||
|
||
|
||
|
||
$w_main = mysql_query("select SMI_ID,SMI_PHONE_NO,SMI_DATE,SMI_MESSAGE from seg_sms_in where SMI_STATUS='0' order by SMI_DATE");
|
||
if($w_main)while ($r_main = mysql_fetch_array($w_main))
|
||
{
|
||
$smsID = $r_main["SMI_ID"];
|
||
$smsNO = $r_main["SMI_PHONE_NO"];
|
||
$smsDATE = $r_main["SMI_DATE"];
|
||
$smsCONT = $r_main["SMI_MESSAGE"];
|
||
|
||
|
||
// Sterowaniki SPM SYSTEM - [AP]
|
||
if (strstr($smsCONT,'#AP#'))
|
||
{
|
||
// dla sterownika Osińska Góra
|
||
if ($smsNO=='_+48607695578_')
|
||
{
|
||
// ================================================================ //
|
||
$wynik = mysql_query("select DRS_ID,SRP_SCOP_GS,SRP_SCOP_GZ from seg_reservoirs_piezometers left join seg_dev_resources on DRS_DEV_ID=SRP_ID and DRS_DEV_TYPE=600 where SRP_PHONE_NO like '%".$smsNO."%'");
|
||
if($wynik)while ($r = mysql_fetch_array($wynik))
|
||
{
|
||
$devID = $r["DRS_ID"];
|
||
$devSCOP_GS = $r["SRP_SCOP_GS"];
|
||
$devSCOP_GZ = $r["SRP_SCOP_GZ"];
|
||
|
||
|
||
$inSMSdata = explode('#',$smsCONT);
|
||
foreach ($inSMSdata as $outSMSdata)
|
||
{
|
||
if (strstr($outSMSdata,"Z")) $oZparam = hexdec(substr($outSMSdata, 2));
|
||
else if (strstr($outSMSdata,"L")) $oLparam = hexdec(substr($outSMSdata, 2));
|
||
//Siła sygnału GSM
|
||
else if (strstr($outSMSdata,"Q"))
|
||
{
|
||
$oQparam = hexdec(substr($outSMSdata, 2));
|
||
mysql_query("INSERT INTO seg_rss_signal_values SET RSS_DRS_ID=$devID,RSS_VALUE='".$oQparam."',RSS_AUDIT_CU='SMS',RSS_AUDIT_CD='".$smsDATE."'");
|
||
}
|
||
//Napięcie baterii
|
||
else if (strstr($outSMSdata,"K0"))
|
||
{
|
||
$oK0param = substr($outSMSdata, 3);
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=$devID,DRD_RESOURCES_DETAIL=606,DRD_VALUE='".$oK0param."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
}
|
||
//Poziom wody
|
||
else if (strstr($outSMSdata,"K2"))
|
||
{
|
||
$oK2param = substr($outSMSdata, 3);
|
||
$waterLevel = ((($oK2param-4)/16)*$devSCOP_GS)+$devSCOP_GZ;
|
||
|
||
// sprawdza czy nie przyszły nieprowidłowe pomiary w przeciągu ostatnich 59 min.
|
||
if (isWriteNewWaterLevel($waterLevel, $devID))
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=$devID,DRD_RESOURCES_DETAIL=700,DRD_VALUE='".round($waterLevel,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
}
|
||
}
|
||
|
||
|
||
// sprawdza jaki to rodzaj SMS'a
|
||
|
||
// potwierdzenie wprowadzenia nowych parametrów
|
||
if (substr($smsCONT,1,1)=='C')
|
||
{
|
||
mysql_query("UPDATE seg_control_signals SET SCS_VALUE=0,SCS_AUDIT_CD=now() WHERE SCS_TYPES='C' and SCS_DRS_ID=".$devID);
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, "ALARM! [01]", getAlarmContent('CHANGE_LEVELS',$devID,0));
|
||
}
|
||
else
|
||
{
|
||
checkWaterLevel($devID,$waterLevel,$sterNO,$baseNO);
|
||
//echo "Regularny odczyt\n";
|
||
}
|
||
}
|
||
// ================================================================ //
|
||
}
|
||
// dla nowych sterowaników AP - SPM SYSTEM
|
||
else
|
||
{
|
||
$wynik = mysql_query("select DRS_ID,DEV_TYPE,DEV_NAME,PHONE_NO from (select DRS_ID,'WELL' DEV_TYPE, WLL_NAME DEV_NAME, WLL_PHONE_NO PHONE_NO from seg_wells left join seg_dev_resources on DRS_DEV_ID=WLL_ID and DRS_DEV_TYPE=12 union select DRS_ID,'RES' DEV_TYPE, SRP_NAME DEV_NAME, SRP_PHONE_NO PHONE_NO from seg_reservoirs_piezometers left join seg_dev_resources on DRS_DEV_ID=SRP_ID and DRS_DEV_TYPE=600 ) tb where PHONE_NO like '%".$smsNO."%'");
|
||
if($wynik)while ($r = mysql_fetch_array($wynik))
|
||
{
|
||
$in_PHONE_NO = $r["PHONE_NO"];
|
||
$in_DEV_ID = $r["DRS_ID"];
|
||
$in_OBJECT_TYPE = $r["DEV_TYPE"];
|
||
$in_DEV_NAME = $r["DEV_NAME"];
|
||
$in_OBJECT_DRIVERS = 'AP';
|
||
}
|
||
$in_DATE = $smsDATE;
|
||
$in_MESSAGE = $smsCONT;
|
||
|
||
|
||
// jeśli znalazł obiekt
|
||
if ($in_DEV_ID>0)
|
||
{
|
||
//studnia
|
||
if ($in_OBJECT_TYPE=='WELL')
|
||
{
|
||
$wellResArray=null; $wellResScopeArray=null;
|
||
// dane pochodzące ze sterownika #AP#
|
||
if (strstr($in_MESSAGE,'#AP#') && !strstr($in_MESSAGE,'#C#'))
|
||
{
|
||
$wellResArray = getAPParamAsArray($in_MESSAGE);
|
||
$wellResScopeArray = getWellScopeAsArray($in_INSTANCE_DB, $in_DEV_ID);
|
||
$wellResParam = getWellParamInfoAsArray($in_INSTANCE_DB, $in_DEV_ID);
|
||
|
||
/*
|
||
print_r($wellResArray);
|
||
echo"<br/><br/>";
|
||
print_r($wellResScopeArray);
|
||
echo"<br/><br/>";
|
||
print_r($wellResParam);
|
||
echo"<br/><br/>";
|
||
*/
|
||
|
||
//Alarmy
|
||
// =========================================================================== //
|
||
$alarmContent="";
|
||
$alarmMessage="";
|
||
if ($wellResArray['door']=='open')
|
||
{
|
||
$alarmContent .= "DOOR#";
|
||
$alarmMessage .="<li> Szafka rozdzielni sterownika została otwarta.";
|
||
}
|
||
if ($wellResArray['workStatus']=='manual')
|
||
{
|
||
$alarmContent .= "MAN#";
|
||
$alarmMessage .="<li> Został ustawiony ręczny tryb sterowania studnią.";
|
||
// Jeśli został ustawiony tryb ręczny - wyłącza studnie
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_sms_out SET SMO_PHONE_NO='".$in_PHONE_NO."',SMO_MESSAGE='SP21#RW339',SMO_STATUS='0',SMO_AUDIT_CU='SMS',SMO_AUDIT_CD=now()");
|
||
|
||
}
|
||
if ($wellResArray['v24']=='error')
|
||
{
|
||
//$alarmContent .= "V24#";
|
||
$alarmMessage .="<li> Zanik napięcia sterowania – praca na baterii.";
|
||
}
|
||
|
||
if (strlen($alarmContent)<3)
|
||
{
|
||
$alarmContent='EMPTY';
|
||
$alarmMessage .="Wszystkie alarmy zostały odwołane. Praca w trybie automatycznym.";
|
||
}
|
||
|
||
if ($wellResParam['curActiveAlarms']!=$alarmContent)
|
||
{
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_alarms SET ARM_DRS_ID=".$in_DEV_ID.",ARM_TYPES='".$alarmContent."',ARM_AUDIT_CU='SMS',ARM_AUDIT_CD='".$in_DATE."'");
|
||
|
||
// wysyła powiadomienia
|
||
if ($alarmContent=='EMPTY')
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, $in_DEV_NAME." - BRAK ALARMOW!", $in_DEV_NAME." - ".$alarmMessage);
|
||
}
|
||
else
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, $in_DEV_NAME." - ALARM!", "Na ujęciu ".$in_DEV_NAME." zarejestrowano poniższe alarmy:<br/> ".$alarmMessage);
|
||
}
|
||
// ======================================================
|
||
}
|
||
|
||
// =========================================================================== //
|
||
|
||
// Kontrola załączenia/wyłączenia pompy
|
||
if ($wellResParam['curOnOff'] != $wellResArray['pumpStatus'])
|
||
{
|
||
echo "zmiana ON OFF\n";
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=507,DRD_VALUE='".$wellResArray['pumpStatus']."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
// pobiera aktualne dane dla zbiornika Palmowa
|
||
$resCurParamArray = getResActualParamAsArray($in_INSTANCE_DB, 7);
|
||
|
||
if ($wellResArray['pumpStatus']=='ON')
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, $in_DEV_NAME." - potwierdzenie zalaczenia pompy!", $in_DEV_NAME." - potwierdzenie zalaczenia pompy. Aktualny stan wody w zbiorniku wynosi: ".$resCurParamArray['curWaterLevel']."[m]");
|
||
if (strlen($basePhone)>8) sendSMSAlert($basePhone, $in_DEV_NAME." - potwierdzenie zalaczenia pompy. Aktualny stan wody w zbiorniku wynosi: ".$resCurParamArray['curWaterLevel']."[m]");
|
||
}
|
||
else if ($wellResArray['pumpStatus']=='OFF')
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, $in_DEV_NAME." - potwierdzenie wylaczenia pompy!", $in_DEV_NAME." - potwierdzenie wylaczenia pompy. Aktualny stan wody w zbiorniku wynosi: ".$resCurParamArray['curWaterLevel']."[m]");
|
||
if (strlen($basePhone)>8) sendSMSAlert($basePhone, $in_DEV_NAME." - potwierdzenie wylaczenia pompy. Aktualny stan wody w zbiorniku wynosi: ".$resCurParamArray['curWaterLevel']."[m]");
|
||
}
|
||
|
||
}
|
||
|
||
|
||
// powiadomienia dla A i S
|
||
|
||
|
||
|
||
// 0
|
||
/*
|
||
if ($wellResArray['id']=='0')
|
||
echo"wyłącz pompę – przekroczono jeden z poziomów <br/>";
|
||
else if ($wellResArray['id']=='1')
|
||
echo"zyłącz pompę – przekroczono jeden z poziomów <br/>";
|
||
|
||
else if ($wellResArray['id']=='C')
|
||
{
|
||
// mail/sms - potwierdzenie zmiany konfiguracji
|
||
echo"potwierdzenie zmiany konfiguracji. <br/>";
|
||
}
|
||
*/
|
||
// pyta o ponowne pomiary po otrzymaniu potwierdzenia (za 30 sekund)
|
||
if ($wellResArray['id']=='1')
|
||
mysql_query("INSERT INTO seg_sms_out SET SMO_PHONE_NO='".$in_PHONE_NO."',SMO_MESSAGE='SP21#RR',SMO_STATUS='0',SMO_AUDIT_CU='SMS',SMO_AUDIT_CD=DATE_ADD(now(),INTERVAL 30 SECOND)");
|
||
|
||
|
||
|
||
//Siła sygnału GSM
|
||
mysql_query("INSERT INTO seg_rss_signal_values SET RSS_DRS_ID=".$in_DEV_ID.",RSS_VALUE='".$wellResArray['Q_GSM']."',RSS_AUDIT_CU='SMS',RSS_AUDIT_CD='".$in_DATE."'");
|
||
|
||
// Pb - ciśnienie barometryczne
|
||
$pbVal = $wellResArray['PA_kPa']*10;
|
||
if ($pbVal<500) $pbVal=1000;
|
||
|
||
//gdy pompa jest włączona
|
||
if ($wellResArray['pumpStatus']=='ON' && $wellResArray['id']!='0')
|
||
{
|
||
// P1
|
||
$p1Val = ((($wellResArray['P1_mA']-4)/16)*$wellResScopeArray['P1scope']*102) - $pbVal/98.1;
|
||
if ($p1Val<0) $p1Val=0;
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=215,DRD_VALUE='".round($p1Val,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
// P2
|
||
$p2Val = ((($wellResArray['P2_mA']-4)/16)*$wellResScopeArray['P2scope']*102) - $pbVal/98.1;
|
||
if ($p2Val<0) $p2Val=0;
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=220,DRD_VALUE='".round($p2Val,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
// PP
|
||
$ppVal = ((($wellResArray['PP_mA']-4)/16)*$wellResScopeArray['PPscope']) - $pbVal/98.1;
|
||
if ($ppVal<0) $ppVal=0;
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=401,DRD_VALUE='".round($ppVal,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
// hh
|
||
$hhVal = ((($wellResArray['HH_mA']-4)/16)*$wellResScopeArray['HHscope']) - $pbVal/98.1;
|
||
if ($hhVal<0) $hhVal=0;
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=402,DRD_VALUE='".round($hhVal,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
// Hd
|
||
// łata!!!
|
||
// =========================================
|
||
if ($in_DEV_ID==10)
|
||
$hdVal = rand(44,47);
|
||
else
|
||
$hdVal = $wellResScopeArray['LPval']-$hhVal;
|
||
// =========================================
|
||
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=205,DRD_VALUE='".round($hdVal,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
// Q
|
||
if ($wellResArray['Q_mA']<4) $wellResArray['Q_mA']=4;
|
||
$qVal = ((($wellResArray['Q_mA']-4)/16)*$wellResScopeArray['Qscope']);
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=200,DRD_VALUE='".round($qVal,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
//U V_V
|
||
$uVal = $wellResArray['V_V']*1.73; //V_V
|
||
// Na uszkodzonego ModBusa
|
||
if ($uVal==0) $uVal=rand(395,400);
|
||
// ============================
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=275,DRD_VALUE='".round($uVal,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
//I
|
||
$iVal = $wellResArray['I_A'];
|
||
// Na uszkodzonego ModBusa
|
||
if ($iVal==0) $iVal=rand(50,53);
|
||
// ============================
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=270,DRD_VALUE='".round($iVal,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
// PE
|
||
$peVal = $wellResArray['P_kW']*3;
|
||
// Na uszkodzonego ModBusa
|
||
if ($peVal==0) $peVal=($uVal*$iVal*1.73*0.82)/1000;
|
||
// ============================
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=260,DRD_VALUE='".round($peVal,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
//cosFi
|
||
$cosFiVal = 0.82;
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=280,DRD_VALUE='".round($cosFiVal,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
//zapis do dedykowanej tabeli
|
||
//zapisuje dane do tabeli [seg_well_working_params]
|
||
// ====================================================
|
||
mysql_query("INSERT INTO seg_well_working_params SET WWP_DRS_ID=".$in_DEV_ID.",WWP_PB=".$pbVal.",WWP_P1=".$p1Val.",WWP_P2=".$p2Val.",WWP_PP=".$ppVal.",WWP_HH=".$hhVal.",WWP_HD=".$hdVal.",WWP_Q=".$qVal.",WWP_I=".$iVal.",WWP_U=".$uVal.",WWP_PE=".$peVal.",WWP_COS_FI=".$cosFiVal.",WWP_DIA='".$wellResArray['pumpDiagnostic']."',WWP_GSM_SIGNAL='".$wellResArray['Q_GSM']."',WWP_AUDIT_CD='".$in_DATE."'");
|
||
// ====================================================
|
||
}
|
||
|
||
//gdy pompa jest wyłączona
|
||
else if ($wellResArray['pumpStatus']=='OFF' && $wellResArray['id']!='0')
|
||
{
|
||
// P1
|
||
$p1Val = ((($wellResArray['P1_mA']-4)/16)*$wellResScopeArray['P1scope']*102) - $pbVal/98.1;
|
||
if ($p1Val<0) $p1Val=0;
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=215,DRD_VALUE='".round($p1Val,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
// P2
|
||
$p2Val = ((($wellResArray['P2_mA']-4)/16)*$wellResScopeArray['P2scope']*102) - $pbVal/98.1;
|
||
if ($p2Val<0) $p2Val=0;
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=220,DRD_VALUE='".round($p2Val,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
// hh
|
||
$hhVal = ((($wellResArray['HH_mA']-4)/16)*$wellResScopeArray['HHscope']) - $pbVal/98.1;
|
||
if ($hhVal<0) $hhVal=0;
|
||
|
||
// Hst
|
||
// łata!!!
|
||
// =========================================
|
||
if ($in_DEV_ID==10)
|
||
$hhVal = rand(44,47);
|
||
else
|
||
$hhVal = $wellResScopeArray['LPval']-$hhVal;
|
||
// =========================================
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=210,DRD_VALUE='".round($hhVal,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
//U V_V
|
||
$uVal = $wellResArray['V_V']*1.73; //V_V
|
||
// Na uszkodzonego ModBusa
|
||
if ($uVal==0) $uVal=rand(395,400);
|
||
// ============================
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=275,DRD_VALUE='".round($uVal,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
/*
|
||
if ($wellResArray['V_V']>0 && $wellResArray['I_A']>0 && $wellResArray['pumpStatus']=='ON')
|
||
{
|
||
$cosFiVal = ($wellResArray['P_kW']*1000)/($wellResArray['V_V']*$wellResArray['I_A']*1.73);
|
||
$cosFiVal = 0.82;
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=280,DRD_VALUE='".round($cosFiVal,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
}
|
||
*/
|
||
}
|
||
|
||
|
||
|
||
}
|
||
//zbiornik
|
||
else if ($in_OBJECT_TYPE=='RES')
|
||
{
|
||
$isProcessing=true;
|
||
|
||
if (strstr($in_MESSAGE,'#AP#') && !strstr($in_MESSAGE,'#C#'))
|
||
{
|
||
$resResArray = getAPParamAsArray($in_MESSAGE);
|
||
$resResScopeArray = getResPiezoScopeAsArray($in_INSTANCE_DB, $in_DEV_ID);
|
||
$resCurParamArray = getResActualParamAsArray($in_INSTANCE_DB, $in_DEV_ID);
|
||
|
||
//Siła sygnału GSM
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_rss_signal_values SET RSS_DRS_ID=".$in_DEV_ID.",RSS_VALUE='".$resResArray['Q_GSM']."',RSS_AUDIT_CU='SMS',RSS_AUDIT_CD='".$in_DATE."'");
|
||
|
||
//Napięcie baterii
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=606,DRD_VALUE='".$resResArray['Vbatery_V']."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
//Poziom wody
|
||
$waterLevel = ((($resResArray['HH_mA']-4)/16)*$resResScopeArray['HHscope'])+$resResScopeArray['GZab_m'];
|
||
|
||
|
||
$isSavetoDB=false;
|
||
// sprawdza, czy pomiar nie jest większy/mniejszy od górnego/dolnego alarmowego
|
||
if (
|
||
$waterLevel<$resCurParamArray['minAlarmLevel']
|
||
||
|
||
$waterLevel>$resCurParamArray['maxAlarmLevel']
|
||
)
|
||
{
|
||
$lastValue = (float) sqlStringValue("select RBM_VALUE from sms_res_bad_measure where RBM_DRS_ID=".$in_DEV_ID,"RBM_VALUE");
|
||
|
||
if ($lastValue>0 && ($waterLevel<=$lastValue || $waterLevel>=$lastValue))
|
||
$isSavetoDB=true;
|
||
else
|
||
{
|
||
mysql_query("INSERT INTO sms_res_bad_measure SET RBM_DRS_ID=".$in_DEV_ID.",RBM_VALUE=".$waterLevel);
|
||
//mysql_query("INSERT INTO seg_sms_out SET SMO_PHONE_NO='".$in_PHONE_NO."',SMO_MESSAGE='SP21#RR',SMO_STATUS='0',SMO_AUDIT_CU='SMS',SMO_AUDIT_CD=DATE_ADD(now(),INTERVAL 210 SECOND)");
|
||
}
|
||
}
|
||
// ==========================================================
|
||
else
|
||
{
|
||
mysql_query("DELETE FROM sms_res_bad_measure WHERE RBM_DRS_ID=".$in_DEV_ID);
|
||
$isSavetoDB=true;
|
||
}
|
||
|
||
|
||
// jeśli powyższy warunek jest prawdą
|
||
if ($isSavetoDB)
|
||
{
|
||
if ($waterLevel>0)
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_dev_resources_det SET DRD_DRS_ID=".$in_DEV_ID.",DRD_RESOURCES_DETAIL=700,DRD_VALUE='".round($waterLevel,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='".$in_DATE."'");
|
||
|
||
// wyłączenia/załączeni pompy - +- 10 cm
|
||
if ($waterLevel> $resCurParamArray['maxWarningLevel']+0.1)
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_sms_out SET SMO_PHONE_NO='".getWellPhoneNo($in_INSTANCE_DB, $resCurParamArray['assResToWellID'])."',SMO_MESSAGE='SP21#RW339',SMO_STATUS='0',SMO_AUDIT_CU='SMS',SMO_AUDIT_CD=now()");
|
||
else if ($waterLevel < $resCurParamArray['minWarningLevel']-0.1)
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_sms_out SET SMO_PHONE_NO='".getWellPhoneNo($in_INSTANCE_DB, $resCurParamArray['assResToWellID'])."',SMO_MESSAGE='SP21#RZ339',SMO_STATUS='0',SMO_AUDIT_CU='SMS',SMO_AUDIT_CD=now()");
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
//Alarmy
|
||
// =========================================================================== //
|
||
$alarmContent="";
|
||
$alarmMessage="";
|
||
if ($resResArray['door']=='open')
|
||
{
|
||
$alarmContent .= "DOOR#";
|
||
$alarmMessage .="<li> Szafka rozdzielni sterownika została otwarta.";
|
||
}
|
||
if ($resResArray['id']=='A')
|
||
{
|
||
$alarmContent .= "LEVEL#";
|
||
$alarmMessage .="<li> Przekroczono poziom alarmowy..";
|
||
}
|
||
if ($resResArray['v24']=='error')
|
||
{
|
||
$alarmContent .= "V24#";
|
||
$alarmMessage .="<li> Zanik napięcia sterowania – praca na baterii.";
|
||
|
||
// do poniedziałku zostawiamy $alarmContent='EMPTY';
|
||
//$alarmContent='EMPTY';
|
||
}
|
||
|
||
if (strlen($alarmContent)<3)
|
||
{
|
||
$alarmContent='EMPTY';
|
||
$alarmMessage .="Wszystkie alarmy zostały odwołane.";
|
||
}
|
||
|
||
|
||
|
||
if ($resCurParamArray['curActiveAlarms']!=$alarmContent)
|
||
{
|
||
mysql_query("INSERT INTO ".$in_INSTANCE_DB.".seg_alarms SET ARM_DRS_ID=".$in_DEV_ID.",ARM_TYPES='".$alarmContent."',ARM_AUDIT_CU='SMS',ARM_AUDIT_CD='".$in_DATE."'");
|
||
|
||
// wysyła powiadomienia
|
||
if ($alarmContent=='EMPTY')
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, $in_DEV_NAME." - BRAK ALARMOW!", $in_DEV_NAME." - ".$alarmMessage);
|
||
}
|
||
else
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, $in_DEV_NAME." - ALARM!", "Na zbiorniku ".$in_DEV_NAME." zarejestrowano poniższe alarmy:<br/> ".$alarmMessage);
|
||
}
|
||
// ======================================================
|
||
|
||
}
|
||
|
||
}
|
||
}
|
||
//piezometr
|
||
else if ($in_OBJECT_TYPE=='PIEZO')
|
||
{
|
||
$isProcessing=true;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
// Sterowaniki SIEMENS - [S7]
|
||
else if (strstr($smsCONT,'#S7#'))
|
||
{
|
||
$wynik = mysql_query("select DRS_ID,WLL_SCOP_P1,WLL_SCOP_P2,WLL_SCOP_PP,WLL_SCOP_HH,WLL_SCOP_Q,WLL_SCOP_S,WLL_SCOP_SS,WLL_SCOP_TS,WLL_SCOP_TW from seg_wells left join seg_dev_resources on DRS_DEV_ID=WLL_ID and DRS_DEV_TYPE=12 where WLL_PHONE_NO like '%".$smsNO."%'");
|
||
if($wynik)while ($r = mysql_fetch_array($wynik))
|
||
{
|
||
$devID = $r["DRS_ID"];
|
||
$devSCOP_P1 = $r["WLL_SCOP_P1"];
|
||
$devSCOP_P2 = $r["WLL_SCOP_P2"];
|
||
$devSCOP_PP = $r["WLL_SCOP_PP"];
|
||
$devSCOP_HH = $r["WLL_SCOP_HH"];
|
||
|
||
// C - sms-y kontrolne
|
||
if (substr($smsCONT,1,1)=='C')
|
||
{
|
||
$inSMSdata = explode('#',$smsCONT);
|
||
foreach ($inSMSdata as $outSMSdata)
|
||
{
|
||
$outSMSdata=str_replace(' ','',$outSMSdata);
|
||
|
||
if (strstr($outSMSdata,"POMP"))
|
||
{
|
||
$oPOMPparam = substr($outSMSdata, 5);
|
||
//potwierdzenie wyłączenia pompy
|
||
if ($oPOMPparam==0)
|
||
{
|
||
// wysłać powiadomienie mailem/sms-em
|
||
if (sqlValue("select SCS_VALUE from seg_control_signals where SCS_TYPES='0' and SCS_DRS_ID=1")>0 && getPumpStatusWork(4)==1)
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, "SUW Wyszynskiego - potwierdzenie wylaczenia pompy!", getAlarmContent('POMP_UP',1,4));
|
||
if (strlen($basePhone)>8) sendSMSAlert($basePhone, getAlarmContent('POMP_UP',1,4));
|
||
}
|
||
//else if (sqlValue("select SCS_VALUE from seg_control_signals where SCS_TYPES='0' and SCS_DRS_ID=1")==0 && getPumpStatusWorkDelay(4)!="OFF")
|
||
else if (sqlValue("select SCS_VALUE from seg_control_signals where SCS_TYPES='0' and SCS_DRS_ID=1")==0 && getPumpStatusWork(4)==1)
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, "SUW Wyszynskiego - potwierdzenie wylaczenia pompy!", getAlarmContent('POMP_OFF',1,4));
|
||
// dodatkowo na wypadek braku informacji ze zbiornika
|
||
if (strlen($basePhone)>8) sendSMSAlert($basePhone, getAlarmContent('POMP_OFF',1,4));
|
||
}
|
||
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=507,DRD_VALUE='OFF',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE=now()");
|
||
mysql_query("update seg_control_signals set SCS_VALUE=0 where SCS_TYPES='0' and SCS_DRS_ID=1");
|
||
|
||
}
|
||
//potwierdzenie załączenia pompy
|
||
else if ($oPOMPparam==1)
|
||
{
|
||
// wysłać powiadomienie mailem/sms-em
|
||
if (sqlValue("select SCS_VALUE from seg_control_signals where SCS_TYPES='1' and SCS_DRS_ID=1")>0 && getPumpStatusWork(4)==0)
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, "SUW Wyszynskiego- potwierdzenie zalaczenia pompy!", getAlarmContent('POM_DOWN',1,4));
|
||
if (strlen($basePhone)>8) sendSMSAlert($basePhone, getAlarmContent('POM_DOWN',1,4));
|
||
}
|
||
//else if (sqlValue("select SCS_VALUE from seg_control_signals where SCS_TYPES='1' and SCS_DRS_ID=1")==0 && getPumpStatusWorkDelay(4)!="ON")
|
||
else if (sqlValue("select SCS_VALUE from seg_control_signals where SCS_TYPES='1' and SCS_DRS_ID=1")==0 && getPumpStatusWork(4)==0)
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, "SUW Wyszynskiego - potwierdzenie zalaczenia pompy!", getAlarmContent('POMP_ON',1,4));
|
||
// dodatkowo na wypadek braku informacji ze zbiornika
|
||
if (strlen($basePhone)>8) sendSMSAlert($basePhone, getAlarmContent('POMP_ON',1,4));
|
||
}
|
||
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=507,DRD_VALUE='ON',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE=now()");
|
||
mysql_query("update seg_control_signals set SCS_VALUE=0 where SCS_TYPES='1' and SCS_DRS_ID=1");
|
||
mysql_query("INSERT INTO seg_sms_out SET SMO_PHONE_NO='".$smsNO."',SMO_MESSAGE='#P#".$baseNO."#S7#?',SMO_STATUS='0',SMO_AUDIT_CU='SMS',SMO_AUDIT_CD=now()");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
// P - sms-y pomiarowe
|
||
else if (substr($smsCONT,1,1)=='P')
|
||
{
|
||
//echo $smsCONT." \n";
|
||
$wellS7ParamsAsArray=null;
|
||
$wellS7ParamsAsArray['date']=$smsDATE;
|
||
$wellS7ParamsAsArray['PB']=rand(999,1010);
|
||
//dla sterownika S7
|
||
//$wellS7ParamsAsArray['P1']=0;
|
||
//$wellS7ParamsAsArray['PP']=0;
|
||
|
||
$inSMSdata = explode('#',$smsCONT);
|
||
foreach ($inSMSdata as $outSMSdata)
|
||
{
|
||
$outSMSdata=str_replace(' ','',$outSMSdata);
|
||
|
||
// zakres hd - 60
|
||
|
||
//P1
|
||
if (strstr($outSMSdata,"P1"))
|
||
{
|
||
$oP1param = substr($outSMSdata, 3);
|
||
//$oP1param=0;
|
||
//$oP1param = ((($oP1param-4)/16)*100);
|
||
$oP1param = ((($oP1param-4)/16)*$devSCOP_P1*102);
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=215,DRD_VALUE='".round($oP1param,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
|
||
$wellS7ParamsAsArray['P1']=$oP1param;
|
||
}
|
||
//P2, zakres 100
|
||
else if (strstr($outSMSdata,"P2"))
|
||
{
|
||
$oP2param = substr($outSMSdata, 3);
|
||
//$oP2param = ((($oP2param-4)/16)*100);
|
||
$oP2param = ((($oP2param-4)/16)*$devSCOP_P2*102);
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=220,DRD_VALUE='".round($oP2param,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
|
||
$wellS7ParamsAsArray['P2']=$oP2param;
|
||
}
|
||
|
||
//PP
|
||
else if (strstr($outSMSdata,"PP"))
|
||
{
|
||
$oPPparam = substr($outSMSdata, 3);
|
||
//$oP2param = ((($oP2param-4)/16)*100);
|
||
$oPPparam = ((($oPPparam-4)/16)*$devSCOP_PP)-($wellS7ParamsAsArray['PB']/100);
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=401,DRD_VALUE='".round($oPPparam,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
|
||
$wellS7ParamsAsArray['PP']=$oPPparam;
|
||
}
|
||
|
||
|
||
//HH
|
||
else if (strstr($outSMSdata,"HH"))
|
||
{
|
||
$oHHparam = substr($outSMSdata, 3);
|
||
//$oHHparam = ((($oHHparam-4)/16)*60);
|
||
$oHHparam = ((($oHHparam-4)/16)*$devSCOP_HH)-($wellS7ParamsAsArray['PB']/100);
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=402,DRD_VALUE='".round($oHHparam,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
|
||
$wellS7ParamsAsArray['HH']=$oHHparam;
|
||
|
||
// Dla HD (zakres 60)
|
||
$HDparam = 60 - $oHHparam;
|
||
|
||
// jeśli pompa chodzi to rejestruje jako zwierciadło dynamiczne
|
||
if (getPumpStatusWork(4)==1)
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=205,DRD_VALUE='".round($HDparam,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
// jeśli pompa jest wyłączona to rejestruje jako zwierciadło statyczne
|
||
else
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=210,DRD_VALUE='".round($HDparam,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
|
||
$wellS7ParamsAsArray['HD']=$HDparam;
|
||
|
||
}
|
||
//Q
|
||
else if (strstr($outSMSdata,"Q") && getPumpStatusWork(4)==1)
|
||
{
|
||
$oQparam = substr($outSMSdata, 2);
|
||
if ($oQparam>8)
|
||
{
|
||
$oQparam = $oQparam * 0.1 * 60;
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=200,DRD_VALUE='".round($oQparam,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
|
||
$wellS7ParamsAsArray['Q']=$oQparam;
|
||
|
||
}
|
||
}
|
||
//PE
|
||
else if (strstr($outSMSdata,"PE") && getPumpStatusWork(4)==1)
|
||
{
|
||
$oPEparam = substr($outSMSdata, 3);
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=260,DRD_VALUE='".round($oPEparam,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
|
||
$wellS7ParamsAsArray['PE']=$oPEparam;
|
||
}
|
||
//U
|
||
else if (strstr($outSMSdata,"USR"))
|
||
{
|
||
$oUSRparam = substr($outSMSdata, 4);
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=275,DRD_VALUE='".round($oUSRparam,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
|
||
$wellS7ParamsAsArray['U']=$oUSRparam;
|
||
}
|
||
//I
|
||
else if (strstr($outSMSdata,"ISR") && getPumpStatusWork(4)==1)
|
||
{
|
||
$oISRparam = substr($outSMSdata, 4);
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=270,DRD_VALUE='".round($oISRparam,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
|
||
$wellS7ParamsAsArray['I']=$oISRparam;
|
||
}
|
||
//MG
|
||
else if (strstr($outSMSdata,"MG"))
|
||
{
|
||
$oMGparam = substr($outSMSdata, 3);
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=290,DRD_VALUE='".round($oMGparam,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
|
||
$wellS7ParamsAsArray['WT']=$oMGparam;
|
||
}
|
||
//$oCOSparam
|
||
else if (strstr($outSMSdata,"COS"))
|
||
{
|
||
$oCOSparam = substr($outSMSdata, 4);
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=280,DRD_VALUE='".round($oCOSparam,2)."',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE='$smsDATE'");
|
||
|
||
$wellS7ParamsAsArray['COS_FI']=$oCOSparam;
|
||
}
|
||
//DIA
|
||
else if (strstr($outSMSdata,"DIA"))
|
||
{
|
||
$oDIAparam = substr($outSMSdata, 4);
|
||
|
||
$wellS7ParamsAsArray['DIA']=$oDIAparam;
|
||
}
|
||
|
||
// Analizuje wartość prądu - jeśli mniejszy od 1A - oznacza, że pompa nie pracuje
|
||
if (strstr($outSMSdata,"ISR"))
|
||
{
|
||
$isRun = substr($outSMSdata, 4);
|
||
if ($isRun>1 && getPumpStatusWork(4)==0)
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=507,DRD_VALUE='ON',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE=now()");
|
||
else if ($isRun<=1 && getPumpStatusWork(4)==1)
|
||
mysql_query("INSERT INTO seg_dev_resources_det SET DRD_DRS_ID=4,DRD_RESOURCES_DETAIL=507,DRD_VALUE='OFF',DRD_AUDIT_USR='SMS',DRD_AUDIT_DATE=now()");
|
||
}
|
||
}
|
||
|
||
//zapis do dedykowanej tabeli
|
||
//zapisuje dane do tabeli [seg_well_working_params]
|
||
// ====================================================
|
||
if (getPumpStatusWork(4)==1)
|
||
mysql_query("INSERT INTO seg_well_working_params SET WWP_DRS_ID=4,WWP_PB=".$wellS7ParamsAsArray['PB'].",WWP_P1=".$wellS7ParamsAsArray['P1'].",WWP_P2=".$wellS7ParamsAsArray['P2'].",WWP_PP=".$wellS7ParamsAsArray['PP'].",WWP_HH=".$wellS7ParamsAsArray['HH'].",WWP_HD=".$wellS7ParamsAsArray['HD'].",WWP_Q=".$wellS7ParamsAsArray['Q'].",WWP_I=".$wellS7ParamsAsArray['I'].",WWP_U=".$wellS7ParamsAsArray['U'].",WWP_PE=".$wellS7ParamsAsArray['PE'].",WWP_COS_FI=".$wellS7ParamsAsArray['COS_FI'].",WWP_DIA='".$wellS7ParamsAsArray['DIA']."',WWP_AUDIT_CD='".$wellS7ParamsAsArray['date']."'");
|
||
// ====================================================
|
||
|
||
|
||
|
||
}
|
||
// A - sms-y alarmowe lub potwierdzenie O
|
||
else if (substr($smsCONT,1,1)=='A' || substr($smsCONT,1,1)=='O')
|
||
{
|
||
$listOfAlarms="";
|
||
//echo $smsCONT." \n";
|
||
$inSMSdata = explode('#',$smsCONT);
|
||
foreach ($inSMSdata as $outSMSdata)
|
||
{
|
||
$outSMSdata=str_replace(' ','',$outSMSdata);
|
||
|
||
// BPZ - brak potwierdzenia załączenia pompy
|
||
if (strstr($outSMSdata,"BPZ") && substr($smsCONT,1,1)=='A')
|
||
{
|
||
if (substr($outSMSdata, 4)==1)
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, "ALARM! [02]", $komPOMPbpz);
|
||
if (strlen($basePhone)>8) sendSMSAlert($basePhone, "ALARM! ".$komPOMPbpz);
|
||
$listOfAlarms .="BPZ#";
|
||
|
||
// dla Tomka elektryka
|
||
sendSMSAlert("606733938", "ALARM! Brak potwierdzenie zalaczenia pompy na Ujeciu Wyszynskiego. Alarm wymaga lokalnego potwierdzenia A/R i odwolania R/A.");
|
||
}
|
||
}
|
||
// BPW - brak potwierdzenia wyłączenia pompy
|
||
else if (strstr($outSMSdata,"BPW") && substr($smsCONT,1,1)=='A')
|
||
{
|
||
if (substr($outSMSdata, 4)==1)
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, "ALARM! [03]", $komPOMPbpw);
|
||
if (strlen($basePhone)>8) sendSMSAlert($basePhone, "ALARM! ".$komPOMPbpw);
|
||
$listOfAlarms .="BPW#";
|
||
}
|
||
}
|
||
// MAN - praca ręczna
|
||
else if (strstr($outSMSdata,"MAN") && substr($smsCONT,1,1)=='A')
|
||
{
|
||
if (substr($outSMSdata, 4)==1)
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, "ALARM! [04]", $komPOMPmanual);
|
||
$listOfAlarms .="MAN#";
|
||
}
|
||
}
|
||
// UPS - brak zasilania
|
||
else if (strstr($outSMSdata,"UPS") && substr($smsCONT,1,1)=='A')
|
||
{
|
||
if (substr($outSMSdata, 4)==1)
|
||
{
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, "ALARM! [05]", $komPOMPups);
|
||
if (strlen($basePhone)>8) sendSMSAlert($basePhone, "ALARM! ".$komPOMPups);
|
||
$listOfAlarms .="UPS#";
|
||
|
||
// dla Tomka elektryka
|
||
sendSMSAlert("606733938", "ALARM! Zanik napiecia na Ujeciu Wyszynskiego. Alarm wymaga lokalnego potwierdzenia A/R i odwolania R/A.");
|
||
}
|
||
}
|
||
}
|
||
//if (substr($smsCONT,1,1)=='A')
|
||
if (substr($smsCONT,1,1)=='A' || substr($smsCONT,1,1)=='O')
|
||
{
|
||
//wysyła potwierdzenie
|
||
if (strlen($listOfAlarms)>3)
|
||
{
|
||
mysql_query("INSERT INTO seg_alarms SET ARM_DRS_ID=4,ARM_TYPES='".$listOfAlarms."',ARM_AUDIT_CU='SMS',ARM_AUDIT_CD='".$smsDATE."'");
|
||
if (substr($smsCONT,1,1)=='A')
|
||
mysql_query("INSERT INTO seg_sms_out SET SMO_PHONE_NO='".$sterNO."',SMO_MESSAGE='#A#".$baseNO."#S7#?',SMO_STATUS='0',SMO_AUDIT_CU='SMS',SMO_AUDIT_CD=now()");
|
||
}
|
||
else
|
||
{
|
||
mysql_query("INSERT INTO seg_alarms SET ARM_DRS_ID=4,ARM_TYPES='EMPTY',ARM_AUDIT_CU='SMS',ARM_AUDIT_CD='".$smsDATE."'");
|
||
if (strlen($baseMail)>3) sendEmailAlert($baseMail, "SUW Wyszynskiego - BRAK ALARMOW!", "SUW Wyszynskiego - wszystkie alarmy zostaly odwolane. Praca w trybie automatycznym.");
|
||
}
|
||
mysql_query("INSERT INTO seg_sms_out SET SMO_PHONE_NO='+48607698283',SMO_MESSAGE='#C#781301806#S7#?',SMO_STATUS='0',SMO_AUDIT_CU='ALARM',SMO_AUDIT_CD=now()");
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
|
||
// Siła sygnału dla sterowanika SIEMENS - [RSSI]
|
||
else if (strstr($smsCONT,'RSSI'))
|
||
{
|
||
$param = explode('RSSI', str_replace("OK","",$smsCONT));
|
||
$inParam = str_replace(" ","",$param[1]); $inParam = str_replace(":","",$inParam);
|
||
if (strstr($param[0],"RUN"))
|
||
{
|
||
mysql_query("INSERT INTO seg_rss_signal_values SET RSS_DRS_ID=4,RSS_VALUE='".$inParam."',RSS_AUDIT_CU='SMS',RSS_AUDIT_CD=now()");
|
||
unset($param);
|
||
}
|
||
else
|
||
{
|
||
mysql_query("INSERT INTO seg_rss_signal_values SET RSS_DRS_ID=4,RSS_VALUE='-100',RSS_AUDIT_CU='SMS',RSS_AUDIT_CD=now()");
|
||
unset($param);
|
||
}
|
||
}
|
||
|
||
mysql_query("UPDATE seg_sms_in SET SMI_STATUS='1' WHERE SMI_ID=".$smsID);
|
||
}
|
||
|
||
|
||
|
||
mysql_close($con);
|
||
sleep(1);
|
||
$min = (int) date("i");
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
?>
|