راه حل های حوزه نفت و گاز شرکت آفرینش سیستم
سیستم ها و سامانه های اسکادا (SCADA : Supervisory Control and Data Acquisition) از دیر باز به منظور کنترل و نظارت بر فرآیندها و سیستمها و تجهیزات مختلف در صنایع نفت و گاز و پتروشیمی مطرح بوده اند و امروزه با استفاده از تجهیزات پیشرفته و مدرن، سامانه های اسکادا تبدیل به یک جز اجتناب ناپذیر در این صنایع گشته اند. سامانه های اسکادا (SCADA) عموماً برای کنترل و نظارت بر فرآیند در گستره جغرافیایی وسیع و از راه دور بکار می روند و بسترهای مختلف مخابراتی نظیر لینک های رادیویی و ماهواره ای، فیبر نوری، شبکه های ارتباطی LAN، خطوط تلفن PSTN و نیز بسترGSM و GPRS، امروز برای این منظور کاربرد فراوان دارند.واحد تله متری و کنترل از راه دور شرکت آفرینش سیستم با تولید ملزومات سخت افزاری و نرم افزاری این سامانه توانسته است علاوه بر حذف هزینه های بالای واردات تجهیزات خارجی پشتیبانی و خدمات سریع و دقیق را برای صنعت نفت و گار به ارمغان آورد.
در ادامه به تشریح برخی کاربردهای مهم سامانه های اسکادا، کنترل/ مانیتورینگ و قرائت از راه دور در صنعت نفت و گاز می پردازیم.
سامانه های اسکادا در ایستگاههای دیسپاچینگ، F&G و ESD : یکی از مهمترین کاربرد های سامانه های اسکادا (SCADA) در صنعت نفت و گاز مربوط به کنترل و نظارت بر ایستگاههای دیسپاچینگ و همچنین سامانه های F&G و ESD می باشد که در خطوط لوله کاربرد فراوان دارند. این سامانه های برای کنترل و نظارت بر عملکرد تجهیزات موجود در ایستگاههای تقویت و تقلیل فشار گاز مورد استفاده قرار می گیرند و عموما در هنگام احداث خطوط لوله نصب و راه اندازی می گردند.
سامانه های قرائت از راه دور تجهیزات و لوازم اندازه گیری : سامانه های قرائت از راه دور نیز که با عنوان Automatic Meter Reading) AMR) در دنیا شناخته می شوند، امروزه کاربردهای فراوانی در صنایع نفت و گاز دارند. قرائت از راه دور کنتور ها (Meter) و تصحیح کننده های حجم گاز (Volume Gas Corrector) از این جمله موارد هستند. از حیث کلی می توان سیستم های AMR را به عنوان زیر مجموعه ای از سامانه های اسکادا برشمرد ولی از آنجا که هر نوع از کنتورها (Meter) و تصحیح کننده ها، مشخصات و ویژگی های مختص خود را دارا می باشند ( از لحاظ پروتکل ارتباطی با تجهیزات جانبی، پارامترهای مورد اندازه گیری و …) لذا نحوه بر قراری ارتباط با کنتور ها و قرائت پارامترهای مختلف آنها، شرایط خاص و استانداردهای خاصی را می طلبد. امروزه سامانه قرائت از راه دور کنتور های گاز و قرائت از راه دور تصحیح کننده های حجم گاز از اهمیت بالایی در کشورمان برخوردار می باشند.
سیستم مانیتورینگ و قرائت از راه دور ایستگاههای حفاظت کاتدیک: نظارت بر عملکرد ایستگاههای حفاظت کاتدیک و قرائت مقادیر و پارامترهای مربوط به ترانس های حفاظت کاتدیک در کنار قرائت از راه دور کنتور های گاز یکی دیگر از مباحث مطرح در این صنعت می باشد. ترانس های حفاظت کاتدیک عموما برای محافظت از خطوط لوله مورد استفاده قرار می گیرند. ترانس های حفاظت کاتدیک بایستی بر روی ولتاژهای خاصی تنظیم گردند و قابلیت جریان دهی مناسب به خط را دارا باشند در این صورت است که ولتاژ خط لوله نسبت به پتانسیل نیم سلول مرجع (Half Cell) در شرایط استاندارد قرار می گیرد. کنترل و مانیتورینگ ترانس های هوشمند حفاظت کاتدیک یکی از موضوعات مورد توجه در جهان و کشورمان می باشد که بر اساس استانداردهای موجود در بازه زمانی 2 هفته تا یک ماه باید به صورت مداوم صورت پذیرد. در این سیستم علاوه بر اندازه گیری ولتاژها و جریان های ورودی و خروجی ترانس حفاظت کاتدیک، پارامترهای دیگری از قبیل دمای ترانس، وضعیت عملکرد آن، پتانسیل لوله نسبت به مرجع، تنظیم اتوماتیک ولتاژ ترانس و … نیز صورت می گیرد. علاوه بر ترانس ها نقاط تست خاصی در خط لوله وجود دارد که آنها را (TP: Test Point) می نامند که طبق استاندارد، اندازه گیری ولتاژ این نقاط تست، باعث پایش دقیق فرایند حفاظت کاتدیک در خط لوله و پیشگیری از خوردگی خط لوله می گردد.
سیستم کنترل و مانیتورینگ ایستگاههای CGS، TBS و شیرهای خودکار (LBV) : علاوه بر موارد فوق، کنترل و مانیتورینگ ایستگاههای CGS و TBS در شبکه گاز رسانی و خطوط انتقال گاز کشور نیز همواره مطرح است. کنترل و مانیتورینگ شیرهای خودکار بین راهی که اصطلاحا LBV نامیده می شوند نیز برای اولین بار در کشور توسط این شرکت صورت گرفته است. کنترل و مانیتورینگ ایستگاههای CGS و TBS و شیرهای خودکار (LBV) جزو موضوعات مهم و حیاتی در صنعت نفت، گاز و پتروشیمی در کشور می باشد و در مواقع بحران می توانند نقش مهمی در پایداری شبکه انتقال گاز کشور ایفا نمایند.
کنترل و مانیتورینگ سطح مخازن : از دیگر موضوعات کلیدی، کنترل و مانیتورینگ سطح مخازن نفت و پتروشیمی می باشد که همواره مورد نیاز این صنایع می باشد. در کنترل سطح مخازن عموما از سنسورها و ترانسمیترهای اندازه گیری سطح مایعات استفاده می گردد و سپس بر اساس اطلاعات دریافتی از این سنسورها و ترانسمیترها، فرآیند کنترل ورودی سیال به داخل مخزن توسط یک کنترلر صنعتی به صورت Fuzzy یا PID صورت می گیرد و اطلاعات مربوطه در هر لحظه بر روی سامانه مانیتورینگ سطح مخزن نمایش داده می شود.
اجزای مورد استفاده در سیستمهای اسکادا(SCADA)، تلمتری و قرائت از راه دور (AMR) غالبا به شرح زیر می باشد:
(RTU ( Remote Terminal Unit : واحدی که اندازه گیری و جمع آوری داده های مربوط به سنسورها و ترانسمیترها را بر عهده دارد و آنها را به ایستگاههای مرکزی ارسال می نماید.
Modem (مودم) : بسته به اینکه چه بستر مخاربراتی برای ارتباط بین ایستگاههای اندازه گیری و ایستگاه مرکزی انتخاب می شود، مودم (Modem) مناسب مورد استفاده قرار می گیرد.
Remot I/O Module (ماجولهای جمع آوری داده): این ماجولها نیز برای جمع آوری داده های مربوط به سنسورها و ترانسمیترهای مختلف که در سطح یک سایت عملیاتی نصب گردیده اند استفاده می گردد و قادر است داده های آنها را بر روی یک بستر ارتباطی مشترک از قبیل باس RS485، Ethernet (اترنت)، Profibus و یا Field bus ارسال نماید.
پنل / نرم افزار HMI : پنل های HMI در واقع نرم افزارهای واسط گرافیکی کاربر می باشند که بر روی نمایشگرهای تاچ و یا معمولی اجرا می گردند و امکان مانیتورینگ فرایندها و تجهیزات و نیز کنترل آنها را توسط کاربر فراهم می سازند. قدرت و کارایی این نرم افزارها و استاندارد بودن آنها در پیاده سازی سامانه های اسکادا بسیار حائز اهمیت می باشد.
ترانسمیتر های سیگنال : این تجهیزات برای دریافت اطلاعات سنسورها و ارسال آن در یک محیط عملیاتی و صنعتی نویزی قالبا به صورت جریان 4 تا 20 میلی آمپر و یا ولتاژهای استاندارد دیگر مورد استفاده قرار می گیرند.
Parking is currently unavailable. We'll be right back.
\n ")}errorParkingServicesDisabled(){this.message("\nServices for this domain name have been disabled.
\n ")}errorParkingNoSponsors(e){this.message(`\n \n \n ${window.location.hostname} currently does not have any sponsors for you.\n \n `,e)}imprint(e){if(!e)return;const t=document.querySelector("#imprint-text");t&&(t.innerHTML=e.replace(/(?:\r\n|\r|\n)/g,"${this.domain} currently does not have any sponsors for you.
`;case"disabled_mr":return`\nReferral traffic for ${this.domain} does not meet requirements.
`;case"js_error":return"\nParking is currently unavailable. We'll be right back.
\n ";default:return"\nServices for this domain name have been disabled.
\n "}}get trackingType(){switch(this.reason){case"disabled_rc":return"revenue_cap_reached";case"disabled_mr":return"invalid_referral";case"adblock":return"ad_blocked_message";case"no_sponsors":return"no_sponsors_message"}}get domain(){return window.location.hostname}toContext(){return{cannotPark:this.reason}}}function unpackPHPArrayObject(e,t){const n=e[t];if(n&&!Array.isArray(n))return n}class Parking extends State$2{constructor(){super(...arguments),this.type=Type.Parking}static build(e,t){const n=new Parking;n.domain=e.domainName,n.html=e.template,n.scripts=e.scripts||[],n.javascript=e.inlineJs,n.stylesheet=e.styles,n.imprint=e.imprintText;const i=unpackPHPArrayObject(e,"salesSettings"),s=(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status);if(s){const{status:e,location:t,message:s,link:a,type:o}=i;n.salesBanner={message:s,href:a,position:t,theme:o,status:e}}return t.wantsToServeAds?n.trackingType="ctr":s&&window.location.pathname.startsWith("/listing")?n.trackingType="sales":n.trackingType="visit",n}toContext(){return{}}}class Sales extends State$2{constructor(){super(...arguments),this.type=Type.Sales}static build(e){const t=unpackPHPArrayObject(e,"salesSettings");if(!t)return;const{status:n}=t;return["NOT_FOR_SALE","EXTERNAL_MARKET","URL"].includes(n)?void 0:window.location.pathname.startsWith("/listing")?new Sales:void 0}toContext(){return{}}get trackingType(){return"sales"}init(e){window.context=e;const t=document.createElement("script");t.type="text/javascript",t.src=SALES_JS_URL,document.head.append(t)}}class Redirect extends State$2{constructor(){super(...arguments),this.type=Type.Redirect}static build(e,t,n){const i=unpackPHPArrayObject(e,"salesSettings"),{zeroClickDelay:s,skenzoRedirect:a,skenzoUrl:o,showInquiryForm:r,canZeroClick:d,cannotPark:c}=e;if(window.location.pathname.startsWith("/listing")&&["EXTERNAL_MARKET","URL"].includes(null==i?void 0:i.status)){if(null==i?void 0:i.external)return Redirect.toState(i.external,"sales");if(null==i?void 0:i.link)return Redirect.toState(i.link,"sales")}if(n.cannotLoadAds&&n.wantsToServeAds)return Redirect.toState(n.noAdsRedirectUrl,"no_ads_redirect");if(d&&(null==t?void 0:t.reason)){if(null==t?void 0:t.redirect)return Redirect.toState(t.redirect,"zc_redirect",s);if(a&&o)return Redirect.toState(o,"skenzo_redirect")}return(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status)&&(n.cannotLoadAds||n.cannotLoadAds&&!d||r)?Redirect.toState(`${window.location.origin}/listing`):void 0}static toState(e,t,n=0){const i=new Redirect;return i.url=e,i.delay=n,i.trackingType=t,i}toContext(){return{}}}const browserState=()=>{var e,t,n,i,s;const{screen:{width:a,height:o},self:r,top:d,matchMedia:c,opener:l}=window,{documentElement:{clientWidth:h,clientHeight:u}}=document;let p;try{p=(new Date).getTimezoneOffset()/60*-1}catch(e){p=null}return{popup:!(!l||l===window),timezone_offset:p,user_preference:null===(e=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===e?void 0:e.resolvedOptions(),user_using_darkmode:Boolean(c&&c("(prefers-color-scheme: dark)").matches),user_supports_darkmode:Boolean(c),window_resolution:{width:null!=h?h:0,height:null!=u?u:0},screen_resolution:{width:null!=a?a:0,height:null!=o?o:0},frame:d===r?null:{innerWidth:null!==(t=null==r?void 0:r.innerWidth)&&void 0!==t?t:0,innerHeight:null!==(n=null==r?void 0:r.innerHeight)&&void 0!==n?n:0,outerWidth:null!==(i=null==r?void 0:r.outerWidth)&&void 0!==i?i:0,outerHeight:null!==(s=null==r?void 0:r.outerHeight)&&void 0!==s?s:0}}},TRACKING_URL="_tr",buildSignature=({callbacks:e,context:t},n)=>{var i,s,a,o;return Object.assign({ad_loaded_callback:null==e?void 0:e.adLoadedCallback,app_version:version,caf_client_id:null===(i=null==t?void 0:t.pageOptions)||void 0===i?void 0:i.pubId,caf_timed_out:null==e?void 0:e.cafTimedOut,caf_loaded_ms:null==e?void 0:e.cafLoadedMs,channel:null===(s=null==t?void 0:t.pageOptions)||void 0===s?void 0:s.channel,desktop:t.desktop,terms:null===(a=null==t?void 0:t.pageOptions)||void 0===a?void 0:a.terms,fd_server_datetime:t.fd_server_datetime,fd_server:t.fd_server,flex_rule:t.flex_rule,host:t.host,ip:t.ip,ivt:null===(o=null==t?void 0:t.pageOptions)||void 0===o?void 0:o.ivt,js_error:t.js_error,mobile:t.mobile,no_ads_redirect:t.noAdsRedirect,page_headers:t.page_headers,page_loaded_callback:null==e?void 0:e.pageLoadedCallback,page_method:t.page_method,page_request:t.page_request,page_time:t.page_time,page_url:t.page_url,reportable_channel:t.reportableChannel,reportable_style_id:t.reportableStyleId,tablet:t.tablet,template_id:t.templateId,type:n,user_has_ad_blocker:t.user_has_ad_blocker,user_id:t.userId,uuid:t.uuid,zeroclick:t.zeroClick},browserState())},trackVisit=({callbacks:e,context:t},n,i="")=>{const s=`${i}/${TRACKING_URL}`,a=i?"include":"same-origin",o=buildSignature({callbacks:e,context:t},n);let r={};"click"===n&&(r={click:"true",session:t.uuid,nc:Date.now().toString()}),fetch(s,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},credentials:a,body:JSON.stringify(Object.assign({signature:encode(o)},r))})};var State$1;!function(){if(!window.CustomEvent){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}}(),function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failed=2]="Failed"}(State$1||(State$1={}));class Provider{constructor(e){this.timeoutSeconds=5,this.handlePixelEvent=e=>{switch(this.state){case State$1.Failed:break;case State$1.Pending:setTimeout((()=>this.handlePixelEvent(e)),100);break;case State$1.Loaded:this.onPixelEvent(e)}},this.watch=()=>{switch(this.state){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:this.isLoaded()?this.state=State$1.Loaded:this.isTimedOut()?this.state=State$1.Failed:setTimeout(this.watch,50)}},this.config=e,this.identifier&&this.identifier.length>0?(this.state=State$1.Pending,this.timeoutAt=new Date,this.timeoutAt.setSeconds(this.timeoutAt.getSeconds()+this.timeoutAfter()),this.injectPixel()):this.state=State$1.Failed}get identifier(){var e;return null===(e=this.config)||void 0===e?void 0:e.key}get pixelEvents(){var e;return null===(e=this.config)||void 0===e?void 0:e.pixel_events}injectPixel(){this.injectedAt||(this.injectedAt=new Date,this.inject(),this.watch())}inject(){const e=document.createElement("script");e.text=this.script,document.head.appendChild(e)}isTimedOut(){return+new Date>=+this.timeoutAt}timeoutAfter(){return this.timeoutSeconds}selectPixelEvents(e){if(Array.isArray(this.pixelEvents))return this.pixelEvents.filter((t=>"term-view"===t.trigger&&"visit"===e||(!(!["term-click","ad-view"].includes(t.trigger)||"ctr"!==e)||"ad-click"===t.trigger&&"click"===e)))}}class Facebook extends Provider{get script(){return`!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '${this.identifier}');`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&(e.custom?window.fbq("trackCustom",e.event):window.fbq("track",e.event))}))}isLoaded(){return!!window.fbq}}class Outbrain extends Provider{get script(){return`!function(_window, _document) {var OB_ADV_ID = '${this.identifier}';if (_window.obApi) {var toArray = function(object) {return Object.prototype.toString.call(object) === '[object Array]' ? object : [object];};_window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID));return;}var api = _window.obApi = function() {api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments);};api.version = '1.1';api.loaded = true;api.marketerId = OB_ADV_ID;api.queue = [];var tag = _document.createElement('script');tag.async = true;tag.src = '//amplify.outbrain.com/cp/obtp.js';tag.type = 'text/javascript';var script = _document.getElementsByTagName('script')[0];script.parentNode.insertBefore(tag, script);}(window, document);`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.obApi("track",e.event)}))}isLoaded(){return!!window.obApi}}class Revcontent extends Provider{get script(){return""}inject(){const e=document.createElement("script");e.src="https://assets.revcontent.com/master/rev.js",document.head.appendChild(e)}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.rev("event",e.event)}))}isLoaded(){return!!window.rev}}class Taboola extends Provider{get script(){return"window._tfa = window._tfa || [];!function (t, f, a, x) {if (!document.getElementById(x)) {t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);}}(document.createElement('script'),document.getElementsByTagName('script')[0],'//cdn.taboola.com/libtrc/unip/1451879/tfa.js','tb_tfa_script');"}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window._tfa.push({notify:"event",name:e.event,id:e.pixel_id})}))}isLoaded(){return Array.isArray(window._tfa)}}class Tiktok extends Provider{constructor(e,t){super(e),this.useAltTikTokEventsForAdsPlatformUser=t}get script(){return`!function (w, d, t) {w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i