آموزش زبان STL زیمنس؛ کنترل برنامه، تایمر و عملیات داده

آموزش دستورات Program Control، Shift و Rotate، Timer، Word Logic و Accumulator

بخش دهم: Program Control

دستورات Program Control برای کنترل روند اجرای برنامه استفاده می‌شوند. با کمک این دستورات می‌توان اجرای یک Block را پایان داد، بلوک دیگری را فراخوانی کرد یا بخشی از برنامه را تحت کنترل MCR قرار داد.

پایان Block

BE
دستور BE مخفف Block End است و اجرای Block جاری را در همان نقطه پایان می‌دهد. پس از پایان Block، کنترل به برنامه یا بلوکی که آن را فراخوانی کرده بازمی‌گردد.
مثال کوتاه
A I1.0       // Check input I1.0
= Q0.0       // Assign RLO to output Q0.0

BE           // End current block

پایان شرطی Block

BEC
دستور BEC مخفف Block End Conditional است. اگر RLO برابر 1 باشد، اجرای Block همان‌جا پایان پیدا می‌کند. اگر RLO صفر باشد، اجرای برنامه ادامه خواهد داشت.
مثال کوتاه
A I0.0       // Evaluate input condition
BEC          // End block if RLO = 1

L IW4        // Continue if RLO = 0
T MW10       // Transfer input value

پایان بدون شرط Block

BEU
دستور BEU مخفف Block End Unconditional است. بدون توجه به وضعیت RLO، اجرای Block در این نقطه پایان پیدا می‌کند.
مثال کوتاه
L IW4        // Load input word
T MW10       // Transfer value

BEU          // Unconditional block end

فراخوانی Block

CALL FC10
دستور CALL برای فراخوانی Blockهایی مانند FC، FB، SFC و SFB استفاده می‌شود. اگر Block دارای Parameter باشد، هنگام CALL می‌توان مقادیر Actual را نیز مشخص کرد. در صورت فراخوانی FB، Instance DB مربوط به آن نیز باید مشخص باشد.
مثال کوتاه
CALL FC10    // Call function FC10

فراخوانی FB با Instance DB

CALL FB10, DB10
در این ساختار FB10 همراه با Instance DB شماره 10 فراخوانی می‌شود. اطلاعات Instance مربوط به اجرای FB در DB10 نگهداری می‌شود.
مثال کوتاه
CALL FB10, DB10    // Call FB10 with instance DB10

Multiple Instance

CALL #TEST2
در Multiple Instance، یک FB دیگر به عنوان Static Variable داخل FB اصلی تعریف می‌شود و برای اجرای آن نیازی به ساخت یک Instance DB جداگانه برای هر FB نیست. این روش برای مدیریت ساختارهای چندماژوله مناسب است.
مثال کوتاه
CALL #TEST2    // Call first multiple instance
CALL #TEST3    // Call second multiple instance

فراخوانی شرطی Block

CC FC10
CC مخفف Conditional Call است. اگر RLO برابر یک باشد، FC یا SFC موردنظر فراخوانی می‌شود.
مثال کوتاه
A I0.0       // Evaluate call condition
CC FC10      // Call FC10 if RLO = 1

فراخوانی بدون شرط

UC FC10
UC مخفف Unconditional Call است و FC یا SFC را بدون توجه به وضعیت RLO فراخوانی می‌کند.
مثال کوتاه
UC FC10      // Unconditional call of FC10

شروع محدوده MCR

MCRA
MCRA محدوده Master Control Relay را فعال می‌کند. دستورات قرارگرفته در محدوده MCR می‌توانند تحت تأثیر وضعیت MCR قرار بگیرند.
مثال کوتاه
MCRA        // Activate MCR area

A I4.0      // Evaluate input
= Q8.0      // Control output

MCRD        // End MCR area

پایان محدوده MCR

MCRD
MCRD محدوده فعال MCR را پایان می‌دهد. معمولاً MCRA و MCRD برای تعیین ابتدا و انتهای ناحیه MCR به صورت جفت استفاده می‌شوند.

محدوده MCR با پرانتز

MCR( ... )MCR
با MCR( می‌توان محدوده MCR را شروع کرد و با )MCR آن را پایان داد. در شروع محدوده، وضعیت RLO در MCR Stack ذخیره می‌شود.
مثال کوتاه
A I1.0       // Evaluate MCR condition
MCR(         // Start MCR zone

A I4.0       // Evaluate input
= Q8.0       // Control output

)MCR         // End MCR zone
نکته ایمنی:

MCR جایگزین Emergency Stop یا مدارهای ایمنی سخت‌افزاری ماشین نیست.

بخش یازدهم: Shift و Rotate

دستورات Shift برای جابه‌جایی بیت‌ها استفاده می‌شوند. در Shift بیت جدید از یک سمت وارد می‌شود، اما در Rotate بیتی که از یک سمت خارج می‌شود دوباره از سمت دیگر وارد می‌شود.

Shift راست Integer علامت‌دار

SSI 6
SSI یک مقدار Integer شانزده‌بیتی علامت‌دار را به سمت راست Shift می‌دهد. در شیفت علامت‌دار، بیت علامت حفظ می‌شود. تعداد شیفت با عدد مشخص‌شده تعیین می‌شود. اگر Number استفاده نشود، مقدار ACCU2-L تعداد شیفت را تعیین می‌کند.
مثال کوتاه
L MW4        // Load source word
SSI 6        // Shift right by 6 bits
T MW8        // Store result

Shift راست Double Integer علامت‌دار

SSD 6
SSD مقدار Double Integer سی‌ودوبیتی را به صورت علامت‌دار به سمت راست Shift می‌دهد. کل مقدار 32 بیتی ACCU1 در عملیات شرکت می‌کند.
مثال کوتاه
L MD4        // Load 32-bit source
SSD 6        // Arithmetic shift right
T MD8        // Store result

Shift چپ Word

SLW 5
SLW مقدار Word شانزده‌بیتی موجود در بخش Low ACCU1 را به سمت چپ Shift می‌دهد. از سمت راست صفر وارد می‌شود و بیت خارج‌شده در CC1 قرار می‌گیرد.
مثال کوتاه
L MW4        // Load source word
SLW 5        // Shift left by 5 bits
T MW8        // Store result

Shift راست Word

SRW 6
SRW مقدار Word شانزده‌بیتی را به سمت راست Shift می‌دهد. بیت خارج‌شده در CC1 قرار می‌گیرد.
مثال کوتاه
L MW4        // Load source word
SRW 6        // Shift right by 6 bits
T MW8        // Store result

Shift چپ Double Word

SLD 5
SLD مقدار Double Word سی‌ودوبیتی موجود در ACCU1 را به سمت چپ Shift می‌دهد. با Number می‌توان تعداد شیفت را مشخص کرد.
مثال کوتاه
L MD4        // Load 32-bit source
SLD 5        // Shift left by 5 bits
T MD8        // Store result

Shift راست Double Word

SRD 7
SRD مقدار Double Word سی‌ودوبیتی ACCU1 را به سمت راست Shift می‌دهد.
مثال کوتاه
L MD4        // Load 32-bit source
SRD 7        // Shift right by 7 bits
T MD8        // Store result

Rotate چپ Double Word

RLD 4
RLD مقدار Double Word را به سمت چپ Rotate می‌کند. بیتی که از سمت چپ خارج می‌شود دوباره از سمت راست وارد می‌شود.
مثال کوتاه
L MD4        // Load source DWORD
RLD 4        // Rotate left by 4 bits
T MD8        // Store result

Rotate راست Double Word

RRD 4
RRD مقدار Double Word را به سمت راست Rotate می‌کند. بیت خارج‌شده دوباره از سمت چپ وارد می‌شود.
مثال کوتاه
L MD4        // Load source DWORD
RRD 4        // Rotate right by 4 bits
T MD8        // Store result

Rotate چپ از طریق CC1

RLDA
RLDA یک Rotate چپ 32 بیتی انجام می‌دهد و CC1 نیز در مسیر چرخش وارد می‌شود. بیت 31 ACCU1 وارد CC1 می‌شود و مقدار قبلی CC1 به بیت صفر منتقل می‌شود.
مثال کوتاه
L MD4        // Load source DWORD
RLDA         // Rotate left through CC1

Rotate راست از طریق CC1

RRDA
RRDA یک Rotate راست 32 بیتی انجام می‌دهد. بیت صفر ACCU1 وارد CC1 شده و مقدار قبلی CC1 به بیت 31 منتقل می‌شود.
مثال کوتاه
L MD4        // Load source DWORD
RRDA         // Rotate right through CC1
بخش دوازدهم: Timer

Timer برای ایجاد تأخیر زمانی، تولید پالس، تأخیر در قطع و اجرای فرآیندهای زمان‌دار استفاده می‌شود.

یک نکته مهم:

T1 یعنی Timer شماره 1. عدد 1 در T1 به معنی مقدار زمان تایمر نیست.

مقدار زمان Timer در حافظه اختصاصی Timer نگهداری می‌شود. دستورهای L T1 و LC T1 مقدار فعلی زمان Timer را می‌خوانند.

ساختار Timer

اجزای اصلی Timer
S Start
TV Time Value
R Reset
Q Timer Status
BI / BCD Time Value

فرمت S5TIME

L S5T#10s
مقدار Preset Time را در ACCU1 قرار می‌دهد. در این مثال زمان تنظیمی برابر 10 ثانیه است. فرمت S5TIME برای تعیین زمان Timer در S7 کلاسیک استفاده می‌شود.
مثال
L S5T#10s     // Load preset time: 10 seconds

Enable و Trigger تایمر

FR T1
FR برای Enable کردن Timer شماره 1 استفاده می‌شود. با لبه مثبت RLO، Timer آزاد یا Trigger می‌شود. استفاده از FR همیشه اجباری نیست؛ اما برای Enable و Trigger مجدد Timer کاربرد دارد.
مثال
A I 2.0       // Timer enable condition
FR T1         // Enable timer T1

خواندن مقدار فعلی Timer به صورت Binary

L T1
L T1 مقدار فعلی زمان Timer شماره 1 را از حافظه Timer می‌خواند و به صورت Binary در ACCU1 قرار می‌دهد. مقدار قبلی ACCU1 هنگام Load جدید به ACCU2 منتقل می‌شود.
مثال
L T1         // Load current timer value as binary
T MW10       // Store timer value in MW10

خواندن مقدار فعلی Timer به صورت BCD

LC T1
LC T1 مقدار فعلی زمان Timer شماره 1 را از حافظه Timer می‌خواند و به صورت BCD در ACCU1 قرار می‌دهد. تفاوت اصلی L و LC در قالب مقدار خوانده‌شده است.
مثال
LC T1        // Load current timer value as BCD
T MW12       // Store BCD value in MW12

Reset کردن Timer

R T1
اگر RLO از صفر به یک تغییر کند، Timer شماره 1 Reset می‌شود. با Reset شدن Timer، زمان‌گیری متوقف شده و مقدار زمانی Timer صفر می‌شود.
مثال
A I 2.2       // Timer reset condition
R T1          // Reset timer T1

Pulse Timer

SP T1
SP تایمر را به صورت Pulse Timer راه‌اندازی می‌کند. با لبه مثبت RLO شروع می‌شود. اگر RLO قبل از پایان زمان تنظیم‌شده به صفر برگردد، Timer متوقف می‌شود.
مثال کامل
A I 2.0       // Timer enable condition
FR T1         // Enable timer T1

A I 2.1       // Timer start condition
L S5T#10s     // Load preset: 10 seconds
SP T1         // Start pulse timer

A I 2.2       // Timer reset condition
R T1          // Reset timer T1

A T1          // Read timer status
= Q 4.0       // Drive output Q4.0

L T1          // Load current value as binary
T MW10        // Store binary value

LC T1         // Load current value as BCD
T MW12        // Store BCD value

Extended Pulse Timer

SE T1
SE تایمر را به صورت Extended Pulse Timer راه‌اندازی می‌کند. بعد از Trigger شدن، حتی اگر RLO صفر شود، Timer تا پایان زمان تنظیم‌شده ادامه پیدا می‌کند.
مثال کامل
A I 2.0       // Timer enable condition
FR T1         // Enable timer T1

A I 2.1       // Timer start condition
L S5T#10s     // Load preset: 10 seconds
SE T1         // Start extended pulse timer

A I 2.2       // Timer reset condition
R T1          // Reset timer T1

A T1          // Read timer status
= Q 4.0       // Drive output Q4.0

L T1          // Load current value as binary
T MW10        // Store binary value

LC T1         // Load current value as BCD
T MW12        // Store BCD value

On-Delay Timer

SD T1
SD تایمر را به صورت On-Delay Timer راه‌اندازی می‌کند. با لبه مثبت RLO زمان‌گیری شروع می‌شود. پس از تمام شدن زمان تنظیم‌شده، در صورت برقرار بودن شرط، وضعیت Timer فعال می‌شود.
مثال کامل
A I 2.0       // Timer enable condition
FR T1         // Enable timer T1

A I 2.1       // Timer start condition
L S5T#10s     // Load preset: 10 seconds
SD T1         // Start on-delay timer

A I 2.2       // Timer reset condition
R T1          // Reset timer T1

A T1          // Read timer status
= Q 4.0       // Drive output Q4.0

L T1          // Load current value as binary
T MW10        // Store binary value

LC T1         // Load current value as BCD
T MW12        // Store BCD value

Retentive On-Delay Timer

SS T1
SS تایمر را به صورت Retentive On-Delay Timer راه‌اندازی می‌کند. بعد از Trigger شدن، زمان تنظیم‌شده طی می‌شود و Timer پس از رسیدن به مقدار نهایی فعال می‌شود. برای Reset کردن آن باید از R استفاده کرد.
مثال کامل
A I 2.0       // Timer enable condition
FR T1         // Enable timer T1

A I 2.1       // Timer start condition
L S5T#10s     // Load preset: 10 seconds
SS T1         // Start retentive on-delay timer

A I 2.2       // Timer reset condition
R T1          // Reset timer T1

A T1          // Read timer status
= Q 4.0       // Drive output Q4.0

L T1          // Load current value as binary
T MW10        // Store binary value

LC T1         // Load current value as BCD
T MW12        // Store BCD value

Off-Delay Timer

SF T1
SF تایمر را به صورت Off-Delay Timer راه‌اندازی می‌کند. زمان‌گیری هنگام تغییر RLO از یک به صفر انجام می‌شود و Timer برای مدت تنظیم‌شده در حالت فعال باقی می‌ماند.
مثال کامل
A I 2.0       // Timer enable condition
FR T1         // Enable timer T1

A I 2.1       // Timer start condition
L S5T#10s     // Load preset: 10 seconds
SF T1         // Start off-delay timer

A I 2.2       // Timer reset condition
R T1          // Reset timer T1

A T1          // Read timer status
= Q 4.0       // Drive output Q4.0

L T1          // Load current value as binary
T MW10        // Store binary value

LC T1         // Load current value as BCD
T MW12        // Store BCD value
تفاوت Timerها:

SP = Pulse Timer
SE = Extended Pulse Timer
SD = On-Delay Timer
SS = Retentive On-Delay Timer
SF = Off-Delay Timer

بخش سیزدهم: Word Logic

در Word Logic به جای یک بیت، روی Word شانزده‌بیتی یا Double Word سی‌ودوبیتی عملیات منطقی انجام می‌شود. نتیجه عملیات در ACCU1 قرار می‌گیرد.

AND روی Word

AW
AW دو مقدار Word شانزده‌بیتی را بیت‌به‌بیت AND می‌کند. نتیجه عملیات در بخش مربوط به ACCU1 قرار می‌گیرد.
مثال کوتاه
L MW10       // Load first word
L MW12       // Load second word
AW            // AND both words
T MW20        // Store result

OR روی Word

OW
OW دو Word شانزده‌بیتی را بیت‌به‌بیت OR می‌کند و نتیجه را در ACCU1 قرار می‌دهد.
مثال کوتاه
L MW10       // Load first word
L MW12       // Load second word
OW            // OR both words
T MW20        // Store result

XOR روی Word

XOW
XOW دو Word شانزده‌بیتی را بیت‌به‌بیت XOR می‌کند و نتیجه را در ACCU1 قرار می‌دهد.
مثال کوتاه
L MW10       // Load first word
L MW12       // Load second word
XOW           // XOR both words
T MW20        // Store result

AND روی Double Word

AD
AD دو Double Word سی‌ودوبیتی را بیت‌به‌بیت AND می‌کند و نتیجه را در ACCU1 قرار می‌دهد.
مثال کوتاه
L MD10       // Load first DWORD
L MD14       // Load second DWORD
AD            // AND both DWORDs
T MD20        // Store result

OR روی Double Word

OD
OD دو Double Word را بیت‌به‌بیت OR می‌کند و نتیجه را در ACCU1 قرار می‌دهد.
مثال کوتاه
L MD10       // Load first DWORD
L MD14       // Load second DWORD
OD            // OR both DWORDs
T MD20        // Store result

XOR روی Double Word

XOD
XOD دو Double Word سی‌ودوبیتی را بیت‌به‌بیت XOR می‌کند و نتیجه را در ACCU1 قرار می‌دهد.
مثال کوتاه
L MD10       // Load first DWORD
L MD14       // Load second DWORD
XOD           // XOR both DWORDs
T MD20        // Store result
بخش چهاردهم: Accumulator Instruction

در این بخش مستقیماً با ACCUها و عملیات روی آن‌ها کار می‌کنیم. ACCUها برای نگهداری موقت داده‌ها و نتایج عملیات در CPU استفاده می‌شوند.

نکته:

ACCU1 و ACCU2 را با یکدیگر اشتباه نگیرید. بسیاری از دستورات L، محاسبات و مقایسه‌ها مستقیماً به ترتیب قرار گرفتن داده‌ها در این دو ACCU وابسته‌اند.

جابه‌جایی ACCU1 و ACCU2

TAK
TAK محتویات ACCU1 و ACCU2 را با یکدیگر جابه‌جا می‌کند. بنابراین مقدار ACCU1 به ACCU2 و مقدار ACCU2 به ACCU1 منتقل می‌شود.
مثال کامل
L MW10       // Load MW10 into ACCU1
L MW12       // Move old ACCU1 to ACCU2; load MW12 into ACCU1

TAK           // Exchange ACCU1 and ACCU2
وضعیت قبل و بعد از TAK
Before TAK: ACCU1 = MW12 ACCU2 = MW10 After TAK: ACCU1 = MW10 ACCU2 = MW12

POP

POP
در CPUهای دارای دو ACCU، مقدار ACCU2 در ACCU1 کپی می‌شود و ACCU2 مقدار خود را حفظ می‌کند. در CPUهای دارای چهار ACCU، محتویات Stack نیز به سمت بالا منتقل می‌شوند.
مثال کوتاه
POP           // Move ACCU2 content to ACCU1

PUSH

PUSH
در CPU دو ACCU، مقدار ACCU1 در ACCU2 کپی می‌شود. در CPUهای چهار ACCU، محتویات Stack به سمت ACCUهای بعدی منتقل می‌شوند و مقدار ACCU1 اصلی حفظ می‌شود.
مثال کوتاه
PUSH          // Push ACCU1 content into ACCU stack

ENT

ENT
ENT در CPUهای دارای چهار ACCU برای مدیریت Stack استفاده می‌شود. ACCU2 به ACCU3 و ACCU3 به ACCU4 منتقل می‌شود. ACCU1 بدون تغییر باقی می‌ماند.
مثال کوتاه
ENT           // Enter deeper into ACCU stack

LEAVE

LEAVE
LEAVE برای خارج شدن از سطح فعلی Stack در CPUهای دارای چهار ACCU استفاده می‌شود. محتویات ACCU3 به ACCU2 و ACCU4 به ACCU3 منتقل می‌شوند.
مثال کوتاه
LEAVE         // Leave current ACCU stack level

افزایش مقدار 8 بیتی

INC 1
INC مقدار 8 بیتی موجود در بخش پایین ACCU1 یعنی ACCU1-L-L را به اندازه مقدار مشخص‌شده افزایش می‌دهد. در INC 1 یک واحد اضافه می‌شود. سایر بخش‌های ACCU تغییر نمی‌کنند.
مثال کوتاه
L MB22       // Load 8-bit value
INC 1        // Increment low byte by 1
T MB22       // Store updated value

کاهش مقدار 8 بیتی

DEC 1
DEC مقدار 8 بیتی موجود در ACCU1-L-L را به اندازه مقدار مشخص‌شده کاهش می‌دهد. در DEC 1 یک واحد از 8 بیت پایین کم می‌شود.
مثال کوتاه
L MB22       // Load 8-bit value
DEC 1        // Decrement low byte by 1
T MB22       // Store updated value

اضافه کردن Offset به AR1

+AR1
مقدار Offset موجود در ACCU1 به Address Register 1 اضافه می‌شود. در نتیجه Pointer موجود در AR1 جابه‌جا می‌شود. به صورت مفهومی: AR1 جدید = AR1 قبلی + Offset
مثال کوتاه
L 300        // Load offset value
+AR1          // Add offset to AR1

اضافه کردن Offset به AR2

+AR2
مقدار Offset موجود در ACCU1 به Address Register 2 اضافه می‌شود و Pointer موجود در AR2 به اندازه Offset جابه‌جا می‌شود.
مثال کوتاه
L 300        // Load offset value
+AR2          // Add offset to AR2

Program Display Instruction

BLD 23
BLD یک دستور نمایشی است و عملیات محاسباتی خاصی روی داده‌های برنامه انجام نمی‌دهد. این دستور بیشتر برای نمایش ساختار برنامه در محیط STEP 7 مورد استفاده قرار می‌گیرد.
مثال کوتاه
BLD 23       // Program display instruction

دستور خنثی

NOP 0
NOP 0 هیچ عملیات منطقی یا محاسباتی خاصی انجام نمی‌دهد و به عنوان Null Operation شناخته می‌شود.
مثال کوتاه
NOP 0        // No operation

دستور خنثی

NOP 1
NOP 1 نیز یک دستور بدون عملیات محاسباتی است و بیشتر برای ساختار و نمایش برنامه استفاده می‌شود.
مثال کوتاه
NOP 1        // No operation

مثال کامل برای درک ACCU1 و ACCU2

L MW10       // MW10 → ACCU1
L MW12       // Old ACCU1 → ACCU2, MW12 → ACCU1
+I            // ACCU2 + ACCU1 → result in ACCU1
T MW20        // ACCU1 → MW20
مرحله اول

بعد از اجرای L MW10:

ACCU1 = MW10
مرحله دوم

بعد از اجرای L MW12:

ACCU2 = MW10 ACCU1 = MW12
مرحله سوم

بعد از +I:

ACCU1 = ACCU2 + ACCU1
مرحله چهارم

بعد از T MW20:

ACCU1 → MW20
ACCU1 = unchanged
ACCU2 = unchanged
قانون مهم کار با ACCU:

وقتی یک دستور L جدید اجرا می‌شود:

Old ACCU1 → ACCU2
New value → ACCU1

سپس عملیات ریاضی یا منطقی روی ACCUها انجام می‌شود و در بسیاری از عملیات نتیجه در ACCU1 قرار می‌گیرد. در نهایت با T می‌توان مقدار ACCU1 را در مقصد موردنظر ذخیره کرد.

خرید و تعمیرات تجهیزات زیمنس

برق موشن ارائه‌دهنده خدمات فروش، مشاوره، راه‌اندازی و تعمیرات درایوهای زیمنس است. برای خرید تجهیزات زیمنس یا دریافت خدمات تعمیرات درایو زیمنس، بخش موردنظر خود را انتخاب کنید.

خرید، تعمیرات و اجرای پروژه SIEMENS

جهت خرید HMI زیمنس، PLC زیمنس، اینورتر SIEMENS و سایر محصولات اتوماسیون صنعتی یا برای تعمیرات و اجرای پروژه‌های اتوماسیون صنعتی زیمنس با برق موشن تماس بگیرید.

فروش محصولات SIEMENS 09331234717 تعمیرات تجهیزات SIEMENS 09011234717 اجرای پروژه‌های اتوماسیون صنعتی 09381234717
برق موشن نمایندگی زیمنس | فروش، تعمیرات و اجرای پروژه‌های اتوماسیون صنعتی
  • دانلود منوال و کاتالوگ درایو امرن

    دانلود منوال و کاتالوگ درایو امرن شرکتOmronشناخته شده در حوزه اتوماسیون صنعتی، تجهیزات کنترلی و راهکارهای هوشمند تولید است. این برند ژاپنی با تمرکز بر دقت، پایداری، بهره وری انرژی و یکپارچگی در سیستم های صنعتی ، توانسته جایگاه ویژه ای در میان تولیدکنندگان ماشین آلات، خطوط تولید، صنایع فرآیندی و تجهیزات جابجایی به دست آورد. درایوهای […]

  • UDT در TIAPORTAL چیست؟

    UDT در TIAPORTAL چیست؟ تعریف UDT: در TIA Portal  زیمنس، UDT (User-Defined Data Type) یعنی نوع داده‌ای که خود برنامه‌نویس تعریف می‌کند. به زبان ساده، UDT مثل یک قالب (Template) است که چندین متغیر مرتبط را در یک ساختار قرار می‌دهد تا بتوان آن را بارها در پروژه استفاده کرد.  ایجاد یک UDT: پروژه  PLC […]

  • آموزش زبان STL -دستورات کانتر و دیتابلاک

    آموزش زبان STL زیمنس؛ Counter، Data Block و Logic Control آموزش STL در PLC زیمنس با مثال‌های کاربردی فصل چهارم: دستورات Counter در STL Counter یا شمارنده در PLC برای شمارش رویدادها استفاده می‌شود؛ برای مثال شمارش تعداد قطعات تولیدشده، تعداد دفعات عبور قطعه از سنسور، تعداد سیکل‌های دستگاه یا تعداد دفعات اجرای یک فرآیند. […]

  • راهنمای مدباس درایو اشنایدر ATV320

    آموزش Modbus اینورتر اشنایدر ATV320 تنظیمات Modbus RTU، پارامترهای ارتباطی، آدرس رجیسترها و Communication Scanner Modbus در اینورتر اشنایدر چیست؟ Modbus RTU یکی از پروتکل‌های رایج ارتباطی در اتوماسیون صنعتی است که امکان ارتباط بین PLC، اینورتر، HMI و تجهیزات صنعتی را فراهم می‌کند. اینورترهای سری Schneider Altivar ATV320 امکان ارتباط Modbus RTU را از […]

  • دانلود نرم افزار AUTO STATION PRO پی ال سی اینوت

    دانلود Auto Station Pro | نرم افزار برنامه نویسی PLC اینوت اگر برای برنامه نویسی، تنظیمات و راه اندازی PLCهای شرکت INVT به دنبال نرم افزار تخصصی هستید، در این صفحه می‌توانید Auto Station Pro را دریافت کنید. نرم افزار Auto Station Pro یکی از ابزارهای مهندسی مورد استفاده برای برنامه نویسی و پیکربندی PLCهای […]

  • تنظیم پارامتر درایو GD10 اینوت | کاتالوگ فارسی اینورتر GD10

    راهنمای تنظیم پارامتر GD10 با استفاده از این راهنما، شما می‌توانید فرآیند تنظیم پارامتر را با اطمینان کامل و بدون ترس از بروز خطا در سیستم انجام دهید. این منوال فارسی  به شما کمک می‌کند تا از ویژگی‌های اقتصادی و عملکردی GD10 بیشترین بهره را ببرید. از مرحله سیم‌کشی اولیه تا مرحله نهاییِ تنظیم پارامتر […]

  • دانلود منوال و کاتالوگ درایو میتسوبیشی

    فهرست مطالب   دانلود منوال و کاتالوگ درایو میتسوبیشی درایوهای Mitsubishi Electric یکی از تجهیزات پرکاربرد برای کنترل دور، گشتاور و جهت چرخش موتورهای الکتریکی در صنایع مختلف هستند. اینورترهای میتسوبیشی به دلیل کیفیت ساخت بالا، کنترل دقیق موتور، امکانات حفاظتی مناسب و عملکرد پایدار، در ماشین‌آلات صنعتی، خطوط تولید، پمپ‌ها، فن‌ها، نوار نقاله‌ها و […]

  • معرفی BOP G120 زیمنس

    l BOP درایو G120 چیست؟ راهنمای کامل BOP-2 زیمنس، دکمه‌ها، قابلیت‌ها و تنظیمات BOP درایو G120 یکی از تجهیزات مهم برای راه‌اندازی، تنظیم و مانیتورینگ درایوهای سری SINAMICS G120 زیمنس است. BOP که مخفف Basic Operator Panel است، یک پنل اپراتوری است که امکان دسترسی مستقیم به بسیاری از تنظیمات و اطلاعات درایو را فراهم […]

  • FBS PACK پی ال سی فتک

    FBS PACK پی ال سی فتک چیست؟ FBS-PACK یک ماژول حافظه (Memory Pack) برای PLCهای سری FBs شرکت FATEK است که برای ذخیره، انتقال و بازیابی برنامه PLC و داده‌ها استفاده می‌شود. این ماژول زمانی کاربرد دارد که بخواهید بدون استفاده از کامپیوتر، برنامه یک PLC را روی PLC دیگر کپی کنید یا از برنامه […]