ساختار داخلی PLC و ساختار پردازش سیگنالها

بخش ۱: ساختار داخلی PLC – از پردازنده تا ماژول I/O
۱. مقدمه
PLC یا Programmable Logic Controller قلب سیستمهای اتوماسیون صنعتی است؛ سیستمی که با طراحی ماژولار و ساختار سختافزاری پیشرفته، قابلیت کنترل همزمان چندین ورودی و خروجی را با دقت بالا فراهم میکند. درک ساختار داخلی PLC، برای هر مهندس اتوماسیون که قصد طراحی، عیبیابی یا بهینهسازی خطوط تولید را دارد، ضروری است.
۲. ساختار کلی PLC
یک PLC مدرن معمولاً از چند بلوک اصلی تشکیل میشود:
- واحد پردازش مرکزی (CPU)
- حافظهها (Memory Units)
- ماژولهای ورودی و خروجی (I/O Modules)
- رابطهای ارتباطی و شبکهای (Communication Interfaces)
- منبع تغذیه (Power Supply Unit)
- Backplane Bus یا سیستم ارتباط داخلی
در ادامه، هرکدام از این بخشها را بهصورت تخصصی بررسی میکنیم 👇
۳. واحد پردازش مرکزی (CPU)
CPU مغز PLC است و وظیفه اجرای برنامه کنترلی (Logic Program) و پردازش سیگنالهای ورودی/خروجی را بر عهده دارد.
🔹 اجزای اصلی CPU:
- پردازنده (Microprocessor / Microcontroller): وظیفه اجرای دستورالعملها، انجام محاسبات منطقی و زمانی، و کنترل چرخه اسکن را دارد.
- ALU (Arithmetic Logic Unit): برای انجام محاسبات ریاضی، مقایسهها و عملیات منطقی استفاده میشود.
- واحد کنترل (Control Unit): ترتیب اجرای دستورات و هماهنگی بین بخشهای مختلف CPU را مدیریت میکند.
🔹 فرکانس و سرعت پردازش:
در PLCهای صنعتی پیشرفته، فرکانس CPU ممکن است بین 20 تا 400 MHz باشد، اما عامل مهمتر از فرکانس، زمان چرخه (Scan Time) است که مستقیماً بر پاسخدهی سیستم تأثیر دارد.
۴. حافظهها در PLC
حافظه در PLC به چند دسته تقسیم میشود که هرکدام نقش خاصی در پردازش سیگنالها دارند:
|
نوع حافظه |
وظیفه |
ویژگیها |
|
|
ROM / Flash |
ذخیره دائم سیستم عامل و Firmware |
غیرقابل پاک شدن در قطع برق |
|
|
RAM |
نگهداری دادههای موقت و جدول ورودی/خروجیها |
نیازمند منبع تغذیه پشتیبان (Battery Backup) |
|
|
EEPROM |
ذخیره برنامه کاربر و پارامترهای تنظیمی |
قابلبرنامهریزی مجدد توسط نرمافزار |
|
|
Retentive Memory |
حفظ دادههای خاص بین خاموش و روشن شدن PLC |
برای متغیرهای حیاتی مانند شمارندهها و وضعیت سیستم |
۵. ماژولهای ورودی و خروجی (I/O Modules)
ماژولهای I/O پل ارتباطی بین PLC و دنیای واقعی هستند.
🔹 ماژولهای ورودی (Input Modules):
سیگنالهای دریافتی از سنسورها، کلیدها، سوئیچها یا مبدلهای آنالوگ را به دادههای منطقی قابلدرک برای CPU تبدیل میکنند.
- ورودی دیجیتال: 0/24VDC یا 0/230VAC
- ورودی آنالوگ: 0–10V، 4–20mA
🔹 ماژولهای خروجی (Output Modules):
دادههای پردازششده توسط CPU را به سیگنالهای کنترلی برای عملگرها (مثل شیر برقی، موتور، یا رله) تبدیل میکنند.
- خروجی دیجیتال: ترانزیستوری، رلهای یا ترایاکی
- خروجی آنالوگ: 0–10V، 4–20mA
🔹 نکته فنی:
در بسیاری از PLCهای مدرن، ماژولهای I/O از Isolation Galvanic برای ایزولاسیون کامل بین مدار فرمان و بخش قدرت استفاده میکنند تا نویز صنعتی روی عملکرد سیستم تأثیر نگذارد.
۶. منبع تغذیه (Power Supply Unit)
منبع تغذیه ولتاژهای لازم برای CPU، حافظه و ماژولها را تأمین میکند (معمولاً 24VDC).
در برخی سیستمهای بزرگ، Power Supply جداگانه برای ماژولهای خاص یا ورودی/خروجیهای ایزوله در نظر گرفته میشود.
منابع تغذیه PLC معمولاً از حفاظتهایی مانند Overvoltage، Overcurrent و Thermal Protection برخوردارند.
۷. Backplane Bus و ارتباط داخلی
Backplane در واقع گذرگاه دادهای است که بین CPU، ماژولهای I/O و حافظهها ارتباط برقرار میکند.
در این مسیر، دادهها با ساختارهای Parallel یا Serial و از طریق پروتکلهای اختصاصی (مثل Siemens MPI Bus یا Allen-Bradley ControlBus) منتقل میشوند.
در PLCهای ماژولار، Backplane معمولاً روی Rack یا Base Unit قرار دارد و هر ماژول با کانکتور مخصوص خود به آن متصل میشود.

بخش ۲: چرخه اسکن (Scan Cycle) و منطق پردازش سیگنالها
۱. مفهوم چرخه اسکن (Scan Cycle)
PLC مانند یک کنترلر بلادرنگ (Real-Time Controller) عمل میکند که در بازههای زمانی تکرارشونده، ورودیها را میخواند، منطق برنامه را اجرا میکند و خروجیها را بهروزرسانی مینماید.
به این توالی زمانی چرخه اسکن (Scan Cycle) گفته میشود.
چرخه اسکن را میتوان به چهار مرحله اصلی تقسیم کرد:
- Read Inputs (خواندن ورودیها)
- Execute Program (اجرای برنامه)
- Update Outputs (بهروزرسانی خروجیها)
- Diagnostics & Communication (بررسی خطا و تبادل داده با شبکه)
۲. مرحله اول: خواندن ورودیها (Input Sampling)
در ابتدای هر چرخه، CPU تمامی سیگنالهای ورودی را از ماژولهای I/O جمعآوری کرده و آنها را در حافظهای موقت به نام Input Image Table ذخیره میکند.
🔹 نکته فنی:
سیگنالهای فیزیکی سنسورها و کلیدها در لحظه خوانده نمیشوند، بلکه Snapshot لحظهای آنها در ابتدای چرخه ذخیره میشود تا پردازش برنامه بدون تغییر وضعیت ناگهانی ورودیها انجام گیرد.
مثال:
اگر در میانه اجرای برنامه یک کلید خاموش شود، PLC تا چرخه بعدی آن تغییر را نخواهد دید، چون وضعیت در جدول ورودی ثابت است.
۳. مرحله دوم: اجرای برنامه (Logic Execution)
پس از ذخیره ورودیها، PLC برنامه کاربر را خط به خط اجرا میکند.
در این مرحله، CPU دادههای موجود در Input Table را خوانده و منطق Ladder، FBD یا STL را روی آن اعمال میکند. نتایج در Output Image Table موقت ذخیره میشوند.
🔹 عملیات معمول در این بخش:
- محاسبه شرایط منطقی (AND, OR, NOT)
- اجرای تایمرها و شمارندهها
- پردازش سیگنالهای آنالوگ (Scaling, Filtering)
- اجرای الگوریتمهای PID
- انجام محاسبات عددی و تصمیمگیری کنترلی
🔹 نکته مهم:
در اکثر PLCها، زمان اجرای هر چرخه (Scan Time) بین چند میلیثانیه تا چند ده میلیثانیه متغیر است. هرچه برنامه طولانیتر یا تعداد I/O بیشتر باشد، زمان اسکن افزایش مییابد.
۴. مرحله سوم: بهروزرسانی خروجیها (Output Update)
در پایان هر چرخه، دادههای موجود در Output Image Table به ماژولهای خروجی منتقل میشوند تا وضعیت عملگرها (موتورها، رلهها، ولوها) بهروزرسانی شود.
🔹 در این مرحله:
- سیگنالهای دیجیتال به صورت 0/1 ارسال میشوند.
- در خروجیهای آنالوگ، مقدار دیجیتال به سیگنال فیزیکی (مثلاً 4–20mA یا 0–10V) تبدیل میشود.
- اگر سیستم دارای کنترل بسته (Closed Loop) باشد، خروجی جدید در چرخه بعد به عنوان ورودی فیدبک وارد محاسبه میشود.
۵. مرحله چهارم: Diagnostics & Communication
در پایان هر اسکن، CPU وضعیت ماژولها، Watchdog Timer و پارامترهای داخلی را بررسی میکند تا از بروز خطا جلوگیری شود. همچنین در این مرحله، دادهها از طریق شبکههای صنعتی مانند Modbus, Profibus, Profinet یا Ethernet/IP تبادل میشوند.
این فرآیند معمولاً بهصورت Asynchronous انجام میشود تا تبادل داده بر زمانبندی اصلی تأثیر نگذارد.
۶. ساختار زمانی چرخه اسکن
بهصورت شماتیک، چرخه اسکن PLC را میتوان چنین نمایش داد:
|------ READ INPUTS ------|------ EXECUTE LOGIC ------|------ UPDATE OUTPUTS ------|
|-------------------- Total Scan Time --------------------|
برای سیستمهای با کنترل سریع (مانند Motion Control یا سروو سیستمها)، معمولاً از Fast Task یا Interrupt-driven Task استفاده میشود که در زمانهای کوتاهتر از چرخه اصلی اجرا میشوند.
۷. مفهوم Image Table و مزایای آن
استفاده از جداول تصویر (Image Table) یکی از ویژگیهای کلیدی PLC در مقایسه با کنترلرهای میکروکنترلری است.
مزیت اصلی آن این است که در طول اجرای برنامه، وضعیت ورودیها و خروجیها ثابت میماند، و این باعث پایداری منطقی (Logical Consistency) در کنترل میشود.
در سیستمهایی که تغییر ورودیها لحظهای و تصادفی است (مثل خطوط بستهبندی یا کنترل ربات)، این روش باعث حذف رفتارهای غیرقابل پیشبینی و نویزهای منطقی میشود.
۸. تحلیل فنی: تأثیر زمان اسکن در کنترل دقیق
- در سیستمهای کند مانند کنترل دما، زمان اسکن چند صد میلیثانیه مشکلی ایجاد نمیکند.
- اما در سیستمهای سریع مانند کنترل موقعیت یا همزمانسازی محورها، زمان اسکن باید کمتر از ۵ میلیثانیه باشد.
به همین دلیل، PLCهای پیشرفته از Multi-Tasking Architecture و High-Speed I/O بهره میبرند تا زمان پاسخگویی سیستم به حداقل برسد.

بخش ۳: مسیر دادهها و نحوه تبادل سیگنال بین ماژولها (Data Path & Signal Flow)
۱. مقدمه
یکی از جنبههای کمتر دیدهشده اما حیاتی در عملکرد PLC، نحوه جریان دادهها (Data Flow) بین اجزای داخلی است.
هر سیگنال ورودی از لحظهای که وارد ماژول میشود تا زمانی که خروجی متناظر تولید شود، از مسیرهای متعددی عبور میکند:
از مدارهای فیلترینگ و مبدلهای آنالوگ/دیجیتال گرفته تا باس داخلی، حافظههای میانی و نهایتاً CPU.
درک دقیق این فرآیند برای مهندسانی که روی زمان پاسخ سیستم، نویز سیگنال و هماهنگی I/Oها کار میکنند بسیار مهم است.
۲. ساختار کلی مسیر داده
میتوان مسیر داده در یک PLC مدرن را بهصورت ساده چنین نمایش داد:
Sensor/Actuator → I/O Module → Backplane Bus → CPU (Processing) → Backplane Bus → Output Module → Device
در هر مرحله، داده شکل متفاوتی دارد — از سیگنال آنالوگ یا دیجیتال تا داده دودویی (Binary Data Word) یا عدد پردازششده (Processed Value).
۳. تبدیل و آمادهسازی سیگنال ورودی
🔹 ۳.۱. ورودی دیجیتال (Digital Input)
در ماژولهای ورودی دیجیتال، ابتدا سیگنال ۲۴VDC یا ۲۳۰VAC از طریق مدار ایزولاسیون (Optocoupler) وارد میشود. این مدار نویز را حذف کرده و ایمنی الکتریکی CPU را تضمین میکند. پس از آن، سیگنال توسط مدار اشمیت تریگر (Schmitt Trigger) به سطح منطقی ۰ یا ۱ تبدیل و در Buffer داخلی ماژول ذخیره میشود.
زمان تأخیر معمول: ۲ تا ۵ میلیثانیه (بسته به نوع فیلتر ورودی)
🔹 ۳.۲. ورودی آنالوگ (Analog Input)
در ماژولهای آنالوگ، مسیر داده پیچیدهتر است:
فیلتر پایینگذر (Low-Pass Filter) برای حذف نویز فرکانس بالا
Multiplexer (MUX) برای انتخاب کانال ورودی
ADC (Analog to Digital Converter) برای تبدیل سیگنال به داده عددی (مثلاً ۱۲ یا ۱۶ بیت)
Buffer Register برای ذخیره مقدار دیجیتال و ارسال به باس داخلی
نمونهبرداری (Sampling):
هر کانال در بازههای زمانی مشخص (Sampling Time) توسط ADC خوانده میشود. دقت نمونهبرداری بین 10 تا 16 بیت بسته به نوع PLC متفاوت است.
۴. انتقال داده به CPU از طریق Backplane Bus
Backplane Bus ستون فقرات ارتباطی PLC است و دادهها از طریق آن بین ماژولهای I/O و CPU تبادل میشوند.
در PLCهای ماژولار (مثلاً Siemens S7-300)، Backplane روی Rack قرار دارد و هر ماژول از طریق Connector به این باس متصل است.
در مدلهای کامپکت (مثل Delta DVP یا Allen-Bradley MicroLogix)، باس بهصورت داخلی و مجتمع طراحی شده است.
۵. پردازش سیگنال در CPU
هنگامی که دادهها از طریق Bus وارد CPU میشوند، چند مرحله پردازشی اتفاق میافتد:
- Data Mapping:
داده ورودی به آدرسهای مشخصی در جدول حافظه (Input Image Table) نگاشت میشود.
مثال: ورودی دیجیتال I0.0 به بیت صفر از بایت ۰ در فضای ورودی اختصاص دارد. - Signal Conditioning:
در صورت نیاز، CPU دادهها را نرمالسازی، فیلتر دیجیتال یا کالیبره میکند (مثلاً تبدیل ۱۲ بیت ADC به مقدار واقعی ولتاژ یا دما). - Logic Processing:
CPU منطق برنامه را با دادههای ورودی اجرا میکند و نتایج را در Output Table ذخیره مینماید. - Output Mapping:
پس از اتمام چرخه، دادههای موجود در Output Table از طریق Bus به ماژولهای خروجی فرستاده میشوند.
۶. مسیر داده در خروجیها
🔹 ۶.۱. خروجی دیجیتال (Digital Output)
داده دودویی CPU در بافر ماژول خروجی قرار گرفته و سپس از طریق مدار درایور ترانزیستوری یا رلهای به تجهیز خارجی ارسال میشود.
در خروجیهای صنعتی، معمولاً ایزولاسیون مجدد با اپتوکوپلر انجام میشود تا از نویز القایی موتور یا بارهای القایی جلوگیری شود.
🔹 ۶.۲. خروجی آنالوگ (Analog Output)
برای خروجیهای آنالوگ، مسیر معکوس ورودی است:
داده عددی CPU به DAC (Digital-to-Analog Converter) فرستاده میشود و پس از آن از طریق مدار فیلتر و بافر، سیگنال ولتاژ یا جریان خروجی ایجاد میشود.
نکته فنی:
در بسیاری از PLCهای جدید، از فیلترهای دیجیتال مرتبه بالا (Digital FIR Filters) در مسیر خروجی استفاده میشود تا نویز کنترلر در فرمان موتور یا ولو کاهش یابد.
۷. زمانبندی انتقال دادهها
تبادل داده بین CPU و ماژولهای I/O معمولاً در هر Scan Cycle یا در بازههای زمانی تنظیمشده انجام میشود.
اما در سیستمهای حساس، از روشهای زیر برای کاهش تأخیر استفاده میشود:
- Interrupt-driven I/O: واکنش فوری به تغییر ورودی بدون انتظار برای چرخه بعدی
- Direct Memory Access (DMA): انتقال داده بین I/O و حافظه بدون درگیر کردن CPU
- Buffered I/O: ذخیرهسازی موقت دادهها برای جلوگیری از تداخل زمانی در Bus
۸. جمعبندی فنی
درک مسیر داده در PLC به مهندس اجازه میدهد تا مشکلاتی مانند تأخیر، نویز، یا ناپایداری سیگنال را بهدرستی تحلیل کند.
برای مثال:
- اگر تأخیر خروجی زیاد باشد، ممکن است Buffer یا Scan Time نامناسب تنظیم شده باشد.
- اگر مقادیر آنالوگ ناپایدارند، باید فیلترینگ یا Sampling Rate بررسی شود.
- در خطوط با حجم داده بالا، انتخاب PLC با Bus پرسرعت (مثلاً EtherCAT یا Profinet RT) حیاتی است.

