147
1 ﺗﻮﺍﺑﻊFATEK PLC ﻓﻬﺮﺳﺖ ﺗﺎﯾﻤﺮ------------------------------------------------------------------------ - - 6 ﮐﺎﻧﺘﺮ------------------------------------------------------------------------ - - 7 SET -------- -------------------------------- ------------------------------- - - 8 RESET -------------------------------------------------------------------- - 8 0&1.MC & MCE ------------------------------------------------------- - - 8 2&3. SKIP START & SKIP END ---------------- ---------- ----------- 9 4.DIFFERENTIAL UP ------------------------------------------------ - - 9 5.DIFFERENTIAL DOWN ------------------------------------------ - -- 9 6.BIT SHIFT ------------------------ -------------------------------- ------ 10 7.UP/DOWN COUNTER ----- ------------------------------------------ 11 8.MOVE ------------------------------------------------------------------- 13 9. MOVE INVERSE ----------------------------------------------------- 14 10.TOGGLE SWITCH ------------------------------------------------ -- 14 11.ADDITION ----------------------------------------------------------- 15 12.SUBTRACTION ----------------------------------------------------- 15 13.MULTIPLICATION ------------------------------------------------- 16 14.Division --------------------------- ------------------------------------- 16 15.INCREMENT --------------------------------------------------------- 17 .DECREMENT 16 --------------------- ------------------------------- --- 18 17.COMPARE ----------------------- ------------------------------- ----- 19 18.LOGICAL AND ----------------------- ------------------------- ------ 20 19.LOGICAL OR -------------------------------------------------------- 21 20.BIN TO BCD CONVERSION -------------------------------------- 22 21.BCD TO BIN CONVERSION ------------------------ -------------- 23

FATEK PLCﻊﺑﺍﻮﺗ ﺖﺳﺮﻬﻓ - خانهworldbook.ir/wp-content/files/FATEK_Function_Description-worldbook...1 fatek plc ﻊﺑﺍﻮﺗ ﺖﺳﺮﻬﻓ 6-----ﺮﻤﯾﺎﺗ

  • Upload
    voquynh

  • View
    300

  • Download
    3

Embed Size (px)

Citation preview

1

FATEKتوابع PLC

فهرست

6--------------------------------------------------------------------------تایمر

7--------------------------------------------------------------------------کانتر

SET-------------------------------------------------------------------------8

RESET---------------------------------------------------------------------8

0&1.MC & MCE---------------------------------------------------------8

2&3. SKIP START & SKIP END-------------------------------------9

4.DIFFERENTIAL UP--------------------------------------------------9

5.DIFFERENTIAL DOWN---------------------------------------------9

6.BIT SHIFT--------------------------------------------------------------10

7.UP/DOWN COUNTER-----------------------------------------------11

8.MOVE-------------------------------------------------------------------13

9. MOVE INVERSE-----------------------------------------------------14

10.TOGGLE SWITCH--------------------------------------------------14

11.ADDITION-----------------------------------------------------------15

12.SUBTRACTION-----------------------------------------------------15

13.MULTIPLICATION-------------------------------------------------16

14.Division----------------------------------------------------------------16

15.INCREMENT---------------------------------------------------------17

.DECREMENT16-------------------------------------------------------18

17.COMPARE-----------------------------------------------------------19

18.LOGICAL AND------------------------------------------------------20

19.LOGICAL OR--------------------------------------------------------21

20.BIN TO BCD CONVERSION--------------------------------------22

21.BCD TO BIN CONVERSION--------------------------------------23

2

22.BREAK-----------------------------------------------------------------24

23.48-BIT DIVISON-----------------------------------------------------24

24.SUM--------------------------------------------------------------------25

25.MEAN------------------------------------------------------------------26

26.SQUARE ROOT------------------------------------------------------27

27.NEGATION-----------------------------------------------------------28

28.ABSOLUTE-----------------------------------------------------------28

29.SIGN EXTENSION--------------------------------------------------29

31.CRC16-----------------------------------------------------------------29

32.ADCNV----------------------------------------------------------------30

35.EXCLUSIVE OR (XOR)--------------------------------------------31

36.EXCLUSIVE NOR (XNOR)----------------------------------------32

37.ZONE COMPARE---------------------------------------------------33

40.BIT READ-------------------------------------------------------------34

41.BIR WRITE-----------------------------------------------------------35

42.BIT MOVE------------------------------------------------------------36

43.NIBBLE MOVE------------------------------------------------------37

44.BYTE MOVE---------------------------------------------------------38

45.EXCHANGE----------------------------------------------------------39

46.BYTE SWAP----------------------------------------------------------40

47.NIBBLE UNITE------------------------------------------------------41

48.NIBBLE DISTRIBUTE----------------------------------------------42

49.BITE UNITE----------------------------------------------------------43

50.BYTE DISTRIBUTE-------------------------------------------------44

51.SHIFT LEFT-----------------------------------------------------------45

52.SHIFT RIGHT---------------------------------------------------------46

53.ROTATE LEFT-------------------------------------------------------47

54.ROTATE RIGHT------------------------------------------------------48

55.BINARY TO GRAY--------------------------------------------------49

3

56. GRAY TO BINARY--------------------------------------------------49

57.DECODE----------------------------------------------------------------50

58.ENCODE----------------------------------------------------------------51

59.7-SEGMENT CONVERSION---------------------------------------52

60.ASCII CONVERSION------------------------------------------------54

61.H:M:S to SECONDS CONVERSION------------------------------55

62.SECOND to H:M:S----------------------------------------------------56

63.ASCII to HEX----------------------------------------------------------57

64.HEX toASCII-----------------------------------------------------------57

PROGRAM END----------------------------------------------------------58

65.LABLE------------------------------------------------------------------58

66.JUMP--------------------------------------------------------------------59

67.CALL--------------------------------------------------------------------59

68.RTS----------------------------------------------------------------------60

69.RTI-----------------------------------------------------------------------60

70.FOR----------------------------------------------------------------------61

71.LOOP END-------------------------------------------------------------62

74.IMMIDIATE I/O-------------------------------------------------------62

76.DECIMAL-KEY INPUT----------------------------------------------63

77.HEX-KEY INPUT-----------------------------------------------------64

78.DIGITAL SWITCH INPUT------------------------------------------65

79.7-SEG OUTPUT WITH LATCH------------------------------------66

80.MULTIPLEX INPUT--------------------------------------------------67

81.PULSE OUTPUT------------------------------------------------------68

82.PULSE WIDTH MODULATION-----------------------------------70

83.SPEED DETECTION-------------------------------------------------71

84.16/7-SEG DISPLAY---------------------------------------------------73

87.88.89.CUMULATIVE TIMER---------------------------------------75

90.WATCH DOG TIMER------------------------------------------------77

4

91.RESET WDT------------------------------------------------------------77

92.HSCTR-------------------------------------------------------------------78

93.HSCTW------------------------------------------------------------------79

94.ASCII WRITE-----------------------------------------------------------80

95.RAMP---------------------------------------------------------------------81

83---------------------------------------------------------------------توابع جدولی

100.REGISTER TO TABLE MOVE------------------------------------84

101.TABLE TO REGISTER MOVE------------------------------------86

102.TABLE TO TABLE MOVE-----------------------------------------87

103.BLOCK TABLE MOVE---------------------------------------------88

104.BLOCK TABLE SWAP----------------------------------------------89

105.REGISTER TO TABLE SEARCH---------------------------------90

106.TABLE TO TABLE COMPARE-----------------------------------92

107.TABLE FILL-----------------------------------------------------------93

108.TABLE SHIFT---------------------------------------------------------94

109.TABLE ROTATE-----------------------------------------------------96

110.QUENE------------------------------------------------------------------97

111.STACK------------------------------------------------------------------99

112.DRUM-------------------------------------------------------------------100

113.DATA SORTING------------------------------------------------------102

114.ZONE WRITE----------------------------------------------------------103

104--------------------------------------------------------------------توابع ماتریسی

120.MATRIX AND---------------------------------------------------------105

121.MATRIX OR------------------------------------------------------------106

122.MATRIX XOR---------------------------------------------------------107

123.MATRIX XNOR-------------------------------------------------------108

124.MATRIX INVERSE---------------------------------------------------109

125.MATRIX COMPARE-------------------------------------------------110

126.MATRIX BIT READ--------------------------------------------------112

5

127.MATRIX BIT WRITE-------------------------------------------------114

128.MATRIX BIT SHIFT--------------------------------------------------115

129.MATRIX BIT ROTATE-----------------------------------------------117

130.MATRIX BIT STATUS COUNT------------------------------------119

139.HSPWM------------------------------------------------------------------120

142.STOP PULSE OUTPUT-----------------------------------------------121

143.PSCNV-------------------------------------------------------------------121

145.ENABLE OF INTERRUPT-------------------------------------------122

146.DISABLE OF INTERRUPT-------------------------------------------123

147.MULTI-AXIS HIGH SPEED PULSE OUTPUT-------------------124

160.READ/WRITE FILE REGISTER------------------------------------133

200.CONVERSION of INT to FLOAT-----------------------------------134

201. FLOAT to INTEGER--------------------------------------------------135

202. FLOATING POINT NUMBER ADDITION-----------------------136

203. FLOATING POINT NUMBER SUBTRACTION----------------137

204. FLOATING POINT NUMBER MULTIPLICATION------------138

205. FLOATING POINT NUMBER DIVISION------------------------139

206. FLOATING POINT NUMBER COMPARE-----------------------140

207. FLOATING POINT NUMBER ZONE COMPARE--------------141

208. FLOATING POINT NUMBER SQUARE ROOT---------------142

209.SIN INSTRUCTION----------------------------------------------------143

210.COS INSTRUCTION---------------------------------------------------144

211.TAN INSTRUCTION--------------------------------------------------145

212.CHANGE SIGN OF FLOAT------------------------------------------146

213.FLOAT ABSOLUTE---------------------------------------------------147

6

RTIME

Tn: Timer Number

PV: Preset value of the timer

TB:Time Base

TUP :Time Up

CV:Current Value

)T0~T255.( تا است256 مجموعًا تعداد تایمرھا

0.01s,0.1s,1sوجود دارد با مقادیر)TB(سھ زمان پایھ

:ھا بھ صورت زیر می باشدTBتخصیص تایمرھای مختلف بھ

T0~T49 : 0.01s

T50~T199 : 0.1s

T200~T255 : 1s

:اسبھ زمان تایمر بدین صورت می باشدمح

TB×PV=زمان تایمر

شروع بھ افزایش 0از مقدار CV،تایمر فعال می شود) شود1(فعال شود"EN"ھرگاه پایھ

تا ماکزیمم مقدار CV مقدار M1957=0 برسد،آنگاه اگر PV تا زمانی کھ بھ مقدار می کند

PV)32767s( پیش می رود و اگرM1957=1، باشد CV بعد از رسیدن بھ مقدار PV،

.دیگر اضافھ نمی شود و بر روی ھمان مقدار ثابت می ماند

. بعد از اجرای برنامھ دیگر قابل تغییر نمی باشدPVمقدار

7

COUNTER

CN:Counter Number

CLR:Clear Control

CK:Clock

CUP:Count UP

و )C0~C199( بیتی وجود دارد 16 کانتر 200در مجموع

)C200~C255( بیتی 32 کانتر 56

کانترھای محافظتی ھستند کھ بھ ھنگام نقص توان C0~C130و C200~C239کانتر ھای

. دوباره راه اندازی شودPLC تا زمانی کھرا حفظ می کنندCVمقدار PLCیا توقف

) می شود0.( می شود PLC،reset ھنگام توقف CVمقدار در کانتر ھای دیگر ،

،برای فرکانسھای باالتر بد افزایش یا20Hz ماکزیمم فرکانس شمارش می تواند تا تابعبا این

.از کانتر سرعت باال استفاده کنید

CLR و ھرگاه غیر فعال می شوند)CKو CUP( ،پایھ ھای دیگر CLRبا فعال کردن پایھ

.کانتر شروع بھ فعالیت می کند باشد 0،

8

SET

D:رجیستر مورد نظر

. می شود1فعال شود تمام بیت ھای رجیستر ھای مشخص شده ، "EN"ھرگاه

RESET

. می شود0 مشخص شده ، فعال شود تمام بیت ھای رجیستر ھای"EN"ھرگاه

MC & MCE.1&0

MC:Master Control Loop Start

MCE:Master control Loop End

)N=0~127( وجود دارد MC حلقھ 128در کل

)N(ن می باشد مرتبط است و شماره حلقھ آنھا یکساMCE با یک تابع MCھر تابع

. قرار بگیردMC بعد از MCE کھ تابع باید توجھ کرد

. اجرا نمی شودMCتابعفعال شود،"EN"ھرگاه

دیگر اجرا تابع ھا می شوند و MC، 0تمام مقادیر خروجی ھا و تایمر ھا ،با فعال شدن

.نخواھند شد

MCE نیازی بھ ورودی ندارد چون وابستھ بھ MCاست .

9

SKIP START & SKIP END.3&2

)N=0~127( وجود داردSKP حلقھ ی 128

. قرار بگیرد SKP باید بعد از SKPEتابع و مرتبط استSKPEتابع با یک SKPتابعھر

. اجرا نخواھد شدSKPشود ،EN، 0وقتی

DIFFERENTIAL UP.4

Scan فعال شد ،خروجی بھ اندازه TG باعث می شود کھ ھرگاه ورودی تابعاین Time فعال

.باشد

DOWNDIFFERENTIAL.5

Scanدن ،خروجی بھ اندازه می شود،بھ محض غیر فعال ش فعالTGورودی Time

.می شودفعال

10

BIT SHIFT.6

بدین منظور .ت ،شیفت داد بیت بھ چپ یا راس1 می توان رجیستر مورد نظر را تابعبا این

CLR 0برای شیفت بھ راست . باشد0 باید"=L/R" 1و برای شیفت بھ چپ"=L/R"شود.

. بشود1 یا 0می توان تعیین نمود کھ بیت ایجاد شده پس از اعمال شیفت،"INB"با

:مثال

11

RCOUNTEDOWN/UP.7

.فاز اعمال شوداین کانتر می تواند بھ صورت دو

افزایش CK، CV،با فعال بودن "U/D="1باشد،اگر 0 باید CLRبرای شروع بھ شمارش

.باشد،کاھش می یابد"U/D="0و اگر می یابد

:مثال

12

13

MOVE.8

. انتقال داده می شودD بھ Sفعال شود،اطالعات موجود در رجیستر "EN"ھرگاه

:مثال

14

MOVE INVERSE.9

) تبدیل می شوند0ھا بھ 1 و 1ھا بھ 0(عکس شده S،اطالعات موجود در"EN"با فعال شدن

. منتقل می شودDوبھ

:مثال

TOGGLE SWITCH.10

. می شوند0 ھا 1 شده و D، 1 در رجیستر ھای موجودEN"،0"با فعال شدن

15

ADDITION.11

. ریختھ می شودD با ھم جمع شده و در Sbو Sa،داده ھای موجود در "EN"با فعال شدن

Sa+Sb=D

SUBTRACTION.12

. ریختھ می شودDشده و نتیجھ در Sb، منھای Sa،داده ھای موجود در "EN"با فعال شدن

Sa-Sb=D

16

MULTIPLICATION.13

ریختھ Dو نتیجھ در می شودSb،ضرب در Saداده ھای موجود در ،"EN"با فعال شدن

.می شود

Sa×Sb=D

Division.14

ریختھ می Dو نتیجھ در شده وSb،تقسیم بر Saداده ھای موجود در ،"EN"با فعال شدن

.شود

.می دھدError اجرا نمی شود و تابع صفر باشد،Sbھرگاه

17

INCREMENT.15

. اضافھ می شود D، +1بھ مقدار رجیستر تغییر کند،1 بھ 0از "EN"ھرگاه

فعال می شود و "OVF" شود،Dخارج شدن مقدار )range(اگر این افزایش ،باعث از رنج

. منفی می شودDمقدار

:مثال

18

16.DECREMENT

) می شود1-(. کم می شودD، 1مقدار رجیستر تغییر کند،از1 بھ 0از "EN"ھرگاه

فعال می شود و "UDF" شود،Dخارج شدن مقدار )range(اگر این کاھش باعث از رنج

. مثبت می شودDمقدار

:مثال

19

COMPARE.71

.مقایسھ می کند را Sb و Sa تغییر کند،مقدار 1 بھ 0از "EN"ھرگاه

فعال شده"a=b"اگر با ھم برابر باشند ،خروجی

فعال شده"a>b" باشد، خروجی Sa>Sbاگر

.فعال می شود"a<b" باشد،خروجی Sa<Sbو اگر

:مثال

>,,نداگر می خواھید نتایجی مان را بھ رلھ =و >،<،ابتدا نتایج بھ دست آورید<

.فرستاده سپس آنھا را از رلھ گرفتھ و با یکدیگر ترکیب کنید

20

LOGICAL AND.18

کرده و نتیجھ AND را با ھم Sb وSa،بیت ھای موجود در تغییر کند1 بھ 0از "EN"ھرگاه

. می ریزدDرا در

:مثال

21

19.LOGICAL OR

کرده و نتیجھ را OR را با ھم Sb وSa تغییر کند،بیت ھای موجود در1 بھ 0از "EN"ھرگاه

. می ریزدDدر

:مثال

22

20.BIN TO BCD CONVERSION

را کھ بھ صورت باینری است،بھ S تغییر کند،داده ھای موجود در 1 بھ 0از "EN"ھرگاه

. می ریزدD درآورده و در BCDصورت

BCD در Sاگر داده Rangeنباشد ،"ERR" فعال می شود و اطالعات قبلیDبدون تغییر

.باقی می مانند

:مثال

23

21.BCD TO BIN CONVERSION

BINبرعکس TO BCDعمل می کند .

:مثال

24

BREAK.22

بھ طور FOR-NEXTحلقھ ی . استفاده شودFOR-NEXT ھمراه حلقھ ی این تابع باید بھ

استفاده می BREAK بار اجرا می شود؛ اما اگر توقف حلقھ ضروری بود،از تابع Nمعمول ،

.کنیم

23.48-BIT DIVISON

بیتی 48مقدار را تقسیم برSa بیتی موجود در 48مقدار تغییر کند،1 بھ 0از "EN"ھرگاه

. می ریزدD کرده و خارج قسمت را در Sbموجود در

.فعال می شود"D=0"اگر نتیجھ صفر باشد

.فعال می شود"ERR" صفر باشدSbاگر

:مثال

25

24.SUM

. می توان مجموع چند رجیستر متوالی را بھ یک رجیستر دیگر منتقل کردتابعبا این

تعداد رجیسترھای متوالی تعیین می شود و N اولین رجیستر قرار داده می شود،در Sدر

. ریختھ می شودD تعداد رجیستر در Nمجموع این

:مثال

26

25.MEAN

. برای میانگین گرفتن از مقادیر چند رجیستر متوالی کاربرد داردتابعاین

.N قرار می گیرد،تعداد رجیسترھا در Sرجیسترشروع در

مقادیر موجود در رجیسترھا با ھم جمع شده و تقسیم بر تغییر کند،1 بھ 0از "EN"ھرگاه

. ریختھ می شودDنھا شده و نتیجھ در تعداد آ

. اجرا نمی شودتابعفعال شده و "ERR" نباشد ،256 تا 2 بین Nاگر مقدار

:مثال

27

26.SQUARE ROOT

Dرفتن اعشار آن در را گرفتھ و نتیجھ را بدون در نظر گSجذر عدد موجود در این تابع،

.می ریزد

. اجرا نمی شودتابعفعال شده و "ERR" منفی باشد،Sاگر مقدار

:مثال

28

27.NEGATION

ریختھ منفی می شود و دوباره در ھمان رجیسترD تغییر کند،مقدار 1 بھ 0از "EN"ھرگاه

.می شود

:مثال

28.ABSOLUTE

. می ریزدD را دوباره در Dاین تابع،قدر مطلق مقدار موجود د ر

:مثال

29

29.SIGN EXTENSION

بیتی 32ھمین مقدار "EN" بیتی قرار دارد ،با فعال شدن 16 مقدار یکDد ر

) استفاده می شودD+1برای این کار از رجیستر .(می شود

:مثال

31.CRC16

آدرس شروع محاسبات .ھ محاسبھ می کندشروع ب تغییر کند،1 بھ 0از "EN"ھرگاه این تابع،

بیان N قرار می گیرد ،تعداد رجیسترھایی کھ محاسبھ بر روی آنھا صورت می گیرد با Sدر

. ریختھ می شودD+1 و D و نتیجھ در رجیستر معادل می شود

0 بر روی اطالعات پیام ھای دریافتی است کھ نتیجھ چک کردن آنھا باید تابعکاربرد این

.فعال خواھد شد"ERR"در غیر این صورت بشود،

30

32.ADCNV

می خواند و ان را بھ )20mA~0(این تابع،ورودی آنالوگ بر حسب میلی آمپر را در رنج

. مناسب تر استPLCعددی تبدیل می کند کھ برای کار

. قرار می گیردbit(0~4095-12( باشد ،عدد تبدیل شده در رنج F/T"،0"ی وقتی ورود

. قرار می گیردbit(0~16383-14(عدد تبدیل شده در رنج باشد،F/T" ،1"ورودی و اگر

. ذخیره می کندD شروع کرده و نتایج را در N بھ طول Sاست، تبدیل را از "EN="1وقتی

:مثال

31

35.EXCLUSIVE OR (XOR)

کرده و XOR را با ھم Sb و Sa تغییر کند،بیت ھای موجود در 1 بھ 0از "EN"ھرگاه

. می ریزدDنتیجھ را در

ھمانند بودند ،بیت متناظر Sb و Saعملکرد بھ این صورت است کھ ھرگاه بیت ھای متناظر

. می شودD، 1،نتیجھ در بود 0 و آن یکی 1گاه یکی می شود و ھرD، 0در

.می شودفعال "D=0" ،صفر شود ، Dھرگاه تمام بیت ھا ی

32

36.EXCLUSIVE NOR (XNOR)

قبل است یعنیتابععملکرد این تابع بر عکس

D در 1 ،متناظر با Sb و Sa دو بیت ھمانند در

. می باشدD در 0 ،متناظر با Sb و Sa و دو بیت نا ھمانند در

33

37.ZONE COMPARE

.مقایسھ می شودSL و SU با مقدار S تغییر کند،مقدار 1 بھ 0از "EN"ھرگاه

ی شودفعال م"INZ"اگر بین این دو باشد،

فعال می شود"S>U"،باشد SUاگر بزرگتر از

.فعال می شود"S<L" ،باشدSLاگر کوچکتر از

>اگر SLSUباشد، ERRORداده خواھد شد .

:مثال

34

40.BIT READ

.تھ می شود ریخSداده ھای منبع در

: تغییر کند1 بھ 0از "EN"ھرگاه

Nبیت داده ی مینُا S در خروجی "OBT"قرار می گیرد .

N:0~15>= بیتی باشد S ، 16اگر داده ی

N:0~31>= بیتی باشد S ، 32اگر داده ی

.می دھدerrorدر غیر این صورت

:مثال

35

41.BIR WRITE

: تغییر کند1 بھ 0از "EN"ھرگاه

. ریختھ می شودDُامین بیت رجیستر N در "INB"مقدار

N:0~15>= بیتی باشد D ،16اگر عملوند

N:0~31>= بیتی باشد D ،32اگر عملوند

.می دھدerrorدر غیر این صورت

:مثال

. دست نخورده باقی می مانندB3تمام بیت ھا غیر از

36

BIT MOVE.42

: تغییر کند1 بھ 0از "EN"ھرگاه

Ns ُامین بیت رجیسترSبھ

Ndرجیستر بیت ُامینDھ می شود ریخت.

. فعال می شودerror نباشد، D وS متناسب با مقادیر Nd و Nsمقادیر ھرگاه

:مثال

37

43.NIBBLE MOVE

: تغییر کند1 بھ 0از "EN"ھرگاه

Nsنیبلُامین )Nibble=4bits( از رجیسترS را بھ

Ndنیبل از رجیستر مین ُاDمنتقل می کند .

:مثال

38

44.BYTE MOVE

: تغییر کند1 بھ 0از "EN"ھرگاه

Nsیت رجیستر ا ُامین بSبھ

Ndرجیستریت ا بُامینDریختھ می شود .

. فعال می شودerror نباشد، D وSب با مقادیر متناسNd و Nsمقادیر ھرگاه

:مثال

39

45.EXCHANGE

: تغییر کند1 بھ 0از "EN"ھرگاه

. شوند با ھم عوض میDb و Daمقادیر رجیستر

:مثال

40

46.BYTE SWAP

،بایت باال و پایین آن با ھم "EN" بیتی قرار می گیرد کھ با فعال شدن 16 یک رجیستر Dدر

.عوض می شوند

:مثال

41

47.NIBBLE UNITE

. بیتی مورد نظر قرار می گیرد 16 اولین رجیستر Sدر

. قرار می دھدD تعداد از رجیستر ھا را بھ ترتیب در رجیستر Nاین تابع نیبل ھای پایین

. پر می شود0 با D فرد باشد،باقی رجیستر Nاگر

. داده می شودerrorغیر این صورت باشد ، در 4~1 باید Nمقدار

:مثال

42

48.NIBBLE DISTRIBUTE

تعداد از نیبل ھای آن بھ رجیستر N بیتی قرار می گیرد کھ بھ ترتیب 16 یک رجیستر Sدر

D،D+1منتقل می شود... و.

را اشغال می کنند و باقی فضای این ... وD،D+1رھای این نیبل ھا ،نیبل پایین رجیست

. پر می شود 0رجیسترھای با

. فعال می شودerror نباشد ،N:1~4اگر

:مثال

43

49.BITE UNITE

.ار می گیرد اولین رجیستر از رجیستر ھای مورد نظر قرSدر

را بھ ترتیب در رجیستر Sی مشخص شده در تعداد از رجیستر ھاN،بیت ھا ی پایین این تابع

.قرار می دھد...،D،D+1ھای

:مثال

44

50.BYTE DISTRIBUTE

. گیرد اولین رجیستر از رجیستر ھای مورد نظر قرار میSدر

منتقل...،D،D+1یت ھای پایین رجیستر بھ با) تعدادN(یت ھا ی مبدا را این تابع،با

. می کند

:مثال

45

51.SHIFT LEFT

. رجیستری کھ قرار است شیفت داده شود قرار می گیردDدر

Nرا مشخص می کندچپ شیفت بھ ،تعداد.

وپر می کند"INB"جای بیت ھای شیفت داده شده را مقدار

N ُامین بیت باالی رجیستر بھ خروجی"OTB"می رود.

N:1~16>= بیتی باشد16اگر رجیستر مورد نظر

N:1~32>= بیتی باشد32اگر رجیستر مورد نظر

.می دھدerrorدر غیر این صورت

:مثال

46

52.SHIFT RIGHT

. رجیستری کھ قرار است شیفت داده شود قرار می گیردDدر

Nتعداد شیفت بھ راست را مشخص می کند، .

پر می کند و"INB"جای بیت ھای شیفت داده شده را مقدار

Nجی ُامین بیت پایین رجیستر بھ خرو"OTB"می رود.

N:1~16>= بیتی باشد16اگر رجیستر مورد نظر

N:1~32>= بیتی باشد32اگر رجیستر مورد نظر

.می دھدerrorدر غیر این صورت

:مثال

47

53.ROTATE LEFT

محل بیت ھا انجام می گیردوبا این تابع یک چرخش بھ سمت چپ در

منتقل می شود و چپ ترین بیت بھ راست ترین بیت

.می رود"OTB"یک کپی از آن بھ خروجی

N:1~16>= بیتی باشد16اگر رجیستر مورد نظر

N:1~32>= بیتی باشد32اگر رجیستر مورد نظر

.می دھدerrorدر غیر این صورت

:مثال

48

54.ROTATE RIGHT

با این تابع یک چرخش بھ سمت راست در محل بیت ھا انجام می گیردو

راست ترین بیت بھ چپ ترین بیت منتقل می شود و

.می رود"OTB"یک کپی از آن بھ خروجی

N:1~16>= بیتی باشد16اگر رجیستر مورد نظر

N:1~32>= بیتی باشد32جیستر مورد نظر اگر ر

.می دھدerrorدر غیر این صورت

:مثال

49

55.BINARY TO GRAY

: تغییر کند1 بھ 0از "EN"ھرگاه

ریختھ D در صورت کد گری،کدبندی می شود و نتیجھ بھSمقدار باینری موجود در رجیستر

.می شود

56. GRAY TO BINARY

: تغییر کند1 بھ 0از "EN"ھرگاه

ریختھ D بھ صورت باینری،کدبندی می شود و نتیجھ در Sمقدار گری موجود در رجیستر

.می شود

50

57.DECODE

...،D،D+1 ریختھ می شود و نتیجھ در رجیستر Sرجیستری کھ کدگشایی می شود در

. می شود

.شودبیت میD:2NLطول رجیستر

NLو طول آن آغاز شده )S(ُامین بیت رجیستر مبدا Nsمقداری کھ کدگشایی می شود از

از )B9(ُام9باعث فعال شدن بیت )9بھ عنوان مثال (معادل دسیمال این مقدار .بودبیت خواھد

.خواھد شد)Dِ(رجیستر مقصد

ین رنج متناسب با اNL یا Ns بیتی ریختھ می شود پس اگر مقدار 16 یک رجیستر Sدر

. داده خواھد شدerrorنباشد،

:مثال

51

58.ENCODE

و مقدار نھایی ریختھ می شودSاولین رجیستراز رجیستر ھای مورد نظر برای کدگذاری در

.Dکدگذاری شده در

.بیت ،تعیین می شودNL بھ طول Sُامین بیت رجیستر )Ns+1(مقدار کدگذاری از روی

لویت باال انجام می شود وباشد، کدگذاری با او"H/L="1ھرگاه

.، کدگذاری با اولویت پایین انجام می شودباشد"H/L="0ھرگاه

:مثال

1اولین بیت با مقدار

با اولویت باال برای کدگذاری

52

59.7-SEGMENT CONVERSION

آن معرف یک عدد ھگز است ) بیت4( بیتی قرار می گیرد کھ ھر نیبل16 یک رجیستر Sدر

ذخیره Dکھ این عدد در )seg-7کد ( بیتی تبدیل می شود8کھ از طریق این تبدیل ،بھ یک عدد

.می شود

: با حروف زیر،عالمت گذاری شده اندseg-7سگمنت ھای

می باشدseg-7 از a شود ،معادل نمایش سگمنت D، 1 از رجیستر B6ھرگاه بیت

... و می باشدseg-7 از b شود ،معادل نمایش سگمنت D، 1 از رجیستر B5ھرگاه بیت

. استN+1 روی آنھا انجام می گیردseg-7تعداد نیبل ھایی کھ تبدیل

.ده خواھد شدداerror است در غیر این صورت N، 0~3رنج موثر

(FB-7SG)اگر از FATEK 7-segبرای کاربرد نمایش رمزگشایی از استفاده می کنید،

. استفاده کنید84 و 59تابع ،برای سادگی طراحی می توانید از ترکیب seg-7طریق

53

seg-7جدول الگوی نمایشی

54

60.ASCII CONVERSION

: تغییر کند1 بھ 0از "EN"ھرگاه

آن ASCII،انجام می شود و کد S بھ روی اعداد وحروف ذخیره شده در ASCII تبدیل

. ذخیره می شودDحروف یا اعداد در

قرارASCII×2در ھر رجیستر ،.( بیتی ذخیره می شود16 رجیستر 6 حداکثر Sدر

.) می گیرد

می ASCII برای دستگاه ھای نمایشگری است کھ ورودی را بھ صورت کد تابعکاربرد این

.پذیرند

:مثال

55

61.H:M:S to SECONDS CONVERSION

: تغییر کند1 بھ 0از "EN"ھرگاه

ذخیره شده S~S+2ھ در رجیسترھای این تابع زمانی را کھ بھ صورت ساعت ،دقیقھ و ثانی

. ذخیره می کندDاست را بر حسب ثانیھ در رجیستر

.فعال می شود"D=0" باشد ،0اگر نتیجھ

. بر حسب ساعت استS+2 بر حسب دقیقھ و S+1 بر حسب ثانیھ ،Sمقدار ذخیره شده در

:مثال

56

62.SECOND to H:M:S

: تغییر کند1 بھ 0از "EN"ھرگاه

قبل عمل می کند و زمان بر حسب ثانیھ را بر حسب ساعت،دقیقھ و تابعاین تابع بر عکس

.ثانیھ تبدیل می کند

بر حسب D+2 بر حسب دقیقھ و D+1 ذخیره می شود بر حسب ثانیھ ،Dمقداری کھ در

.ساعت است

.فعال می شود"D=0" باشد ،S ،0اگر مقدار موجود در

ثانیھ می باشد در غیر این صورت S، -117968399~117964799مقدار مناسب برای

"OVF) "OVER RANGE(فعال می شود.

:مثال

57

63.ASCII to HEX

: کند تغییر1 بھ 0از "EN"ھرگاه

N تعداد از کدھای ASCII کھ در S ذخیره شده اند،بھ معادل ھگز خود تبدیل شده و در D

.ذخیره می شوند

بھ معادل ھگز )’A’~’F‘و’9’~’0‘( کاراکترھای ASCII تبدیل کد تابعھدف اصلی این

د می تواند کد ھگز را پردازش کنCPUآنھا می باشد و برای دستگاه ھایی کاربرد دارد کھ

نباشد،)’A’~’F‘و’9’~’0‘( کاراکترھای ASCII ،معادل Sبنابراین اگر مقدار موجود در

"ERR"فعال خواھد شد.

64.HEX toASCII

: تغییر کند1 بھ 0از "EN"ھرگاه

در ASCII را بھ صورت معادل S نیبل ھای تعداد ازN قبل عمل کرده و تابعبرعکس

D،D+1،...ذخیره می کند.

برای ASCII را بھ کد PLC در این است کھ اعداد ھگز پردازش شده توسط تابعکاربرد این

.ارتباط از طریق پورت ھا تبدیل کند

58

PROGRAM END

: تغییر کند1 بھ 0از "EN"گاه ھر

.این تابع فعال شده و بھ ابتدای برنامھ می رود

نادیده گرفتھ تابع،این "EN="0وقتی . دیگر اجرا نمی شوندENDتابعتمام برنامھ ھا بعد از

. اجرا نخواھند شدتابعمی شود و برنامھ ھای بعد از این

،بھ صورت خودکار وقتی CPUزیرا در برنامھ اصلی ضرورتی ندارد ENDبھ کار بردن

.بھ انتھای برنامھ رسید،بھ نقطھ شروع می رود

65.LABLE

صرفا عملی انجام نمی دھد و بھ عنوان یک برچسب آدرس برای برنامھ ھا عمل تابعخود این

.می کند

استفاده JUMP،CALL،INTERRUPTتابع ھایک نشانگر برای اجرای بھ عنوان ی

.ھمچنین برای آسان خوانی برنامھ می توان بھ کار برد.می شود

حرف می تواند 6 تا 1 نام برچسب متشکل از حروف و اعداد نوشتھ می شود کھ از Sدر

.داشتھ باشد

از .ار برده می شود بھ کINTERRUPTیتابع ھااسامی موجود در جدول زیر برای

.متفرقھ استفاده نکنید برنامھ ھا یLABLEآنھا بھ عنوان

59

66.JUMP

: تغییر کند1 بھ 0از "EN"ھرگاه

رنامھ از آنجا ادامھ پیدا ،نوشتھ شده پرش می کند وبتابعبرنامھ بھ برچسبی کھ نام آن در این

.می کند

. مواقعی کاربرد دارد کھ قسمتی از برنامھ تنھا تحت شرایط خاصی اجرا می شودتابعاین

پرش فقط در برنامھ اصلی یا زیربرنامھ ھا صورت می گیرد و پرش میان برنامھ اصلی و

.زیربرنامھ ھا انجام نمی گیرد

67.CALL

: تغییر کند1 بھ 0از "EN"ھرگاه

PLC تابع بھ زیربرنامھ ا ی می رود کھCALL از طریق LABLE آن تابع نوشتھ شده در

بربخورد RTSتابعرا فراخوانی می کند و بھ اجرای آن زیربرنامھ می پردازد تا زمانی کھ بھ

بھ CALLتابع در ان نوشتھ شده و از ادامھ CALLتابعبر می گردد کھ جایی ،سپس بھ ھمان

.اجرای برنامھ می پردازد

RTS)Returnتابعدر انتھای تمام زیربرنامھ ھا، باید :تذکر From Subroutine( وجود

. خاموش می شودCPU داده خواھد شد یا errorداشتھ باشد در غیر این صورت

یک زیربرنامھ را فراخوانی می کند ،آن زیربرنامھ نیز CALLاز طریق وقتی برنامھ اصلی

. مرحلھ می تواند انجام بپذیرد5می تواند زیربرنامھ ھای دیگر را فراخوانی کند و این کار تا

60

68.RTS

بعد از دیدن این تابع بھ PLCی نشان دادن پایان یک زیربرنامھ بھ کار می رود و برااین تابع

ھ فراخوانی شده است و بھ ی می رود کھ از طریق آن ، این زیربرنامCALLانتھای تابع

. می پردازدCALL بعد از تابع ھااجرای

69.RTI

در انتھای اجرای زیربرنامھ قرار RTS است با این فرق کھ RTSاین تابع شبیھ تابع

. قرار می گیردINTERRUPT در انتھای روتین RTIمی گیرد در حالی کھ

،زیربرنامھ مورد نظر را اجرا می کند،LABLE کھ از طریق یک CALLدر مقایسھ با

INTERRUPTھای سخت افزاری فعال شده و در کار ما از طریق سیگنال مستقیCPU

. بپردازدINTERRUPTوقفھ ایجاد می کند تا بھ انجام روتین

روتین اینتراپتی اجرا یک اینتراپت دیگر اتفاق بیافتد گر اینتراپتی در حین اجرای روتینا

.خواھد شد کھ در اولویت باالتر قرار دارد

.رانتھای روتین اینتراپت استفاده کنید دRTIتما از توجھ داشتھ باشید کھ ح

61

70.FOR

وFOR ،تشکیل یک حلقھ را می دھد کھ برنامھ ی میان NEXTتابع بھ ھمراه تابعاین

NEXT، مربوطھ Nای حلقھ ھ. بار اجرا می شودFORو NEXT دیگری نیز در میان حلقھ

. اولیھ می تواند قرار بگیردNEXT و FORھای

:بھ مثال توجھ کنید

62

71.LOOP END

FORبع ، تابع اگر قبل از این تا.،تشکیل یک حلقھ را می دھدFORاین تابع بھ ھمراه تابع

. باشد،این تابع نادیده گرفتھ می شودوجود نداشتھ

74.IMMIDIATE I/O

. می کندupdateاین تابع سیگنال ھای ورودی و خروجی را فورا ،

: تغییر کند1 بھ 0از "EN"ھرگاه

N سیگنال ورودی یا خروجی ،refreshخواھند شد .

.جدول زیر شماره ورودی و خروجی ھای مجاز برای استفاده این تابع را نشان می دھد

63

76.DECIMAL-KEY INPUT

را توسط کیبورد دریافت کند کھ این اعداد معادل با 9~0این تابع می تواند ورودی

IN~IN+98 یا 4بر اساس ترتیب کلیدھای فشرده شده،یک عدد دھدھی .رار می گیرند ق

. ذخیره شودDرقمی می تواند در رجیسترمشخص شده در

بیتی 32 رقمی باشد و اگر 4 بیتی باشد ،این عدد می تواند D، 16اگر رجیستر موجود در

. رقمی خواھد بود8باشد،

.شدبا"EN="1این تابع در صورتی عمل می کند کھ

بھ اندازه ی ھمان مدت فشرده شدن "KPR"ھرگاه ھریک از کلیدھا فشرده شود ، خروجی

. خواھد ماند1کلید،

مشخص می شود،KLھرگاه ھریک از اعداد فشرده شود ، رجیستر معادل آن عدد کھ در

خواھد ماند تا زمانی کھ عدد دیگری 1 خواھد شد و حتی اگر کلید مذکور رھا شود بازھم 1

. خواھد شدKL، 1؛آنگاه رجیستر معادل عدد فشرده شده جدید در ر از عدد قبلی فشرده شودغی

ذخیره می شود و ھرگاه عدد جدیدی فشرده Dبا فشرده شدن ھر عدد ، معادل دھدھی آن در

.شود ،عدد قبلی بھ سمت چپ شیفت پیدا می کند

64

77.HEX-KEY INPUT

ورودی دیگر 6 ،می تواند 9~0این تابع مشابھ تابع قبل است با این تفاوت کھ عالوه بر اعداد

. کھ ھرکدام می توانند معادل یک دستورعمل باشند)A~F(نیز دریافت کند

4 بھ PLC ورودی اول 4،ھمچنین اتصال سخت افزاری این تابع با تابع قبل متفاوت است

طوری متصل می شوند کھ اتصال ھر کدام از آنھا یکی از خروجی ھا را PLCخروجی اول

.بدھد

بھ اندازه ھمان مدت فشرده شدن "NKP"خروجی فشرده شود ،9~0ھرگاه ھریک از اعداد

بھ اندازه "FKP"،خروجی فشرده شوندA~Fو ھرگاه یکی از دستورات خواھد ماند1کلید ،

. خواھد ماند1 کلید ،ھمان مدت فشرده شدن

است و در جای دیگری نباید از آن استفاده تابع برای استعمال WRرجیستر ذخیره شونده در

.کرد

65

78.DIGITAL SWITCH INPUT

دستی ،بازخوانی می کند BCD رقم دھدھی را از سوئیچ 4بشود، این تابع "EN"1=ھرگاه

. ذخیره می کندDنھا را در و ا

.بیت ھای ھم رقم باید بھ ھم وصل شوند و از طریق یک دیود سری بشوند

.می شود"Dn="1 رقم از سوئیچ ھا خوانده شد ،4ھربار کھ

.فعال می شود"ERR"نباشد،)BCD)0~9د خوانده شده در رنج ز اعدااگر ھریک ا

PLCزیستوری باشد مورد استفاده باید دارای خروجی تران.

است و در جای دیگری نباید از آن استفاده تابع برای استعمال WRرجیستر ذخیره شونده در

.کرد

66

79.7-SEG OUTPUT WITH LATCH

،برای نمایش بھ S نیبل رجیستر مشخص شده در EN" ،4"1=ھرگاه با توجھ بھ شکل زیر ،

7-SEG نیبل 4.منتقل می شوندسری اول S+1 7 ،بھ-SEGسری دوم منتقل می شوند .

PLC ھایFACON دو نوع خروجی ترانزیستوری ھرNPNو PNPرا داراست .

67

80.MULTIPLEX INPUT

ورودی و8اده می کند کھ فقط ورودی استفN×8تابع از متد مالتی پلکس برای خواندن این

N خروجی از PLCرا استفاده می کند .

. شروع می شوندOT خروجی از N شروع می شوند و IN ورودی با 8

.ن خروجی انتخاب می شود و خط مربوط بھ آ می شود1خروجی ،Nدر ھر اسکن ،یکی از

OT0، مربوط بھ خط اول OT1 است... مربوط بھ خط دوم و.

ذخیره می شود،سپس Dمشخصھ در رجیستر N×8،)خطN(کن تمام خطوط پس از اس

"DN"اما فقط بھ اندازه یک اسکن ،یک می ماند.یک می شود.

68

81.PULSE OUTPUT

:MD=0وقتی

و "OUT"د کھ باعث پاک کردن ری ست می کن تغییر کند،ابتدا 1 بھ 0از "EN"ھرگاه

"DN" و صفر شدن رجیسترHOسپس . می شود"PAU"1اگر .را چک می کند"=PAU"

شروع بھ دادن پالس بھ Fr،در فرکانس "PAU="0اگر .باشد، عملی صورت نمی گیرد

. می کندDY یا UYخروجی

. می رودUYپالس بھ :U/D=1اگر

. می رودDYپالس بھ :U/D=0اگر

،ھر بار کھ پالسی بھ خروجی می رود اضافھ می شود تا زمانی کھ برابر HO رجیستر مقدار

در طول مدتی کھ .می شود "DN="1در این حالت . شودPCرجیستر یا بزرگتر از مقدار

. خواھد بود0می ماند در غیر این صورت "OUT="1پالس در حال انتقال است ،

تغییر یابد،فرستادن پالس متوقف 0تھ شود،اگر بھ نگاه داش"EN="1باید ھنگام انتقال پالس

مجددا "EN"وقتی .می شود،اما داده ھای دیگر تغییر نمی کنند "OUT="0می شود و

.تغییر می کند،عملیات از اول آغاز می شود1 بھ 0از

اگر می خواھید برنامھ را طوری متوقف کنید کھ باعث ری ست شدن کل برنامھ نشود،از

.برای توقف برنامھ استفاده کنید"PAU"ورودی

69

و تعداد پالس ھای نھایی )FR( بھ چک کردن مقدار فرکانس در طول انتقال پالس،این تابع

)PC(بنابراین تا زمانی کھ فرستادن پالس پایان نیافتھ،می توانید .می پردازدFr و PC را تغییر

وقتی .(ت کردن،قابل اجرا خواھد بودی ستنھا ھنگام ر")U/D("اما تنظیم جھت پالس .دھید

"EN" و بھ ھمان حالت باقی می ماند تا زمانی کھ انتقال پالس ) تغییر می کند1 بھ 0 از

.متوقف شود یا ری ست دیگری اتفاق بیافتد

ھدف اصلی این تابع ،راه اندازی استپ موتور با دو کنترل پالس جھت دار راست گرد و چپ

تیاج بھ گردش در یک سمت را داشتھ باشید،می توانید تنھا بھ یکی از اگر شما فقط اح.گرد است

.نخواھد کرد"U/D"در این حالت تابع دیگر توجھی بھ مقدار . مقدار بدھیدDY یا UYمقادیر

:MD=1وقتی

. اثر می گذاردCKو رجیستر "DIR"پالس خروجی بھ روی پایھ کنترلی

باید از خروجی ھای DY(DR) و UY(CK)ده شود و این تابع تنھا یک بار می تواند استفا

. گرفتھ شوندPLCترانزیستوری

32767~0: بیتی 16 برای رجیستر PCرنج موثر

2147483647~0: بیتی 32 برای رجیستر PCرنج موثر

.خواھد ماند"DN="0 ،بدون توقف پالس خواھد داد و PC=0اگر

FR:8~2000رنج موثر

فعال "ERR" رنج تعیین شده فراتر باشد،این دستور اجرا نشده و ازFr یا PCاگر مقدار

.می شود

70

82.PULSE WIDTH MODULATION

است و پریود ON میلی ثانیھ To می فرستد کھ OTاست،پالسی بھ خروجی "EN="1وقتی

. گرفتھ شودPLC ترانزیستوری باید از یک خروجیOT. میلی ثانیھ می باشدTpآن

. خواھد بودOFF است کھ در این موقعیت خروجی ھمیشھ بھ حالت To، 0حداقل مقدار

خواھد ON است کھ در این موقعیت خروجی ھمیشھ بھ حالت Tp، برابر Toحداکثر مقدار

.بود

.و تابع عمل نخواھد کرد فعال شده "To>Tp، "ERRاگر

.ر می تواند استفاده شوداین تابع تنھا یک با

71

83.SPEED DETECTION

بر حسب )مانند موتور(این تابع برای بھ دست آوردن سرعت گردش دستگاه ھای چرخنده

rpm ورودی 8 استفاده می شود؛ بھ این صورت کھ فرکانس سیگنال ورودی را از طریق

،)TI( و با کمک زمان نمونھ برداری بھ دست می آورد)PLC)X0~X7سرعت باالی

. را مشخص می کندSتعداد پالس ورودی

مطلوب است کھ ھنگام استفاده از این تابع ، طراحی بھ صورتی انجام گیرد کھ پالس بیشتری

مام سیگنال ھای در ھر چرخش تولید شود تا نتیجھ ی بھتری بھ دست آید،اما مجموع فرکانس ت

WDT)Watchدر غیر این صورت باشد،5KHzآشکار شده باید کمتر از Dog Timer(

]90تابع .[فعال می شود

)D0~D2( بیتی متوالی استفاده می کند16 برای ذخیره نتایج از سھ رجیستر Dرجیستر

. نتیجھ ی محاسبھ ذخیره می شودD0در

. مقدار شمارش کنونی ذخیره می شودD1در

. زمان نمونھ برداری ذخیره می شودD2در

D1 می کند کھ در رجیستر Sبرای ورودی ،شروع بھ محاسبھ ی تعداد پالس "EN="1وقتی

و بھ شمارش ادامھفعال شده)D2(در ھمین ھنگام تایمر نمونھ برداری .نشان داده می شود

مقدار محاسبھ شده .شود)TI( برابر با پریود نمونھ برداری D2 می دھد تا زمانی کھ مقدار

این کار . ذخیره شده ،سپس چرخھ ی محاسبھ ی جدیدی ،آغاز می شودD0نھایی در رجیستر

.شود ادامھ می یابد"EN="0تا وقتی

72

D0 اگر پریود نمونھ باشد32767 بیتی است پس حداکثر آن می تواند 16 یک رجیستر،

ممکن است از D0خیلی زیاد باشد،مقدار ی برداری خیلی طوالنی باشد یا سرعت پالس ورود

.شده و عملیات متوقف می شود"OVF="1 بیشتر شود در این صورت 32767

پالس تولید کند ،می توان سرعت را از معادلھ زیر nاگر ھر چرخش یک دستگاه چرخنده ،

:محاسبھ کرد

: سرعت

:مثال

:باشدn=60اگر

73

84.16/7-SEG DISPLAY

کاربرد دارد و می تواند کاراکترھای FBs-7SG2 و FBs-7SG1این تابع برای مدل ھای

. آماده کندseg-17 و seg-16مختلف را برای نمایش در

.ی مورد نظر برای تبدیل ، ذخیره می شود آدرس شروع کاراکتر ھاSدر

Ns مقداری برای، pointer از کجا شروع می شود است کھ مشخص می کند کاراکتر ،دقیقًا.

NLطول کاراکترمورد نظر را مشخص می کند.

Dآدرس شروع محل ذخیره ی نتایج تبدیل را مشخص می کند ،.

بیتی مربوطھ 16 بھ الگوی نمایشی )S(دا مب)bits-8( ھر یک کاراکتر بعد از اجرای تابع،

.تبدیل می شود

،این تابع تبدیل را اجرا می باشدMd=0و "EN"،0"=OFF" ،0"=ON="1وقتی

صفر seg-16، تمام بیت ھای مربوط بھ الگوی نمایشی Md=0و "OFF="1وقتی .کند

LED شود ،تمام متصلPLC در این حالت بھ seg-16این بدین معنیست کھ اگر .خواھند شد

.ھای آن خاموش خواھد بود

. صفر می شودseg-7تمام بیت ھای مربوط بھ نمایش ،Md=1و "OFF="1وقتی

. می شودseg ،1-16تمام بیت ھای مربوط بھ نمایش ،Md=0و "ON="1وقتی

. می شودseg ،1-7تمام بیت ھای مربوط بھ نمایش ،Md=1و "ON="1وقتی

74

75

87.88.89.CUMULATIVE TIMER

.این تابع مانند تایمر ساده است با این تفاوت کھ این تایمر قابلیت نگھ داشتن زمان را دارد

باشد،مقدار "TIM="0،مانند تایمر ساده عمل می کند،اما اگر "TIM="1در این تابع وقتی

شود،محاسبھ ی زمان از 1مجددًا "TIM"وفتی .می شودذخیره شده حفظ می شود و پاک ن

.ادامھ ی آخرین باری کھ نگھ داشتھ شده است ،ادامھ پیدا می کند

. کنید0را "EN"اگر تایمر احتیاج بھ ری ست شدن داشت ،

:این تابع دو خروجی دارد

"TUP"،می شود و1کھ بعد از اتمام محاسبھ ی زمان

"NUP" کھ معموًال وقتی"TUP"،می شود1صفر است .

از ترکیب ورودی ھا و خروجی ھا برای ایجاد تایمرھا با کارایی ھای مختلف می توانید

.استفاده کنید

76

:بھ عنوان مثال

وقتیX0، ONثانیھ ،10،بعد از شود YO،ONمی شود .

YO بھ طور عادی ON است،وقتی XO،ON ثانیھ 10 شود،بعد از YO، OFF

.می شود

YO بھ طور عادی OFFوقتی است،XO ،OFF ثانیھ10 شود،بعد از ،YO ،ON

.می شود

YO بھ طور عادی ON است،وقتی XO،OFF ثانیھ 10 شود،بعد از YO، OFF

.می شود

77

90.WATCH DOG TIMER

، محافظت ویژه ایست کھ از طرف سیستم اعمال WDTھدف اصلی از طراحی تایمر

ناگھان آسیب ببیند و راھی برای اجرای برنامھ یا PLCی CPUبرای مثال،اگر .می شود

I/O refreshبعد از سپری شدن زمان تعیین شده در نباشد،WDT، WDT بھ صورت

. ھا را خاموش می کندI/Oخودکار تمام

scanدر کاربردھای خاص ،اگر time خیلی طوالنی باشد ، ممکن است باعث ایجاد مشکالت

امنیتی یا عدم پیروی از کنترل شود کھ این تابع می تواند برای اعمال محدودیت مورد نیاز بھ

scanروی timeاستفاده شود ، .

: تغییر کند1 بھ 0از "EN"ھرگاه

WDT شمارش زمان N×10 msرا آغاز می کند و اگردر این مدت ،"EN" تغییر نکند پس

. خاموش می شودPLCاز زمان تعیین شده ،

شد برای ھمیشھ باقی می ماند و دیگر نیازی بھ ست کردن مجدد در WDT ،setیک بار کھ

.ھر اسکن ندارد

91.RESET WDT

بشود؛ EN"،1"وقتی

WDTشروع می کند0 شده و محاسبھ زمان را از ری ست .

78

92.HSCTR

دسترسی بھ مقدار کنونی کانتر سرعت باالی سخت افزاری

ره کانتر قرار می گیرد کھ بیان کننده ی مد ھای مختلف می باشد مانند پالس شماCNدر

.ABزیاد،جھت پالس و فاز /کم

برای کانترھای سخت افزاری است و می تواند شمارش ،مقایسھ و فرستادن اینتراپت 3~0مد

را بھ کار می گیرند در نتیجھ CPU ،اینتراپت 7~4اما مد . را انجام دھدCPUبدون مداخلھ ی

. ضعیف می شودPLCاگر فرکانس شمارش باال برود،سرعت اسکن

: تغییر کند1 بھ 0 از "EN"ھرگاه

مقدار گذاری شده بھ داخل CN موجود کھ بھ صورت سخت افزاری از طریق CVمقدار

. مربوطھ ریختھ می شودCVرجیستر

مربوطھ آنھا را PV و CVھا در سخت افزارو رجیستر ھای PV و CVنمودار زیر ترتیب

. نشان می دھدPLCدر

79

93.HSCTW

افزاریت باالی سخت مقدار از پیش تعیین کننده کانتر سرع ونوشتن مقدار کنونی

PV و CVھای سخت افزاری و رجیستر ھای CV ، PVبرای دانستن رابطھ ی بین

. مراجعھ کنید92 ،بھ تابعCPU در مربوطھ ی آنھا

. انتخاب کنید ،مد مورد نظر راCNدر

وCV قرار دھید ،تعیین کننده ی 0 را Dاگر

. می باشدPV قرار دھید،تعیین کننده ی 1 را Dاگر

: تغییر کند1 بھ 0از "EN"ھرگاه

یا CV تعیین می شود،بھ روی CN کھ توسط PV یا CVمحتویات رجیستر

PVسخت افزاری مربوطھ نوشتھ می شود .

ن دستور ،اجرای انواع مختلف شمارش دقیق یا کنترل یکی از کاربردھای ترکیب ای

می رسد،کانتر بھ سرعت سیگنال PV بھ CVبھ این صورت کھ وقتی مقدار .جایگیریھاست

.از طریق برنامھ سرویس اینتراپت می توان کاربردھای فوق را اجرا نمود.اینتراپت می فرستد

بھ صورت CVسخت افزاری ایجاد می شود،مقدار PLCوقتی وقفھ ای در منبع تغذیھ

نوشتھ می شود و وقتی توان مجددًا افزایش یافت،این CVاتوماتیک بھ داخل رجیسترھای

: مثال.مقادیر بھ جای خود بازگردانده می شوند

80

94.ASCII WRITE

کد ASCII،اطالعاتی را کھ بھ صورت باشد MD=0ر کند و تغیی1 بھ 0از "EN"ھرگاه

.منتقل می کند تا زمانی کھ بھ پایان فایل برسدPort1 شروع می شوند را بھ Sشده اند و از

. پردازش شودWinProladderمی تواند از طریق نرم افزار Sمحتویات فایل

ورت این تابع ،تبادل باشد،درغیراین صASCIIاطالعات پردازش شده باید بھ فرمت

اگر تمام فایل بھ صورت صحیح منتقل . خواھد شدERR"1"اطالعات را متوقف می کند و

. می شودDN" ،1"شود،خروجی

تنھا ھنگام توقف خروجی،. خواھد بودACT"،1"در طول مدت انتقال اطالعات ،خروجی

error، یا کنسل کردن "ACT" بر می گردد0بھ .

بھ صورت پی در پی بھ کار برده شود اما در یک زمان مشخص ، تنھا یکی نداین تابع می توا

.از آنھا اجرا خواھد شد

بشود؛این تابع انتقال اطالعات را متوقفPAU" ،1"وقتی این تابع در حال اجراست ،اگر

. ،انتقال اطالعات ادامھ می یابد0بھ "PAU" می کند؛ با برگشتن

بشود؛این تابع انتقال اطالعات را رھا ABT" ،1"ست ،اگر وقتی این تابع در حال اجرا

.، سپس توانایی اجرای تابع بعدی را خواھد داشتمی کند

81

95.RAMP

نالوگتابع شیب برای خروجی دیجیتال بھ آ

باشد و در جای دیگری استفاده 0.01s کھ زمان پایھ آن اده می شود ، تایمری قرار دTnدر

.نشود

PV شیب می باشد برای تنظیم تایمر.

SL حد پایین شیب وSuحد باالی شیب را مشخص می کند .

: تغییر کند1 بھ 0از "EN"ھرگاه

Dدر رجیسترSLمقدار "U/D="1سپس اگر . می شود0 ،ری ست شده و Tnابتدا تایمر

PV/SL-Su بھ اندازه D مقدار 0.01s، ھر M1974=0ذخیره می شود و وقتی رجیستر

.افزایش می یابد

.می شود"ASU="1 رسید،خروجی Su بھ Dوقتی مقدار

، 0.01s، ھر M1974=0وقتی . ذخیره می شودD در رجیستر Su،مقدار "U/D="0اگر

.بد کاھش می یاPV/SL-Su بھ اندازه ی Dمقدار

. می شود"ASL="1رسید، خروجی SL بھ Dوقتی مقدار

بعد از اینکھ .اندازه گرفتھ می شود"U/D" ،جھت شیب 1 بھ 0از "EN"ھمزمان با تغییر

.فایده ای ندارد"U/D" شروع بھ شیب گرفتن کرد،تغییر Dخروجی

کنید و ھنوز "PAU="0وقتی .بشود"PAU="1اگر نیاز بھ توقف عمل شیب دادن بود ،باید

.شیب دادن بھ پایان نرسیده باشد،عمل شیب دادن تا ھنگامی کھ پایان یابد ادامھ خواھد یافت

"ERR"داده شود،در غیر این صورت تابع اجرا نشده و خروجیSL باید بزرگتر از Suمقدار

. خواھد شد1،

82

:مثال

83

جدولیتوابع

) بیتی32 یا 16(دو یا چند رجیستر متوالی است یک جدول شامل

)L.(تعداد رجیستر ھا کھ تشکیل یک جدول را می دھند،طول جدول می نامند

ھ ، توابع جدولی بیشتر برای پردازش داده ھا استفاده می شود،مانند انتقال ، کپی ، مقایساجرای

.بین جدول ھا و رجیستر ھا یا بین جدول ھا...جستجو و

استفاده می کنند تا مشخص کنند کدام Pointerدر میان توابع جدولی ،بیشتر توابع از یک

بیتی ، یک رجیستر 32 و 16 برای ھر دو جدول Pointer.رجیستر جدول ،ھدف اجرا باشد

. استPointer، 0~L-1رنج موثر . بیتی است16

ھنگام عملیات جدولی ،عملیاتی مانند شیفت بھ راست یا چپ،چرخش بھ راست یا چپ بھ در

این ترتیب مشخص می شود کھ جھت بھ سمت رجیستر باالتر باشد،چپ گفتھ می شود و اگر

.جھت بھ سمت رجیستر پایین تر باشد راست گفتھ می شود

84

100.REGISTER TO TABLE MOVE

: تغییر کند1 بھ 0از"EN"ھرگاه

ن بھ آPointerبھ داخل رجیستری از جدول ریختھ می شود کھ )Rs(محتوات رجیستر مبدا

.اشاره می کند

.)L( رجیستر شروع جدول قرار می گیرد بھ طول Tdدر

ار مقد"CLR="1اگر.را چک می کند"CLR"این تابع قبل از اجرا ، ابتدا سیگنال ورودی

Pointer)Pr(اگر مقدار .را چک می کندPr بھ L-1رسیده بود ) یعنی بھ آخرین رجیستر

. می شود و اجرای این تابع پایان می یابدEND" ،1"خروجی)جدول اشاره می کرد

باشد، INC"،1"اگر.را چک می کند"INC" باشد،سپس مجددًا L-1 کمتر از Prاگر مقدار

می تواند بدون اینکھ تحت تاثیر ورودی ھای دیگر "CLR". افزایش می یابدPrمقدار

.باشد،مستقًال اجرا شود

خواھد شد و این تابع اجرا ERR"،1" است ، فراتر از این رنج Pointer:0~L-1رنج موثر

.نمی شود

85

:مثال

86

101.TABLE TO REGISTER MOVE

و محتویات یک رجیستر از جدول مورد نظر را بھ ابع بر عکس تابع قبل عمل کرده این ت

.رجیستر مقصد منتقل می کند

:مثال

87

102.TABLE TO TABLE MOVE

قرار می گیرد و ، رجیستر شروع جدول مبداTsدر

.ار می گیرد، رجیستر شروع جدول مقصد قر، Tdدر

Lطول جدول مقصد و مبدا را مشخص می کند ،.

: تغییر کند1 بھ 0از"EN"ھرگاه

بھ آن اشاره می کند،بھ رجیستر معادلش در جدول Prمحتویات آن رجیستری از جدول مبدا کھ

.مقصد منتقل می شود

88

103.BLOCK TABLE MOVE

: تغییر کند1 بھ 0از"EN"ھرگاه

ھای جدول مبدا بھ داخل رجیسترھای معادلشان در جدول مقصد،کپی محتویات رجیستر

.می شوند

:مثال

89

104.BLOCK TABLE SWAP

: تغییر کند1 بھ 0از"EN"ھرگاه

،جا بھ جا bمحتویات رجیسترھای معادلشان در جدول با aمحتویات رجیسترھای جدول

.می شوند

:مثال

90

105.REGISTER TO TABLE SEARCH

: تغییر کند1 بھ 0از"EN"ھرگاه

رسیده است،جستجو از اولین رجیستر L-1بھ )Pointer)Prیا مقدار "FHD="1وقتی

.د آغاز می شوTsجدول

باشد،جستجو از اولین رجیستر ،بعد از جایی کھ L-1 کمتر از Prو مقدار "FHD="0وقتی

Prاشاره می کند ، شروع می شود .

متفاوت باشد Rs،جستجو یرای یافتن اولین رجیستری کھ محتوای آن با "D/S="1وقتی

.صورت می گیرد

یکسان باشد Rsی آن با ،جستجو یرای یافتن اولین رجیستری کھ محتوا"D/S="0وقتی

.صورت می گیرد

. می شودFND" ،1"بعد از یافتن اطالعات مورد نظر ،جستجو متوقف می شود و خروجی

فعال شده "END" رسید چھ محتوای مورد نظر را یافتھ باشد چھ نیافتھ باشد ،L-1 بھ Prوقتی

.و جستجو متوقف می شود

91

:مثال

92

106.TABLE TO TABLE COMPARE

و Taز دو جدول اوت کھ محتوای رجیستر ھای معادل ااین تابع مانند تابع قبل است با این تف

Tbبا ھم مقایسھ می شوند .

93

107.TABLE FILL

: تغییر کند1 بھ 0از"EN"ه ھرگا

. را پر می کندTd، تمتم رجیسترھای جدول Rsمحتوای رجیستر

کاربرد اصلی این تابع در صفر کردن کل یک جدول یا یکی کردن محتوای تمام رجیستر ھای

.یک جدول است

94

108.TABLE SHIFT

: تغییر کند1 بھ 0از"EN"ھرگاه

وقتی . ، یک رجیستر بھ سمت چپ یا راست شیفت پیدا می کندTsمحتوای رجیسترھای جدول

1"=L/R" 0شیفت بھ چپ صورت می گیرد و وقتی"=L/R" شیفت بھ راست صورت می

.گیرد

،IW در شدهفضای خالی ایجاد شده بعد از اعمال شیفت ،توسط رجیستر یا عدد ثابت مشخص

.پر می شود

محتوای رجیستری کھ پس از اعمال شیفت از جدول خارج می شود ،بھ رجیستر مشخص شده

. منتقل می شودOWدر

. ذخیره شودTs یا خود Tdجدول شیفت داده شده می تواند در جدول

95

: مثال

96

109.TABLE ROTATE

: تغییر کند1 بھ 0از"EN"ھرگاه

یستر بھ سمت چپ یا راست می چرخند و نتیجھ در ، یک رجTsمحتوای رجیسترھای جدول

Tdذخیره می شود .

،چرخش بھ چپ صورت می گیرد"L/R="1وقتی

.،چرخش بھ راست صورت می گیرد"L/R="0وقتی

:مثال

97

110.QUENE

QUENE نیز نوعی جدول است،با این تفاوت کھ شماره رجیسترھای جدول معمولی از

0~L-1 است اما شماره جدول ھای QUENE، 1~L است و Pr=0 برای نمایش خالی بودن

QUENEاستفاده می شود .

:QUENEر د

،اولین داده ای خواھد بود )Pushعمل (، قرار می گیرد QUENEھمان داده ای کھ ابتدا در

)PoPعمل .( برداشتھ می شودQUENEکھ از

بیتی تشکیل شده کھ از رجیستر مشخص شده در 32 یا 16 رجیستر L از QUENEیک

QU می شوند شروع.

می شود و QUENE ،push بھ داخل IW، محتوای "I/O="1ھرگاه

می OW، pop بھ داخل )قدیمی ترین(QUENE،اولین داده ی درون "I/O="0ھرگاه

.شود

push و پس از ھر می شودQUENE ،push ،ھمیشھ بھ داخل اولین رجیستر IWمحتوای

کردن ،قدیمی ترین محتوا از pop و ھمیشھ ھنگام اضافھ می شود)pointer)Prیکی بھ مقدار

. کم می شودPr می شود و یکی از مقدار OW ، pop بھ QUENEداخل

.خواھد شد"EPT="1، ) باشدPr=0( خالی از داده باشد QUENEاگر

"FUL="1 ،) اشاره کندQUENE از L بھ رجیسترPr( کامًال پر باشد QUENEاگر

.خواھد شد

.خواھد شد"ERR="1، داده شودL~0 فراتر از رنج Prاگر مقدار

98

:مثال

99

111.STACK

STACKجدولی مانند نیزQUEUE با یک تفاوت است .

می شودpop می شود،اولین داده ای خواھد بود کھ push اولین داده ای کھ QUEUEدر

pop می شود،اولین داده ای خواھد بود کھ push کھ ،آخرین داده ایSTACKاما در

.می شود

100

112.DRUM

: تغییر کند1 بھ 0از"EN"ھرگاه

شروع می شوند ، Ts و یک جفت از رجیسترھای جدول کھ از Rsمقایسھ بین محتوای

کھ بھ آن Ts1 کھ بھ آن حد پایین و Ts0بھ عنوان مثال یک جفت شامل (. گیردصورت می

ذخیره D0 و اولین جفت ، نتیجھ در Rsمقایسھ بین بعد از).،می شودحد باال می گویند

ذخیره می شود D1 و دومین جفت صورت می گیرد و نتیجھ در Rsمی شود،سپس مقایسھ بین

...و

1 متناظر با آن جفت ،Dد باال و حد پایین یک جفت باشد ،بیت د رمحدوده حRsاگر مقدار

. خواھد بود0 می شود در غیر این صورت

Lجفت ھا را مشخص می کند در این تابع تعداد .

. با تمام جفت ھا مقایسھ شودRsمقایسھ تا زمانی ادامھ می یابد کھ

"ERR"حد پایین باشد، است و در جفتی ،حد باال کوچک تر از M1975=0وقتی رجیستر

. خواھد بود0فعال می شود و نتیجھ مقایسھ برای آن جفت ،

محدودیتی برای بزرگتر یا کوچکتر بودن حد باال نسبت بھ ، است M1975=1وقتی رجیستر

الکترونیکی چرخندهDRUMاین حالت می تواند برای سوئیچ .حد پایین وجود ندارد

360oای ،کاربرد داشتھ باشد.

101

این تابع در واقع سوئیچی برای محورھای الکترونیکی محسوب می شود کھ اگر بھ ھمراه

IMMIDIATE و دستور INTERRUPTبرنامھ I/O بھ کار گرفتھ شود ،می تواند محور

.الکترونیکی دقیقی بھ دست دھد

: مثال

102

113.DATA SORTING

: تغییر کند1 بھ 0از"EN"ھرگاه

شروع می شوند ،بھ صورت افزایشی یا کاھشی S را کھ از Lرجیستر ھا بھ تعداد این تابع

. ذخیره می کندDمرتب می کند و نتیجھ را در

رجیسترھا بھ صورت افزایشی مرتب می شوند و"A/D="1اگر

.می شوند رجیسترھا بھ صورت کاھشی مرتب "A/D="0اگر

L 1 باشد در غیر این صورت 127~2 باید در رنج"=ERR."

:مثال

103

114.ZONE WRITE

: تغییر کند1 بھ 0از"EN"ھرگاه

.می کند)0(resetیا )set)1د را شروع می شونD تعداد از رجیسترھا کھ از Nاین تابع

. می کندresetباشد، "1/0="0 می کند و اگر setباشد،"1/0="1اگر

:مثال

. می شوند0 شده و R0~R9،reset،رجیستر ھای X0=1در این مثال ھرگاه

104

توابع ماتریسی

بھ تعداد رجیسترھای . بیتی تشکیل شده است16 یا چند رجیستر پی در پی 2یک ماتریس از

.نمایش می دھند)L( طول ماتریس می گویند و با ،تشکیل دھنده ماتریس

.،بیت می باشددارد و واحد اصلی اجرای این توابع )آرایھ( بیت L×16پس یک ماتریس

عمدتًا برای پردازش گسستھ صورت می گیرد مانند انتقال ،کپی، مقایسھ ، توابع ماتریسی

.جستجو و غیره یک آرایھ بھ ماتریس یا ماتریس بھ ماتریس

بیتی نیاز دارند تا بھ یک آرایھ pointer(16(در میان این توابع ،بیشتر آنھا بھ یک اشاره گر

.دخاص در یک ماتریس اشاره کنن

. استpointer، 0~16L-1رنج موثر این

جھت اجرای دستوراتی مانند شیفت و چرخش،حرکت بھ سمت بیت کم ارزش را جھت راست

.می دانیم و حرکت یھ سمت بیت با ارزش تر را جھت چپ می دانیم

105

120.MATRIX AND

: تغییر کند1 بھ 0از"EN"ھرگاه

Md نتیجھ در و کرده AND را با یکدیگر Mb و Maبیت ھای متناظر در ماتریس

. ریختھ می شود

: مثال

106

121.MATRIX OR

: تغییر کند1 بھ 0از"EN"ھرگاه

Md کرده و نتیجھ در OR را با یکدیگر Mb و Maای متناظر در ماتریس بیت ھ

. ریختھ می شود

:مثال

107

122.MATRIX XOR

: تغییر کند1 بھ 0از"EN"ھرگاه

Md کرده و نتیجھ در XORیکدیگر را با Mb و Maبیت ھای متناظر در ماتریس

.ریختھ می شود

: مثال

108

123.MATRIX XNOR

: تغییر کند1 بھ 0از"EN"ھرگاه

Md کرده و نتیجھ در XNOR را با یکدیگر Mb و Maبیت ھای متناظر در ماتریس

.تھ می شودریخ

: مثال

109

124.MATRIX INVERSE

: تغییر کند1 بھ 0از"EN"ھرگاه

و نتیجھ در ) می شوند0 ھا 1 شده و 1 ھا 0( معکوس می شوندMsماتریس تمام بیت ھای

Mdذخیره می شود .

: مثال

110

125.MATRIX COMPARE

: تغییر کند1 بھ 0از"EN"ھرگاه

رسیده است،مقایسھ بین دو بیت متناظر از 16L-1 بھ Prیا مقدار "FHD="1وقتی

.روع می شود، ش)اولین بیت ( ،از آغاز ماتریس ھا Mb و Maماتریس ھای

Pr باشد،مقایسھ از اولین بیت ،بعد از جایی کھ 16L-1 کمتر از Prو مقدار "FHD="0وقتی

.اشاره می کند،شروع می شود

،مقایسھ برای یافتن اولین جفت بیت متناظری کھ محتوای آنھا متفاوت باشد "D/S="1وقتی

.صورت می گیرد

بیت متناظری کھ محتوای آنھا یکسان باشد ،مقایسھ برای یافتن اولین جفت"D/S="0وقتی

.صورت می گیرد

. می شودFND"،1"بعد از یافتن اطالعات مورد نظر ،مقایسھ متوقف می شود و خروجی

فعال "END" رسید،چھ بیت ھای مورد نظر را یافتھ باشد چھ نیافتھ باشد،16L-1 بھ Prوقتی

.شده و مقایسھ متوقف می شود

111

: مثال

112

126.MATRIX BIT READ

: تغییر کند1 بھ 0از"EN"ھرگاه

.ظاھر می شود"OTB" بھ آن اشاره می کند،در خروجی Prمقدار بیتی کھ

می کند 0 را Pr، مقدار "CLR="1ر را چک می کند ،اگ"CLR"این تابع قبل از اجرا ،ابتدا

اگر . را چک می کند Prبعد از آن دوباره مقدار .می فرستد"OTB"سپس بیت را بھ خروجی

خروجی )رین بیت ماتریس اشاره می کردخیعنی بھ آ( رسیده بود16L-1 بھ Prمقدار

"END"،1می شود و اجرای این تابع پایان می یابد .

باشد ،INC"،1"اگر .را چک می کند "INC" باشد،مجددًا 16L-1 کمتر از Prاگر مقدار

" افزایش می یابدPrمفدار .CLR"بدون ایت کھ تحت تاثیر ورودی ھای دیگر باشد،می تواند

.مستقًال اجرا شود

خواھد شد و این تابع اجرا "ERR="1 است،فراتر از این رنج Pr ،0~16L-1رنج موثر

.نمی شود

113

:مثال

114

127.MATRIX BIT WRITE

بھ "INB"با این تفاوت کھ ھنگام اجرا ،بیت مشخص شده در ورودی مانند تابع قبل است

. اشاره می کند ، ریختھ می شودPrروی بیتی کھ

: مثال

115

128.MATRIX BIT SHIFT

: تغییر کند1 بھ 0از"EN"ھرگاه

. ذخیره می شودMd بیت شیفت پیدا می کنند و نتیجھ در Ms ،1بیت ھای ماتریس

باشد،شیفت بھ چپ صورت می گیرد و"L/R="1اگر

.ت صورت می گیرد باشد،شیفت بھ راس"L/R="0اگر

پر می شود،محتوای بیتی کھ پس از "INB"بیت خالی ایجاد شده بعد از اعمال شیفت ،توسط

.منتقل می شود"OTB"اعمال شیفت از جدول خارج می شود،بھ خروجی

116

: مثال

117

129.MATRIX BIT ROTATE

: تغییر کند1 بھ 0از"EN"ھرگاه

Md یک بیت بھ سمت راست یا چپ می چرخند و نتیجھ در ماتریس ،Msبیت ھای ماتریس

.ذخیره می شود

.، چرخش بھ چپ صورت می گیرد"L/R="1وقتی

.، چرخش بھ راست صورت می گیرد"L/R="0وقتی

چرخش از یک سر ماتریس خارج شده و در سر دیگر آن قراریک کپی از بیتی کھ بر اثر

.نیز می رود"OTB"ھ خروجی می گیرد،ب

118

: مثال

119

130.MATRIX BIT STATUS COUNT

: تغییر کند1 بھ 0از"EN"ھرگاه

ذخیره D را شمرده و تعداد در Ms موجود در ماتریس 1 بیت ھای باشد،تعداد"1/0="1اگر

.می شود

ذخیره D را شمرده و تعداد در Ms موجود در ماتریس 0باشد،تعداد بیت ھای "1/0="0اگر

.می شود

. خواھد شدD=0" ،1"اگر ھیچ تعداد از آن بیت مورد نظر موجود نباشد،

: مثال

120

139.HSPWM

، این تابع پالسی را بھ خروجی می فرستد کھ فرکانس و پریود آن بر اساس "EN="1وقتی

.شودفرمول ھای زیر محاسبھ می

: خروجی مورد نظر انتخاب می شودPWدر

)0=Y0 , 1=Y2 , 2=Y4 , 3=Y6(

:لوشن یک دوره پالس تعیین می شودو ، رزRsدر

0=1/100 , 1=1/1000

:Rs=1/100اگر )1

:Rs=1/1000اگر )2

:پریود

. عرض یک پالس در ھر دوره مشخص می شودORدر

Rs=1/100:OR=0~100برای

Rs=1/1000:OR=0~1000برای

121

142.STOP PULSE OUTPUT

.این تابع فرستادن پالس بھ خروجی را متوقف می کند

143.PSCNV

یا در جھ، mmبر حسب .این تابع مقدار پالس جاری را بھ مقداری برای نمایش تبدیل می کند

inchو پالس .

. اجرا می شود،می تواند تبدیل را انجام دھد140این تابع فقط وقتی تابع

122

145.ENABLE OF INTERRUPT

: تغییر کند1 بھ 0از"EN"ھرگاه

آن در دستور نام )LABLE(سب اینتراپتی را فعال می کند کھ برچاین تابع برنامھ فرعی یا

.برده شده است

LABLEاینتراپت ھای مختلف در جدول زیر آورده شده است .

123

146.DISABLE OF INTERRUPT

آن در تابع نام برده شده است،غیر فعال می LABLEاین تابع برنامھ فرعی یا اینتراپتی را کھ

.کند

124

147.MULTI-AXIS HIGH SPEED PULSE OUTPUT

خطی برای کنترل حرکت چند محوره ،استفاده interpolation برای پشتیبانی از این تابع

ما ھر نقطھ .می شود کھ شامل برنامھ حرکتی کھ توسط برنامھ متنی نوشتھ شده است،می شود

رجیستر برای کد کردن در اختیار 15ھر استپ .می نامیم)step(از مکان را یک استپ

.دارد

. خطی ھمزمان، پشتیبانی کندinterpolation محور را برای 4این تابع می تواند تا

. خطی دو مجموعھ ی دو محوریinterpolationیا

)Gp0= محورھایPs0 و Ps1 و Gp1= محورھایPs2 و Ps3(

خروجی A/B یا U/Dتا در یکی از مدھای بشوندخروجی ھا برای این تابع باید تنظیم

.مناسب بدھند در غیر این صورت مانند خروجی ھای عادی رفتار خواھند کرد

(UP/DOWN)مد U/D:Y0 ( Y2,Y4,Y6)و پالس باالرونده می فرستد .

Y1 (Y3,Y5,Y7) دپالس پایین رونده می فرست و.

A/B:Y0مد ( Y2,Y4,Y6) و پالس فاز Aمی فرستد .

Y1 (Y3,Y5,Y7) و پالس فاز Bمی قرستد .

125

ارتباطات برای کنترل موقعیت

M1991ON:پالس را کند کرده سپس قطع می کند.

OFF:فورًا پالس را قطع می کند.

M1992ON:Ps0آماده است .

OFF:Ps0فعال است .

M1993ON:Ps1آماده است .

OFF:Ps1فعال است .

M1994ON:Ps2آماده است .

OFF:Ps2فعال است .

M1995ON:Ps3آماده است .

OFF:Ps3فعال است .

M1934ON:Gp0 آخرین stepرا تمام کرد .

M1935ON:Gp1 آخرین stepرا تمام کرد .

M2000:ONند ، چند محور ھمزمان عمل می کن.

DR4068 سرعت بردارGp0

DR4070 سرعت بردارGp1

D4060Gp0 error code

D4061Gp1 error code

D4062 شماره استپی کھ بھGp0مربوط است

)شماره استپی کھ کامل شده است(

D4063 شماره استپی کھ بھGp1مربوط است

)شماره استپی کھ کامل شده است(

126

.، نمی توان فرکانس خروجی را در حین انتقال پالس تغییر داد147در تابع

ھ مکان یابی در آنھا ذخیره ، رجیستر شروع رجیسترھایی ذخیره می شود کھ برنامSRدر

:می شود

SR :در رجیستر شروع باید مقدار روبھ رو نوشتھ شود

SR+1 :مجموع استپ ھا

SR+2

.

. رجیستر برای 15ھر استپ (استپ اول

. )کدگذاری در اختیار دارد

.

.

SR+15

SR+16

Nُامین استپ

SR+N×15+2

تعداد پالس باقی مانده

برای انتقال

موقعیت پالس جاری

فرکانس خروجی

جاری

Ps No

DR4072

DR4088

DR4080Ps0

DR4074DR4090DR4082Ps1

DR4076DR4092DR4084Ps2

DR4078DR4094DR4086Ps3

A55CH

Total steps

.

.

.

.

.

127

WRاین تابع می باشد)سیستمی( نقطھ شروع رجیستر ھای عملگر.

WR+0استپ اجرا شده یا متوقف شده

WR+1Working flag

WR+2توسط سیستم کنترل می شود

WR+3توسط سیستم کنترل می شود

WR+4توسط سیستم کنترل می شود

WR+5توسط سیستم کنترل می شود

WR+6توسط سیستم کنترل می شود

WR+7توسط سیستم کنترل می شود

WR+8توسط سیستم کنترل می شود

WR+0: ھنگام اجرای این تابع ، محتویات این رجیستر ،استپی را کھ اجرا می شود نمایش

.N~1(می دھد اگر تابع در حال اجرا نباشد ،محتویات این رجیستر ،استپی را کھ در آن جا )

تپ جاری اگر اس.(،استپ بعدی اجرا می شود"EN="1وقتی .متوقف شده است نشان می دھد

)،آخرین استپ باشد،اجرا ار اولین استپ شروع می شود

WR+1:B0~B7) مجموع استپ ھا)7بیت~0بیت

B8=ON خروجی نگھ داشتھ شده است ، )paused(

B9=ONمنتظر شرایط انتقال ،

B10=0Nخروجی بی انتھا،

B12=ON بیت مخصوص خروجی ( ، در حال انتقال پالس"ACT("

B13=ON ، error بیت مخصوص خروجی (در اجرای تابع"ERR("

B14=ON بیت مخصوص خروجی ( ، پایان اجرای یک استپ"DN("

کاربر می تواند . و این وضعیت باقی می ماندروشن می شود"DN" کامل می شود stepوقتی

.استفاده کندWR+1 برای پاک کردن DNاز لبھ باال رونده

128

Errorمشخصھ Errorکد

R4060(PS0) 0 : Error فاقد

R4061(PS1) 1 : 0ارور پارامتر

R4062(PS2) 2 : 1ارور پارامتر

R4063(PS3) 3 : 2ارور پارامتر

R4060(Gp0) 4 : 3ارور پارامتر

R4061(GP1) 5 : 4ارور پارامتر کدھای اروری کھ

6 : 5ارور پارامتر ممکن است در ھنگام اجرای

7 : 6ارور پارامتر بھ وجود بیایند 141تابع

8 : 7ارور پارامتر

9 : 8ارور پارامتر

10 : 9ارور پارامتر

13 : 12ارور پارامتر

14 : 13ارور پارامتر

15 : 14ارور پارامتر

30 : Error of variable address for speed setting

31 : Error of setting value for speed setting

32 : Error of variable address for stroke setting

33 : Error of setting value for stroke setting

34 : Illegal positioning program

35 : length error of total step 140

36 : Over the maximum step 147

37 : Limited frequency error

38 : initiate/stop frequency error

39 : Over range of compensation value for movement

40 : Over range of moving stroke

41 : ABS positioning is not allowed within DRVC commands

42 : DRVZ cant follow DRVC

50 : Illegal operation mod of DRVZ

51 : Illegal DOG input number

52 : Illegal PG0 input number

53 : Illegal CLR output number

60 : Illegal linear interpolation command

129

برای اطمینان از این .محتوای رجیستر مشخصھ ارور، آخرین کد ارور را حفظ می کند:توجھ

. کنید0کھ ارور بیشتری روی نمی دھد،می توانید این رجیستر را

WinProladder توسط Servoتغییر جدول برنامھ

.دا تنظیمات زیر صورت گیرد باید ابت147برای استفاده از تابع

:برای انجام تنظیمات بھ ترتیب زیر کلیک کنید تا جدول تنظیمات بیاید

Project name / Table Edit / Servo Program Table

Servo"بھ روی Program Table" راست کلیک کنید و"New Table"را انتخاب کنید.

130

: خطی بھ صورت زیر ھستندinterpolationدستورات مکان یابی برای

توضیحاترجیستر عملونددستور

SPDXXXXXXیا

Rxxxxیا

Dxxxx

خطی تنظیم interpolationسرعت بردار را برای بیان m/sسرعت حرکت بر حسب فرکانس یا .می کند

.می شودفرکانس ، سیستم بھ ،بر حسب 2 یا 1=0-پارامتر(

)صورت پیش فرض در حالت فرکانس استعملوند می تواند عدد ثابت یا یک رجیستر باشد کھ

. رجیستر، فضا احتیاج دارد2اگر رجیستری باشد بھ ربوطھ برای خروجی از روی حور مفرکانس م

.مشخصات سرعت بردار،محاسبھ خواھد شد921600 Hzرنج فرکانس خروجی 1

LINADR/ABS,X,Y,Z,W,Ut/Ps

X: مختصات محورPs0

Y: مختصات محورPs1

Z: مختصات محورPs2

W: مختصات محورPs3

جھت و اندازه حرکت را مشخص می کند بر حسب از 1=0-وقتی پارامتر(inch ، درجھ ، mmپالس یا

تنظیمات بر حسب پالس خواھد بود،پیش :141تابع )فرض سیستم پالس است

باشد،بر اساس LIN،Utلوند وقتی ششمین عم،سیستم ، 141 از تابع 1،2،3مشخصات پارامترھای

شمارش پالس مربوطھ رابھ خروجی مورد نظر تبدیل .می کند

ABS یا ADR:عملوند اولADR:حرکت نسبیABS:حرکت مطلق

131

مختصات محورھای :عملوندھای دوم تا پنجمX,Y,Z,Wرا مشخص می کند .

در ( است یا جای خالی 0وقتی مختصات یک محورگذاشتھ می شود و عملوند اول نیز )دستورات متنی

ADR است،یعنی حرکتی در راستای آن محور .نخواھد بود

در (وقتی بھ جای مختصات یک محور جای خالی گذاشتھ می شود و عملوند اول نیز )دستورات متنی

ABS است،یعنی حرکتی در راستای آن محور .نخواھد بود

±1999999 اندازه حرکت باید کمتر از حداکثر.پالس باشد

این عملوند واحد حرکت را مشخص :عملوند ششم.می کند

Ut:توسط (ھر عدد معادل یک واحد خواھد بود) مشخص می شود141 دستور 0،3پارامتر

Ps: رزولوشن اجرا شونده،معادل یک پالس خواھد.بود

LINEADR/ABS,X,Y,Z,W,Ut/Ps

X:ت محور مختصاPs0

Y: مختصات محورPs1

Z: مختصات محورPs2

W: مختصات محورPs3

LINE برای interpolation خطی در حرکت .استفاده می شودبی انتھا

،رابطھ بین محورھا در خروجی در این دستور،طوری است کھ بقیھ محورھا از محوری کھ .بیشترین مختصات را دارد تبعیت خواھند کرد

است و Psدر حالتی کھ عملوند ششم :ن مثالبھ عنوامختصات محورھا

Ps0=1000,Ps1=500,Ps2=300,Ps3=0Ps0 ، 1000باشد،بدین معنی است کھ اگر محور

و 500 بھ ترتیب Ps2 و Ps1پالس می فرستد، سپس کار نمی کند چون Ps3.( پالس خواھند فرستاد300

) است0مقدارش دادن پالس بھ خروجی این نسبت ھا را در این دستور

. متوقف شود147ادامھ می دھد تا زمانی کھ تابع

WAITTime,XXXXX

Rxxxxیا

Dxxxxیا

X0~X255یا

Y0~Y255یا

M0~M1911یا

S0~S999

باعث انتظار پالس،این دستورپس از اتمام خروجیسیستم برای زمان معین می شود سپس بھ مرحلھ ی

.معین شده می رود: مدل عملوند دارد5این دستور

Time) وقتی زمان تعیین شده ) ثانیھ0.01زمان پایھ : را اجرا می کند کھ توسط ایبھ پایان رسید،مرحلھ

GOTOمشخص شده است .X0~X255 تا زمانی صبر می کند کھ مشخصھ Y0~Y255 مورد نظر ON شود،سپس مرحلھ

ایM0~M1911 را اجرا می کند کھ توسط GOTO

S0~S999مشخص شده است .

132

EXT

X0~X255یا

Y0~Y255یا

M0~M1911یا

S0~S999

مرد نظر این دستور در حین پالس دھی اگر مشخصھ شود،فورًا مرحلھ ای را کھ توسط ONبھ خروجی،

GOTOاگر تا آخر پالس . مشخص شده انجام می دھد عملWAIT نشود،این دستور مانند ONدھی

.ی کند م

GOTONEXTیا

1~Nیا

Rxxxxیا

Dxxxx

و WAIT،ACTدستورات پس از پایان یافتن EXT مرحلھ ای را اجرا می کند کھ ،GOTO بھ آن

.اشاره می کندNEXT: بدین معنی است کھ مرحلھ ی بعد اجرا

.شود1~N: مرحلھ ای را انجام می دھد کھLABLE آن

.نظر باشدعدد مورد Rxxxxحلھ ای کھ اجرا می شود در این مرDxxxxرجیستر ھا ذخیره شده است .

MENDپایان برنامھ مکان یابی

133

160.READ/WRITE FILE REGISTER

،این تابع،تنھا تابعی است کھ می تواند بھ پردازش رجیسترھای فایل Ladderبرای برنامھ

.دازدبپر

: تغییر کند1 بھ 0از"EN"ھرگاه

Pr ،از جایی کھ L بھ طول Sb،محتویات رجیسترھای فایل با آدرس پایھ "R/W="1اگر

. ریختھ می شودSaاشاره می کند ،بھ داخل رجیسترھای شروع شونده از

بھ داخل رجیسترھای فایل با Saمحتویات رجیسترھای شروع شونده از ،"R/W="0اگر

. اشاره می کند ،ریختھ می شودPr ،از جایی کھ L بھ طول Sbپایھ آدرس

. یکی اضافھ خواھد شدPr،بعد از اجرا ، "INC="1اگر

)F0~F8191( باشد یا عملیات بخواھد خارج از رنج رجیسترھای فایل L>511 یا L=0اگر

.فعال خواھد شد"ERR"اجرا شود،

134

200.CONVERSION of INT to FLOAT

: تغییر کند1 بھ 0از"EN"ھرگاه

بیتی 32 درداخل رجیستر Sشروع شونده از )INTEGER( بیتی 16محتویات رجیستر

)FLOAT( شروع شونده ازDذخیره می شود .

: مثال

135

201. FLOAT to INTEGER

: تغییر کند1 بھ 0از"EN"ھرگاه

بیتی 16 درداخل رجیستر Sشروع شونده از )FLOAT( بیتی 32محتویات رجیستر

)INTEGER( شروع شونده ازDذخیره می شود.

فعال می شود و "ERR"اگر مقدار مبدا فراتر از رنج مقصد باشد و قابل تبدیل شدن نباشد ،

. دست نخورده باقی می ماندDمقدار

: مثال

136

202. FLOATING POINT NUMBER ADDITION

:د تغییر کن1 بھ 0از"EN"ھرگاه

ریختھ D جمع شده و نتیجھ در FLOAT،Sb با مقدار Sa) بیتیFLOAT)32مقدار

.می شود

فعال "ERR"، )1038×3.4±( بیتی باشد 32اگر مجموع دو عدد فراتر از رنج یک رجیستر

.می شود

: مثال

137

203. FLOATING POINT NUMBER SUBTRACTION

: تغییر کند1 بھ 0از"EN"ھرگاه

ریختھ D شده و نتیجھ در FLOAT، Sb منھای مقدار Sa) بیتیFLOAT)32مقدار

.می شود

"ERR"، )1038×3.4±( بیتی باشد 32اگر نتیجھ تفریق دو عدد فراتر از رنج یک رجیستر

.فعال می شود

: مثال

138

204. FLOATING POINT NUMBER MULTIPLICATION

: تغییر کند1 بھ 0از"EN"ھرگاه

ریختھ D شده و نتیجھ در FLOAT، Sb ضرب در مقدار Sa) بیتیFLOAT)32مقدار

.می شود

"ERR"، )1038×3.4±( بیتی باشد 32اگر نتیجھ ضرب دو عدد فراتر از رنج یک رجیستر

.فعال می شود

: مثال

139

205. FLOATING POINT NUMBER DIVISION

: تغییر کند1 بھ 0از"EN"ھرگاه

ریختھ D کرده و نتیجھ در FLOAT، Sb را بر مقدار Sa) بیتیFLOAT)32مقدار

.می شود

"ERR"، )1038×3.4±( بیتی باشد 32اگر نتیجھ تقسیم دو عدد فراتر از رنج یک رجیستر

.فعال می شود

: مثال

140

206. FLOATING POINT NUMBER COMPARE

: تغییر کند1 بھ 0از"EN"ھرگاه

را با ھم مقایسھ کرده،Sb و Sa بیتی 32مقدار دو رجیستر

Saاگر > Sb:1"=a > b"می شود.

Saاگر < Sb:1"=a < b"می شود.

Saاگر = Sb:1"=a = b"می شود.

:مثال

141

207. FLOATING POINT NUMBER ZONE COMPARE

: تغییر کند1 بھ 0از"EN"ھرگاه

مقایسھ کرده،SL و Su را با S بیتی 32مقدار

Sاگر > Su:1"=S > U"می شود.

Sاگر < SL:1"=S < L"می شود.

SLاگر < S < Su:1"=INZ"می شود.

SLاگر > Su:"ERR"د شدداده خواھ.

: مثال

142

208. FLOATING POINT NUMBER SQUARE ROOT

: تغییر کند1 بھ 0از"EN"ھرگاه

می ریزدD را گرفتھ و نتیجھ را در S بیتی 32جذر عدد

.فعال می شود"ERR" منفی باشد، ،Sاگر مقدار

: مثال

143

209.SIN INSTRUCTION

تابع مثلثاتی سینوس

: تغییر کند1 بھ 0از"EN"ھرگاه

D+1 و D بیتی در 32 ، سینوس گرفتھ و نتیجھ را بھ صورت Sاز مقدار موجود در رجیستر

.می ریزد

این رنج داده می باشد کھ اگر فراتر از 18000+~18000- درجھ ، 0.01 در واحد Sرنج

.فعال می شود"ERR"شود ،

:مثال

144

210.COS INSTRUCTION

تابع مثلثاتی کسینوس

: تغییر کند1 بھ 0از"EN"ھرگاه

و D بیتی در 32 ، کسینوس گرفتھ و نتیجھ را بھ صورت Sاز مقدار موجود در رجیستر

D+1ی ریزد م.

می باشد کھ اگر فراتر از این رنج داده 18000+~18000- درجھ ، 0.01 در واحد Sرنج

.فعال می شود"ERR"شود ،

:مثال

145

211.TAN INSTRUCTION

تابع مثلثاتی تانژانت

: تغییر کند1 بھ 0از"EN"ھرگاه

D+1 و D بیتی در 32 ، تانژانت گرفتھ و نتیجھ را بھ صورت Sموجود در رجیستر از مقدار

.می ریزد

می باشد کھ اگر فراتر از این رنج داده 18000+~18000- درجھ ، 0.01 در واحد Sرنج

.فعال می شود"ERR"شود ،

:مثال

146

212.CHANGE SIGN OF FLOAT

: تغییر کند1 بھ 0از"EN"ھرگاه

. ذخیره می کندD را، عکس می کند و نتیجھ را در خود D) بیتیFLOAT)32عالمت عدد

: مثال

147

213.FLOAT ABSOLUTE

: تغییر کند1 بھ 0از"EN"ھرگاه

. ذخیره می کندD را گرفتھ و نتیجھ را در خود FLOAT، Dق عدد قدر مطل

: مثال