13
1 Programmable Logic Controller :PLC ภาษาและคําสั่งที่ใชในการเขียนโปรแกรมในรูป ของแลดเดอร (Ladder) และ ภาษา Statement list หรือนีมอนิก (Mnemonic) 2 คําสั่งพื้นฐานของ PLC (OMRON) คําสั่ง LOAD – LD คําสั่ง LOAD NOT – LD NOT 3 ตัวอยางการปอนคําสั่งและเขียนแลดเดอร การใชคําสั่ง LOAD และ LOAD NOT 4 คําสั่งพื้นฐานของ PLC (OMRON) คําสั่ง AND – AND คําสั่ง AND NOT - AND NOT

คําสั่งพื้นฐานของ Programmable Logiceng.sut.ac.th/me/box/3_54/425311/16 PLC2.pdf1 Programmable Logic Controller :PLC ภาษาและค าส

Embed Size (px)

Citation preview

1

Programmable Logic Controller :PLC

ภาษาและคําสั่งทีใ่ชในการเขียนโปรแกรมในรูป

ของแลดเดอร (Ladder) และ ภาษา Statement list

หรือนีมอนิก (Mnemonic)

2

คําสั่งพื้นฐานของ PLC (OMRON)

คําสั่ง LOAD – LD

คําสั่ง LOAD NOT – LD NOT

3

ตัวอยางการปอนคําสั่งและเขียนแลดเดอร

การใชคําสั่ง LOAD และ LOAD NOT

4

คําสั่งพื้นฐานของ PLC (OMRON)

คําสั่ง AND – AND

คําสั่ง AND NOT - AND NOT

2

5

ตัวอยางการปอนคําสั่งและเขียนแลดเดอร

การใชคําสั่ง AND และ AND NOT

6

คําสั่งพื้นฐานของ PLC (OMRON)

คําสั่ง OR – OR

คําสั่ง OR NOT - OR NOT

7

ตัวอยางการปอนคําสั่งและเขียนแลดเดอร

การใชคําสั่ง OR และ OR NOT

8

ตัวอยางการปอนคําสั่งและเขียนแลดเดอร

การใชคําสั่ง AND LOAD - AND LD และ OR LOAD - OR LD

- ตัวอยางการปอนคําสั่งในรูป AND LD และการเขียนแลดเดอร

3

9

ตัวอยางการปอนคําสั่งและเขียนแลดเดอร

- ตัวอยางการปอนคําสั่งในรูป OR LD และการเขียนแลดเดอร

10

ตัวอยางที่ 1 การใชคําสั่ง AND LD

11

ตัวอยางที่ 2 การใชคําสั่ง OR LD

12

ตัวอยางที่ 3 การใชคําสั่ง AND LD

4

13

ตัวอยางที่ 4 การใชคําสั่ง AND LD รวมกับ OR LD

14

ตัวอยางที่ 5 การใชคําสั่ง AND LD รวมกับ OR LD

15

ตัวอยางที่ 5 การใชคําสั่ง AND LD รวมกับ OR LD (ตอ)

16

ตัวอยางที่ 6 การใชคําสั่ง AND LD รวมกับ OR LD

5

17

คําสั่ง OUTPUT และ OUTPUT NOT

เปนคําสั่งใหเอาทพุทภายนอกทํางานหรือไมทํางาน

- คําสั่ง OUTPUT – OUT

- คําสั่ง OUTPUT NOT – OUT NOT

18

คําสั่ง END (FUN 01)

การเขียนโปรแกรมทุกครั้ง เมื่อสิ้นสุดการเขียนโปรแกรมแลวจะตองจบดวยคําสั่ง

END (FUN 01) หากไมมีโปรแกรมจะแสดงขอความ NO END INSTR

- ตัวอยางการปอนคําสั่งนีมอนิกและแลดเดอร

19

คําสั่ง Interlock และ Interlock Clear – IL (02) และ ILC (03)

คําสั่ง IL และ ILC จะตองใชรวมกัน คือ ถาเริ่มตนมีการใชคําสั่ง IL ถาสิ้นสุดการ

ทํางานจะตองจบดวย ILC

เงื่อนไขคําสั่ง คือ คอนแทคตรงหนาสวนของ IL มีสภาวะ ON จะทําใหโปรแกรมที่

อยูระหวาง IL และ ILC ทํางานปกติ ถามีสถานะเปน OFF โปรแกรมที่อยูระหวาง

IL และ ILC จะไมทํางาน

20

ตัวอยาง การใชคําสั่ง IL และ ILC

6

21

ตัวอยาง การใชคําสั่ง IL และ ILC (ปรับปรุงแลดเดอร)

22

คําสั่ง TR (Temporary Memory Relay)

คําสั่งนี้ใชกับแลดเดอรที่มีเอาทพุทคอยล (output coil) อยูหลายสาขาโดยที่สาขา

หนึ่งจะประกอบดวย TR นี้หลายตัว

คําสั่ง TR นี้สามารถเรียกใชไดตั้งแต TR 0 จนถึง TR 7 ซึ่งในสาขาเดียวกันจะใช

TR ซ้ํากันไมได

23

ตัวอยาง การใชคําสั่ง TR (แลดเดอรไดอะแกรมที่ใชงานได)

24

ตัวอยาง การใชคําสั่ง TR (แลดเดอรไดอะแกรมที่ใชงานไมได)

7

25

ตัวอยาง การเขยีนแลดเดอรไดอะแกรมดวย TR

26

คําสั่ง JMP (FUN 04) และ JME (FUN 05)

การใชงานคําสั่งคูนี้ตองใชงานคูกัน เงื่อนไขตางๆที่อยูระหวางคําสั่ง JMP (FUN 04)

และ JME (FUN 05) จะมีเงื่อนการทํางานเปนปกติ ในกรณีที่ชุดของคอนแทคตรง

สวนหนาของ JMP มีสภาวะเปน ON

หากชุดคอนแทคหนา JMP มีสภาวะเปน OFF เมื่อใด Output, Timer, Counter, Keep

ที่อยูระหวางคําสั่งดังกลาวจะยังคงคางสภาวะเดิมเอาไวจะเปลี่ยนแปลงอีกครั้งเมื่อชุด

คอนแทคหนา JMP มีสภาวะเปน ON

การใช Jump 00 ใชไดหลายครั้งตามตองการ แต Jump 01 ถึง 99 สามารถใชไดเพียง

ครั้งเดียว

27

ตัวอยาง การใชคําสั่ง JMP และ JME

28

ตัวอยาง การใชคําสั่ง JMP และ JME (ตอ)

8

29

คําสั่ง SET และ RESET – SET - RSET

เปนคําสั่งเมื่อมีสภาวะ ON แลวจะยังคงคางสภาวะ ON อยูจนกวาคําสั่ง RESET ที่

Bit เดียวกันจะมีสภาวะ ON

30

ตัวอยาง การใชคําสั่ง SET และ RESET – SET - RSET

31

คําสั่ง KEEP –KEEP (11)

การทํางานเหมือนกับคําสั่ง SET และ RESET เพียงแตรวมคําสั่ง SET และ RESET

ใหอยูในตัวเดียวกัน เพื่อใหผูใชงานสามารถเลือกใชโปรแกรมไดอยางสะดวกตาม

ความเหมาะสม

เมื่อ S ถูกเซต ON ทําใหบิตที่ B ทํางานไปตลอดจนกวา R จะถูกเซต ON จึงทําให

บิต B เลิกทํางาน

32

ตัวอยาง การใชคําสั่ง KEEP

9

33

คําสั่ง DIFFERANTIATE UP and DOWN –DIFU(13),

DIFD (14)

คําสั่ง DIFU(13) และ DIFD (14) เปนคําสั่งที่ทํางานเพียงขอบขาขึ้นหรือขอบขาลง

ของอินพุทเทานั้น และจะทํางานเพียงชวง One Cycle Time เทานั้น

34

คําสั่ง DIFFERANTIATE UP and DOWN –DIFU(13),

DIFD (14)

35

คําสั่ง DIFFERANTIATE UP and DOWN –DIFU(13),

DIFD (14)

36

ตัวอยางที่ 1 การใชคําสั่ง DIFFERANTIATE UP and DOWN

10

37

ตัวอยางที่ 2 การใชคําสั่ง DIFFERANTIATE UP and DOWN

38

คําสั่ง Timer - TIM

เมื่ออินพุทมีสภาวะเปน ON คําสั่ง TIM จะเริ่มนับเวลาตามคาที่ตั้งไว เมื่อนับเวลาครบตามที่ตั้งไว เอาทพุทของไทเมอรก็จะ ON

หากอินพุทของไทเมอรมีสถานะเปน OFF กอนที่ไทเมอรจะนับเวลาครบ คาเวลาที่ถูกตั้งไวในไทเมอรจะถูกตั้งคาใหม RESET เปนศูนยทันที

สามารถตั้งเวลาการนับต่ําสุดได 0.1 วินาที

N = จํานวนไทเมอร (ใชไดตั้งแตหมายเลข 000 ถึง 127)

SV = Set Value (สามารถตั้งเวลาไดตั้งแต 0 – 999.9 วินาที)

39

ตัวอยาง การใชคําสั่ง Timer - TIM

40

คําสั่ง Counter - CNT

เปนคําสั่งที่ใชในการนับจํานวนครั้งของสัญญาณอินพุทที่สภาวะ ON ในแตละครั้ง การนับคานั้นจะนับลงจากคาที่ตั้งไว

N = จํานวนหมายเลยของเคานเตอร(Counter Number)

SV = เปน Set Value สามารถนับได 9999 ครั้ง

หมายเหตุ : พื้นที่ความจําของไทเมอรและเคานเตอรใชพื้นที่เดียวกัน จึงใชคําสั่งทั้งไทเมอรและเคานเตอรกับพื้นที่เดียวกันไมได (หมายเลขของไทเมอรและเคานเตอรหามซ้ํากัน)

11

41

ตัวอยาง การใชคําสั่ง Counter - CNT

ขอกําหนดการเขียนแลดเดอร

43

ขอกําหนดการเขียนแลดเดอร

ไมสามารถเชื่อมโยงหนาสัมผัสใน 2 บรรทัดเขาดวยกันได

- แลดเดอรไดอะแกรมที่ผิด

- แลดเดอรไดอะแกรมที่ถูก

44

ขอกําหนดการเขียนแลดเดอร

หากตองการเอาทพุทที่ ON ตลอดเวลา ใหใช FLAG ที่เปนแบบ Normally ON โดย

ไมสามารถตอเอาทพุทโดยตรง

- แลดเดอรไดอะแกรมที่ผิด

- แลดเดอรไดอะแกรมที่ถูก

12

45

ขอกําหนดการเขียนแลดเดอร

การเขียนโปรแกรมที่ดีจะตองพยายามประหยัดบรรทัดใหมากที่สุดเทาที่จะทําได

- พิจารณาไดอะแกรม A

46

ขอกําหนดการเขียนแลดเดอร

การเขียนโปรแกรมที่ดีจะตองพยายามประหยัดบรรทัดใหมากที่สุดเทาที่จะทําได

-พิจารณาไดอะแกรม B

47

ขอกําหนดการเขียนแลดเดอร

สําหรับแลดเดอรจะพิจารณาการทํางานจากซายไปขวาเทานั้น

-พิจารณาไดอะแกรม A

48

ขอกําหนดการเขียนแลดเดอร

สําหรับแลดเดอรจะพิจารณาการทํางานจากซายไปขวาเทานั้น

-พิจารณาไดอะแกรม B

13

49

ขอกําหนดการเขียนแลดเดอร

จํานวนคอนแทคที่ใชในการตออันดับ (Series) หรือขนาน (Parallel) ไมมีขีดจํากัด

จะใชเทาใดก็ไดขึ้นอยูกับความตองการของผูใช

เอาทพุททุกๆตัวที่มีคอนแทคชวย (Auxiliary Contact) ที่ใชในการเขียนโปรแกรม

จะไมมีขีดจํากัดจํานวนเชนกัน

50

ขอกําหนดการเขียนแลดเดอร

ไมสามารถเขียนโปรแกรมใหคอนแทคอยูทางดานขวาของคอยลได

-แลดเดอรไดอะแกรมที่ผิด

-แลดเดอรไดอะแกรมที่ถูก

51

ขอกําหนดการเขียนแลดเดอร

ไมสามารถเขียนโปรแกรมใหมีเอาทพุทคอยลหมายเลขเดียวกันซ้ํากันหลายๆครั้ง

ได ตองจัดรูปเสียใหม-แลดเดอรไดอะแกรมที่ผิด

-แลดเดอรไดอะแกรมที่ถูก

52

ขอกําหนดการเขียนแลดเดอร

เอาทพุทคอยลสามารถเขียนโปรแกรมแบบขนานไดเพื่อรับเงื่อนไขของคอนแทคชุด

เดียว

โปรแกรมจะถูกสั่งการจากบรรทัดแรกจนกระทั่งถึงคําสั่ง END ที่เปนคําสั่งแรก

(คําสั่ง END อาจมีหลายตําแหนงเพื่อทดสอบการทํางาน)