আজকাল, অনেক সিএনসি প্রযুক্তিবিদ ম্যাক্রো প্রোগ্রাম বোঝেন না। তারা মনে করে যে স্বয়ংক্রিয় প্রোগ্রামিং সফ্টওয়্যার দিয়ে, তাদের ম্যাক্রো প্রোগ্রাম শেখার দরকার নেই। আসলে, ম্যাক্রো প্রোগ্রামের ফাংশন খুব শক্তিশালী। উদাহরণস্বরূপ, কিছু ব্যাচ এবং পুনরাবৃত্তিমূলক প্রোগ্রাম লিখতে, ম্যাক্রো প্রোগ্রাম ব্যবহার করার সময় আপনাকে শুধুমাত্র কয়েকটি ডেটা পরিবর্তন করতে হবে। প্রচুর সংখ্যক বারবার প্রোগ্রামিংয়ের প্রয়োজন নেই, যা ক্রিয়াকলাপকে ব্যাপকভাবে সহজ করতে পারে এবং কাজের দক্ষতাকে ব্যাপকভাবে উন্নত করতে পারে।
ম্যাক্রো প্রোগ্রামগুলি পাটিগণিত অপারেশন, লজিক অপারেশন এবং ফাংশনগুলির মিশ্র ক্রিয়াকলাপ সম্পাদন করতে ভেরিয়েবল ব্যবহার করতে পারে এবং লুপ বিবৃতি, শাখা বিবৃতি এবং সাবরুটিন কল বিবৃতি প্রদান করতে পারে।
সাধারণভাবে বলতে গেলে: ম্যাক্রো প্রোগ্রাম একই গ্রাফিক্স সহ কিন্তু বিভিন্ন আকারের অংশগুলির একটি সিরিজের প্রোগ্রামিংয়ের জন্য উপযুক্ত; এটি একই প্রক্রিয়ার পথের সাথে কিন্তু বিভিন্ন অবস্থানের পরামিতি সহ একটি সিরিজের অংশগুলির প্রোগ্রামিংয়ের জন্য উপযুক্ত; এটি ইন্টারপোলেশন নির্দেশনা ছাড়াই প্যারাবোলা, উপবৃত্ত, হাইপারবোলাস এবং অন্যান্য বক্ররেখার প্রোগ্রামিংয়ের জন্য উপযুক্ত।
01
ভেরিয়েবলের উপস্থাপনা এবং ব্যবহার
1. পরিবর্তনশীল উপস্থাপনা
#I(I=1,2,3,…) বা #[
উদাহরণ: #5, #109, #501, #[#1 প্লাস #2-12]
2. ভেরিয়েবলের ব্যবহার
1) ঠিকানা শব্দের পরে পরিবর্তনশীল সংখ্যা বা সূত্র উল্লেখ করুন
বিন্যাস:
এখানে "I" মানে পরিবর্তনশীল সংখ্যা
উদাহরণ: F#103, যদি #103=15 হয়, তাহলে এটি F15
Z-#110, যদি #110=250, এটি Z-250
X[#24 প্লাস #18*COS[#1]]
2) চলক সংখ্যা একটি পরিবর্তনশীল দ্বারা প্রতিস্থাপিত করা যেতে পারে
উদাহরণ: #[#30], যদি #30=3 হয়, এটি হবে #3
3) ভেরিয়েবলগুলি O, N, I ঠিকানাগুলি ব্যবহার করতে পারে না
উদাহরণ: নিম্নলিখিত পদ্ধতি অনুমোদিত
O#1;
I#2 6.00×100.0;
N#3 Z200.0;
4) পরিবর্তনশীল সংখ্যার সাথে সম্পর্কিত পরিবর্তনশীলটির প্রতিটি ঠিকানার জন্য একটি নির্দিষ্ট মান পরিসীমা রয়েছে
উদাহরণ: যখন #30=1100, M#30 অনুমোদিত নয়
5) #0 একটি খালি চলক, এবং একটি সংজ্ঞায়িত চলক মান ছাড়া একটি ভেরিয়েবলও একটি খালি চলক
6) পরিবর্তনশীল মান সংজ্ঞা:
প্রোগ্রামটি সংজ্ঞায়িত করার সময় দশমিক বিন্দু বাদ দেওয়া যেতে পারে, উদাহরণস্বরূপ: #123=149
02
পরিবর্তনশীল প্রকার
WeChat-এ ছবি যোগ করুন: yuki7557 একটি ম্যাক্রো প্রোগ্রাম টিউটোরিয়াল পাঠাবে
1. স্থানীয় ভেরিয়েবল #1~#33
একটি ম্যাক্রো প্রোগ্রামে স্থানীয়ভাবে ব্যবহৃত একটি পরিবর্তনশীল, এর অপারেশন ফলাফল অন্যান্য প্রোগ্রাম দ্বারা ব্যবহার করা যাবে না।
উদাহরণ: একটি ম্যাক্রো প্রোগ্রাম বি ম্যাক্রো প্রোগ্রাম
...
#10=20 X#10 মানে X20 নয়৷
...
পাওয়ার অফ করার পরে এটি সাফ করা হবে এবং ম্যাক্রো প্রোগ্রাম কল করা হলে পরিবর্তনশীল মান পূরণ করা হবে
2. পাবলিক ভেরিয়েবল #100~#199, #500~#999
প্রতিটি ব্যবহারকারীর ম্যাক্রো প্রোগ্রামের সাধারণ ভেরিয়েবল যেকোন প্রোগ্রাম কলে একই অপারেশন ফলাফল করে।
উদাহরণ: উপরের উদাহরণে যখন #10 পরিবর্তন করে #100 করা হয়, তখন
X#100 মানে X20
#100~#149 পাওয়ার অফ করার পরে খালি
#500~#531 স্থায়ী ভেরিয়েবল (পাওয়ার অফ হওয়ার পরে হারিয়ে যায় না)
3. সিস্টেম ভেরিয়েবল
স্থির-উদ্দেশ্য পরিবর্তনশীল যার মান সিস্টেমের অবস্থার উপর নির্ভর করে
উদাহরণ: #2001 হল X-অক্ষ ক্ষতিপূরণ মান 1 নং টুল ক্ষতিপূরণ
#5221 মান হল X অক্ষ G54 ওয়ার্কপিস অরিজিন অফসেট মান
প্রবেশ করার সময় একটি দশমিক বিন্দু লিখতে হবে এবং দশমিক বিন্দু বাদ দিলে ইউনিটটি μm হবে
03
কাজের নির্দেশনা
এক্সপ্রেশনের ডান দিকে ধ্রুবক, চলক, ফাংশন, এক্সপ্রেশন হতে পারে
সূত্রে, #j এবং #kও ধ্রুবক হতে পারে
অভিব্যক্তির ডান দিকে পরিবর্তনশীল সংখ্যা, অভিব্যক্তি
1. সংজ্ঞা
#I=#j
2. পাটিগণিত অপারেশন
#I=#j প্লাস #k
#I=#j-#k
#I=#j*#k
#I=#j/#k
3. লজিক্যাল অপারেশন
#আমি=#জোক#কে
#আমি=#JXOK#k
#আমি=#জান্ড#কে
4. ফাংশন
#I=SIN[#j] sine
#I=COS[#j] কোসাইন
#I=TAN[#j] স্পর্শক
#I=ATAN[#j] চাপ স্পর্শক
#I=SQRT[#j] বর্গমূল
#I=ABS[#j] পরম মান
#I=রাউন্ড[#j] রাউন্ডিং অফ
#আমি=ফিক্স[#j] রাউন্ড আপ
#I=FUP[#j] রাউন্ড ডাউন
#I=BIN[#j] BCD→BIN (বাইনারী)
#I=BCN[#j] BIN→BCD
1) কোণগুলি ডিগ্রীতে থাকে
উদাহরণ: 90 ডিগ্রি এবং 30 মিনিট হল 90.5 ডিগ্রি
2) ATAN ফাংশনের পরে দুটি পার্শ্ব দৈর্ঘ্য "/" দ্বারা পৃথক করা উচিত
উদাহরণ: #{{0}ATAN[1]/[-1], #1 হল ৩৫.০
3) ROUND বিবৃতিতে ঠিকানার জন্য ব্যবহার করা হয়, প্রতিটি ঠিকানার ন্যূনতম সেটিং ইউনিট অনুযায়ী রাউন্ড আপ করা হয়
উদাহরণ: সেট #1=1.2345, #2=2.3456, সেটিং ইউনিট হল 1μm
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 প্লাস #2]; X3.580
প্রত্যাবর্তন করা হয় না এবং দ্বারা প্রতিস্থাপিত করা উচিত
X[রাউন্ড[#1] প্লাস রাউন্ড[#2]];
4) রাউন্ডিংয়ের পর পরম মানটি মূল মানের চেয়ে বেশি হলে, এটি রাউন্ড আপ করা হবে, অন্যথায় এটি বৃত্তাকার করা হবে
উদাহরণ: যখন #1=1.2, #2=-1.2
যদি #{{0}}FUP[#1], তাহলে #3=2.0
যদি #{{0}}ফিক্স[#1], তাহলে #3=1.0
যদি #{{0}}FUP[#2], তাহলে #3=-2.0
যদি #{{0}}ফিক্স[#2], তাহলে #3=-1.0
5) একটি ফাংশন কমান্ড করার সময়, শুধুমাত্র প্রথম দুটি অক্ষর লেখা যেতে পারে
উদাহরণ: রাউন্ড→RO
ফিক্স→এফআই
6) অগ্রাধিকার
ফাংশন → গুণ এবং ভাগ (*, 1, এবং) → যোগ এবং বিয়োগ ( প্লাস , -, OR, XOR)
উদাহরণ: #1=#2 প্লাস #3*SIN[#4];
7) বন্ধনীগুলি বর্গাকার বন্ধনী, 5 বার পর্যন্ত, এবং বন্ধনীগুলি মন্তব্যের বিবৃতিগুলির জন্য ব্যবহৃত হয়
উদাহরণ: #1=SIN[[[#2 প্লাস #3]*#4 প্লাস #5]*#6]; (3 ওজন)
04
শাখা এবং লুপ নির্দেশাবলী
1. শর্তহীন স্থানান্তর
বিন্যাস: GOTO n;
নিঃশর্তভাবে শাখা ব্লক n
n: ব্লক নম্বর (1-99999)
n ভেরিয়েবল বা এক্সপ্রেশন দ্বারা প্রতিস্থাপিত হতে পারে
goto10;
যান #10;
2. শর্তাধীন স্থানান্তর
যদি [
যদি
সন্তুষ্ট না হলে, পরবর্তী ব্লকটি চালান।
ম্যাক্রো প্রোগ্রাম টিউটোরিয়াল পাঠাতে WeChat: yuki7557 যোগ করুন
যদি [
যদি
যদি [#1EQ #2] তাহলে #3=0;
শর্তাধীন অভিব্যক্তি:
#j এবং #k দ্বারা প্রতিস্থাপন করা যেতে পারে
উদাহরণ: IF[#1 GT 10] GOTO 100;
…
N100 G00 G91 X10;
উদাহরণ: 1 থেকে 10 এর যোগফল নির্ণয় করুন
O9500;
#1=0
#2=1
N1 IF [#2 GT10] যান 2
#1=#1 প্লাস #2;
#2=#2 প্লাস 1;
যান 1
N2 M30
3. চক্র
বিন্যাস: যখন[
…
…
…
ENDm
1. শর্ত পূরণ হলে, DOm-এ ENDm চালান, তারপর DOm-এর প্রোগ্রাম সেগমেন্ট থেকে
সন্তুষ্ট না হলে, ENDm অনুসরণ করে প্রোগ্রাম সেগমেন্ট চালান
2. আপনি যদি WHILE স্টেটমেন্টটি বাদ দেন এবং শুধুমাত্র DOm...ENDm থাকে, তাহলে DOm থেকে ENDm পর্যন্ত একটি অসীম লুপ তৈরি হবে
3. বাসা বাঁধে
4. EQ NE, খালি এবং "0" আলাদা
অন্যত্র, নাল "0" এর মতই
উদাহরণ: 1 থেকে 10 এর যোগফল নির্ণয় করুন
O0001;
#1=0;
#2=1;
যখন [#2LE10] DO1;
#1=#1 প্লাস #2;
#2=#2 প্লাস #1;
END1;
M30;




