คมู อื การใชโ ปรแกรมซอฟตแวร 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
Search