اطلاعیه

Collapse
No announcement yet.

ارتباط plc با labview

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ارتباط plc با labview

    سلام دوستان عزیز
    من می خام برای مانیتورینگ از labview استفاده کنم . حالا plc های زیمنس labview رو پشتیبانی می کنه ؟ کسی هستش که تاحالا این کار رو کرده باشه . اگه توضیح بدید ممنون میشم
    با تشکر
    انجمن LABVIEW
    http://www.eca.ir/forum2/index.php?board=279.0
    اموزش ميكروكنترلرهاي AVR به زبان ساده
    http://www.eca.ir/forum2/index.php/topic,7070.0.html

    #2
    پاسخ : ارتباط plc با labview

    سلام
    من یک مقدار search کردم . برای اتصال plc به labview نوشته بود باید opc شو داشته باشی حالا بگین این Opc چیکار میکنه . کسی اطلاعاتی در باره این موضوع داره؟
    انجمن LABVIEW
    http://www.eca.ir/forum2/index.php?board=279.0
    اموزش ميكروكنترلرهاي AVR به زبان ساده
    http://www.eca.ir/forum2/index.php/topic,7070.0.html

    دیدگاه


      #3
      پاسخ : ارتباط plc با labview

      سلام دوست عزیز

      با برنامه Lab View به هر نوع PLC میشه ارتباط برقرار کرد و مشکل خاصی وجود نداره
      تازه کار باهاش به مراتب راحت تر از برنامه های تخصصی Monitoring مثل WinCC برای زیمنس و XG5000 و ... برای LG و غیره است

      محدودیت تگ هم نداره

      من به علت اینکه از labview برای HMI استفاده زیادی کردم تقریبا تو این زمینه استاد شدم
      البته 90 درصد اوقات من از PLC های LG استفاده میکنم

      دیدگاه


        #4
        پاسخ : ارتباط plc با labview

        اصول کلی ارتباط LabView با هر نوع PLC ای به شرح زیر است:

        1) قرار دادن یک کارت شبکه بر روی PLC که یک ارتباط سریال(ترجیحا سریال) به ما بده
        مثل کارت های CNet یا ModBus (که خودمم دقیقا تفاوت هاشونو نمیدونم اما CNet بهتره)
        ببخشید که مثال هامو از LG میزنم ولی آلان حضور ذهن ندارم
        مثلا تو PLC های مدل بالای LG مثل GM3 و GM4 کارت های CUEA,CUEB,CUEC وجود داره که هرکدومش دو تا پورت سریال در اختیار ما قرار میده.
        از یکیش میشه برای ارتباط با HMI استفاده کرد و از یکی دیگش برای شبکه های مختلف RS422,485 برای مثلا شبکه ای از Inverter ها.

        تو PLC های مدل پایین تر مثل GM6 روی خود PLC یک پورت سریال DB9 وجود داره که اگه به دیتاشیتش مراجعه کنیم میبینیم تو همین 9 تا پین 2تا پورت سریال قرار داده شده که یکیش برای program کردن PLC هستش و دیگری رو میتونیم برای HMI استفاده کنیم.
        تو مدل GM7 این پورت دوم به صورت RS485 تعبیه شده
        بگذریم.

        خلاصه باید به مدل PLC و کارتهای جانبی که روش اضافه میشه دقت کرد و دیتاشیت ها رو هم خوب خوند چون خودم تا چندی قبل نمیدونستم تو GM6 و روی یک DB9 دو تا پورت سریال وجود داره.

        شاید همین موارد در PLC های دیگه هم وجود داشته باشه

        در ضمن ببینید روشی که دارید انتخاب میکنید به کارتی خطم نشه که الان در بازار یفت نمیشه
        چون با مشکل تحریمی که الان باهاش مواجهیم بعید نیست.

        دیدگاه


          #5
          پاسخ : ارتباط plc با labview

          2) استخراج پروتکلی که میشود از طریق اون و پورت سریال به حافظه PLC دسترسی پیدا کرد.
          منظورم حافظه Memory Byte or Word تو PLC است.

          برای این کار باید خوب Datasheet ها رو مطالعه کرد.

          روش کلی هم این هست که باید ابتدا یک سری بایت رو برای شروع کار ارسال کرد

          سپس آدرس PLC : چون میشه با یک HMI چند تا PLC رو کنترل و مانیتور کرد.

          سپس نوع عملیات : خواندن یا نوشتن

          سپس نحوه انجام : روش پیوسته یا ددیکیت(املاشو بلد نیستم Dedicate شاید درست باشه) یا Status
          جالبه بدونید در روش استاتوس علاوه بر اینکه میتوند حالت PLC رو بخونید بلکه میتونید تغییرش هم بدین.
          مثلا اگه Stop باشه Start اش کنید یا بزاریدش رو ریموت یا اگه Error داده اونها رو بخونید و Acknowledge بدین یا مثلا تو سیستم های Redundant وضعیت PLCهای اصلی و ریموت رو عوض کنید و ...
          بحث تو این قسمت زیاده. بهتره بسته به نوع PLC که انتخاب میکنید و امکاناتش به PDF هاش مراجعه کنید.

          سپس تعداد بایت های خونده یا نوشته شده و آدرس و ... که این هم بسته به نوع PLC جزئیات زیادی داره.

          سپس خاتمه دستور: که میگه Command ما تمام شده.

          در خاتمه هم یک یا چند بایت CRC (که بعضی جاها بهش BCC هم میگن) که برای چک کردن خطا و حذف اثر نویزه که به جای اینکهمفید باشه تو مرحله طراحی دست و پا گیره

          معمولا همه اعداد و حتی حروفی که در این مرحله بدست میاد باید به صورت کد اسکی و اون هم به صورت هگزادسیمال برای PLC ارسال بشه
          اینجاست که دردسر محاسبه CRC معلوم میشه.

          دیدگاه


            #6
            پاسخ : ارتباط plc با labview

            3) مرحله سوم تقسیم بندی حافظه PLC و برنامه نویسی طرف PLC است.
            بدین صورت که اطلاعاتی رو که میخواهید در طرف HMI داشته باشید(مثلا ارسال دما یا زمان طی شده به HMI) را تو آدرس هایی از حافظه PLC مینویسید(MOVE)

            اطلاعاتی رو هم که میخواهید از HMI برای PLC بفرستید را هم در طرف PLC از آن آدرس میخوانید.(مثلا ثبت دمای جدید یا تغییر حالت شیرها و ...)
            این همون بخش جذاب کاره که بدونید که HMI فقط برای مانیتور کردن و دیدن شرایط نیست.
            بلکه میشه مقادیر رو تغییر داد و کنترل کار رو دردست گرفت.(Furce کردن در خیلی از موارد مخصوصا در حالت Manual یا حالاتی که PLC از سیکل کار خودش خارج شده خیلی مهم و البته خطرناکه)

            در این بخش باید به نوع داده هایی که میخواهید بخونید یا بنویسید باید توجه کنید. مثلا بیت هستن یا بایت یا Word یا DWord و ...
            سعی کنید چند بیت رو کنار هم قار بدید و بصورت یک بایت بفرستید تا برنامه هم تو طرف PLC و هم طرف LabView راحت تر بشه
            درضمن دقت کنید که برای ارسال بعضی از اطلاعات باید تغییراتی بدید و از تبدیل ها استفاده کنید
            مثلا زمان رو نمیشه مستقیم فرستاد و باید به صورت Dword ارسال کرد. تو این شرایط باید حواستون تو بخش LabView جمع باشه که اگه اشتباه کنین پیدا کردنش سخته

            اینم آخرین بخش کار بود چون باقیش مربوط میشه به برنامه نویسی تو بخش PLC و LabView که خودش یه مبحث عریض و طویله

            اگه دوست دارید بگید تا نکته های کلیدیش رو بگم.
            یا شاید هم بهتره سوال و جوابی باشه

            فعلا :bye

            دیدگاه


              #7
              پاسخ : ارتباط plc با labview

              جناب اکبری ممنون از توضیحاتتون
              خیلی خوب بود
              فقط چند تا سوال :
              1- تا اونجایی که من فهمیدم تو WinCC میشه پروتکل طراحی کرد و با هر PLC ای ارتباط برقرار کرد. پس شما مطمئنید که کار با لبویو راحتتر هستش ؟ میشه مصادیقشم بگید ؟ آخه قبلا یکی دو تا از دوستان که تجربه کار با هر دو رو داشته بودند نوشته بودند که WinCC خیلی راحتتر هستش.

              2- خب اونطوری که شما گفتید باید یه برنامه برای قسمت PLC نوشت یه برنامه برای قسمت کامپیوتر و تو اونا دستورات دلخواه رو قرار داد تا بتونیم اطلاعات رو بگیریم و یا بدیم. در واقع خودومن یه سری Command طراحی کنیم. خب خود PLC ها و مچنین خود لبویو امکانات خاصی برای این کار ندارند ؟

              3- پس هر PLC ای توی شبکه نیاز به یک کارت شبکه در کنار خودش داره ؟

              4- در این مورد من دیدم که بیشتر از MODBUS استفاده میکنند. البته همونطور که میدونید MODBUS دو قسمت داره یکی سریال یکی TCP\IP . قسمت سریالش همین سریالی میشه که شما گفتید دیگه ؟ یا نه فرق میکنه؟

              5- منظورتون از اینکه محدودیت تگ نداره چیه ؟

              6- همچنین منظورتون از مطالعه Datasheet ها همون Datasheet خود CPU هستش یا موارد دیگه مثل کارت شبکه هم مهمه ؟ و فرق میکنن با هم ؟
              یعنی مواردی که تو قسمت دوم آوردید مثل آدرس PLC و خود دستورات مثل خواندن و نوشتن و اینکه میخوایم بنویسیم یا بخونیم از PLC تو Datasheet خود CPU آورده شده ؟

              فعلا همینا بود ! اگه نکته خاصی مدنظرتون هست هم بگید
              بازم ممنون

              دیدگاه


                #8
                پاسخ : ارتباط plc با labview

                1) نگاه کنید دوست عزیز، WinCC برا کار با زیمنس های S7 که درست حسابی ورژن هاشو بلد نیستم خیلی بهتر از LabView برای مانیتور کردنه. <<به نظر من>> برای Furce کردن و همچنین کار با PLC های دیگه ، LabView خیلی راحت تره. البته برای من که اینطوری بوده. البته به پاسخی که در بخش (6) میدم و اینکه من به جز اولین تجربه های صنعتی که سراغ زیمنس رفته بودم کم کم ازش دست کشیدم و جز موارد Maintenance سراغشون نرفتم و بِرنت تجاری رو کنار گذاشتم و رفتم سراغ omron و LS

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

                اگه قرار بود HMI رو فقط برای Monitoring استفاده کرد کمی میشد کوتاه اومد
                به عنوان مثال اگه بخواهید یک نقشه دو بعدی برش رو که توی AutoCad طراحی شده رو از کاربر گرفت و برای عملیات برش به PLC دستگاه CNC ارسال کرد آیا WinCC کاربری ماهرانه ای رو برای ما ایجاد میکنه؟؟؟
                مگه این کاربرد HMI نیست؟؟؟

                به هر حال WinCC هم امکاناتی برای طراحی یک پروتکل جدید داره و میشه برای انجام همین کار ها هم روی اون وقت گذاشت ، اما فکر کنم در بعضی از این موارد قصور زیادی داشته باشه.

                دیدگاه


                  #9
                  پاسخ : ارتباط plc با labview

                  2) برای قسمت PLC که برنامه خاصی نیاز نیست

                  فقط کافیه اطلاعاتی که لازم هست رو تو حافظه Memory Word بنویسید یا ازش بخونید. البته شرط هایی که چه زمانی بنویسید و چه زمانی بخونید مهم هستن و تقریبا تنها بخش برنامه نویسی طرف PLC همینه. یه نکته هم یاد آوری کنم که آدرس ها رو باید به خاطر داشته باشید که مثلا فلاندما تو کدوم خونه از حافظه هست که برای LabView این بخشش مهمه

                  اما برای LabView امکانات خاصی برای اینکه مثلا به صورت خودکار و بدون برنامه نویسی بشه به فلان آدرس PLC دسترسی پیدا کرد وجود نداره

                  اما همینجا میشه به یکی از قدرت های LabView پی برد و اون هم بخش Code نویسی و ساختن چیزی شبیه به Function Block هستش
                  چون امکانات فرمول نویسی و محاسباتی Labview این امکان رو داده که مثلا یک برنامه رو یک بار مثلا برای ارتباط با حافظه PLC بنویسیم و اون رو به صورت یک Block در بیاریم و دفعه های بعد فقط آدرس و شماره PLC رو بدیم.
                  و فکر کنم بشه از این به بعد اسمش رو همون امکان خاصی که مد نظرتونه گذاشت

                  حالا چرا این امکان رو توی LabView اضافه نمیکنن یا چرا یکی که نوشت همه ازش استفاده نمیکنن بر میگرده ب همون بخش (6) که بهش میرسیم. :read:

                  دیدگاه


                    #10
                    پاسخ : ارتباط plc با labview

                    3و4) هر PLC دقیقا احتیاج به داشتن یک کارت شبکه کنار خودش نداره بلکه هر PLC احتیاج به یک Interface سرال برای اتصال به HMI داره.

                    که همون طوری که گفتم در برخی از PLC های سبک و ساده تر LG و Omron و ... که دیدم ممکنه این اینترفیس روی خود CPU ی PLC وجود داشته باشه. مثل GM6

                    اما معمولا برای PLC های کمی حرفه ای تر که توانایی ساپورت کردن تعداد زیادی ورودی و خروجی و رک های جانبی دارند و تعداد کامنت های اونها زیاده برای اینکه CPU مشغولیت کمتری داشته باشه براشون کارت های جانبی شبکه در نظر گرفته اند.

                    البته بسته به نحوه شبکه کردن PLC ها و تپولوژی شبکه ممکنه نیاز به تعداد کمتری کارت شبکه به مفهومی که ما برای HMI میخواهیم نیاز باشه.
                    به عنوان مثال در شبکه های اسکادا ، HMI فقط نیاز به ارتباط با یک PLC یا شبه کامپیوتر دارد اما PLC ها برای شبکه بین خودشون احتیاج به کارت شبکه یا برای فاصل دورتر modem دارند

                    4رک) اصطلاح MODBus برای کارت های شبکه هم به کار میره اما تنها Modbus وجود نداره.(انقدر این اصطلاح ها زیاد شده که بعضی اوقات بای پیدا کردن عبارت درست حسابی سر کار میریم و آخرشم هیچ. خلاصه من تفاوت دقیق و ملموسی از این عبارات ندارم و یه نقطه ضعف من همینجاست).

                    اما اون چیزی که حتمیه اینه که نباید امکان سخت افزاری رو با پروتکل اشتباه گرفت. امکانات سریالی که تو این کارت ها فراهم اومده همون RS232 یا RS485 یا RS422 هستن که اینا پروتکل نیستن. پروتکل چیزایی مثل CAN یا Eternet هست. پروتکل هایی که در این کارت ها معمولا وجود داره همون CNet و ENet و FENet و ProfiBus و .... هست که معمولا از این پروتکل ها بای شبکه کردن PLC ها یا اینورتر ها یا ... استفاده میشود.

                    اونچیزی که ما اینجا نیاز داریم همون ارتباط ساده سرال RS232 منطبق با پورت سرال. کامپیوتر هست. نه چیز دیگر
                    البته برای فواصل طولانی میشه از هر اینترفیس یا مبدلی استفاده کرد. مثل 422

                    دیدگاه


                      #11
                      پاسخ : ارتباط plc با labview

                      5اول) معمولا نرم افزارهایی که ما برای طراحی HMI استفاده میکنیم، از جمله مجموعه سیمانتک و InfoU و ... به صورت free دارای محدودیت هایی هستند.

                      یکی از این محدودیت ها ، محدودیت در استفاده از تگ ها می باشد. منظور از تگ هر نوع Block ای است که در ارتباط با نمایش دادن یک داده استفاده میشود.
                      مثلا دماسنج ، دکمه ، عنواع Indicator ها یا کنترل ها ، گراف ، نمودارهای عددی و ... هر کدام یک تگ هستند.

                      به عنوان مثال در یک نسخه رایگان اجازه استفاده 100 تگ در یک برنامه را دارید.
                      در نسخه ای که معمولا به نسخه دانشجویی معروف است و باید مثلا فلان قدر پول بدید تا تهیه کنید اجازه استفاده 200 تگ
                      در نسخه یک level بالا تر که فلان فلان قدر پول میدید اجازه استفاده 500 تگ و
                      .
                      .
                      .
                      در نسخه تمام و کمال که به قیمت خون باباتونه این محدودیت ها وجود نداره

                      در مورد بخش (6) هم فعلا همینو بگم که:
                      اون چیزی که مسلمه اینه که باید هر دوتاش رو مطالعه کرد
                      معمولا تو دیتاشیت CPU کارت هایی که این PLC ساپورت میکنه و قابلیت هاشو به صورت خلاصه گفته اما اطلاعات مهم و کلیدی و تمام جزئیات نحوه ارتباط و نمودار تایمینگ ها و ... تو دیتاشیت خود کارت هستش

                      فکر کنم بهته به دیتاشیت یکی از این کارت ها یه نگاه بندازی

                      سوالی بود بفرما :nerd:

                      دیدگاه


                        #12
                        پاسخ : ارتباط plc با labview

                        سلام
                        منظور من ارتباط plc با کامپیوتر و labview هستش . اگه ممکنه در این باره هم توضیح بدید
                        با تشکر فراوان
                        انجمن LABVIEW
                        http://www.eca.ir/forum2/index.php?board=279.0
                        اموزش ميكروكنترلرهاي AVR به زبان ساده
                        http://www.eca.ir/forum2/index.php/topic,7070.0.html

                        دیدگاه


                          #13
                          پاسخ : ارتباط plc با labview

                          خب ایشون هم دقیقا در مورد همین موضوع توضیح دادن !!
                          شما به جور PLC ای میخوای وصل بشی ؟

                          دیدگاه


                            #14
                            پاسخ : ارتباط plc با labview

                            سلام
                            من می خام labview رو با s7400 وصل کنم حالا چه پروتکلش profibus باشه یا enthernet .
                            فکر کنم باید یک کارت cp هم به plc برای این منظور وصل کنم درسته ؟
                            انجمن LABVIEW
                            http://www.eca.ir/forum2/index.php?board=279.0
                            اموزش ميكروكنترلرهاي AVR به زبان ساده
                            http://www.eca.ir/forum2/index.php/topic,7070.0.html

                            دیدگاه


                              #15
                              پاسخ : ارتباط plc با labview

                              سلام دوست عزیز

                              شما به یه کارت ModBus نیاز دارید.
                              اگه Part Number خاصی رو مد نظر ندارید بهتره با نمایندگیش تماس بگیرید و بگید کارتی رو میخوام که بشه از این طریق حافظه داخلی PLC رو خواند.

                              دیدگاه

                              لطفا صبر کنید...
                              X