Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore SoftPLC User Manual 2013(ISEC)

SoftPLC User Manual 2013(ISEC)

Published by thanawit, 2019-07-08 23:56:18

Description: SoftPLC User Manual 2013(ISEC)

Search

Read the Text Version

คมู อื การใชโ ปรแกรมซอฟตแวร SoftPLC ประกอบชุดครุภณั ฑห อ งปฏบิ ัตกิ ารจําลองงานออกแบบเสมอื นจริงและทดสอบระบบ ควบคมุ เคร่ืองจกั รกลอตุ สาหกรรมอตั โนมัติชนั้ สงู เรื่อง ระบบออกแบบควบคุมเครอื่ งจกั รกลอตุ สาหกรรมอตั โนมัติ ดว ยโปรแกรมซอฟตแ วร SoftPLC บรษิ ทั ไอเส็ค องิ ค จํากัด www.isec-inc.com

คมู อื การใชโปรแกรมซอฟตแวร SoftPLC ประกอบชุดครุภณั ฑห องปฏิบตั ิการจาํ ลองงานออกแบบเสมือนจรงิ และทดสอบ ระบบควบคุมเคร่ืองจักรกลอุตสาหกรรมอตั โนมตั ิชน้ั สูง ISEC-SoftPLC(M)-AC2556 Version 2 สงวนลิขสทิ ธิ์ตามกฎหมาย หามคัดลอกถายเอกสารหรอื พมิ พ หรือใชวธิ หี นง่ึ วิธีใดของใบงานเลม นีก้ อนไดร บั อนญุ าต ยกเวนใชเพือ่ ประกอบการเรยี นการสอนเทา นัน้ ราคา 200 บาท จดั ทาํ โดย บริษทั ไอเส็ค องิ ค จํากัด 2521/2 โครงการบซิ ทาวนลาดพราว ถนนลาดพราว แขวงคลองเจา คณุ สงิ ค เขตวงั ทองหลาง กรุงเทพ 10310 โทร : 02 933 1699/โทรสาร :02 933 1144 คูม อื การใชง านโปรแกรม SoftPLC หนา 2 จาก 77

สารบญั คมู อื การใชโปรแกรมซอฟตแ วร SoftPLC Help SoftPLC .......................................................................................................................... 4 บทนํา..........................................................................................................................................4 Interface....................................................................................................................................5 Structure...................................................................................................................................7 Operation modes...................................................................................................................8 Programming Languages.................................................................................................... 10 การเขียนโปรแกรมแบบ LADDER ..........................................................................................11 การเขยี นโปรแกรมแบบ Grafcet Level หรือ Sequence Function Chart ......................44 การเขยี นโปรแกรมแบบ Script ..............................................................................................55 การเขยี นโปรแกรมแบบ Logic Function Blocks ................................................................56 TUTORIALS............................................................................................................................ 62 วธิ กี ารสรางและเริ่มตนโปรแกรม............................................................................................62 Memory, Output SET/RESET..............................................................................................72 Counters and Timers...........................................................................................................73 The Data Stack......................................................................................................................76 คูมอื การใชง านโปรแกรม SoftPLC หนา 3 จาก 77

Help SoftPLC บทนํา SoftPLC เปนโปรแกรมซอฟทแวรท่ีสามารถนํามาใชในการสรางโปรแกรม Logic เหมือนกับการใช PLC ท่ีใชในอุตสาหกรรมจริงทุกประการ โดยสามารถนํามาใชกับงานตางๆ เชน ระบบควบคุมอัตโนมัติใน โรงงาน ระบบควบคุมเชื่อมโยงในบานและสํานักงาน รวมถึงการประยุกตใชในงานออกแบบและจําลองระบบ ควบคุมอัตโนมัติ - SoftPLC ถูกออกแบบใหท าํ งานรวมกับ Port ในเครื่องคอมพวิ เตอร (Serial/Parallel/USB) โดยไม จาํ เปน ตอ งเปด คอมพวิ เตอรหรอื ทาํ อะไรทซ่ี ับซอน เพียงติดตั้งโปรแกรม SoftPLC ก็สามารถตอใชง าน และเริ่มโปรแกรมไดเ ลย - SoftPLC ใชภาษาท่วั ๆ ไป ในการเขยี นโปรแกรม PLC ท่ใี ชกนั ในปจจุบนั อาทิเชน ภาษา Ladder ใน การเขียนโปรแกรมจาํ ลองระบบการทาํ งานของ PLC ในเงือ่ นใขและปจจยั เสมือนจริง ซึ่งมีอปุ กรณ เชน Relay Counter Timer register และอน่ื ๆ - นอกจากน้ียังสามารถเขียนโปรแกรมโดยใชภาษา VBScript และ Logic Functions Block - SoftPLC มีวิธีการเขยี น Grafcet (SFC) ซง่ึ เปน โปรแกรมที่เหน็ ภาพของการใชงานและการทาํ งานได อยา งชดั เจน Grafcet ไมไ ดเปนภาษา แตเ ปนวิธกี ารทจี่ ะออกแบบโมเดลโปรแกรมในวธิ ที ง่ี า ยและมี ประสิทธภิ าพ - ผูเขยี นอาจไมจ าํ เปน ท่ีตองมีความรูในภาษาท่ีจะเขยี นเลยก็ได การใชโ ปรแกรมซอฟทแ วร SoftPLC สามารถใช Grafcet (SFC) ซึ่งเปนกราฟกในการเขียนโปรแกรมดวยเหตุผลนผ้ี เู ขียนสามารถท่ีจะ เรยี นรวู ิธกี ารใช Tutorials และตวั อยา งโปรแกรม ท่แี สดงใหเหน็ ใน Help ได MAKE IT EASY BY SOFTPLC คูมือการใชงานโปรแกรม SoftPLC หนา 4 จาก 77

Interface Interface กราฟกของ 3SoftPLC 3จัดเรยี ง3พ้ืนท่ดี งั ตอ ไปน้ี Menu Bar: แถบเคร่อื งมอื หลกั ในการใชงานโปรแกรม SoftPLC 3มี3ภาพการจัดการโปรแกรม การเขาถึงโมดูล เครือ่ งมอื และอื่น ๆ Programs edition window: เปน 3พน้ื ที่ท่ใี ชในการเขยี นโปรแกรมและแกไ ข Information window: จะใหขอมูลของกระบวนการตางๆ ในระดับ course เชน การเปดโปรแกรม การ Compile การ Run การลบตา งๆ และรายละเอียดโปรแกรมอนื่ ๆ Program structure tree: หนาตางน้ีแสดงโครงสรางโปรแกรม (ระดับ Level ระดับ Phase และระดับ Routines) ซึง่ ผูใ ชส ามารถท่เี พิ่ม ลบออก หรอื ปรับแกโ ครงสรา ง รวมทั้งการแกไขช่อื ขององคประกอบตางๆ คมู อื การใชงานโปรแกรม SoftPLC หนา 5 จาก 77

Programs Controls: การเขาดูแถบหนา ตางนที้ ําใหส ามารถเหน็ ระบบความจาํ ตา งๆ ที่อยูในโปรแกรม ซึ่งทํา ไดโดยการคลกิ สองครงั้ (double click) ในองคประกอบนั้นๆ Status Bar: ใน3แถบเมนูระดับท่ีต่ําลงไป จะมีขอมูลสนับสนุนเกี่ยวกับโปรแกรม เชน 1) สถานะการ 3RUN/STOP 2) Lines และ column ใน3การเขียนโปรแกรม (program edition) 3) 3Driver ที่เลือกและ จาํ นวนของ Resource ทใี่ ชโดยโปรแกรมในหลกั สูตร Tool Bar: มีเครอื่ งมอื ทใี่ ชง านบอ ยเพอื่ อํานวยความสะดวกสบายมากข้ึนสาํ หรบั การเขยี นโปรแกรม จากซอฟทแวรเวอรช่ันรุน 4.43 3 เปนตนไป จะมี3 EDI Estructure 3ซ่ึง3ผูใชสามารถเปดหนาตางไดสูงสุดถึง 5 หนาตา งพรอมกนั เพอ่ื ดโู ปรแกรมตางๆ คมู ือการใชงานโปรแกรม SoftPLC หนา 6 จาก 77

Structure • 3เครอ่ื งมือ3ในการจดั โครงสรางโปรแกรมดังกลาวคือการจัดแบงเปนระดับ Levels ระดับ Phases และ ระดับ Routines • 3ระดับ Levels เปนระดับท่ีสูงกวาและครอบคลุมระดับ Phases ซ่ึงผูใชสามารถสรางไดสูงสุดถึง 100 Level และในแตละ Levels สามารถสราง Phases เกบ็ ไวไ ดถ ึง 100 Phases • 3ในแตละ Phases สามารถเขียนเงื่อนไขการเช่ือมโยง (หรือไมใหเชื่อมโยง) ระหวางกัน หรือระหวาง Phases ใน Levels อื่น • 3ขบวนการประมวลผลของโปรแกรมเรียงเปนลําดับข้ันตอนท่ีตอเน่ือง เร่ิมจาก Levels แรก โดยทุก Phases จะถูกสแกนทีละ Phases เรียงจาก Phases ที่สอง ประมวลผลไปจนกระทั่ง Phases สุดทาย และเมื่อ Phases สุดทายของ Levels สุดทายถูกประมวลผลเสร็จสิ้น การประมวลผลจะ กลับไปเร่มิ ที่ Phases แรกของ Levels แรกอกี คร้งั • 3การดําเนินการดวย Routine มีลักษณะที่แตกตางออกไป มันจะถูกดําเนินการเมื่อถูกคําสั่งเรียกให ดําเนินการจาก Phase ของ Level และเม่ือดําเนินการเสร็จสิ้นแลว จะกลับไปยังโปรแกรมในสวน ตอ ไปของ Phase ณ จุดท่ี Routine ถกู เรยี กมา โดย Routine จะดาํ เนนิ การเปนวงรอบ ๆ จนกระทั่ง มีเง่ือนไขการออกจากวงรอบการดําเนินการเปนจริง (เงื่อนไขในสวนสุดทายของ Routine เปน Coil EXIT) • 3ถา Routine ถูกเรียกใหดําเนินการจาก Level มันจะดําเนินการตอเม่ือเงื่อนไขการเรียกเปนจริง แตถาถูก เรียกใหดําเนินการจาก Trigger มันจะดําเนินการในคร้ังแรกท่ีเง่ือนไขการเรียกเปนจริงเทาน้ัน และจะไม ดําเนินการอีกเลยจนกระทั่งเง่ือนไขการเรียกไมเก่ียวพันกับการเปล่ียนสถานะ (transition) จาก False - True. • Grafcet Levels จดั วา เปนกรณีพิเศษของ Level เพราะขั้นตอนและการเปล่ียนแปลงภายใน Grafet จะถกู เรยี กใหดําเนินการตามมาตรฐานท่ัวไปของวีธี Grafet คมู ือการใชงานโปรแกรม SoftPLC หนา 7 จาก 77

Operation modes SoftPLC ประกอบไปดวยสวนประกอบตางๆ ซึ่งเปนเคร่ืองมือที่จําเปนในการใชสราง ปรับแตง Compile ดําเนินการ Execute และการจําลองโปรแกรมควบคมุ ตา งๆ ท่ีเราสรางขึน้ 2โดยปกติเมอ่ื SoftPLC ถกู Executed จะเริ่มใน Edition mode 2เพื่อ Compile โปรแกรม คุณสามารถกดแถบเครื่องมือตรงปุม Compile หรือเลือกตรง Compile option จากเมนู เพื่อ Execute โปรแกรม และดําเนินการ pass the PLC to Execution mode ผูใชสามารถกดปุม F12 หรือเลือก Start icon จากแถบเครื่องมือ (tool bar) หรือเลือก Start จากแถบเมนู (menu bar) ใน กรณีท่ีผูใชไมไดดําเนินการ compiled โปรแกรมกอนหนานี้ และขามมายังกระบวนการ Execute โปรแกรม โปรแกรมซอฟทแวร SoftPLC จะดําเนินการ Compile โปรแกรมใหโดยอัตโนมัติ 3เม่ือ3 3SoftPLC อยูในโหมด 3Run (โปรแกรมกําลังประมวลผล) Icon จะปรากฏทางดานลางซายมือของ Windows 2เม่อื ผูใ ชกดเลอื ก Icon ดวย Mouse ปมุ ขวาหรอื ซาย เมนูจะปรากฎขึ้นมาดงั นี้: คมู อื การใชง านโปรแกรม SoftPLC หนา 8 จาก 77

ซ่งึ ผใู ชสามารถดําเนนิ การตา งๆ ไดด งั นี้ • หยุดการประมวลผลโปรแกรมและกลบั สโู หมดการปรบั แตง • สามารถเลือกดูขอมูลตางๆ ในแบบเวลาปจจุบัน Real time (Input, Output, Memory, Counter, Timer และ Data Stack). • สามารถดูสถานะของโปรแกรมจาก Editor ซึ่งเปนประโยชนมากสําหรับการใชแกปญหา bug ของ โปรแกรม (debug operations) • สามารถดู Window ดวยปุมกด I/O (สามารถใชไ ดเมื่อ Simulated driver อยใู นโหมด enabled). • สามารถหยดุ Execute และจบการดาํ เนินการของ SoftPLC คมู อื การใชงานโปรแกรม SoftPLC หนา 9 จาก 77

Programming Languages ดวยการใชงาน SoftPLC คุณสามารถดําเนินการโปรแกรมดวยภาษาตางๆ ซึ่งแตละภาษามีคุณลักษณะตางๆ ในแบบของตวั เอง • ภาษา Ladder : สามารถที่จะสรางโปรแกรมในทางกราฟก ลักษณะเหมือนผูใชตอวงจรดวยอุปกรณ ตางๆ เชนอุปกรณ relays อุปกรณ counters อุปกรณ timers และอุปกรณ sequencers สวนประกอบพ้ืนฐานของโปรแกรม Ladder คือ contacts และ coils โปรแกรมท่ีเขียนใน Ladder ถูกรวมโดย Segments ซึ่ง Segment เปนกลุมของ contact หรือกลุมของ coil โดยท่ี Contact นี้ เปน จุดเงื่อนไข เพอื่ ประเมินผลไปสูการดาํ เนนิ การ โดยท่ี coils คอื รปู แบบการดําเนนิ การ (actions) • ภาษา Logic Blocks Functions : การเขียนโปรแกรมท้ังหมดเขียนในลักษณะกราฟก โดยการเลือก element (Ladder เปน contacts และ coils) ซึ่งแทนดวยวงกลมและ/หรือสี่เหลี่ยม แลวนํามา ประกอบตอ ระหวา งกัน • ภาษา VBScript : ภาษานี้ใช วากยสัมพันธ0 VBScript (syntax) ในการเขียน algoritms ซึ่งมี ประสิทธิภาพมาก โดยใชการเขียนเพยี งไมก ่บี รรทัด • ภาษา Grafcet : GRAFCET (Graph of Control of Steps of Transitions) เปนไดอะแกรมการ ทํางานท่ีสามารถสรางรูปแบบ (model) ของกระบวนงานในการขับเคล่ือนอัตโนมัติ โดยพิจารณาตัว แปร inputs และการดําเนินการตอบสนอง โดยลักษณะรูปแบบแลว Grafcet ไมใชภาษา แตเปน รูปแบบของการออกแบบท่ีกําหนดตรรกะความคิดซึ่งนําไปสูกระบวนการขับเคล่ือนกลไกอัตโนมัติ Levels Grafcet ประกอบไปดวย Steps และ Transitions โดยที่ steps สามารถเขียนในภาษา Ladder ภาษา Script หรือในภาษา Functions of Logic Blocks ในขณะท่ี transitions สามารถ เขียนในภาษา Ladder เทา นน้ั คูม อื การใชง านโปรแกรม SoftPLC หนา 10 จาก 77

การเขยี นโปรแกรมแบบ LADDER Segments (LADDER) เงื่อนไขหรือกลมุ ของเงอื่ นไข Boolean นัน้ จะสิ้นสุดลงเมอ่ื Coil หรอื กลมุ ของ Coils มกี ารทาํ งาน ขอควรระวัง: การเขียนสวนประกอบตางๆ (Segment) จะเร่ิมจากซายไปขวาและจากบนลงลาง ซึ่งสรางเปน กระแสความตอเนื่องในทิศทางเดียวเทาน้ัน คือจากซายไปขวา ตัวอยางเชน อินพุต: 6 , 7 , 4 , 2 , 3 จะไมมี ผลกระทบตอ Coils หน่ึง Segment สามารถกําหนดการทํางานของ Coils ตางๆ ไดในลักษณะอนุกรม (Serial Mode) หรอื ในเงอื่ นไขทีแ่ ตกตางกัน ตวั อยาง เมื่อ Segment เปนเงื่อนไขถูก (True) จะมีการทํางานหรือมีการทํางานไปเรื่อยๆ ซ่ึงโหมดการทํางานจะมี ความเก่ียวของกับชนิดของการควบคุม ซึ่งมีอยูสองโหมดคือ level และ flank (trigger) ดังน้ัน การควบคุม ขึน้ อยกู ับสองเงือ่ นไข ในการชวยเหลือของแตล ะการควบคุมจะแสดงโดยรปู แบบของสัญลักษณซ่ึงเปนโหมดที่มี การทาํ งาน ในลักษณะการควบคุมแบบน้ีถูกกําหนดโดย level ซ่ึงเมื่อใดก็ตามที่เง่ือนไขถูกตอง (true) จะมี การทํางานเกิดขึน้ คมู ือการใชง านโปรแกรม SoftPLC หนา 11 จาก 77

ในลักษณะการควบคุมแบบนี้ถูกกําหนดโดย flank (trigger) ซึ่งหมายถึง การทํางานท่ีมีการ ดําเนินการเพียงหน่ึงครั้งเทาน้ัน เม่ือ Segment ถูกตองครั้งแรกและมันจะไมมีการดําเนินการ จนกระทง่ั Segment ไมม กี ารเปล่ยี นแปลง FALSE/TRUE อีกคร้ัง วิธกี ารควบคมุ แบบนี้สามารถทาํ ไดทง้ั สองเงื่อนไขโดยเลือกวธิ กี ารใดวธิ กี ารหนึ่ง Contacts Area INPUTS โครงสรา ง: INPx อธบิ าย : อา นคาลอจิกของอินพตุ x (จาํ นวนเต็มระหวาง 1 ถงึ 32000) ตวั อยา ง : เมอ่ื อนิ พตุ 1 มกี ารทํางาน/หรอื ไมมกี ารทาํ งาน เอาทพ ุต 1 ก็จะทาํ งาน/หรือไมม ีการทํางาน OUTPUT โครงสราง: OUTx อธิบาย: อานคาลอจกิ ของเอาทพ ตุ x (จาํ นวนเตม็ ระหวาง 1 ถงึ 32000) ตวั อยาง: เอาทพตุ 1 ทํางานเมอื่ อินพตุ 1 และเอาทพ ุต 3 ทํางาน MEMORY โครงสรา ง: MEMx อธิบาย: ระบบมีกลุมของหนวยความจํา 32000 หนวยความจํา ซึ่งจัดเก็บในรูปของคาบูลีน (0/1) มันจะมี การทาํ งานตอ เมอื่ มกี ารกระทาํ คาํ สงั่ SME x และจะรเี ซตเมอื่ มีการทําคาํ สง่ั RME x ซ่งึ x เปน จํานวน ของหนว ยความจาํ (จํานวนเตม็ ระหวา ง 1 ถงึ 32000) รูปแบบ มนั จะพจิ ารณาจากคา บลู นี ของหนวยความจําหมายเลข 1 ถามันเปน 1 จะมกี ระแสไหลผา น ตวั อยา ง เอาทพุต 1 จะทาํ งาน เม่ือหนวยความจาํ 1 และ 2 มกี ารทาํ งาน หนา 12 จาก 77 คูมอื การใชง านโปรแกรม SoftPLC

COUNTER โครงสรา ง: CNTx อธิบาย: ระบบมีเคานเตอรสูงสุด 32000 ซ่ึง x หมายถึง หมายเลขของเคานเตอร (จํานวนเต็มระหวาง 1 ถึง 32000) พารามิเตอร: คาตัวเลขหรือสวนประกอบของดาตาแสตก กําหนดโดย Dy (ซ่ึง y คือ จํานวนเต็มระหวาง 1 ถึง 32000) หรือเคาทเตอรอ่ืนจะกําหนดโดย Cx (ซ่ึง x คอื จํานวนเต็มระหวา ง 1 ถงึ 32000) ตัวอยาง: รปู แบบ จะถูกพิจารณาดวยเงื่อนไข ถา เคาทเตอร หมายเลข 1 มีคาเทากับ 5 ซึ่งเมอ่ื เง่ือนไขถกู ตอ งมนั จะมีกระแสไหลผา น รูปแบบ จะถูกพิจารณาดวยเง่ือนไข ถาเคาทเตอรหมายเลข 3 มีคา เทากับ จํานวนรายละเอียดของดาตาแสตกหมายเลข 6 ซง่ึ เมอ่ื เงือ่ นไขถูกตองจะมีกระแสไหลผา น รูปแบบ จะถูกพิจารณาดวยเงื่อนไข ถาเคาทเตอรหมายเลข 5 มีคา เทา กับ เคาทเตอรห มายเลข 2 ถาเคาทเ ตอรท้งั สองมีคา เหมอื นกนั จะมกี ระแสไหลผาน TIMERS โครงสรา ง: TMRx อธิบาย: ระบบมีทามเมอรสูงสุด 32000 ซึ่ง x หมายถึง หมายเลขของทามเมอร ( จํานวนเต็มระหวาง 1 ถึง 32000 ) รูปแบบ มันจะแสดงคาบูลีนของทามเมอรหมายเลข 25 ถามัน ทํางานจะมีกระแสไหลผาน ทั้งนี้ทามเมอรทําหนาท่ีหนวงเวลาการเช่ือมตอ ในกรณีเซกเมนตตามตัวอยาง ตอ ไปนที้ ามเมอร 1 จะทาํ การหนว งเวลาในหนวยของวนิ าที ตัวอยา ง: คมู อื การใชง านโปรแกรม SoftPLC หนา 13 จาก 77

DATA STACK โครงสรา ง: DATx อธิบาย: ระบบมีดาตาแสตก 32000 ซ่ึง x หมายถึง หมายเลขดาตาแสตก (จํานวนเต็มระหวาง 1 ถึง 32000) ชนิดของขอ มลู สามารถเปน จํานวนจรงิ ตัวอกั ษร หรอื ขอความของตัวอักษร ซ่ึงชนิดของขอมูลจะ เปน ตัวกําหนดการทาํ งาน พารามเิ ตอร: การคํานวณ และ คา ของตัวเลข หรอื ขอ ความตัวอกั ษร การคํานวณสําหรบั จํานวนจริงสามารถเปน: = (equal),> (bigger than), <(smaller than), <> (different), AND (logical and), OR (logical or), XOR (logical xor). คาตัวเลขสามารถเปนคาคงที่ ซ่ึงสวนประกอบของดาตาแสตกกําหนดโดย: Dy ( y คือ จํานวนเต็มระหวาง 1 ถึง 32000 ) หรอื เคาทเตอรกําหนดโดย Cx (x คือ จํานวนเต็มระหวาง 1 ถึง 32000) การดําเนินการสําหรับตัวอักษรหรือขอความตัวอักษรสามารถเปรียบเทียบ: = (equal) หรือ <> (different) ไดเทา น้ัน ตัวอยาง: ใน Segment นี้จะทําการกําหนดคาดาตาแสตกหมายเลข 3 ใหเทากับดาตาแสตกหมายเลข 9 ซึ่งเมื่อดาตา แสตก หมายเลข 1 มคี า เทากับ 25 และเมื่อดาตา แสตกหมายเลข 2 มคี ามากวา ดาตาแสตกหมายเลข 6 ใน Segment นี้เอาทพุต 1 จะทาํ งาน เมอ่ื ลอจิก AND ทาํ งาน กบั คา ดาตา แสตกหมายเลข 5 ซ่ึงคาท้ังสอง จะตองถกู ตอ ง Segment น้ีจะมีการคิดดังตอไปน้ี เม่ือคาดาตาแสตกหมายเลข 3 แตกตางจากคาของเคาทเตอรหมายเลข 4 จะทําการกําหนดคาดาตา แสตกหมายเลข 5 ใหม คี า เทา กับดาตาแสตกหมายเลข 9 Segment น้เี อาทพตุ 1 จะทํางาน และ กําหนดคา 'ACTIVE' ใหกับดาตาแสตกหมายเลข 5 เมื่อดาตาแส ตกหมายเลข 7 มีคาเทากับ ขอความ 'TIPE1' หรือ ดาตาแสตกหมายเลข 8 เทากับ ตัวอักษร 'L' หรือ เมอ่ื ดาตา แสตกหมายเลข 9 มคี า เทา กับ ตัวอักษร '1' (คําเตอื น จะไมเหมือนการคดิ คาตัวเลข1) คูม อื การใชง านโปรแกรม SoftPLC หนา 14 จาก 77

KEYS โครงสรา ง: KEYx อธิบาย: ผูใชส ามารถใชตัวอกั ษรในคีบอรดคอมพิวเตอรในการเชื่อมตอการทํางานได ซ่ึง x เปนชื่อของคียท่ีเรา กาํ หนด สาํ หรบั คียพเิ ศษจะดําเนินการเลอื กจากคุณสมบัตขิ องการเชือ่ มตอ คีย และเลอื กจากคียทตี่ รงกับปญ หา เปนการใชค ียที่ไมเหมือนกันในหน่งึ Segment ตวั อยา ง: ในตวั อยา งนเี้ อาทพ ุต 2 จะทาํ งาน เม่ือคีย 1 และ C มกี ารกด SCRIPT CONTACTS โครงสราง: SCR อธิบาย: ผใู ชสามารถเขยี นการเชอ่ื มตอใน SoftPLC VBScript language โดยใชการควบคุมน้ี ตวั อยา ง: เอาทพุต 1 จะทาํ งานเม่ือดาตา แสตกหมายเลข 1 มีคา มากกวา การบวกของดาตาแสตกหมายเลข 2 บวกดาตา แสตกหมายเลข 3 บวกดาตาแสตกหมายเลข 20 สาํ คัญ: การควบคุมนีส้ ามารถถามคาตวั แปรของ VBScript Blocks ได คมู อื การใชง านโปรแกรม SoftPLC หนา 15 จาก 77

Coils Area OUTPUTS โครงสรา ง: OUTx อธบิ าย: เอาทพ ตุ x ทํางานหรอื ไมท าํ งาน (x จาํ นวนเตม็ ระหวาง 1 ถงึ 32000) สาํ คัญ: เอาทพตุ ทาํ งานจะมีการจํา และมีคุณสมบตั พิ เิ ศษในการทาํ งาน ตัวอยาง: SET OUTPUTS โครงสราง: SOUx อธบิ าย: เอาทพ ุต x ทํางาน (x จาํ นวนเตม็ ระหวา ง 1 ถึง 32000) ตวั อยาง: คูมอื การใชงานโปรแกรม SoftPLC หนา 16 จาก 77

RESET OUTPUTS โครงสราง: ROUx อธบิ าย: รเี ซตเอาทพตุ x (x จํานวนเตม็ ระหวา ง 1 ถึง 32000) ตัวอยาง: SET MEMORY โครงสรา ง: SMEx อธบิ าย: หนวยความจาํ x ทํางาน (x จาํ นวนเตม็ ระหวาง 1 ถึง 32000) ตัวอยาง: RESET MEMORYS โครงสรา ง: RMEx อธิบาย: รีเซตหนวยความจาํ x (x จํานวนเตม็ ระหวาง 1 ถงึ 32000) รเี ซตจะทาํ โดยการทริกเกอร คูม ือการใชงานโปรแกรม SoftPLC หนา 17 จาก 77

ตวั อยาง: COUNTER (add function) หนา 18 จาก 77 โครงสรา ง: CN+x อธบิ าย: x เพ่ิมคา ไป 1 (x จาํ นวนเตม็ ระหวาง 1 ถงึ 32000) ตวั อยา ง: COUNTER (Subtract function) โครงสรา ง: CN-x อธบิ าย: x ลดลงไป 1 (x จาํ นวนเต็มระหวา ง 1 ถงึ 32000) COUNTER (Reset function) โครงสราง: RCNx อธบิ าย: รเี ซตเคาทเ ตอร x (x จํานวนเต็มระหวาง 1 ถึง 32000) ตัวอยา ง: คูม อื การใชงานโปรแกรม SoftPLC

SET TIMER โครงสรา ง: TMRx อธิบาย: TMR x เริ่มนับถอยหลัง (x จํานวนเต็มระหวาง 1 ถึง 32000) เม่ือคาลดลงไปถึง 0 ทามเมอรจะ ทํางาน พารามิเตอร: คาตัวเลขเวลาเริ่มจาก 0 ถึง 65535 (in msec.) หรือ สวนประกอบของดาตาแสตกกําหนด โดย Dy (y จํานวนเต็มระหวาง 1 ถึง 32000) ทามเมอรท ําหนาท่ีหนวงเวลาการเชื่อมตอ ตวั อยา ง: RESET TIMER โครงสราง: RTMx อธิบาย: รเี ซตการนบั ถอยหลงั และสภาวะของทามเมอร x (x จาํ นวนเตม็ ระหวาง 1 ถึง 32000) คมู อื การใชงานโปรแกรม SoftPLC หนา 19 จาก 77

ตัวอยาง: DATA STACK โครงสรา ง: DAT (!)x อธิบาย: PLC มีดาตาแสตก 32000 ตัว ซึ่ง x หมายถึง หมายเลขดาตาแสตก (จํานวนเต็มระหวาง 1 ถึง 32000) ชนดิ ของขอมูลสามารถเปนจํานวนเตม็ หรอื เลขฐานสบิ ตัวอักษรหรือขอความ พารามเิ ตอร: (! ตัวเลอื ก) ดาํ เนินการตัวเลขหรือตวั อกั ษร ( ! ) -> ถาเปน การเพิม่ การกาํ หนดการดาํ เนินการ จะกระทําโดย level แทนการ trigger ซ่ึงหมายความวา จะ ดําเนนิ การทาํ งานในแตละรอบสัญญาณนาฬิกาของ PLC การดําเนนิ การ: ตัวแปรดําเนนิ การสําหรับชนดิ ขอมูลท่เี ปนตัวเลข อธิบาย ฟงกชนั โครงสรา ง เพิม่ จํานวน บวก + (จํานวน/ดาตา แสตก) ตัวอยาง: ฟง กชนั โครงสราง อธิบาย ลบ - (จาํ นวน/ดาตา แสตก) ลดจาํ นวน คมู อื การใชง านโปรแกรม SoftPLC หนา 20 จาก 77

ตวั อยาง: โครงสราง อธิบาย * (จํานวน/ดาตาแสตก) คณู จาํ นวน ฟง กชนั คูณ โครงสราง อธบิ าย ตัวอยาง: / (จาํ นวน/ดาตาแสตก) หารจาํ นวน ฟง กช ัน หาร ตัวอยา ง: ฟงกช นั โครงสรา ง อธิบาย กําหนด = (จํานวน/ดาตาแสตก/จาํ นวนนับ) ทาํ การกําหนด ตัวอยา ง: ฟง กช นั โครงสราง อธิบาย ยกกาํ ลัง ^ (จาํ นวน/ดาตาแสตก) ยกกาํ ลัง ตัวอยาง: หนา 21 จาก 77 คูมอื การใชงานโปรแกรม SoftPLC

ฟง กชัน โครงสรา ง อธิบาย ทิศทาง & (จาํ นวน/ดาตา แสตก) โหลดคาตําแหนง ของดาตา แสตก ตัวอยาง: ฟงกชนั โครงสรา ง อธิบาย โมดูล MOD(จาํ นวน/ดาตา แสตก) สรา งโมดลู ตัวอยา ง: ฟงกช นั โครงสรา ง อธิบาย ลอจกิ AND AND (จํานวน/ดาตาแสตก) สรางลอจิก AND ตวั อยา ง: ฟง กชนั โครงสราง อธิบาย ลอจกิ OR OR (จาํ นวน/ดาตา แสตก) สรา งลอจกิ OR ตัวอยา ง: หนา 22 จาก 77 คูม อื การใชง านโปรแกรม SoftPLC

ฟง กช นั โครงสราง อธบิ าย ลอจกิ XOR XOR (จาํ นวน/ดาตา แสตก) สรางลอจกิ XOR ตัวอยาง: ฟง กชนั โครงสรา ง อธบิ าย สมุ RND (จาํ นวน/ดาตาแสตก) คํานวณการสมุ จํานวนระหวาง 1 และชนิดจํานวน ตัวอยา ง: ฟงกชนั โครงสราง อธิบาย ตารางการแทนท่ี Gx,y,z แสดงคา ขอ มลู ในตาราง x ของ คอนโซล ลาํ ดับ y แถว z คูมอื การใชงานโปรแกรม SoftPLC พารามิเตอร: x, y , z สามารถเปน จํานวนเต็ม (1 ถึง 32000) หรืออางอิง ดาตา แสตก (ระหวา ง [D1],[D20]......) ถาพารามิเตอร z เขียนเปนบวก จะเพิ่ม คา z อตั โนมัติ หลังจากการใสเพ่ิมเขา ไป เมื่อแถวของโปรแกรมมากวาจะทํา FIFO (อินพตุ แรก,เอาทพ ตุ แรก) หนา 23 จาก 77

ถา คณุ ตอ งการจดั การดว ยตัวเองใน โหมด FIFO คุณจะตองเขียนแถว z +1 วิธีการน้ี คาในแถวหนึ่งจะลดลงและ เพม่ิ คา ใหมใ นแถวสดุ ทา ย ถา y เทากับ 0 ท้ังหมด ตาราง x จะ ถูกลบ ถา z มีคาเทากับ 0 y จะ ถกู ลบออกจากตาราง ตวั อยา ง: ฟงกช ัน โครงสรา ง อธิบาย ฟง กชน่ั Script FUN (ช่อื [p1], [p2]….) ดําเนินการทําฟงกช น่ั Script ซึ่ง กาํ หนดในโมดลู ฟงกช ั่น Script ตวั อยา งโครงสรา ง : และใหค า ดาตา แสตกกลับคนื มา DAT1: FUN(Mean([D2],[D3], มนั เปนการเขยี นช่ือฟงกช่นั และ [D4])) พารามิเตอรการใสคาดาตาแสตกใน DAT1:FUN(Code(“REF12759”)) พารามเิ ตอรจ ะตองเขียนใหอยใู นวงเล็บ ฟง กชัน โครงสราง อธิบาย ทําดวยมอื BOX (ตัวอักษร) หนา ตา งจะแสดงการทาํ ดว ยมอื ตวั อยา ง: ฟงกช ัน โครงสรา ง อธิบาย คมู ือการใชง านโปรแกรม SoftPLC หนา 24 จาก 77

ระบบเวลา CLK(S|M|H|D|T|Y|N|O) ระบบคาเวลาที่เปน การดําเนนิ การ พารามิเตอรเ วลา : CLK(S) -> เวลาวนิ าทปี จ จบุ นั CLK(M) -> เวลานาทีปจจบุ นั CLK(H) -> เวลาชว่ั โมงปจจบุ นั CLK(D) -> วันปจจุบนั CLK(T) -> เดือนปจจุบนั CLK(Y) -> ปปจจบุ นั CLK(N) -> สัปดาห 1= วันจันทร , 2 = วันอังคาร , 3 = ;พุทธ , 4 = วันพฤหัส , 5 = วันศุกร , 6 = วนั เสาร , 7 = วันอาทติ ย CLK(N) -> วนั ปจ จบุ นั ของป(1 ถงึ 356) ตัวอยา ง: การดําเนนิ การ: ตวั แปรดาํ เนินการสําหรับชนิดขอมลู ท่เี ปน ขอความ ฟงกชัน โครงสราง อธิบาย กาํ หนด = “ตัวอกั ษรหรอื ขอความตวั อกั ษร” ทาํ การกาํ หนด ตวั อยา ง: ฟงกช นั โครงสรา ง อธบิ าย เชอ่ื มเขา ดวยกนั = “ตัวอกั ษร..[Dx]..ตัวอักษร เชอ่ื มขอ มูลในวงเล็บเขาดวยกัน ..[Dx]..ตวั อักษร...” ตวั อยาง: หนา 25 จาก 77 คูมอื การใชง านโปรแกรม SoftPLC

การเรยี กใชฟ งกชั่นไลบรารจ่ี ากภายนอก การเรียกใชฟงกชั่นไลบราร่ีจากภายนอก จะใชคําส่ัง '>‘อันดับแรกไลบราร่ีตองมีคุณสมบัติท่ีชัดเจน ไลบราร่ี ตอ งมกี ารระบุอยใู นระบบอยา งชดั เจน ตัวอยา ง: Library: Test ( Alias) : T Dat1: > T. เปดหนาตาง (\"Hello\") เมอ่ื Coil ทํางาน ฟง กช่ันเปดหนาตางจะเรียกไลบราร่ีจากภายนอกเขาไป ทดสอบ ชนดิ ขอ มลู ทเ่ี กีย่ วขอ ง ใน SoftPLC สวนประกอบของดาตาแสตก สามารถเปนขอมูลท่ีแตกตางกัน (ตัวเลข ตัวอักษร ขอความ) ใน เวลาดําเนนิ การ การเปล่ียนแปลงชนิดเทาน้ันจะเปนการกําหนดการดําเนินการ ตัวอยางเชน ถาในระหวางโปรแกรมผูใช กาํ หนดคา ตัวเลขของดาตาแสตกหมายเลข 1 ซึ่ง SoftPLC สามารถรับรูวาเปนชนิดของขอมูลตัวเลขและ PLC สามารถดาํ เนินการทางคณิตศาสตรกับมันได แตถาบางครั้งกําหนดเปนขอความ ‘XA987m_LO2’ SoftPLC สามารถรับรูวาเปนขอมูลชนิดใหมของดาตาแสตกหมายเลข 1 คือขอความตัวอักษร ซึ่งหมายถึง เปนการ ดาํ เนินการเปรยี บเทยี บของขอความ ถาในบางคร้ังการดําเนินการของโปรแกรมไมสนับสนุนชนิดของขอมูลโปรแกรมจะไมสนใจและจะดําเนินการ จนเสรจ็ โดยปกติดาตาแสตกทง้ั หมดเปนตวั เลข การกําหนดขอ มลู คาํ สัง่ เม่ือมีการกําหนดหรือการเช่ือมตอของดาตาแสตกกับคําส่ัง [Dx] มันเปนไปไดที่มีการเพิ่มจํานวนของตัวอักษร มันคือการดําเนินการเพิ่มสัญลักษณ '*' ดังตอไปน้ี โดยจํานวนของตัวอักษรจะเลือกจากจํานวนขอมูลอางอิง มนั สามารถใชทํางานกับดาตาแสตกที่เปนขอความหรือเช่ือมตอกับเอาทพุตโปรโตคอล ซ่ึงขอความจะถูกสงไป ทางพอรท อนุกรม คูมอื การใชงานโปรแกรม SoftPLC หนา 26 จาก 77

ตัวอยาง: DAT1, DAT2, DAT3 and DAT4 of text type. DAT2 := \"capture time bigger than \" DAT3 := \"Red\" DAT1 := \"[D2*10] \"------> DAT1 := \"capture ti\" DAT4 := \"[D3*8] \"------> DAT4 := \" Red\" REGISTER TRANSFER โครงสรา ง: TRF อธบิ าย: ทาํ การสง ขอ มลู ระหวา งรจี ิสเตอร พารามิเตอร: ความยาว, อนิ พตุ รจี สิ เตอร, เอาทพ ตุ รีจสิ เตอร ความยาว: N : nibble, 4 bits B: byte, 8 bits W: word, 16 bits L: double word, 32 bits อนิ พุตรีจิสเตอร: INPx , OUTx, MEMx , DAT x , Dx , y (x จํานวนเตม็ ระหวา ง 1 ถึง 32000) (Dx เปน คา ตวั เลขของดาตาแสตกตัวที่ x) , (y เปน คา คงท่)ี เอาทพตุ รีจิสเตอร: INPx, OUTx , MEMx , DATx , Dx (x จํานวนเต็มระหวา ง 1 ถึง 32000) (Dx เปน คา ตัวเลขของดาตาแสตกตวั ท่ี x) ดั้งน้ันเปนการ Register Transfer ควบคุมการเปล่ียนแปลงชนิดดาตาแสตก (numeric -> text / text -> numeric) หรือการเปล่ียนแปลงตัวอักษรแบบลูกโซ ซ่ึงมันจะดําเนินการแสดงความยาวของพารามิเตอร จํานวนของตัวอักษรแลวจึงเริ่มสงขอมูลในพารามิเตอรอินพุต จํานวนของดาตาแสตกถูกจํากัดดวยตัวอักษร Dx ซ่ึง x จะเปนจํานวนเต็มจาก 1 ถึง 32000 และในพารามิเตอรอินพุตดาตาแสตกตัวแรกกําหนดเปน ขอความตัวอกั ษรกับโครงสราง DATx คมู ือการใชง านโปรแกรม SoftPLC หนา 27 จาก 77

ตวั อยา ง: คมู อื การใชง านโปรแกรม SoftPLC หนา 28 จาก 77

ตัวอยา งชนิดของขอ มูลตวั อกั ษร สมมตดิ าตาแสตกหมายเลข 1 กําหนดใหเ ปนขอ ความแตค ณุ สนใจตวั อักษรสามตัวสุดทายเทา นัน้ กําหนดตวั อกั ษรทั้งสามของดาตาแสตกใหเปน รปู แบบอื่น ตัวอยาง หมายเลข 2 คณุ จะทําในส่งิ ดังตอไปน้ี ความแนนอนของการเปลี่ยนแปลงโปรแกรม ซึ่งความจุของดาตาหมายเลข 1 คือ REF_XFD ที่เวลานี้การ ทาํ งานจะทําจากส่งิ ตอไปน้ี DAT 3 = “R” DAT 4 = “E” DAT 5 = “F” DAT 6 = “_” DAT 7 = “X” DAT 8 = “F” DAT 9 = “D” DAT 10 = “ ” คูมอื การใชง านโปรแกรม SoftPLC หนา 29 จาก 77

ตอ งกําหนดการพจิ ารณาดาตาแสตกหมายเลข 2 เทาน้ันซึง่ มันสามารถดาํ เนนิ การเช่อื มตอ จนเสรจ็ ผลลพั ธ ของดาตา แสตกจะเปน DAT 2 = “XFD” ถาเรารูตัวอักษรตามแนวยาว เปนไปไดทจี่ ะใชค วามยาวกําหนดการเร่ิมตน การสง ขอมลู ตัวอักษรจนสําเร็จ ในตัวอยางกอนนี้ถาการสง ขอมลู เปน การโปรแกรมดงั ตอไปน้ี ผลลพั ธท ่ไี ดจ ะเปน DAT 3 = “X” DAT 4 = “F” DAT 5 = “D” DAT 6 = “ ” การเชอื่ มตอของขอ มลู หมายเลข 2 มันจะเปน DAT2:= “[D3][D4][D5]” การเปลี่ยนชนิดของดาตา แสตก ถา มคี วามจําเปนตอ งเปน แปลงชนดิ ของดาตา แสตกมนั สามารถใชก ารควบคุมดังตอไปน้ี คมู อื การใชง านโปรแกรม SoftPLC หนา 30 จาก 77

ในการควบคุมทีแ่ สดงนี้ การเปลีย่ นแปลงจะทําจากดาตา หมายเลข 1 ไปเปน ดาตา หมายเลข 2 ถา ชนิดของขอมูลหมายเลข 1 เปนตวั เลข ดาตาหมายเลข 2 จะมีคา เหมอื นกนั แตอ ยูในรปู ของตัวอักษร ถาชนดิ ของดาตา หมายเลข 1 เปน ตวั อักษร ดาตาหมายเลข 2 จะมีคาเหมอื นกันแตอ ยูในรูปของตัวเลข (เมอ่ื ใดก็ตามท่ไี มเ ปน คา ตวั เลขซงึ่ วางอยจู ะกาํ หนดเปน “ ”) MESSAGES โครงสรา ง: MSGx อธิบาย: แสดงขอ ความในชอ งการควบคมุ ขอ ความในคอนโซล พารามเิ ตอร: ตวั อกั ษร,สี ตวั อกั ษร: แสดงขอ ความตัวอกั ษร ส:ี ขอ ความกบั สี การแสดงของขอความกระทาํ โดยการทริกเกอรซง่ึ มนั จะมกี ารทาํ งานกอ นขอ ความเสมอ ตัวอยาง: คอนโซลไฟล: template.csl คูมือการใชง านโปรแกรม SoftPLC หนา 31 จาก 77

เมอ่ื อินพุต 1 ทํางานจะมีการแสดงขอ ความท่ี 1 เมอ่ื อนิ พุต 2 ทาํ งานจะมกี ารแสดงขอ ความท่ี 1 เมอ่ื อินพุต 3 อนิ พตุ 4 ทาํ งานจะมกี ารแสดงขอความที่ 3 และขอ ความท่ี 4 ขอ ควรจํา: การแสดงของขอความจําเปนตองใชคุณสมบัติ “Console in Run Mode” ใน Configuration -> Preferences -> Console ถาไมใชการควบคมุ นจี้ ะไมม ีการทาํ งาน IMAGES โครงสราง: PICx อธิบาย: แสดงไฟลกราฟกหรือไฟลวีดีโอ (ไฟล avi) ในคอนโซลควบคุมรูปภาพ (x เปนตัวเลขระหวาง 1 ถึง 32000) พารามิเตอร: ไฟล path. การมองเห็นของไฟลก ราฟก ทํางานโดยการทริกเกอรซง่ึ มนั จะมกี ารทาํ งานกอ นเสมอ ตวั อยา ง: คมู อื การใชง านโปรแกรม SoftPLC หนา 32 จาก 77

ไฟล template.csl ถา INP1=0, INP2=0, INP3=0 และ INP4=0 จะแสดงในคอนโซลดงั น้ี ถา INP1=1, INP2=0, INP3=0 และINP4=0 จะแสดงในคอนโซลดังน้ี ถา INP1=0 , INP2=1 , INP3=0 และ INP4=0 จะแสดงในคอนโซลดงั นี้ คมู ือการใชงานโปรแกรม SoftPLC หนา 33 จาก 77

ถา INP1=0, INP2=0, INP3=1 และ INP4=0 จะแสดงในคอนโซลดงั นี้ ถา INP1=0, INP2=0, INP3=0 และ INP4=1 จะแสดงในคอนโซลดังน้ี ขอ ควรจํา: การแสดงของขอความจําเปนตองใชคุณสมบัติ “Console in Run Mode” ใน Configuration -> Preferences -> Console ถา ไมใชก ารควบคุมน้ีจะไมม กี ารทาํ งาน JUMP TO PHASE or LEVEL โครงสรา ง: JMP (N/F)x หนา 34 จาก 77 JMP Nx จะกระโดดขา มตอ ไปทรี่ ะดับ x (ระดับ x ตองมจี รงิ ) JMP Fx จะกระโดดขามตอไปทเ่ี ฟส x ของระดบั ปจ จบุ ัน (เฟส x ตองมอี ยูจรงิ ) SOUNDS โครงสราง: SNDx อธิบาย: ดาํ เนนิ การทาํ ไฟลท่ีมีเสยี ง (x จาํ นวนเต็มระหวา ง 1 ถงึ 32000) พารามิเตอร: ไฟล path คูมอื การใชงานโปรแกรม SoftPLC

SERIAL CONTROL โครงสรา ง: SER อธบิ าย: สงหรือรับขอ มูลจากพอรท อนุกรมคอมพิวเตอร พารามเิ ตอร: จํานวนจดุ มุงหมายของดาตาแสตก และขอความหรอื จาํ นวนของดาตา แสตกทส่ี ง จํานวนของจุดมุง หมายดาตา แสตก โครงสรางจะเปนจํานวนเต็ม(จาก 1 ถึง 32000) หรือตําแหนงของดาตาแสตก จํานวนดาตาแสตกกําหนดโดย Dx (x จาํ นวนเต็มระหวา ง 1 ถึง 32000) ขอความตัวอักษรหรือจํานวนจํานวนของดาตา แสตกที่สง เปนการเขยี นตวั อักษรเปน คา คงที่โดยตรงซึง่ จะถูกสง โดยพอรทอนุกรม(ตัวอกั ษรสงู สุด 14 ตวั ) ถามันเปนการดําเนินการสงขอมูลที่ยาวกวา จํานวนของดาตาแสตกสามารถเขียนโดยการใสวงเล็บ [D1][D2][D3]… ตัวอักษรที่ควบคุมการสงกดปุม ‘CC’ ซ่ึงอยูในหนาตางคุณสมบัติการควบคุมแบบอนุกรม ซ่ึง ลําดับท่ีเปนตัวอักษรท่ีตองการจะเลือกโดยการคลิก เปนกําหนดการควบคุมตัวอักษรจํานวนของดาตาแสตก (ชนิดตัวอักษร) ซึ่งคุณจะเขียนสัญลักษณ '<> ' เม่ือทําการสงขอมูลเสร็จแลว พีแอลซีจะแทนสัญลักษณท่ี สอดคลองกับการควบคุมตัวอักษร ตัวอยาง: ซึ่งกอนท่ีดาตาหมายเลข 20 จะมีการเชื่อมตอ DAT20:= \"<STX> message <DL1><CR><LF> “กับการใช งานในเมนูบาร Configuration -> Serial Port -> Advanced Conf.-> Analyze String (พีแอลซีในโหมดท่ี ทาํ งาน) เปนการวเิ คราะหข อ ความ ASCII มกี ารรบั ขอมลู จากพอรท อนุกรมและกาํ หนดคาของดาตา แสตก คมู ือการใชง านโปรแกรม SoftPLC หนา 35 จาก 77

FILE CONTROL โครงสรา ง: FIL อธบิ าย: เปน การสรา งไฟลในฮารดดิสคกบั คา ดาตาแสตกทเ่ี ลือก พารามเิ ตอร: ชือ่ ไฟล (รปู แบบ), จํานวนของดาตาแสตก ถา 'print' เปนประเภทชือ่ ไฟลจ ะถูกแทนที่ดวยการบนั ทึกบนฮารดดิสค ถาไฟลกอ นหนา นีไ้ มสามารถลบได ขอมลู ใหมจ ะถกู เพ่ิมเขาไป ถาผูใชตองการสรางไฟลกับชื่อท่ีแตกตางโดยอัตโนมัติ คุณสามารถใชคําสั่ง [Dx] ซ่ึงจะเปล่ียนแปลงโดยคา x ของดาตา แสตก จํานวนของดาตาแสตก: ถา ไมมีการกําหนดรูปแบบ คณุ สามารถเลือกบันทึกดาตาแสตกในไฟล ได รายละเอยี ดของไฟลเปนการรวมกันสาํ หรบั : วนั ท่ีและช่ัวโมงและรายละเอียดของการเลือกคาดาตาแสตกท่ี แบงโดยตารางตวั อกั ษร ตวั เลือกการควบคมุ แบบแอดวานซ ในไดเรคทรอร่ี ‘\\ LIB\\template.txt ' ไฟล template.txt มีรายละเอยี ดเริม่ ตนดงั ตอไปน้ี --------------------------SOFTPLC------------------------------------------ คา ของดาตาแสตก Data nº1:[D1] Data nº2:[D2] Data nº3:[D3] Data nº4:[D4] Data nº5:[D5] --------------------------END OF FILE-------------------------------- ไฟลม ฟี งกช ่ันสําหรับการเลือกคา ของขอ มูลทกี่ าํ หนดสําหรบั ผูใช ถา รูปแบบมกี ารกําหนดจาํ นวนของดาตา แสตกจะถกู แทนทด่ี ว ยแตล ะคา ตวั อยาง: ช่ือไฟล: 'C:\\dataplc\\stack.txt' 'C:\\dataplc\\cycle[D1].txt' ‘C:\\dataplc\\my_format.txt /template1.txt’ (a file called template1.txt must de created in the ‘\\LIB\\’ directory) ‘print /template.txt’ ‘print’ คูมือการใชงานโปรแกรม SoftPLC หนา 36 จาก 77

ถาตัวเลือกเปนการเพ่ิมไฟล c:\\datosplc\\my_format.txt จะสรางจากรายละเอียดของดาตา 1 ที่ 4 เปน ตัวเลข และ 5 ตัวอักษร --------------------------SOFTPLC------------------------------------------- Value of the data stack: Date nº1:12 Date nº2:45 Date nº3:0 Date nº4:35 Date nº5: reached limit --------------------------END OF FILE-------------------------------- USER CONTROL โครงสรา ง: USRx (x จํานวนเตม็ ระหวาง 1 ถึง 32000) อธบิ าย: การควบคุมแบบนเ้ี ปน การทําในเซตของการเลอื กกระทํา จับภาพหนาจอ: บนั ทกึ หนาจอปจจุบันทใี่ ชงานอยู ไฟลจะมีชอื่ ขอมูล และเวลาที่ใชงานอยู แสดงภาพหนา จอ: สงหรอื แสดงภาพหนา จอปจจบุ นั ดาํ เนนิ การใชง าน: ดําเนินการเลือกการใชงาน หยุด พีแอลซ:ี หยดุ พแี อลซี ออกจาก พีแอลซี: หยดุ พีแอลซแี ละออกจาก พีแอลซี ปด คอมพวิ เตอร: ปดคอมพวิ เตอร สง คาํ สง่ั : สงคาํ สง่ั โปรแกรมไปเลือกการใชงาน จําลองคีย: ทําการกดคียท่เี ลือก ดคู อนโซล: โหลดไฟลค อนโซลทีเ่ ลือก ซอ นคอนโซล: ซอนคอนโซลพีแอลซี สงอีเมล: สงอเี มลไปทีอ่ ยูของโปรแกรมซึง่ กาํ หนดหัวขอและขอความโดยผใู ชง าน สง ไฟลด วยวิธี FTP: สงไฟลที่กําหนดท่อี ยูกบั โปรโตคอล FTP คมู อื การใชงานโปรแกรม SoftPLC หนา 37 จาก 77

ROUTINE โครงสรา ง: RUTx อธิบาย: เรยี กการทาํ ซาํ้ x (x จะตองเปน จํานวนเตม็ ท่ีมากกวา 0) การทําซา้ํ คอื การกระทาํ ซาํ้ ๆ สามารถเรียกใชโดยแตล ะเฟส การทาํ ซา้ํ สามารถเกดิ จากการ Trigger หรอื level เลเวล: การทําซ้ําเปนการดาํ เนนิ การในรอบของพีแอลซถี าเง่อื นไขนน้ั เปนจริง ทรกิ เอร: การทําซํ้าคือการดําเนินการหนงึ่ คร้ัง ท่ี trigger เปน บวกหรอื Segment มีการทาํ งาน การทําซา้ํ มกี ารออกจากเงอ่ื นไขเสมอ ถาเง่ือนไขไมถกู ตอง การทําซํ้าจะดําเนนิ การในรอบตอไป เมอ่ื การทาํ ซ้ําเปนการเลอื กจากเงอ่ื นไขที่ถูกตองเสมอ การทําซ้ําสามารถเรียกเปนการทํางานได บางครั้งสามารถเรียกเปนอีกอยางหนึ่ง ซ่ึงจํานวนสูงสุดของการ เชอ่ื มตอ คือ 100 MATHEMATICS โครงสราง: MAT อธิบาย: การดาํ เนนิ การ พีแอลซที างคณติ ศาสตร พารามิเตอร: ดาตาแสตกที่ตอ งทําและสูตรทางคณิตศาสตร ดาตาแสตกท่ีตองทํา: คือจํานวนของดาตาแสตกที่จัดเก็บไวในผลลัพธของการคํานวณทางคณิตศาสตร โครงสราง: จาํ นวน a (1 ถงึ 32000) หรือ ตําแหนง ของขอ มลู Dx (x จํานวนเตม็ ระหวาง 1 ถงึ 32000) ตวั อยาง: 1 , 5 , 90 ,45 , D5 , D78 … สตู รทางคณติ ศาสตร: สูตรการคํานวณ การดาํ เนนิ การทเ่ี ปนไปได: คณิตศาสตร: + , - , * , / , % (module), ^ (power), exp (nº E powered), log , sqr. ตรโี กณมิต:ิ sin, cos , tan , atn ลอจกิ : and, or (สาํ หรบั เลขฐานสอง) คูมอื การใชง านโปรแกรม SoftPLC หนา 38 จาก 77

นขลิขิตสามารถเขียนเปน: ( , ) คาคงที่ท่ีเปน PI หรอื E : pi , e คาของจาํ นวนดาตาแสตกจะเขียนอยใู นวงเลบ็ : [Dx] (x จาํ นวนเตม็ ระหวา ง 1 ถึง 32000) ตวั อยาง: 6 * (15 ^3 ) [D5] + (([D9]^2 * [D55]) / [D99]) 2*pi -([D90]/ 3) ([D3] * cos [D2]) + 99,5 Script BLOCK โครงสราง: BLK อธิบาย: ขนั้ ตอนในการกําหนด Coil ในรูปแบบพารามิเตอรย อยโมดลู Script Block ดาํ เนินการเรียกจากไลบรารภ่ี ายนอกคณุ จะตอ งใช ' > ' กอนฟงกชนั่ ตัวอยาง: Library: Test (Alias):T BLK >T เปดหนาตาง (\"Hello\") เมื่อคอยลมีการทํางาน ฟงกช่ันเปดหนาตางมันจะดําเนินการจากไลบรารี่ ภายนอก: Test คูม อื การใชง านโปรแกรม SoftPLC หนา 39 จาก 77

CONFIGURABLE BLOCKS โครงสราง: PBL อธิบาย: ดําเนินการเชอ่ื มตอกบั บลอ็ กที่เลอื ก การเชือ่ มตอจะถกู ยอมรบั จากระดบั ท่ีสงู กวา ดังนั้น เราจะเพิ่มความอิสระของฟงกช่ันหรือความแตกตางของ โปรแกรม SoftPLC ใหมีการ นําเขาหรือนําออก ในแตละอยางท่ีเปนไปได หรือ กลุมท่ีใชท้ังหมดในโปรแกรม LADDER BREAKPOINT โครงสราง: BRK อธบิ าย: การใชง านเบรกพอยท พีแอลซีจะอยใู นโหมท่ที ํางานชาลง และแสดงโปรแกรมแกไข คมู ือการใชงานโปรแกรม SoftPLC หนา 40 จาก 77

Transition โครงสราง: TRN อธบิ าย: ทําการใหเ หตุผลของการเปล่ียน การเปล่ียนแปลงจะดําเนินการภายในดังตอไปน้ี: รีเซตข้ันตอนของ การเช่ือมตอ อินพุต และดําเนินการเชื่อมตอระยะของเอาทพุต คอยลนี้ใชประโยชนการเปลี่ยนแปลงของ Grafcet levels Configurable Blocks แนวคิดพ้ืนฐานของบล็อกน้ีคือใชเชื่อมตอกับฟงกชั่นของภาษา Ladder หรือ การดําเนินการที่ยาก หรือ การ ใชง านในภาษาที่เปน ไปไมได Configurable Blocks จะเขียนในภาษา VBscript. Configurable Blocks จะถูกยอมรับในระดับที่สูงกวา เปนลักษณะการเลือกทําโปรเจคท่ีหลีกเล่ียงไมไดใน Configurable Blocks ซึง่ ผใู ชสามารถเลือกไลบรารี่ใน Configurable Blocks ซึง่ มีใหใชมากมาย ดวยเหตนุ ี้โปรแกรม Ladder จะถกู แทนที่ดวยวิธีการดังกลาว ดังนั้นเมื่อเพ่ิมวิธีการน้ีเขามาในโปรเจค จะเปน การกําหนดพารามิเตอรอินพุตหรือเอาทพุตโดยใชบล็อก และเมื่อผูใชดําเนินการจะตองไดผลลัพธใน โปรแกรมควบคุมเอาทพ ุต Configurable Blocks สามารถสง คาออกไปและรับคาเขามา ซ่ึงจะเปนการสงคาออกไปหนึ่งตอหน่ึงหรือตอ ทั้งหมด เม่ือจํากัดไฟล Configurable Blocks ที่โหลด ซึ่งจะเลือกในโปรแกรม ถามีไฟลอยูและช่ือเหมือนกัน มันจะรแู ละรองขอการยินยอมใหเ ขียนไฟลท่ีมีชือ่ เหมอื นกนั ได Configurable Blocks สามารถมีพารามิเตอรอินพุตไดสูงสุด 10 อินพุต และพารามิเตอรเอาทพุทไดสูงสุด 10 เอาทพุท ซ่ึงจะไมมีการเลือกบล็อกท่ีไมมีพารามิเตอร อินพุต/เอาทพุต ในโปรแกรมน้ีผูใชสามารถเรียกคนหา บล็อก ‘Main’ ซึ่งผูใชไมไดเรียกในการแกไข ladder หนาที่ของบล็อกน้ีเปนโมดูลท่ีครอบคลุมขอจํากัดของ ตวั แปรทงั้ หมด ฟงกชนั่ และการดําเนินการสาํ หรับ Configurable blocks ท้งั หมดจะแสดงในโปรเจคของผูใช การใช Configurable Blocks ในโปรแกรม ladder ผูใชจะตองใชการแนะ PBL ในการทํางาน (ใน Segment แรกเสมอ) และ ลําดับของบล็อกท่ีเหมาะสมในโปรแกรมของคุณ เม่ือทําการคลิกเลือกบล็อกจะ แสดงการแกไข Ladder เมื่อดับเบิลคลิกที่คําสั่ง START (เง่ือนไขเร่ิมตนในบล็อก) จะสามารถเลือก พารามิเตอร อินพตุ /เอาทพ ุตได การสราง Configurable Blocks ใหม คุณตองคลิกปุมขวาที่ลําดับของบล็อกแสดงอยู หลังจากน้ันผูใชจะ เพิ่มหรือกําจัดบล็อก ในทํานองเดยี วกนั ผูใชจ ะดาํ เนนิ การ สงคา เขา/สง คา ออก คูม ือการใชงานโปรแกรม SoftPLC หนา 41 จาก 77

ตัวอยา ง: ในตัวอยางบล็อกตอไปนี้คือการเรียกใช ‘Dispositivo' ซ่ึงบล็อกสามารถจําลองการทํางานสําหรับ bipolar step motor เม่ือเง่ือนไขของหนวยความจําหมายเลข 1 และทามเมอร 1 ถูกตอง Configurable Block ‘Device’ จะเร่ิม ทํางาน คาของพารามเิ ตอรอินพุต ‘Mode' ซ่ึงเปนคาคงที่มีการโปรแกรมกับคา 1 คาพารามิเตอร ‘Speed’ ของดาตา แสตกหมายเลข 6 จะถกู สง และ สัญญาณ ‘clock’ หนวยความจําหมายเลข 10 จะถกู ใชง าน บลอ็ กนี้สรางสัญญาณ 6 เอาทพุต , สัญญาณ ‘Sincro ' ไปที่หนวยความจําหมายเลข 9 สัญญาณการเตือนคือ สัญญาณเอาทพุตหมายเลข 76 สัญญาณ ‘Stop’ เอาทพุตหมายเลข 77 สัญญาณ ‘Steps' เปนการโหลด ขอ มูลจากดาตา แสตกหมายเลข 12 และสัญญาณ ‘bob1'และ ‘bob2 'เปนการโหลดขอมูลจากหนวยความจํา หมายเลข 11 และ 12 ตามลําดับ คมู ือการใชงานโปรแกรม SoftPLC หนา 42 จาก 77

เปน การใชงานของฟง กช ั่น Configurable blocks ที่สามารถทาํ ได คมู อื การใชงานโปรแกรม SoftPLC หนา 43 จาก 77

การเขียนโปรแกรมแบบ Grafcet Level หรือ Sequence Function Chart เลอื ก New Grafcet Level จากแถบเมนู ตงั้ ชอ่ื การทํางานของ Grafcet Level กดคลิกท่ี new Grafcet Level (the grafcet levels จะมี ไอคอนสเี ขียวตามภาพ) กดคลิกขวาที่พื้นที่เขียนโปรแกรมแลวเลือกการทํางานจากเมนูท่ีปรากฏดังตอไปน้ี: New Block -> Step -> Initial Step คมู ือการใชง านโปรแกรม SoftPLC หนา 44 จาก 77

ระบหุ มายเลขของ Step โดยหมายเลขจะไมส ามารถซา้ํ กันได จะได Initial Step ใหมเ กดิ ขึ้น เรมิ่ ตนโดยการใส Transition โดยการกดคลกิ ขวาแลว เลือก: New Block -> Transition (หรอื ลากบล็อกมาจากแถบเครือ่ งมอื ดานซา ยมอื ) คมู ือการใชง านโปรแกรม SoftPLC หนา 45 จาก 77

สรา ง Step ใหมโ ดยการกดคลกิ ขวา -> New Block -> Step -> Step. จากนัน้ ระบจุ ึงหมายเลขใน Step การดาํ เนนิ งานนจี้ ะเปน การเชอ่ื มตอกนั ระหวา ง Transition และ Step โดยการกดคลิกขวาที่ Transition และ เมนู -> Connection -> Input. หัวลูกศรจะกลายเปน icon เสน สําหรับลากเชื่อมตอ จากน้ันจึงลากมาตอกับ initial step number 0 คูมอื การใชงานโปรแกรม SoftPLC หนา 46 จาก 77

จะไดการเชื่อมตอระหวาง Initial step 0 กบั transition ตามรูป จากน้ันทําการเช่ือม transition ดาน output กับ step หมายเลข 1 ดาน input โดยกดคลิกที่ step 1 และ กด Connection -> input แลว จงึ ลาก เมาสม าคลิกท่ี transition จะไดการเชื่อตอ กบั transition ตามรปู คมู ือการใชงานโปรแกรม SoftPLC หนา 47 จาก 77

ตอ มาสรา ง Transition ใหมแ ละทาํ การเชือ่ มตอ กบั Step หมายเลข 1 แลวทาํ การเขอื่ มตอระหวาง transition ใหม กบั initial step 0 คูมอื การใชง านโปรแกรม SoftPLC หนา 48 จาก 77

จากน้ีเราจะสรา งโครงสรา งในการเช่อื มตอโดยการเขยี น code ในแตละ step และ transition จากนั้นกดคลิก ขวาที่ initial step 0 และเลอื กที่ code เลือกรูปแบบภาษาที่จะเขียนโปรแกรมยอ ยใน Step นี้ คูมอื การใชงานโปรแกรม SoftPLC หนา 49 จาก 77

หลังจากกดปมุ OK จะเปน การตัง้ ชือ่ เพือ่ อธิบายการทํางานของ Code จากนัน้ เขียนโปรแกรมใน Step ตามภาษาทีไ่ ดเ ลือกมาในขั้นกอนหนา คูมือการใชง านโปรแกรม SoftPLC หนา 50 จาก 77


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook