Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТЧЕТ О НИР.doc
Скачиваний:
5
Добавлен:
25.11.2019
Размер:
1.81 Mб
Скачать

4.2.1 Листинг серверной части обмена сокетами

public void RunConnect(String ID, String DataTime)

{

clientSocket.Connect(ConServer, Convert.ToInt32(ConPort));

System.Net.Sockets.NetworkStream serverStream = clientSocket.GetStream();

byte[] outStream = System.Text.Encoding.ASCII.GetBytes(DataServer + ' ' + DataPort + ' ' + DataName + ' ' + UserName + ' ' + Password +

' ' + ID + ' ' + DataTime);

serverStream.Write(outStream, 0, outStream.Length);

serverStream.Flush();

byte[] inStream = new byte[10025];

serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);

string returndata = System.Text.Encoding.ASCII.GetString(inStream);

Result = returndata;

}

4.2.2 Листинг клиентской части

public class RunServer

{

StartAnalysis Analysis;

public static void main(String[] args)

{

int port = 7000;

String[] ImpData = new String[7];

StartAnalysis Analysis = new StartAnalysis();

while(true)

{

try

{

ServerSocket ss = new ServerSocket(port);

System.out.println("Waiting for a client...");

Socket socket = ss.accept();

System.out.println("Got a client ... Finally, someone saw me through all the cover!");

System.out.println();

InputStream in = socket.getInputStream();

OutputStream os = socket.getOutputStream();

DataInputStream din = new DataInputStream(in);

DataOutputStream dos = new DataOutputStream(os);

byte[] buff = new byte[250];

din.read(buff);

String data = new String(buff);

Analysis = new StartAnalysis();

ImpData = new String[7];

for(int i = 0; i<7; i++)

ImpData[i] = "";

char[] Data = data.toCharArray();

for(int i=0, j=0; i<Data.length; i++)

{

if(j<6)

if(Data[i]!=' ')

ImpData[j]+=Data[i];

else j++;

else

if((Data[i]=='0')||(Data[i]=='1')||(Data[i]=='2')||(Data[i]=='3')||(Data[i]=='4')||

(Data[i]=='5')||(Data[i]=='6')||(Data[i]=='7')||(Data[i]=='8')||(Data[i]=='9')||(Data[i]=='.'))

ImpData[j]+=Data[i];

}

if(!Analysis.Start(ImpData[0], ImpData[1], ImpData[2], ImpData[3], ImpData[4], ImpData[5], ImpData[6]))

dos.write("!OK".getBytes());

else dos.write("OK".getBytes());

System.out.println("The dumb client just sent me this line : " + data);

System.out.println("Waiting for the next line...");

System.out.println();

ss.close();

} catch(Exception x) { x.printStackTrace(); }

}

}

}

На сервере хранится все вспомогательные функции, используемые для построения прогноза в классе StartAnalysis

5 Выводы

В результате анализа массива параметров работы скважин за период с июня по сентябрь для статистического анализа отобраны две скважины: № 13499, на которой за этот период не возникало аварийных ситуаций, требующих ремонта насоса, и № 13594, на которой в это период возникло 2 аварийных ситуации.

Статистический анализ параметров работы отобранных скважин показал, что наибольшим прогностическим потенциалом в вопросе предупреждения аварийных ситуаций обладают показатели максимальной (пиковой) и минимальной нагрузок. Остальные показатели либо фиксируют разладку с запозданием, либо изменяются слишком медленно, что не позволяет строить на их основе методику заблаговременного предупреждения о возникновении аварийной ситуации.

Анализ пиковых нагрузок методом временных рядов показал, что периодически возникают разладки траектории (резкие выбросы значений), которые не коррелируют с моментами плановых или аварийных остановов скважины. Разладка параметров наступает внезапно, без каких либо достоверных предварительных сигналов (например, снижения показателей) о ее наступлении.

Возможным диагностическим признаком наступления аварийной ситуации может служить стабилизация значений пиковой нагрузки в течение длительного периода. Обнаружено, что перед разладкой траектории продолжительность периода стабилизации значений пиковой нагрузки на безаварийной скважине составляет несколько (10-15 минут), в то время как на аварийной скважине постоянство значений пиковой нагрузки фиксируется около часа. Для проверки данной гипотезы необходимо дополнительно провести статистический анализ достаточно большой выборки аварийных ситуаций, с тем, чтобы а) подтвердить или опровергнуть данную гипотезу, б) в случае ее подтверждения классифицировать диагностические признаки по причинам аварии и выработать правила принятия решений, в) в случае опровержения выработать другую гипотезу. На основании результатов статистических исследований возможно будет разработать модуль формирования рекомендаций по предотвращению сбоев и аварий технологического оборудования нефтяных скважин, который позволит рекомендовать специалистам перечень возможных решений проблем, выявленных на этапе прогнозирования.

В результате выполненной работы разработана методика и пилотные проект экспертной системы, которые могут быть использованы при разработке системы автоматического предупреждения возникновения аварийной ситуации на нефтедобывающих скважинах. Данная методика позволит впоследствии создать программный комплекс, который будет являться надстройкой существующей SCADA-системы АСУ ТП, позволит расширить спектр ее возможностей по управлению технологической безопасностью процесс нефтедобычи.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Орлов А. И. Прикладная статистика. — М.: Экзамен, 2006. — 671 с.

  2. Дрейпер Н, Смит Г. Прикладной регрессионный анализ. Множественная регрессия = Applied Regression Analysis. — 3-е изд. — М.: «Диалектика», 2007. — С. 912.

  3. J.Fox, R.Anderse. Using the R statistical computing environment to teach social statistics courses [Электронный ресурс]. - : http://www.unt.edu/rss/Teaching-with-R.pdf

  4. R-Project.org  http://www.r-project.org/

  5. Золотых Н.Ю., Половинкин А.Н. Введение в R.  http://www.uic.unu.ru

  6. R: A Language and Environment for Statistical Computing. Reference Index / The R Development Core Team. http://lib.stat.edu

ПРИЛОЖЕНИЕ А

ТРАЕКТОРИИ ПОКАЗАТЕЛЕЙ РАБОТЫ СКВАЖИН 13499 И 13594 С ИЮНЯ ПО СЕНТЯБРЬ 2011 Г.

Рисунок А1. Давление на приеме насоса на скважине 13499 в июле 2011 г.

Рисунок А2. Давление на приеме насоса на скважине 13499 в августе 2011 г.

Рисунок А3. Давление на приеме насоса на скважине 13499 в сентябре 2011 г.

Рисунок А4. Давление на устье на скважине 13499 в июле 2011 г.

Рисунок А5. Давление на устье на скважине 13499 в августе 2011 г.

Рисунок А6. Давление на устье на скважине 13499 в сентябре 2011 г.

Рисунок А7. ДНМ за предыдущие сутки на скважине 13499 в июне 2011 г.

Рисунок А8. ДНМ за предыдущие сутки на скважине 13499 в июле 2011 г.

Рисунок А9. ДНМ за предыдущие сутки на скважине 13499 в августе 2011 г.

Рисунок А10. ДНМ за предыдущие сутки на скважине 13499 в сентябре 2011 г.

Рисунок А11. Минимальные нагрузки на скважине 13499 в июне 2011 г.

Рисунок А12. Минимальные нагрузки на скважине 13499 в июле 2011 г.

Рисунок А13. Минимальные нагрузки на скважине 13499 в августе 2011 г.

Рисунок А14. Минимальные нагрузки на скважине 13499 в сентябре 2011 г.

Рисунок А15. Пиковые нагрузки на скважине 13499 в июне 2011 г.

Рисунок А16. Пиковые нагрузки на скважине 13499 в июле 2011 г.

Рисунок А17. Пиковые нагрузки на скважине 13499 в августе 2011 г.

Рисунок А18. Пиковые нагрузки на скважине 13499 в сентябре 2011 г.

Рисунок А19. Давление на устье скважины 13499 в июне 2011 г.

Рисунок А20. Давление на устье скважины 13499 в июле 2011 г.

Рисунок А21. Давление на устье скважины 13499 в августе 2011 г

Рисунок А22. Давление на устье скважины 13499 в сентябре 2011 г.

Рисунок А23. Давление на приеме насоса скважины 13594 в июне 2011 г.

Рисунок А24. Давление на приеме насоса скважины 13594 в июле 2011 г.

Рисунок А25. Давление на приеме насоса скважины 13594 в августе 2011 г.

Рисунок А26. Давление на приеме насоса скважины 13594 в сентябре 2011 г.

Рисунок А27. Давление на устье скважины 13594 в июне 2011 г.

Рисунок А28. . Давление на устье скважины 13594 в июле 2011 г.

Рисунок А29. . Давление на устье скважины 13594 в августе 2011 г

Рисунок А30. Давление на устье скважины 13594 в сентябре 2011 г.

Рисунок А31. ДНМ за предыдущие сутки на скважине 13594 в июне 2011 г.

Рисунок А32. . ДНМ за предыдущие сутки на скважине 13594 в июле 2011 г.

Рисунок А33. . ДНМ за предыдущие сутки на скважине 13594 в августе 2011 г.

Рисунок А34 . ДНМ за предыдущие сутки на скважине 13594 в сентябре 2011 г.

Рисунок А35. Минимальные нагрузки на скважине 13594 в июне 2011 г.

Рисунок А36. Минимальные нагрузки на скважине 13594 в июле 2011 г.

Рисунок А37. Минимальные нагрузки на скважине 13594 в августе 2011 г.

Рисунок А38. Минимальные нагрузки на скважине 13594 в сентябре 2011 г.

Рисунок А39. Пиковые нагрузки на скважине 13594 в июне 2011 г.

Рисунок А40. Пиковые нагрузки на скважине 13594 в июле 2011 г.

Рисунок А41. Пиковые нагрузки на скважине 13594 в августе 2011 г.

Рисунок А42. Пиковые нагрузки на скважине 13594 в сентябре 2011 г.

ПРИЛОЖЕНИЕ Б