Top 50 Popular Supplier
1 การเพิ่มเว็บลงใน e-directory 53,401
2 T.N. METAL WORKS Co., Ltd. 47,818
3 เคอีบี (KEB ) ประเทศไทย 37,236
4 ฟิลิปส์อิเล็กทรอนิกส์ (ประเทศไทย) จำกัด 33,396
5 บ.ไทนามิคส์ จำกัด 29,514
6 สถาบันไทยเยอรมัน 29,134
7 ลาดกระบัง ทูลส์ แอนด์ ดาย จำกัด 26,046
8 Industrial Provision co., ltd 26,026
9 Infinity Engineering System Co.,Ltd 23,683
10 สยาม เอลมาเทค (siam elmatech) 22,650
11 ไทยเทคนิค อีเล็คตริค จำกัด 22,117
12 ฟอร์จูน เมคคานิค แอนด์ ซัพพลาย 21,039
13 เอเชียเทค พาวเวอร์คอนโทรล จำกัด 20,735
14 บริษัท เวิลด์ ไฮดรอลิคส์ จำกัด 19,925
15 โปรไดร์ฟ ซิสเต็ม จำกัด 18,320
16 ซี.เค.แอล.โพลีเทค เอ็นจิเนียริ่ง 17,252
17 ธรรมคุณ ออโตเมชั่น 16,254
18 AVERA CO., LTD. 14,269
19 P.D.S. Automation co.,ltd 14,098
20 เลิศบุศย์ 14,004
21 ห้างหุ้นส่วนสามัญ เอ-รีไซเคิล กรุ๊ป 12,776
22 แมชชีนเทค 12,454
23 เทคนิคอล พรีซิชั่น แมชชีนนิ่ง 12,342
24 ทรอนิคส์เซิร์ฟ จำกัด 11,459
25 มากิโน (ประเทศไทย) 11,420
26 Pro-face South-East Asia Pacific Co., Ltd. 11,415
27 Electronics Source Co.,Ltd. 11,404
28 อีดีเอ อินเตอร์เนชั่นเนล จำกัด 11,381
29 โครงการพัฒนาอุตสาหกรรมแม่พิมพ์ 10,753
30 ดีไซน์ โธร แมนูแฟคเจอริ่ง 10,526
31 IWASHITA INSTRUMENTS (THAILAND) LTD. 10,485
32 ศรีทองเนมเพลท จำกัด 10,301
33 Intelligent Mechantronics System (Thailand) 10,156
34 เอส.เอส.บี สยาม จำกัด 10,070
35 I-Mechanics Co.,Ltd. 9,812
36 CHEMTEC AUTOMATION CO.,LTD. 9,802
37 SAMWHA THAILAND 9,768
38 เอ็นเทค แอสโซซิเอท จำกัด 9,647
39 ดาต้า เอ็นทรี่ กรุ๊ป จำกัด 9,612
40 วอยก้า จำกัด 9,596
41 Advanced Technology Equipment 9,582
42 มิตราคม (Mitracom) 9,577
43 Pan Drives Co.,Ltd 9,573
44 K.P. Trading Group Company Limited 9,526
45 SUNAI GROUP CO.,LTD. 9,522
46 Systems integrator 9,477
47 Autodesk Asia Pte Co., Ltd. 9,434
48 เลิศบุศย์ 8,939
49 CHENGGANG Electrical Engineering 8,507
50 AirTAC Enterprise Group 8,449
16/05/2556 12:49 น. , อ่าน 5,451 ครั้ง
Bookmark and Share
Appendix S5 (Table 5) _ STL
โดย : Admin

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

 

 

THE PLC:  

Brief history Type of PLC
Pulse Edge Scan Time
Input Module Output Module
Intelligent Module Sink/Source Module
Operand Logic Gate
Programming.  




Basic Operations: 

Boolean logic  Set/Reset
Data Block  Arithmetic
Comparison  Timer 
Counter  Load/Transfer 
Block Call   
   


Appendix(S5) : Table 1 Table 2   Table  3  Table  4  Table  5

 

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

 

 

Mnemonic

รายละเอียด

JC =xxxx

คำสั่งกระโดดชนิดมีเงื่อนไข (Condition jump)
คำสั่งนี้จะกำหนดให้โปรแกรมกระโดดไปยัง Label ที่กำหนดภายในคำสั่ง ถ้าสถานะของ RLO ที่กำหนดก่อนหน้าคำสั่งนี้ มีสถานะเป็น "1"

JP =xxxx

คำสั่งกระโดดเมื่อข้อมูลมีค่าเป็นบวก
คำสั่งนี้โปรแกรมจะกระโดดไปยัง Label ที่ถูกระบุด้วยคำสั่งนี้ เมื่อมีการคำนวณทางด้านคณิตศาสตร์ ในแอคคิวมูเลเตอร์ 1 และค่าภายในแอคคิวมูเลเตอร์มีค่ามากกว่าศูนย์

JM =xxxx

คำสั่งกระโดดเมื่อข้อมูลมีค่าเป็นลบ
คำสั่งนี้โปรแกรมจะกระโดดไปยัง Label ที่ถูกระบุด้วยคำสั่งนี้ เมื่อมีการคำนวณทางด้านคณิตศาสตร์ ในแอคคิวมูเลเตอร์ 1 และค่าภายในแอคคิวมูเลเตอร์มีค่าน้อยกว่าศูนย์

JZ =xxxx

คำสั่งกระโดดเมื่อข้อมูลมีค่าเท่ากับ ศูนย์ (Jump if zero)
คำสั่งนี้โปรแกรมจะกระโดดไปยัง Label ที่ถูกระบุด้วยคำสั่งนี้ เมื่อมีการคำนวณทางด้านคณิตศาสตร์ ในแอคคิวมูเลเตอร์ 1 และค่าภายในแอคคิวมูเลเตอร์มีค่าเท่ากับศูนย์

JN =xxxx

คำสั่งกระโดดเมื่อข้อมูลมีค่าไม่เท่ากับ ศูนย์ (Jump if not zero)
คำสั่งนี้โปรแกรมจะกระโดดไปยัง Label ที่ถูกระบุด้วยคำสั่งนี้ เมื่อมีการคำนวณทางด้านคณิตศาสตร์ ในแอคคิวมูเลเตอร์ 1 และค่าภายในแอคคิวมูเลเตอร์มีค่าไม่เท่ากับศูนย์

JO =xxxx

คำสั่งกระโดดเมื่อข้อมูล Overflow (Jump on overflow)
คำสั่งนี้โปรแกรมจะกระโดดไปยัง Label ที่ถูกระบุด้วยคำสั่งนี้ เมื่อมีการคำนวณทางด้านคณิตศาสตร์ ในแอคคิวมูเลเตอร์ 1 และค่าภายในแอคคิวมูเลเตอร์มีค่า Overflow

DO DWn

คำสั่งโปรเซสดาต้าเวิร์ด (Process data word)
คำสั่งนี้จะนำข้อมูลในดาต้าเวิร์ด ที่ถูกระบุออกมาเพื่อใช้ในคำสั่งถัดไป

DO FWn

คำสั่งโปรเซสแฟลกเวิร์ด (Process flag word)
คำสั่งนี้จะนำข้อมูลในแฟลกเวิร์ด ที่ถูกระบุออกมาเพื่อใช้ในคำสั่งถัดไป

O =xxxx

คำสั่งลอจิก OR

ON =xxxx

คำสั่งลอจิก OR-Not

= =xxxx

คำสั่งกำหนดผลของการกระทางลอจิก (Assignment)

TB - คำสั่งตรวจสอบที่สถานะ "1" (Test bit for "1" state)
TBN - คำสั่งตรวจสอบบิทที่สถานะบิท "0" (Test bit for "0" state)
SU - คำสั่งเซ็ทบิทชนิดไม่มีเงื่อนไข (Condition bit reset)
RU - คำสั่งรีเซ็ทบิทชนิดไม่มีเงื่อนไข (Uncondition bit reset)
FR

คำสั่งอีนาเบิ้ล เคาน์เตอร์, ไทม์เมอร์ (Enable counter, timer)
คำสั่งอีนาเบิ้ลใช้สำหรับการสตาร์ทไทม์เมอร์, เซ็ทเคาน์เตอร์ หรือ สตาร์ทการเริ่มนับขึ้น หรือ นับลง ถ้า RLO มีสถานะเป็น "1"

AW

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

OW

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

XOW

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

CFW

คำสั่งคอมพลีเมนส์ที่ 1 (1' s Complement)
ข้อมูลภายในแอคคิวมูเลเตอร์ 1 จะถูกกระทำ 1 's Complement

CSW

คำสั่งคอมพลีเมนส์ที่ 2 (2' s Complement)
ข้อมูลภายในแอคคิวมูเลเตอร์ 1 จะถูกกระทำ 2 's Complement

SLWn

คำสั่งเลื่อนข้อมูลไปทางซ้าย (Shift, Left word)
คำสั่งนี้จะทำการเลื่อนข้อมูลภายในแอคคิวมูเลเตอร์ 1 ไปทางซ้ายเท่ากับจำนวน n บิท ที่กำหนด ส่วนข้อมูลที่เข้ามาแทนที่ทางขวามือจะมีสถานะเป็น "0"

SRW

คำสั่งเลื่อนข้อมูลไปทางขวา (Shift, Right word)
คำสั่งนี้จะทำการเลื่อนข้อมูลภายในแอคคิวมูเลเตอร์ 1 ไปทางขวาเท่ากับจำนวน n บิท ที่กำหนด ส่วนข้อมูลที่เข้ามาแทนที่ทางซ้ายมือจะมีสถานะเป็น "0"

JU =xxxx

คำสั่งกระโดดชนิดไม่มีเงื่อนไข (Uncondition jump)
คำสั่งนี้จะกำหนดให้โปรแกรมกระโดดไปยัง Label ที่กำหนดภายในคำสั่ง (xxxx คือ Actual operand ที่ถูกแทนที่ด้วยตัวอักษรที่มีความหมายในการควบคุม)

S =xxxx

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

S =xxxx

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

RB =xxxx

รีเซ็ทฟังก์ชั่นหน่วยความจำ (Reset memory function)
ถ้าสถานะของ RLO มีสถานะเป็น "1" ค่า Actual operand จะถูกรีเซ็ทเป็นศูนย์ และ ถ้าสถานะของ RLO มีสถานะเป็น "0" จะไม่มีผลต่อคำสั่งนี้

SP =xxxx

Pulse timer
เมื่อสถานะของ RLO มีสถานะเปลี่ยนแปลงจาก "0" ไปเป็น "1" ไทม์เมอร์ที่ถูกระบุด้วยโอเปอร์แรนด์จะเริ่มต้นนับเวลา และให้เอ้าท์พุทตามคุณสมบัติของ พัลซ์ไทม์เมอร์ ด้วยค่าที่กำหนดในแอคคิวมูเลเตอร์ 1

SR =xxxx

On-delay timer
เมื่อสถานะของ RLO มีสถานะเปลี่ยนแปลงจาก "0" ไปเป็น "1" ไทม์เมอร์ที่ถูกระบุด้วยโอเปอร์แรนด์จะเริ่มต้นนับเวลา และให้เอ้าท์พุทตามคุณสมบัติของ On-delay timer ด้วยค่าที่กำหนดในแอคคิวมูเลเตอร์ 1

SFD =xxxx

Off-delay timer or count a counter down
เมื่อสถานะของ RLO มีสถานะเปลี่ยนแปลงจาก "0" ไปเป็น "1" ไทม์เมอร์ที่ถูกระบุด้วยโอเปอร์แรนด์จะเริ่มต้นนับเวลา และให้เอ้าท์พุทตามคุณสมบัติของ Off-delay timer ด้วยค่าที่กำหนดในแอคคิวมูเลเตอร์ 1 หรือ เมื่อสถานะของ RLO มีสถานะเปลี่ยนแปลงจาก "0" ไปเป็น "1" เคาน์เตอร์ ที่ถูกระบุด้วยโอเปอร์แรนด์จะเริ่มต้นนับลง

SSU =xxxx

Retentive on-delay timer or count a counter up
เมื่อสถานะของ RLO มีสถานะเปลี่ยนแปลงจาก "0" ไปเป็น "1" ไทม์เมอร์ที่ถูกระบุด้วยโอเปอร์แรนด์จะเริ่มต้นนับเวลา และให้เอ้าท์พุทตามคุณสมบัติของ Retentive on-delay timer ด้วยค่าที่กำหนดในแอคคิวมูเลเตอร์ 1 หรือ เมื่อสถานะของ RLO มีสถานะเปลี่ยนแปลงจาก "0" ไปเป็น "1" เคาน์เตอร์ ที่ถูกระบุด้วย โอเปอร์แรนด์จะเริ่มต้นนับขึ้น

SEC =xxxx

Extend pulse timer หรือ Set counter
เมื่อสถานะของ RLO มีสถานะเปลี่ยนแปลงจาก "0" ไปเป็น "1" ไทม์เมอร์ที่ถูกระบุด้วยโอเปอร์แรนด์จะเริ่มต้นนับเวลา และให้เอ้าท์พุทตามคุณสมบัติของ Extended pulse timer ด้วยค่าที่กำหนดในแอคคิวมูเลเตอร์ 1 หรือ เมื่อสถานะของ RLO มีสถานะเปลี่ยนแปลงจาก "0" ไปเป็น "1" เคาน์เตอร์ ที่ถูกระบุด้วย โอเปอร์แรนด์จะถูกเซ็ทค่าการนับด้วยค่าที่อยู่ภายในแอคคิวมูเลเตอร์ 1

RD =xxxx

รีเซ็ทไทม์เมอร์ หรือ เคาน์เตอร์ (Reset , timer or counter)
ไทม์เมอร์ หรือเคาน์เตอร์ที่ถูกระบุภายในโอเปอร์แรนด์ จะถูกรีเซ็ทเมื่อ RLO มีสถานะเป็น "1"

FR =xxxx

คำสั่งอีนาเบิ้ล เคาน์เตอร์, ไทม์เมอร์
ถ้า RLO มีสถานะการเปลี่ยนแปลงสถานะจาก "0" ไปเป็น "1" ก็จะเป็นการสตาร์ทไทม์เมอร์, เซ็ทเคาน์เตอร์ หรือ สตาร์ทการเริ่มนับขึ้น หรือนับลง

L =xxxx

โหลดค่าข้อมูลจาก Actual operand
ข้อมูลจาก Actual operand จะถูกโหลดไปเก็บไว้ที่แอคคิวมูเลเตอร์ 1 ถ้า Actual operand เป็นไทม์เมอร์ หรือ เคาน์เตอร์ ค่าการนับเวลา และการนับจำนวนจะถูกโหลดลงไปเก็บในแอคคิวมูเลเตอร์ในรูปของเลขไบนารี่

LD =xxxx

โหลดค่าข้อมูลในรูปของรหัส BCD จาก Actual operand
ข้อมูลจาก Actual operand ซึ่งเป็นไทม์เมอร์ หรือ เคาน์เตอร์ จะถูกโหลดไปเก็บไว้ที่แอคคิวมูเลเตอร์ 1 ในรูปของรหัส BCD

LW =xxxx

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

T =xxxx

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

DO =xxxx FB, PB, SB หรือ DB ที่ถูกระบุใน Actual operand จะถูกเรียกเพื่อเข้าไปสแกนการทำงานในบล็อคเหล่านั้นทันที
LIRn

โหลดรีจิสเตอร์ทางอ้อม (Load register indirectly)
คำสั่งนี้ แอคคิวมูเลเตอร์จะถูกโหลดด้วยข้อมูลในแอดเดรสที่อยู่ในแอคคิวมูเลเตอร์ ก่อนหน้าคำสั่งนี้

TIRn

ส่งถ่ายข้อมูลรีจิสเตอร์ทางอ้อม (Transfer register indirectly)
คำสั่งนี้จะถ่ายข้อมูลจากแอคคิวมูเลเตอร์ 2 ไปให้แอดเดรสที่เป็นข้อมูลอยู่ใน แอคคิวมูเลเตอร์ 1

TNBn

ส่งถ่ายข้อมูลแบบบล็อค (Block transfer)
คำสั่งนี้จะคัดลอกข้อมูลในเนื้อที่ของหน่วยความจำด้วยจำนวนของไบต์ ที่ถูกกำหนดเป็นพารามิเตอร์ ของคำสั่งนี้แอดเดรสที่เป็นแหล่งข้อมูลจะอยู่ใน แอคคิวมูเลเตอร์ 2 ส่วนแอดเดรสที่เป็นแหล่งรับข้อมูลจะกำหนดไว้ใน แอคคิวมูเลเตอร์ 1

JRn

คำสั่งกระโดดสัมพันธ์ (Jump relative)
คำสั่งนี้การสแกนจะกระโดดไปแบบไม่มีเงื่อนไข ซึ่งระยะทางที่จะกระโดดไปถูก ระบุด้วยพารามิเตอร์ที่อยู่ในคำสั่งนี้

TAKn แลกข้อมูลระหว่างแอคคิวมูเลเตอร์ 1 กับ 2 (Swap accumulator contants)
ADD BNn

บวกค่าคงที่หนึ่งไบต์ (Add byte constant)
คำสั่งนี้จะทำการบวกค่าในแอคคิวมูเลเตอร์ 1 ด้วยค่าคงที่ที่ถูกกำหนดด้วยคำสั่งนี้ โดยที่ค่าในแอคคิวมูเลเตอร์ 2 จะไม่เปลี่ยนแปลง

ADD KFn

บวกค่าคงที่หนึ่งเวิร์ด (Add word constant)
คำสั่งนี้จะทำการบวกค่าในแอคคิวมูเลเตอร์ 1 ด้วยค่าคงที่ที่ถูกกำหนดด้วยคำสั่งนี้ โดยที่ค่าในแอคคิวมูเลเตอร์ 2 จะไม่เปลี่ยนแปลง

DI

ปฏิบัติขบวนการทางอ้อม (Process block parameter indirectly)
คำสั่งนี้จะสั่งให้บล็อคพารามิเตอร์ในแอคคิวมูเลเตอร์ 1 เริ่มปฏิบัติขบวนการ

STS หยุด (Stop)

 

เรื่องอื่นๆที่น่าสนใจ

ทำไมระบบไฟฟ้าจึงต้องเป็น 3 เฟส ? / อันตรายของไฟฟ้าต่อร่างกายมนุษย์ แผ่นป้ายมอเตอร์บอกอะไรเราบ้าง ? / การควบคุมความเร็วดีซีมอเตอร์ทำไมจึงนิยมใช้วิธีกระตุ้นแยก ?  / อินเวอร์เตอร์ต้องดูแลและทำการบำรุงรักษาอย่างไรบ้าง? / เซอร์วิชแฟคเตอร์คืออะไรมีไว้เพื่ออ?  มอเตอร์ 3 เฟส นามาใช้กับไฟ 1เฟสได้หรือไม่และต้องทำอย่างไรบ้าง ?  / 20 เทคโนโลยีที่ต้องรู้ในระบบออโตเมชั่นมีอะไร  / ระบบไฟฟ้าสมาร์ทกริดคืออะไร  / เมื่อต่อ CT แต่ไม่มีโหลดทำไมต้องซ๊อตทางด้านเอาท์พุท /มีแฟนเป็นวิศวะโชคดีจริงหรือ ? / ทำไมต้องให้วิศวะจุฬาอย่างผมไปก่อผนังเช่นเดียวกับแรงงานพม่า /ในวงจรสตาร์เดลต้าควรตั้งค่าโอเวอร์โหลดอย่างไร ?

 

 

 


นายเอ็นจิเนียร์ขอสงวนสิทธิ์รับรองความถูกต้อง โปรดใช้วิจารณญาณในการรับข่าวสารข้อมูล

 

23 May 2017
:: MEMBER LOGIN
E-mail Account
Password
:: OUR SPONSORS
Schneider
SLG
tnmetalworks
tnmetalworks
adtech
KEB