اطلاعیه

Collapse
No announcement yet.

سوال در مورد استفاده ای خاص از Gcode

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

    #16
    پاسخ : سوال در مورد استفاده ای خاص از Gcode

    نوشته اصلی توسط طراح
    GCODE اطلاعات حرکت را در اختیار قرار می دهد و از این نظر تفاوتی نمی کند که یک مسیر مستقیم در یک دستور گنجانده شود و یا در چند مرحله پشت سر هم نوشته شود. تاخیری که در عمل در کار شما بوجود می آید ناشی از نحوه اجرای GCODE توسط کنترلر مورد استفاده است و اگر اشکالی در این مورد وجود دارد باید یا کنترلر خود را تغییر دهید و یا اگر امکان آن وجود داشته باشد، در کنترلر موجود اصلاحات لازم را انجام دهید.
    با تشکر از استاد طراح

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

    دیدگاه


      #17
      پاسخ : سوال در مورد استفاده ای خاص از Gcode

      تشکر فراوان
      هردو اساتید درست میفرمایید.
      اما همونطور که عرض کردم بنده کد رو بدون فرمان های اسپیندل هم تست کردم در واقع تنها کد های مختصات رو به دستگاه دادم به این صورت که مثلا مختصات 0 تا 100 رو که ده تا ده تا جدا کردم و پشت سر هم به دستگاه دادم باز هم تفاوتی نکرد و بین هر مختصات مکث وجود داشت. فرمایش آقای طراح درسته کنترلر من باید با توجه به کد ها حرکت رو پیوسته انجام بده که این کار رو نمیکنه. در نمونه کدی مثل این:
      G0 X0.0 Y0.0
      G0 X17.500006 Y3.1666667
      G0 X17.833338 Y3.1666667
      G0 X18.000004 Y3.3333335
      G0 X17.500006 Y3.3333335
      G0 X17.33334 Y3.5000002
      G0 X18.16667 Y3.5000002
      G0 X39.16667 Y3.5000002
      G0 X39.500008 Y3.5000002
      G0 X39.833344 Y3.666667
      G0 X39.16667 Y3.666667
      G0 X18.166672 Y3.666667
      G0 X17.333342 Y3.666667
      هیچ دلیلی برای مکث وجود نداره و حرکت باید پیوسته انجام بشه اما دستگاه بین هر خط از مختصات یک مکث کوچکی داره
      و یک مسئله دیگه اینکه کد ها خط به خط از کامپیوتر به میکرو ارسال میشه و پردازش صورت میگیره. ممکنه این مکث به خاطر این موضوع باشه؟ چون تصور من اینه که میکرو اگر برای پردازش کد بعدی حتی 1 نانو ثانیه هم زمان نیاز داشته باشه، این باعث توقف میشه و یک توقف 1 نانو ثانیه ای، در عمل به دلیل وجود یک عمل توقف و استارت، به یک توقف چند میلی ثانیه ای تبدیل میشه . از پیوسته بودن حرکت جلوگیری میکنه و البته این زمانی خوشو خیلی بیشتر نشون میده که بین هر مختصات کد M3 یا M5 هم باشه. نظر شما چیه؟ اشتباه میکنم؟
      البته لازمه که بگم فرمایش آقای نو رسیده هم درسته چون در نمونه کد بالا که بدون فرمان های اسپیندل هست، مکث ها بسیار کوچکتر شدن اما همچنان وجود دارن.
      فقط خودمو خودشو خدامون...

      دیدگاه


        #18
        پاسخ : سوال در مورد استفاده ای خاص از Gcode

        آقا احسان عزیز.
        همونطور که تو پستهای قبلی هم عرض کردم توی CNCآ‌ های صنعتی هم همینطوره. مثلا زیمنس 802 هم تو حالت عادی همین برنامه شما رو با توقف اجرا میکنه. اما یه بخش سیستم پارامتر داره که اگه تنظیماتش انجام بشه میره روی درونیابی و حرکتش پیوسته میشه. من اولین CNC رو که روی فرز نصب کردم همین مشکل رو داشتم.
        چون برای قالب سازی استفاده میشد و حجم برنامه بسیار بالا بود، ماشینکاری ساعتها طول میکشید که با تنظیم پارامتر های سیستم حل شد. ولی فکر نمیکنم سیستمهای ساده ای مثل GBRL بتونن اینکارو بکنن. چون همزمان با اجرای یه دستور، باید دستور بعدی هم پردازش بشه و مختصاتش تو ادامه مسیر قرار بگیره.

        با فرض اینکه اینکار بشه، باز هم شما دستورات ON/OFF کردن لیزر رو دارین که باید بین اینا جا بدین.
        کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

        دیدگاه


          #19
          پاسخ : سوال در مورد استفاده ای خاص از Gcode

          بله درسته
          خوب به نظر شما با نرم افزارای کامپیوتری میشه این مشکل رو حل کرد؟ یعنی بیام کلا بیخیال میکرو بشم و روی پورت پارالل و نرم افزارای کامپیوتری کار کنم!
          فقط خودمو خودشو خدامون...

          دیدگاه


            #20
            پاسخ : سوال در مورد استفاده ای خاص از Gcode

            از نرم افزار های کامپیوتری من فقط با CNCPRO کار کردم. ولی فکر نمیکنم همچین امکاناتی داشته باشن. پیشنهاد من اینه که کلا از GCODE بیاین بیرون. تو این کار به GCODE نیازی نیست.

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

            GCODE ضمن اینکه یه استاندارده، اما کمپانیهای CNC ساز، همیشه توش دست میبرن و تقریبا GCODE هر دستگاه با دستگاههای دیگه اختلافات جزیی داره. یه جورایی مثل زبون اسمبلی میکروها شده، بنا براین ممکنه اونا هم یه GCODE خاص داشته باشن.

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

            دیدگاه


              #21
              پاسخ : سوال در مورد استفاده ای خاص از Gcode

              نوشته اصلی توسط نو رسیده
              از نرم افزار های کامپیوتری من فقط با CNCPRO کار کردم. ولی فکر نمیکنم همچین امکاناتی داشته باشن. پیشنهاد من اینه که کلا از GCODE بیاین بیرون. تو این کار به GCODE نیازی نیست.

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

              GCODE ضمن اینکه یه استاندارده، اما کمپانیهای CNC ساز، همیشه توش دست میبرن و تقریبا GCODE هر دستگاه با دستگاههای دیگه اختلافات جزیی داره. یه جورایی مثل زبون اسمبلی میکروها شده، بنا براین ممکنه اونا هم یه GCODE خاص داشته باشن.

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

              دیدگاه


                #22
                پاسخ : سوال در مورد استفاده ای خاص از Gcode

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

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

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

                دیدگاه


                  #23
                  پاسخ : سوال در مورد استفاده ای خاص از Gcode

                  باز هم تاکید می کنم که ایجاد سرعت ثابت و مشخص در خروجی (صرف نظر از محتویات GCODE) وظیفه کنترلر است و کنترلر اگر نتواند سرعت حرکت ثابت و مشخصی را در خروجی ایجاد کند، یک سری از کاربرد ها اصولا بی معنی و غیر قابل اجرا می شود.
                  برای توضیح بیشتر، فرض کنید بنا باشد مسیری توسط حرارت یا شعله برش داده شود و کیفیت ماده تحت برش به گونه ای باشد که اگر حرکت خروجی نسبت به سرعت تعیین شده سریع تر باشد، عملیات برش به درستی انجام نمی شود و اگر حرکت کند باشد باعث سوختن یا ذوب شدن بیش از حد ماده تحت برش می شود. در این شرایط اگر کنترلر بسته به جزئیات GCODE سرعت خروجی را کم و زیاد کند عملا قابلیت استفاده نخواهد داشت. بلکه باید با پردازش GCODE ها حرکت را به گونه ای تنظیم کند که سرعت حرکت همیشه ثابت بماند (این سرعت حرکت در GCODE به عنوان Feed Rate شناخته می شود و با F مقدار آن تعیین می شود - مثلا G01 X10 Y10 F100). بنابراین در مورد صورت مسئله شما اشکال در استفاده از GCODE نیست، بلکه مشکل در کنترلر مورد استفاده است. در این رابطه به نظر می رسد یک بار mach3 را امتحان کنید و احتمالا پاسخگوی نیاز شما باشد.
                  اوژن: به معنای افکننده و شکست دهنده است
                  دانایی، توانایی است-Knowledge is POWER
                  برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                  وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                  قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                  اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                  ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                  دیدگاه


                    #24
                    پاسخ : سوال در مورد استفاده ای خاص از Gcode

                    سلام
                    به نظر من اصل g code ها ثابت
                    هستش شما به جای g0 از. G01 استفاده کنید ِِ

                    دیدگاه

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