บทที่ 9 คำสั่งของ STEP 7

เขียนและเรียบเรียงโดย อ.นัครินทร์  คฤหาสสุวรรณ์

คำสั่งที่ใช้ในการสร้างโปรแกรมควบคุมการทำงานของ PLC Simatic Step 7 จะแบ่งฟังก์ชั่นการทำงานเป็น 3 กลุ่ม คือ
1.Basic Operation จะเป็นฟังก์ชั่นที่สามารถประมวลผล ได้ภายใน OB , FC และ FB ซึ่งลักษณะการทำงานของฟังก์ชั่นนี้จะเป็นการปฏิบัติทางลอจิกพื้นฐาน การใช้ไทม์เมอร์ การใช้เค้าท์เตอร์ และฟังก์ชั่นการประมวลผลทางคณิตศาสตร์ เป็นต้น และสามารถที่จะเขียนโปรแกรมควบคุมด้วยภาษา STL,FBD และ LAD
2.Supplementary Operation จะเป็นฟังก์ชั่นการทำงานที่มีความซับซ้อนมากกว่า กลุ่มแรก
3.System Operations จะเป็นฟังก์ชั่นการทำงานที่เข้าถึงระบบปฏิบัติการของ PLC โดยตรง ซึ่งผู้ใช้ฟังก์ชั่นการทำงานในกลุ่มนี้ ควรจะมีความรู้ และประสบการณ์ เกี่ยวกับ PLC เป็นอย่างดี


9.1 กลุ่มคำสั่ง Bit Logic ขั้นพื้นฐาน
1. Normally Open Contact (---|   |---)
Parameter Data Type      Memory Area                    Description
<Address> BOOL               I, Q, M, L, D, T, C        Checked bit

ลักษณะการทำงาน
วงจรนี้จะมีค่า RLO (Result Logic Operation) เป็น 1 ถ้ามีเงื่อนไขข้อใดข้อหนึ่งดังต่อไปนี้
1. I0.0 และ I0.1 มีสถานะ “ON”
2. I0.2 มีสถานะ “ON”

2. Normally Closed Contact (---| / |---)
Parameter Data Type      Memory Area                    Description
<Address> BOOL               I, Q, M, L, D, T, C        Checked bit
ลักษณะการทำงาน
วงจรนี้จะมีค่า RLO (Result Logic Operation) เป็น 1 ถ้ามีเงื่อนไขข้อใดข้อหนึ่งดังต่อไปนี้
1. I0.0 และ I0.1 มีสถานะ “ON”
2. I0.2 มีสถานะ “OFF”

3. XOR Bit Exclusive OR
สัญลักษณ์
ลักษณะการทำงาน
XOR (Bit Exclusive OR) จะมีสถานะ ON ถ้าบิตทั้งสองมีสถานะต่างกัน คือตัวหนึ่งเป็น ON อีกตัวหนึ่งต้องเป็น OFF
 วงจรนี้จะให้ค่า Output Q4.0 มีสถานะ ON  ถ้ามีเงื่อนไขข้อใดข้อหนึ่งดังต่อไปนี้
1. I0.0 มีสถานะ “ON” I0.1 มีสถานะ “OFF”
2. I0.0 มีสถานะ “OFF” I0.1 มีสถานะ “ON

4. Invert Power Flow (--|NOT|--)
ลักษณะการทำงาน
จะทำหน้าที่กลับสถานะของผลลัพธ์ทางลอจิกที่ได้(Result Logic Operation) คือ ถ้าผลลัพธ์ทางลอจิกที่ได้ก่อนเข้า--|NOT|-- เป็นสถานะ ON เมื่อผ่าน--|NOT|-- แล้วจะมีสถานะเป็น OFF ในทางกลับกันถ้าผลลัพธ์ทางลอจิกที่ได้ก่อนเข้า--|NOT|-- เป็นสถานะ OFF เมื่อผ่าน--|NOT|-- แล้วจะมีสถานะเป็น ON
สถานะของ Q4.0 จะเป็น 0 (OFF) ถ้ามีเงื่อนไขข้อใดข้อหนึ่งดังต่อไปนี้
1. I0.0 และ I0.1 มีสถานะ “ON”
2. I0.2 มีสถานะ “ON”

5. Output Coil (--- (   ))
ลักษณะการทำงาน
จะทำหน้าทีเชื่อมต่อกับวงจรทาง LOGIC และมีสถานะ ON เมื่อค่า RLO มีค่า   เป็น 1 และสถานะ OFF เมื่อค่า RLO มีค่าเป็น 0





               สถานะของ Q4.0 จะเป็น 1 (ON) เมื่อ ค่า RLO ของวงจรตามรูปจะต้องเป็น 1
สถานะของ Q4.1 จะเป็น 1 (ON) เมื่อ ค่า RLO ของวงจรตามรูปจะต้องเป็น 1

6. Midline Output (--- (#) ---)
ลักษณะการทำงาน
1.       M0.0  คือ RLO ของ  
2.       M1.1  คือ RLO ของ  
3.  M2.2  คือ RLO ของ RLO ทั้งระบบ

7. Reset Coil (---( R ))
ลักษณะการทำงาน
สถานะของ Q4.0 จะเป็น 0 (OFF) เมื่อ ค่า RLO ของวงจรดังต่อไปนี้จะต้องเป็น 1
และจากวงจรนี้ถ้า RLO เปลี่ยนสภาวะเป็นสภาวะใดๆ สถานะของ Q4.0 จะยังคงเป็น 0 (OFF) อยู่

8. Set Coil (---( S ))
ลักษณะการทำงาน
สถานะของ Q4.0 จะเป็น 1 (ON) เมื่อ ค่า RLO ของวงจรดังต่อไปนี้จะต้องเป็น 1
และจากวงจรนี้ถ้า RLO เปลี่ยนสภาวะเป็นสภาวะใดๆ สถานะของ Q4.0 จะยังคงเป็น 1 (ON) อยู่

9. RS Reset-Set Flip Flop (Dominant Set)
ลักษณะการทำงาน

สภาวะ RESET
ถ้า I 0.0 มีสถานะ ON และ I0.1 มีสถานะ OFF จะทำให้ค่า Q4.0 มีสถานะ OFF ถึงแม้ว่า I 0.0 จะมีสถานะ OFF แล้วก็ตาม
สภาวะ SET
ถ้า I 0.0 มีสถานะ OFF และ I0.1 มีสถานะ ON จะทำให้ค่า Q4.0 มีสถานะ ON ถึงแม้ว่า I 0.1 จะมีสถานะ OFF แล้วก็ตาม
สภาวะ Dominant Set
ถ้า I 0.0 มีสถานะ ON และ I0.1 มีสถานะ ON จะทำให้ค่า Q4.0 มีสถานะ ON

10. SR Set-Reset Flip Flop
ลักษณะการทำงาน
สภาวะ SET
ถ้า I 0.0 มีสถานะ ON และ I0.1 มีสถานะ OFF จะทำให้ค่า Q4.0 มีสถานะ ON ถึงแม้ว่า I 0.0 จะมีสถานะ OFF แล้วก็ตาม
สภาวะ RESET
ถ้า I 0.0 มีสถานะ OFF และ I0.1 มีสถานะ ON จะทำให้ค่า Q4.0 มีสถานะ OFF ถึงแม้ว่า I 0.1 จะมีสถานะ OFF แล้วก็ตาม
สภาวะ Dominant Reset
ถ้า I 0.0 มีสถานะ ON และ I0.1 มีสถานะ ON จะทำให้ค่า Q4.0 มีสถานะ OFF

11. Negative RLO Edge Detection(---( N )---)
ลักษณะการทำงาน
ถ้า RLO ของวงจรดังต่อไปนี้เปลี่ยนค่าจาก 1 เป็น 0 โปรแกรมจะข้ามไปที่ลาเบลที่ CAS1

12. Positive RLO Edge Detection (---( P )---)
ลักษณะการทำงาน
ถ้า RLO ของวงจรดังต่อไปนี้เปลี่ยนค่าจาก 0 เป็น 1 โปรแกรมจะข้ามไปที่ลาเบลที่ CAS1

9.2 กลุ่มคำสั่ง Comparator ขั้นพื้นฐาน
1. CMP? I  Compare Integer

= = 1        หมายถึง         IN1 เท่ากับ IN2
> 1           หมายถึง         IN1 มากกว่า IN2
> = 1        หมายถึง         IN1 มากกว่าหรือเท่ากับ IN2
< > 1        หมายถึง         IN1 ไม่เท่ากับ IN2
< 1           หมายถึง         IN1 น้อยกว่า IN2
< = 1        หมายถึง         IN1 น้อยกว่าหรือเท่ากับ IN2

ลักษณะการทำงาน
ค่า Q4.0 ถูกทำให้มีสถานะติดตลอด (SET) ถ้าประกอบด้วยเงื่อนไขทั้งสองดังต่อไปนี้
1.  I 0.0 และ I0.1 อยู่ในสภาวะ ON
2.  ค่า MW0 มากกว่าหรือเท่ากับ MW1


2. CMP? D  Compare Double Integer

= = 1        หมายถึง         IN1 เท่ากับ IN2
> 1           หมายถึง         IN1 มากกว่า IN2
> = 1        หมายถึง         IN1 มากกว่าหรือเท่ากับ IN2
< > 1        หมายถึง         IN1 ไม่เท่ากับ IN2
< 1           หมายถึง         IN1 น้อยกว่า IN2
< = 1        หมายถึง         IN1 น้อยกว่าหรือเท่ากับ IN2

ลักษณะการทำงาน
ค่า Q4.0 ถูกทำให้มีสถานะติดตลอด (SET) ถ้าประกอบด้วยเงื่อนไขทั้งสองดังต่อไปนี้
1. I 0.0 และ I0.1 อยู่ในสภาวะ ON
2.ค่า MD0 มากกว่าหรือเท่ากับ MD4
3. I0.2 อยู่ในสภาวะ ON

3. CMP? R  Compare Real
ลักษณะการทำงาน
ค่า Q4.0 ถูกทำให้มีสถานะติดตลอด (SET) ถ้าประกอบด้วยเงื่อนไขทั้งสองดังต่อไปนี้
1. I 0.0 และ I0.1 อยู่ในสภาวะ ON
2.ค่า MD0 มากกว่าหรือเท่ากับ MD4
3. I0.2 อยู่ในสภาวะ ON

9.3 กลุ่มคำสั่ง Counter
1. S_CUD  Up-Down Counter

ลักษณะการทำงาน

1.เมื่อ I 0.2 เปลี่ยนสถานะจาก 0 ไป 1 ทำให้ค่าของ Counter มีค่าเท่ากับ MW10
2.เมื่อ I 0.0 เปลี่ยนสถานะจาก 0 ไป 1 ทำให้ค่าของ C10 เพิ่มขึ้นทีละ1 แต่ไม่เกิน 999
3.เมื่อ I 0.1 เปลี่ยนสถานะจาก 0 ไป 1 ทำให้ค่าของ C10 ลดลงทีละ1 แต่ไม่ต่ำกว่า 0
4.ค่า Q4.0 จะเท่ากับ 1 ถ้า C10 ไม่เท่ากับ 0

2. S_CU  Up Counter
ลักษณะการทำงาน

1.เมื่อ I 0.2 เปลี่ยนสถานะจาก 0 ไป 1 ทำให้ค่าของ Counter มีค่าเท่ากับ MW10
2.เมื่อ I 0.0 เปลี่ยนสถานะจาก 0 ไป 1 ทำให้ค่าของ C10 เพิ่มขึ้นทีละ1 แต่ไม่ต่ำกว่า 0
3.ค่า Q4.0 จะเท่ากับ 1 ถ้า C10 ไม่เท่ากับ 0

3. S_CD Down Counter
ลักษณะการทำงาน

1.เมื่อ I 0.2 เปลี่ยนสถานะจาก 0 ไป 1 ทำให้ค่าของ Counter มีค่าเท่ากับ MW10
2.เมื่อ I 0.0 เปลี่ยนสถานะจาก 0 ไป 1 ทำให้ค่าของ C10 ลดลงทีละ1 แต่ไม่ต่ำกว่า 0
3.ค่า Q4.0 จะเท่ากับ 1 ถ้า C10 ไม่เท่ากับ 0

4. Set Counter Value (---( SC )  )

เมื่อ I 0.0 เปลี่ยนสถานะจาก 0 เป็น 1 ค่า C 5 จะมีค่าเท่ากับ 100 ถ้าไม่มีพัลส์ขอบขาขึ้นของ I 0.0 ค่าของ C5 จะไม่มีการเปลี่ยนแปลง

5. Up Counter Coil (---( CU ) )
ลักษณะการทำงาน
1.ถ้า I0.0 เปลี่ยนจากค่า 0 เป็น 1 ค่า 100 จะถูกบรรจุลงใน C10
2.ถ้า I0.1 เปลี่ยนจากค่า 0 เป็น 1 จะทำให้ค่า C10 เพิ่มขึ้นทีละ 1 แต่ไม่เกิน 999
3.ถ้า I0.2 เปลี่ยนจากค่า 0 เป็น 1 จะทำให้ค่า C10 เป็น 0

6. Up Counter Coil (--- (CD))
ลักษณะการทำงาน
 1.ถ้า I0.0 เปลี่ยนจากค่า 0 เป็น 1 ค่า 100 จะถูกบรรจุลงใน C10
2.ถ้า I0.1 เปลี่ยนจากค่า 0 เป็น 1 จะทำให้ค่า C10 ลดลงทีละ 1 แต่ไม่ต่ำกว่า 0
3.ถ้า C10 = 0 จะทำให้ Q4.0 อยู่ในสถานะ ON
4. I 0.2 จะทำให้ค่า C10 เป็น 0


9.4 กลุ่มคำสั่ง MOVE
1. MOVE

1.ถ้า I0.0 เปลี่ยนจากค่า 0 เป็น 1 ค่า MW10 (Memory ในตำแหน่ง Word ที่ 10) จะเก็บใน DBW12 (Data Block ในตำแหน่ง Word ที่ 12)
2.เมื่อขั้นตอนที่ 1 เสร็จแล้วจึงทำให้ค่า Q4.0 อยู่ในสภาวะ ON
3. .ถ้า I0.0 เปลี่ยนจากค่า 1 เป็น 0 ค่า DBW10 ยังคงเท่ากับ MW10 แต่ Q4.0 อยู่ในสภาวะ OFF

9.5 กลุ่มคำสั่ง TIMER
1. S_PULSE  Pulse S5 Timer

ลักษณะการทำงาน

1.ถ้า I0.0 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 เริ่มทำงานโดยขณะที่ T5 ทำงานอยู่ Q4.0 = 1
2.T5 จะทำงานจนกระทั่งตามระยะเวลาที่ตั้งไว้ในที่นี้คือ 2 วินาทีและขณะที่ I0.0 = 1
3.หลังจากระยะเวลาที่ตั้งไว้หรือ I0.0 = 0 ทำให้ T5 หยุดทำงาน ทำให้ Q4.0 = 0
4.เมื่อ I0.1 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 อยู่ในสภาวะ Reset ทำให้ Q4.0 = 0

2. S_PEXT  Extended Pulse S5 Timer
ลักษณะการทำงาน

1.ถ้า I0.0 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 เริ่มทำงานโดยขณะที่ T5 ทำงานอยู่ Q4.0 = 1
2.T5 จะทำงานจนกระทั่งตามระยะเวลาที่ตั้งไว้ในที่นี้คือ 2 วินาทีโดยไม่สนใจสถานะของ I0.0
3.หลังจากระยะเวลาที่ตั้งไว้หรือ I0.0 = 0 ทำให้ T5 หยุดทำงาน ทำให้ Q4.0 = 0
4.เมื่อ I0.1 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 อยู่ในสภาวะ Reset ทำให้ Q4.0 = 0

3. S_ODT  On-Delay S5 Timer
ลักษณะการทำงาน

1.ถ้า I0.0 เปลี่ยนสถานะจาก 0 เป็น 1 จนกระทั่งตามระยะเวลาที่ตั้งไว้ในที่นี้คือ 2 วินาที
2.T5 จะทำงานจนกระทั่ง I0.0 = 0
3.ถ้า I0.0 = 0 ทำให้ T5 หยุดทำงาน ทำให้ Q4.0 = 0
4.เมื่อ I0.1 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 อยู่ในสภาวะ Reset ทำให้ Q4.0 = 0


4. S_ODTS  Retentive On-Delay S5 Timer
ลักษณะการทำงาน
1.ถ้า I0.0 เปลี่ยนสถานะจาก 0 เป็น 1 จนกระทั่งตามระยะเวลาที่ตั้งไว้ในที่นี้คือ 2 วินาที
2.T5 จะทำงานจนกระทั่ง I0.1 = 0
3.ถ้า I0.0 เปลี่ยนสถานะจาก 0 เป็น 1 อีกทีจะทำการเริ่มนับเวลาใหม่
4.เมื่อ I0.1 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 อยู่ในสภาวะ Reset ทำให้ Q4.0 = 0

5. S_OFFDT Off-Delay S5 Timer
ลักษณะการทำงาน
1.ถ้า I0.0 เปลี่ยนสถานะจาก 0 เป็น 1 T5 จะทำงาน
2.T5 จะทำงานต่อจนกระทั่ง I0.0 = 0 เป็นระยะเวลาที่กำหนดไว้
3.ถ้าถึงระยะเวลาที่กำหนดไว้ T5 ก็จะหยุดทำงาน
4.เมื่อ I0.1 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 อยู่ในสภาวะ Reset ทำให้ Q4.0 = 0

6. Pulse Timer Coil --- (SP)

1.ถ้า I0.0 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 เริ่มทำงานโดยขณะที่ T5 ทำงานอยู่ Q4.0 = 1
2.T5 จะทำงานจนกระทั่งตามระยะเวลาที่ตั้งไว้ในที่นี้คือ 2 วินาทีและขณะที่ I0.0 = 1
3.หลังจากระยะเวลาที่ตั้งไว้หรือ I0.0 = 0 ทำให้ T5 หยุดทำงาน ทำให้ Q4.0 = 0
4.เมื่อ I0.1 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 อยู่ในสภาวะ Reset ทำให้ Q4.0 = 0


7. Extended Pulse Timer Coil  ---( SE )

1.ถ้า I0.0 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 เริ่มทำงานโดยขณะที่ T5 ทำงานอยู่ Q4.0 = 1
2.T5 จะทำงานจนกระทั่งตามระยะเวลาที่ตั้งไว้ในที่นี้คือ 2 วินาทีโดยไม่สนใจสถานะของ I0.0
3.หลังจากระยะเวลาที่ตั้งไว้หรือ I0.0 = 0 ทำให้ T5 หยุดทำงาน ทำให้ Q4.0 = 0
4.เมื่อ I0.1 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 อยู่ในสภาวะ Reset ทำให้ Q4.0 = 0


8. On-Delay Timer Coil ---( SD )

1.ถ้า I0.0 เปลี่ยนสถานะจาก 0 เป็น 1 จนกระทั่งตามระยะเวลาที่ตั้งไว้ในที่นี้คือ 2 วินาที
2.T5 จะทำงานจนกระทั่ง I0.0 = 0
3.ถ้า I0.0 = 0 ทำให้ T5 หยุดทำงาน ทำให้ Q4.0 = 0
4.เมื่อ I0.1 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 อยู่ในสภาวะ Reset ทำให้ Q4.0 = 0

9. Retentive On-Delay Timer Coil ---( SS )


1.ถ้า I0.0 เปลี่ยนสถานะจาก 0 เป็น 1 จนกระทั่งตามระยะเวลาที่ตั้งไว้ในที่นี้คือ 2 วินาที
2.T5 จะทำงานจนกระทั่ง I0.1 = 0
3.ถ้า I0.0 เปลี่ยนสถานะจาก 0 เป็น 1 อีกทีจะทำการเริ่มนับเวลาใหม่
4.เมื่อ I0.1 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 อยู่ในสภาวะ Reset ทำให้ Q4.0 = 0

10. Off-Delay Timer Coil ---( SF )
1.ถ้า I0.0 เปลี่ยนสถานะจาก 0 เป็น 1 T5 จะทำงาน
2.T5 จะทำงานต่อจนกระทั่ง I0.0 = 0 เป็นระยะเวลาที่กำหนดไว้
3.ถ้าถึงระยะเวลาที่กำหนดไว้ T5 ก็จะหยุดทำงาน
4.เมื่อ I0.1 เปลี่ยนสถานะจาก 0 เป็น 1 ทำให้ T5 อยู่ในสภาวะ Reset ทำให้ Q4.0 = 0










ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

บทที่ 1 พื้นฐาน PLC

บทที่ 7 พื้นฐานในการเขียนโปรแกรม