OPC UA چیست؟

فرزانه صداقت

فرزانه صداقت

کارشناس تحقیق و توسعه سیستم‌های اتوماسیون صنعتی فارغ التحصیل رشته مهندسی برق، گرایش کنترل از دانشگاه صنعتی خواجه نصیرالدین طوسی علاقه‌مند به سیستم‌های کنترل صنعتی، برنامه نویسی و سیستم‌های رباتیک


۲۲ Responses

  1. مصطفی says:

    با عرض سلام و تبریک بابت راه اندازی این سایت خوب.
    من متن رو مرور کردم و متوجه یه مساله نشدم، اگر اساس ارتباط OPC در سیستم های ریموت براساس DCOM شرکت مایکروسافت هست،پس چطور قابلیت ارسال و دریافت اطلاعات روی سیستمی مثل لینوکس رو داره؟
    متشکرم.

    • فرزانه صداقت فرزانه صداقت says:

      با سلام و تشکر بابت کامنتی که گذاشتید.
      حق با شماست، ارتباط OPC در معماری «کلاسیک» آن براساس DCOM بود. اما در معماری جدید یعنی UA یا Unified Architecture راهکار جدیدی برای ارتباط در نظر گرفته شده. این استاندارد جدید OPC UA که از سال ۲۰۱۱ در سیستم های مختلف استفاده می‌شه، دو پروتکل انتقال رو پشتیبانی می‌کنه: HTTP/SOAP و TCP/IP
      برای رمزگذاری هم از دو مکانیزم XML و Binary استفاده می‌کنه. هدف معماری جدید اساساً این بود که بشه این پروتکل رو روی تمام بسترها مثل لینوکس پیاده سازی کرد. و البته یک هدف مهم دیگه هم امنیت بود که معماری کلاسیک این قابلیت رو نداشت.
      بنابراین معماری کلاسیک قابلیت پیاده سازی روی سیستم های لینوکس و سایر پلتفورم ها رو نداشت، اما معماری یکپارچه این قابلیت رو داره.
      به زودی مطلبی راجع به مکانیزم‌ها و پروتکل‌های انتقال OPC UA در همین سایت منتشر می‌کنیم. اگر دنبال کنید اطلاعات کاملتری خواهیم داد.
      اگر سؤال دیگری هم داشتید خوشحال میشم پاسخ بدم 🙂

  2. مصطفی says:

    تشکر بابت زحماتتون.یکی از موارد شاید سخت و وقت گیر در ارتباط دوسیستم همین تنظیمات Dcom بود. البته تا جایی که بنده اطلاع دارم در معماری قبلی نیز پروتکل TCP/IP پشتیبانی میشد.ممنون میشم در مورد معماری جدید، در ارتباط با نحوه تنظیمات بین دوسیستم نیز اشاره بفرمایید.

  3. فرزانه صداقت فرزانه صداقت says:

    بله واقعا یکی از مشکلات همین DCOM بود، و این که درسته، معماری کلاسیک پروتکل TCP/IP رو برای لایه انتقال به بعد پشتیبانی میکرد.
    در مورد تنظیمات ارتباطی در UA به غیر از آدرس سرور که باید به کلاینت داده بشه، تنظیمات امنیتی هم باید لحاظ شده باشه، البته اگر ملاحظاتش در سرور دیده شده باشه که به تفصیل در مطلب بعدی بخش OPC توضیح خواهیم داد.

  4. محمد نبی پور says:

    با سلام
    ممنون از توضیحات خوبتون
    بنده هم دانش آموخته کنترل دانشگاه خواجه نصیرالدین طوسی هستم.
    میخاستم درخواست کنم ازتون که راجع به اتصال plc به متلب از طریق opc server ها و ایجاد تگ های اشتراکی و انجام کار کنترلی با استفاده از plc اگه اطلاعات دارین راهنماییم کنین یا اگر مقاله ای در این زمینه هست بم معرفی کنین.
    ممنون از لطفتون

    • فرزانه صداقت فرزانه صداقت says:

      سلام و متشکرم از پیامتون
      تا اونجا که من اطلاع دارم، متلب یک opc toolbox داره، من خودم ازش استفاده کردم. اما opc da هست و اگه plc سرور رو پشتیبانی کنه، متلب به عنوان کلاینت ارتباط برقرار میکنه
      اما به عنوان سرور رو مطمئن نیستم، باید بررسی کنم ببینم تنظیماتش چیه، به هر حال کار سختی نیست راه اندازیش
      اگر نیاز به راهنمایی تخصصی دارید میتونید با ایمیل من مکاتبه کنید

  5. مرتضی اسماعیلی says:

    باسلام
    لطفاً اگر اطلاعاتی در خصوص نحوه استفاده از opc server شرکت fatek دارید اینجانب را نیز راهنمایی فرمائید.
    باتشکر
    اسماعیلی

    • فرزانه صداقت فرزانه صداقت says:

      سلام و ممنونم از کامنتتون
      تا به حال با این سرور کار نکردم. اما اگر سوالتون رو دقیق تر بفرمایید ممکنه بتونم راهنمایی کنم.

  6. دوست محمدی says:

    سلام
    من از یک سیستم RTUدر شبکه توزیع برق استفاده میکنم
    مشکل من این هست که در RTUتهیه شده ما فقط اطلاعات را از طریق پروتکل مدباس میدیم اما در مرکز کنترل این اطلاعات باید DNP3باشد
    راه حل این مشکل وجود دارد؟؟؟؟؟؟؟
    ممنون

    • فرزانه صداقت فرزانه صداقت says:

      سلام
      از کامنت شما متشکرم.
      برای تبدیل پروتکل‌ها، ماژول‌های سخت‌افزاری و نرم‌افزاری Protocol Gateway در بازار موجود است که می‌توانید تهیه کنید.

  7. محمد علی says:

    باسلام و احترام بابت مطالب مفیدتون.
    اگر امکان داره library،یا dll برای ارتباط و برنامه نویسی بوسیله ویژوال استادیو معرفی نمایید.باتشکر

    • فرزانه صداقت فرزانه صداقت says:

      سلام
      خیلی ممنون از اینکه کامنت گذاشتید.
      چندین شرکت در دنیا هستند که کتابخانه نرم افزاری برای ساخت سرور و کلاینت ارائه میکنن، يكي از معروف ترین ها که مورد تایید بنیاد opc هم هست، softing هست. شما میتونید API رو دانلود کنید، ولی برای استفاده طولانی مدت باید لایسنس خریداری کنید. موارد دیگه opcconnect و unified-automation هم هست.
      نسخه های مجانی هم البته موجود هست، اما من شخصا کار نکردم. میتونید از گیت هاب جستجو کنید.
      در هر صورت اگر راهنمایی دقیق تری نیاز است میتونید با ایمیل من مکاتبه کنید.
      موفق باشید

  8. شریعت says:

    با سلام
    ضمن تشکر از مطلب بسیار مفیدتان، بنده در نظر دارم یک سخت افزار مبتنی بر میکروکنترلر را از طریق پورت usb (یا اترنت) به یک PLC متصل و با آن به تبادل اطلاعات بپردازم پیشنهاد شما جهت برقراری این ارتباط چیست؟ آیا OPC در این خصوص می تواند به عنوان یک مبنا و ساختار مفید باشد؟

    • فرزانه صداقت فرزانه صداقت says:

      سلام و ممنون از کامنتتون
      پیاده سازی OPC روی میکرو کنترلر بسیار کار سختی است و تا اونجا که میدونم چنین کاری انجام نشده. پیشنهاد میکنم یک پردازنده امبدد واسط مثل ARM بگذارید که داده ها رو از میکرو بگیرد و بتونید توسط یک نرم افزار، پروتکل رو پباده سازی کنید. چون در این صورت امکان استفاده از امکانات سیستم عامل رو دارید.
      انتخاب پروتکل هم بستگی به PLC داره که چه پروتکلی رو ساپورت میکنه. اگر OPC UA رو داره، انتخاب خوبی میتونه باشه. اگر داده‌هایی که دارید پیچیدگی نداره، برچسب‌های زمانی و قابلیت اطمینان کل سیستم هم اولویت نیست، می‌تونید از پروتکل‌های ساده تر مثل مدباس هم استفاده کنید که امکان پیاده سازی روی خود میکرو هم برای اونها وجود داره.
      موفق باشید.

  9. حامد says:

    سلام
    با تشکر از مطالب مفیدتون.
    من میخواهم OPC UA را با رابط اترنت توسط میکروکنترلر پیاده سازی کنم و تاکنون موفق شدم ارتباط دوطرفه ای بین کامپیوتر و سخت افزارم از طریق سوکت شبکه و پیاده سازی TCP/IP برقرار کنم. این برد متناسب با برنامه ای که به میکروکنترلر آن میدهیم میتواند هم بصورت سرور و کلاینت باشد . توسط پروتکل TCP/IP با نرم افزار labview ارتباط برقرار کردم و توسط پروتکل http بصورت mini web server ورودی ها و خروجی ها را کنترل کردم
    اکنون میخواهم OPC UA را پیاده سازی کنم و مشکلی که دارم این است که نمیدانم PLC-HMI و نرم افزار ها چه دیتایی را ارسال و دریافت میکنند در واقع در این پروتکل به چه صورت می باشد؟
    با تشکر

    • فرزانه صداقت فرزانه صداقت says:

      سلام
      ممنون از کامنتی که گذاشتید، و عذر میخوام که دیر پاسخ میدم
      پیاده سازی پروتکل روی تمام پلتفرم ها قابل پیاده سازی است، ولی میکروکنترلر کار را بسیار سخت میکند چون نمیتوانید از ماژول‌های آماده به راحتی استفاده کنید.
      پیشنهاد میکنم نمونه کدهایی که در سایت بنیاد OPC هست مطالعه کنید
      البته در صورتی که تمایلی به برونسپاری پیاده سازی داشته باشید، می‌توانیم همکاری داشته باشیم.

      • حامد says:

        سلام
        در سایت http://www.matrikonopc.com بردهایی وجود دارد که با میکروکنترلر ARM cortex m3 پروتکل OPC UA را پیاده سازی کرده است و محصولات زیادی در این رابطه دارد . اگر ممکن است با ایمیل با هم مکاتبه کنیم
        (با عرض پوزش ایمیل شما در سایت نبود )
        با تشکر

        • فرزانه صداقت فرزانه صداقت says:

          بله البته ماتریکن معمولا محصولات و تولکیت ها را به صورت رایگان منتشر نمیکند. ولی یکی از بهترین و معتبرترین مراجع برای این پروتکل است.
          ایمیل من در بخش دعوت به همکاری موجود است، روی عکس @ کلیک کنید. به خاطر جلوگیری از اسپم اینجا کپی نمیکنم.

  10. الهی دوست says:

    خداقوت و سپاس از مطالب ارزشمندتون.
    لطف میفرمایید در موارد زیر منو راهنمایی کنید.
    -منظور از EGD یا Ethernet Globale Data در plc ها رو میشه بفرمایید چیه؟
    -یه plc و hmi که ارتباطشون از طریق اترنت است داریم و برای ارتباط plc و hmi از نرم افزاری جداگانه استفاده میکنیم ایا میتوان روی یک pc مجزا opc نصب و اونو به اترنت سیستم وصل و اطلاعات plc رو پردازش(گراف و ثبت و…)کرد؟
    با تشکر

Leave a Reply

Your email address will not be published. Required fields are marked *

*