بخشی از مقاله
چکیده - در این مقاله به بررسی شبکه انتقال داده OPC می پردازیم. با توجه به اینکه امکانات برنامه نویسی و تحلیل داده ها در اکثر زبانهای برنامه نویسی خیلی وسیعتر از کنترل کننده های صنعتی است. در صورتیکه بتوانیم بین این دو یک ارتباط برخط ایجاد کنیم میتوانیم ورودیها را از سیستم کنترل به نرم افزارهای کامپیوتر داده و بعد از پردازش و تحلیل روی آنها، دوباره خروجیها را به پروسه برگردانیم . در این مقاله برآنیم تا شیوه ایجاد این ارتباط را از طریق شبکه انتقال داده OPC ، بررسی و تحلیل کنیم و نحوه خواندن و نوشتن اطلاعات را مطالعه کنیم.
-1 مقدمه
OPC یک نام برای یک ویژگی استاندارد میباشد که در سال 1996 توسط گروه اجرایی اتوماسیون صنعتی تعیین شد. این استاندارد فناوری - OLE for Process Control - OPC یک رابط - Interface - سخت افزاری و نرم افزاری است که از حالت Client/Server استفاده کرده و بر مبنای تکنولوژی استاندارد - Component Object Model - COM و - Distributed DCOM Component Object Model - کار میکند. از نوامبر 2011 کلمه OPC، بطور رسمی بصورت مخفف عبارت Open Platform Communications معرفی شده و تغییر معنی پیدا کرد.
این تغییر معنی به نوبه خود تغییر در کاربرد آن را نیز در بر داشت.کاربردهایی مثل کنترل فرایند، تولید بصورت گسترده و ... به کاربردهای این تکنولوژی اضافه شد و رفته رفته OPC ، سایر تکنولوژیهای انتقال اطلاعات مثل XML و Microsoft .Net Framework رانیز در برگرفت.[1] OPC استانداردی را ارایه میکند که بر اساس آن Client و Server قادر به تبادل اطلاعات هستند. بنابراین این امکان را فراهم می سازد که محصولات شرکت های متفاوت بتوانند چه به لحاظ سخت افزاری و چه به لحاظ نرم افزاری با یکدیگر ارتباط برقرار کرده و تبادل داده کنند.
نرم افزار MATLAB محصول شرکت MathWorks دارای توابع قدرتمند ریاضی برای انجام انواع مختلف پردازشها و همچنین شامل توابعی برای رسم نمودار است. نرم افزار MATLAB شامل یک جعبه ابزار - tool box - به نام OPC است که چنین ارتباطی را برقرار میکند.[2] OPC که به معنی لینک کردن و جاسازی برای کنترل فرایند میباشد، در واقع یک استاندارد صنعتی ایجاد شده با همکاری تعدادی از تامین کننده های نرم افزار و سخت افزار اتوماسیون سراسر جهان است که با شرکت مایکروسافت کار می کنند.
این استاندارد توسط بنیاد OPC نگهداری شده و به طور گسترده در اتوماسیون صنعتی برای تسهیل قابلیت همکاری دستگاههای کنترل تولید کنندگان مختلف مورد استفاده قرار می گیرد. این استاندارد مکانیزمی برای ارتباط منابع مختلف داده ها و برنامه های کاربردی مشتریان را در کنترل فرایند مشخص میکند. منابع داده ها میتواند سیستم کنترل فرایند، پایگاه داده یا یک برنامه کنترلی نظارتی باشد. [3]
مشخصات OPC مشخصات فنی غیر انحصاری است که مجموعه ای از رابط های استانداردی که بر پایه پلت فرم COM/DCOM/OLE و تکنولوژی NET هستند را تعریف می کند. استفاده از رابط استاندارد OPC باعث برقراری ارتباط بین برنامه های کنترلی/اتوماسیون و برنامه های تجاری/اداری میشود.به طور سنتی هر نرم افزار یا توسعه دهنده نرم افزار، ملزم به نوشتن سرور، درایور و یا رابط برای مبادله اطلاعات با دستگاههای سخت افزاری میباشد. OPC این نیاز را با تعریف رابطی که دارای کارایی بالایی است رفع می کند.[4]
استاندارد OPC دو نوع رابط استاندارد صنعتی بر پایه ماژول COM ارایه میکند:
الف. رابط سنتی OPC
ب. رابط اتوماتیک OPC
از میان رابطهایOPC، ارتباط از نوع "SOXJ DQG SOD\"بین client و server مربوط به OPC برقرار است. در حقیقت یک نوع رابطه متقابل و دو طرفه بین OPC object و رابط استاندارد برقرار است که OPC object توسط این رابطها کنترل میشود. client ها خود را با استفاده از رابط نرم افزاری API - Application Programming Interface - که توسط COM تولید شده است به server متصل می کنند و به داده هایserver از طریق رابط ها دست پیدا میکنند.
سه روش برقراری ارتباط بین صنعتی و نرم افزارها وجود دارد:
-3 اجزای مربوط به OPC
سرور :OPC سرور OPC نرم افزاری است که به عنوان رابط برنامه نویسی API یا مبدل پروتکل عمل میکند. سرور OPC به وسیله ای مانند کنترل کننده های صنعتی PLC - Programmable Logic Controller - و یا دستگاههایی مثل - Distributed Control System - DCS یا سایر منابع داده ها متصل میشود و داده ها را به فرمت مبتنی بر استاندارد OPC تبدیل میکند.
برنامه های سازگار با OPC مانند HMI, historian, spreadsheet میتوانند به سرور OPC متصل شده و از آن برای خواندن و نوشتن داده های دستگاهها استفاده کنند. سرور OPC بر اساس ساختار مشتری - سرور ساخته شده است.[5] MATLAB :OPC Toolbox یک محیط تعاملی و زبان سطح بالاست که انجام محاسبات فشرده را ممکن می سازد و اغلب در جامعه علمی برای طراحی، تجزیه و شبیه سازی تکنیکهای کنترلی پیشرفته بکار می رود.[3]