โปรแกรมเมเบิลลอจิกคอนโทรลเลอร์
(Programmable Logic Controller)

โดย   ชำนาญ    เฉลิมยุทธ    

 

| Home | About Us | Electricity | Energy | Automation | CNC,CAD/CAM  | Web board |

 
9
e
n
g
i
n
e
e
r


ตารางที่ 4 

สัญลักษณ์ที่ใช้ในการเขียนโปรแกรมแบบ STL (Basic operations)

สัญลักษณ์

รายละเอียด

A -

ลอจิก AND สแกนอินพุทเมื่อสถานะของสัญญาณเป็น "1" เมื่อสถานะอินพุทเป็น "1" สถานะของโอเปอร์แรนด์อินพุทที่ลอจิก AND จะเป็น "1" เมื่ออินพุทเป็น "0" สถานะของโอเปอร์แรนด์อินพุทจะเป็น "0"

AN -

ลอจิก And-Not สแกนเมื่อสถานะสัญญาณเป็น "0" เมื่ออินพุทเป็น "1" สถานะของโอเปอร์แรนด์อินพุทที่ลอจิก And-Not จะเป็น "0" เมื่ออินพุทมีสถานะเป็น "0" สถานะของโอเปอร์แรนด์อินพุทจะเป็น "1"

O -

ลอจิก OR สแกนเมื่อสถานะของสัญญาณเป็น "1"

ON -

ลอจิก OR-Not สแกนเมื่อสถานะของสัญญาณเป็น "0"

O

ลอจิก AND before OR

A(

ลอจิก AND วงเล็บซ้าย

O(

ลอจิก OR วงเล็บซ้าย

)

วงเล็บขวา สำหรับการปิดวงเล็บ

=

กำหนดผลการกระทำทางลอจิก

S -

คำสั่งเซ็ท (Set)
ถ้าสถานะของ RLO มีสถานะเป็น "1" สถานะของโอเปอร์แรนด์จะถูกเซ็ทให้เป็น "1" แต่ถ้า RLO เป็น "0" สถานะของโอเปอร์แรนด์ก็จะไม่มีการเปลี่ยนแปลง

SC n

คำสั่งเซ็ทเคาน์เตอร์ (Set counter)
เคาน์เตอร์ที่กำหนด จะถูกเซ็ท เมื่อสถานะของ RLO มีการเปลี่ยนแปลงจาก "0" ไปเป็น "1" แต่ถ้ามีการเปลี่ยนแปลงจาก "1" ไปเป็น "0" จะไม่มีผลต่อเคาน์เตอร์

R -

คำสั่งรีเซ็ท (Reset)
สถานะของโอเปอร์แรนด์เป็น "0" ถ้าสถานะของ RLO มีสถานะเป็น "1" ถ้าสถานะของ RLO เป็น "0" จะไม่มีผลต่อสถานะของโอเปอร์แรนด์

SP Tn

Pulse timer

SE Tn

Extended pulse timer

SD Tn

On-delay timer

SS Tn

Latching On-delay timer

SF Tn

Off-delay timer

CU Cn คำสั่งกำหนดให้เคาน์เตอร์นับขึ้น (Counter up)
CD Cn คำสั่งกำหนดให้เคาน์เตอร์นับลง (Counter down)
!= F ฟังก์ชันการเปรียบเทียบเมื่อค่าเท่ากัน 
(Comparision function , "Equal to" ) 
เอ้าท์พุท Q จะมีสถานะเป็น "1" ก็ต่อเมื่อค่าของโอเปอร์แรนด์ที่อินพุท Z1 และ Z2 มีค่าเท่ากัน
>< F

ฟังก์ชันการเปรียบเทียบเมื่อค่าไม่เท่ากัน
 
(Comparision function , "Not equal to" )
เอ้าท์พุท Q จะมีสถานะเป็น "1" ก็ต่อเมื่อค่าของโอเปอร์แรนด์ที่อินพุท Z1 และ Z2 มีค่าไม่เท่ากัน

>F

ฟังก์ชันการเปรียบเทียบเมื่อมีค่ามากกว่า 
(Comparision function , "Greater than" )

เอ้าท์พุท Q จะมีสถานะเป็น "1" ก็ต่อเมื่อค่าของโอเปอร์แรนด์ที่อินพุท Z1 มีค่ามากกว่า โอเปอร์แรนด์ที่อินพุท Z2

>=F

ฟังก์ชันการเปรียบเทียบเมื่อมีค่ามากกว่าหรือ เท่ากัน

(Comparision function , "Greater than or equal to" )
เอ้าท์พุท Q จะมีสถานะเป็น "1" ก็ต่อเมื่อค่าของโอเปอร์แรนด์ที่อินพุท Z1 มีค่ามากกว่าหรือ เท่ากับ โอเปอร์แรนด์ที่อินพุท Z2

<F

ฟังก์ชันการเปรียบเทียบเมื่อมีค่าน้อยกว่า 
(Comparison function , "Less than" )
เอ้าท์พุท Q จะมีสถานะเป็น "1" ก็ต่อเมื่อค่าของโอเปอร์แรนด์ที่อินพุท Z1 มีค่าน้อยกว่า โอเปอร์แรนด์ที่อินพุท Z2

<=F

ฟังก์ชันการเปรียบเทียบเมื่อมีค่าน้อยกว่าหรือ เท่ากัน
(Comparision function , "Less than or equal to " )

เอ้าท์พุท Q จะมีสถานะเป็น "1" ก็ต่อเมื่อค่าของโอเปอร์แรนด์ที่อินพุท Z1 มีค่าน้อยกว่า หรือ เท่ากับ โอเปอร์แรนด์ที่อินพุท Z2

+F

ฟังก์ชันการบวก(Addition)

จะนำค่าที่เก็บอยู่ภายในแอคคิวมูเลเตอร์ 2 ตัว มาบวกกันผลลัพธ์ที่ได้ นำไปเก็บไว้ในแอคคิวมูเลเตอร์ 1

-F

ฟังก์ชันการลบ (Subtraction)

จะนำค่าที่เก็บอยู่ภายในแอคคิวมูเลเตอร์ 1 ไปลบออกจากค่าที่เก็บอยู่ใน แอคคิวมูเลเตอร์ 2 ผลลัพธ์ที่ได้ นำไปเก็บไว้ในแอคคิวมูเลเตอร์ 1

L -

คำสั่งโหลด (Load)
จะทำการโหลดค่าของโอเปอร์แรนด์เข้าไปเก็บไว้ที่แอคคิวมูเลเตอร์

T -

คำสั่งทรานส์เฟอร์ (Transfer)

ค่าที่เก็บไว้ภายในแอคคิวมูเลเตอร์ จะถูกทรานส์เฟอร์ไปยังโอเปอร์แรนด์ที่กำหนดภายในคำสั่งทรานส์เฟอร์

JU PBn

คำสั่งเรียกโปรแกรมบล็อคแบบไม่มีเงื่อนไข
(Uncondition call of a program block )
การสแกนของโปรแกรมจะถูกขัดจังหวะเพื่อกระโดดไปยังโปรแกรมบล็อค PBn แล้วจะกระโดดกลับมาหลังจากที่จบการทำงานภายใน โปรแกรมบล็อคที่กำหนด

JC PBn

คำสั่งเรียกโปรแกรมบล็อคแบบมีเงื่อนไข
(Condition call of a program block )
ถ้าผลของการกระทำทางลอจิก (RLO) ของฟังก์ชันก่อนคำสั่งนี้เป็น ลอจิก "1" การสแกนของเมนโปรแกรมจะถูกขัดจังหวะเพื่อกระโดดไปยังโปรแกรมบล็อค PBn แล้วจะกระโดดกลับมาหลังจากที่จบการทำงานภายใน โปรแกรมบล็อคที่กำหนด ถ้าผลของการกระทำทางลอจิก (RLO) มีสถานะเป็น "0" การสแกนของเมนโปรแกรมก็จะดำเนินการเป็นปกติต่อไป

JU SBn

คำสั่งเรียก ซีเควนซ์บล็อค FBn แบบไม่มีเงื่อนไข

(Unconditional call of a function block)

JC SBn

คำสั่งเรียก ซีเควนซ์บล็อค FBn แบบมีเงื่อนไข
(Conditional call of a function block)

JU FBn

คำสั่งเรียก ฟังก์ชันบล็อค FBn แบบไม่มีเงื่อนไข
(Unconditional call of a function block)

JC FBn

คำสั่งเรียก ฟังก์ชันบล็อค FBn แบบมีเงื่อนไข
(Conditional call of a function block)

C DBn

คำสั่งเรียกดาต้าบล็อค (Data block call)
เป็นการเรียกดาต้าบล็อค DBn พร้อมข้อมูลในบล็อคนั้น เพื่อนำไปใช้ในคำสั่งถัดไป

G DBn

คำสั่งสร้างดาต้าบล็อค (Generating a data block )
เมื่อมีการสร้าง DBn พื้นที่ของหน่วยความจำจะถูกจัดเตรียมไว้สำหรับเก็บข้อมูล

BE

คำสั่งปิดท้ายบล็อค (Block end)
เป็นคำสั่งปิดท้ายบล็อคแต่ละบล็อค เพื่อให้กลับไปยังเมนโปรแกรม คำสั่ง BE จะอยู่ท้ายสุดของบล็อคเสมอ

BEU คำสั่งปิดท้ายบล็อค แบบไม่มีเงื่อนไข (Uncondition Block end)
BEC

คำสั่งปิดท้ายบล็อค แบบมีเงื่อนไข (Condition Block end)
ถ้า RLO ของคำสั่งก่อนหน้าคำสั่งนี้เป็น "1" โปรแกรมก็จะทำการประมวลผลคำสั่ง BEC เพื่อกลับไปยังโปรแกรมหลักถ้า RLO ของคำสั่งก่อนหน้าคำสั่งนี้เป็น "0" คำสั่ง BEC ก็จะไม่มีผล

STP

คำสั่งหยุดการทำงาน (Stop)
การดำเนินการประมวลผลของโปรแกรมจะถูกขัดจังหวะ และหยุดการดำเนินการประมวลผลของโปรแกรม จะเริ่มต้นกลับมารีสตาร์ทด้วยมือใหม่

NOP

คำสั่งไม่มีการปฏิบัติงาน (No operation)
ใช้เพื่อรักษาเนื้อที่ของหน่วยความจำกรณีที่ไม่ต้องการผลในขบวนการ

BLDn

แสดงโครงสร้างของการปฏิบัติงาน
จะแสดงการปฏิบัติงานของโปรแกรมมายังโปรแกรมเมอร์

 

9
e
n
g
i
n
e
e
r
 

 

 
 

       e-mail :  webmaster@9engineer.com                                                  | กลับขึ้นด้านบน|     

 

Copyright © 2001-2002 ,www.9engineer.com, All rights reserved.