Top 50 Popular Supplier
1 100,000D_อินเวอร์เตอร์ 175,982
2 100,000D_มิเตอร์วัดไฟฟ้า 173,576
3 100,000D_เครื่องมือช่าง 172,988
4 100,000D_อุปกรณ์ไฟฟ้าและอิเลคทรอนิกส์ 172,769
5 100,000D_เอซีมอเตอร์ 170,461
6 100,000D_ดีซีมอเตอร์ 169,550
7 100,000D_อุปกรณ์แคมป์ปิ้ง 168,506
8 100,000D_เครื่องดื่มและสมุนไพร 167,817
9 เคอีบี (KEB ) ประเทศไทย 160,344
10 100,000D_เครื่องใช้ไฟฟ้าครัวเรือน 158,446
11 100,000D_ของใช้จำเป็นสำหรับผู้หญิง 158,358
12 100,000D_ขายของเล่นเด็ก 157,510
13 E&L INTERNATIONAL CO., LTD. 67,584
14 T.N. METAL WORKS Co., Ltd. 62,127
15 ฟิลิปส์อิเล็กทรอนิกส์ (ประเทศไทย) จำกัด 50,513
16 บ.ไทนามิคส์ จำกัด 43,555
17 Industrial Provision co., ltd 39,223
18 ลาดกระบัง ทูลส์ แอนด์ ดาย จำกัด 38,372
19 Infinity Engineering System Co.,Ltd 36,297
20 สยาม เอลมาเทค (siam elmatech) 34,621
21 ไทยเทคนิค อีเล็คตริค จำกัด 33,437
22 ฟอร์จูน เมคคานิค แอนด์ ซัพพลาย 31,851
23 เอเชียเทค พาวเวอร์คอนโทรล จำกัด 31,220
24 บริษัท เวิลด์ ไฮดรอลิคส์ จำกัด 30,957
25 โปรไดร์ฟ ซิสเต็ม จำกัด 27,581
26 ซี.เค.แอล.โพลีเทค เอ็นจิเนียริ่ง 26,517
27 P.D.S. Automation co.,ltd 22,946
28 AVERA CO., LTD. 22,586
29 เลิศบุศย์ 21,682
30 ห้างหุ้นส่วนสามัญ เอ-รีไซเคิล กรุ๊ป 20,379
31 เทคนิคอล พรีซิชั่น แมชชีนนิ่ง 20,245
32 แมชชีนเทค 19,892
33 Electronics Source Co.,Ltd. 19,868
34 อีดีเอ อินเตอร์เนชั่นเนล จำกัด 19,185
35 มากิโน (ประเทศไทย) 19,137
36 ทรอนิคส์เซิร์ฟ จำกัด 18,798
37 Pro-face South-East Asia Pacific Co., Ltd. 18,602
38 SAMWHA THAILAND 18,291
39 วอยก้า จำกัด 17,897
40 CHEMTEC AUTOMATION CO.,LTD. 17,476
41 IWASHITA INSTRUMENTS (THAILAND) LTD. 17,324
42 ดีไซน์ โธร แมนูแฟคเจอริ่ง 17,301
43 I-Mechanics Co.,Ltd. 17,237
44 เอส.เอส.บี สยาม จำกัด 17,206
45 Intelligent Mechantronics System (Thailand) 17,132
46 ศรีทองเนมเพลท จำกัด 17,066
47 Systems integrator 16,710
48 เอ็นเทค แอสโซซิเอท จำกัด 16,627
49 ดาต้า เอ็นทรี่ กรุ๊ป จำกัด 16,453
50 Advanced Technology Equipment 16,442
16/05/2556 12:49 น. , อ่าน 11,193 ครั้ง
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)

 

========================================================