ตัวอย่างการตั้งค่า MRP บน TIA Portal

ตัวอย่างการตั้งค่า MRP บน TIA Portal

การใช้งาน MRP ด้วยการตั้งค่าบน TIA Portal นั้นช่วยการให้การตั้งค่า MRP มีความง่ายขึ้นมากโดยที่ผู้ใช้งานไม่ต้องมีความรู้ network ในระดับสูงเลย ไม่ว่าจะเป็นการทำ topology หรือแม้กระทั่งการตั้ง MRP ให้กับอุปกรณ์แต่ละตัวก็ตาม

MRP_Setup_01 Continue reading “ตัวอย่างการตั้งค่า MRP บน TIA Portal”

Advertisements

การทำ MRP บน Ring network

Ring Topology คืออะไร

โดยปกติแล้วเหตุผลที่เราทำ network เป็นแบบ Ring ก็เพราะเราต้องการให้ network ของเราสามารถทำงานต่อได้หากสายเส้นใดเส้นหนึ่งใน network เกิดขาดหรือหายไปจึงถือเป็นการทำ redundancyอีกแบบหนึ่ง แต่ไม่ใช่ว่าอยู่ดีๆเราจะสามารถทำ network ให้เป็นแบบ Ring ได้เลยเพราะเป็นรูปแบบการเชื่อมต่อที่ผิดไปจากปกติ เนื่องจากอุปกรณ์ในระบบ Ethernet จะไม่สามารถทำเป็นวง loop ได้เพราะจะทำให้เกิดการ broadcast ของ IP จนทำให้ระบบล่มไปนั่นเอง

MRP (Media Redundancy Protocol) เป็น redundancy protocol ชนิดหนึ่งที่สามารถใช้งานได้สำหรับอุปกรณ์ในระบบ Profinet ที่รองรับ MRP นี้ ซึ่งจะช่วยให้เราสามารถทำ network ให้เป็นแบบ Ring ได้MRP1_01.png

Continue reading “การทำ MRP บน Ring network”

การอ่านเขียนเวลา (RTC) ให้กับ PLC

การอ่านเขียนเวลา (RTC) ให้กับ PLC

ปกติตัว PLC จะมี Real time clock (RTC) มาให้อยู่แล้ว ซึ่งเราสามารถทำการตั้งเวลา และอ่านเขียนเวลาออกมาได้จากโปรแกรมให้ PLC เอง ดังนั้นในหัวข้อนี้เราจะมาเรียนรู้คำสั่งที่ใช้อ่านเขียนเวลาของ PLC รวมถึงการตั้งเวลาให้ PLC ในขั้นแรกด้วย Continue reading “การอ่านเขียนเวลา (RTC) ให้กับ PLC”

อธิบายผลของ PID อย่างง่ายๆด้วยกราฟ

อธิบายผลของ PID อย่างง่ายๆด้วยกราฟ

เนื้อหาในบทความนี้ จะไม่ได้กล่าวถึงการใช้งาน PID ในฟังก์ชั่นของ PLC แต่อย่างใด เพียงแต่ต้องการให้ผู้อ่านมองเห็นภาพผลกระทบของค่า P, I และ D ในมุมมองของการอธิบายด้วยกราฟ เพื่อให้มองเห็นผลกระทบของแต่ละ parameter ได้ชัดเจนยิ่งขึ้นPID_graph_01.png

แต่ก่อนอื่น เราต้องสังเกตสมการของ PID ก่อนว่าค่าต่างๆที่นำมาคิดนั้น จะนำค่า error มาคิดทั้งสิ้น เพื่อผลประโยชน์สุดท้ายคือทำให้ error น้อยที่สุดนั่นเอง

Continue reading “อธิบายผลของ PID อย่างง่ายๆด้วยกราฟ”

เทคนิคการให้ PLC สั่งเปลี่ยนหน้าจอ HMI ได้

เทคนิคการให้ PLC สั่งเปลี่ยนหน้าจอ HMI ได้

ปกติแล้วการเชื่อมต่อระหว่าง HMI กับ PLC นั้นจะถือว่า HMI เป็น Master (หรือ Client ในระบบ Ethernet) และ PLC เป็น Slave (หรือ Server ในระบบ Ethernet) นั่นคือ โดยปกติแล้วจอ HMI จะสามารถอ่านเขียนข้อมูลใน PLC ได้ แต่ในทางกลับกัน PLC จะไม่สามารถทำอะไรกับ HMI ได้เลย

ดังนั้นด้วยการเชื่อมต่อระหว่าง PLC กับ HMI โดยพื้นฐานแล้ว PLC จะไม่สามารถทำการเขียนหรือสั่งงานให้ HMI เปลี่ยนหน้าจอได้เลยหาก HMI ไม่ได้มีการเตรียมพื้นที่พิเศษเพื่อการนี้โดยเฉพาะ Continue reading “เทคนิคการให้ PLC สั่งเปลี่ยนหน้าจอ HMI ได้”

การตั้งค่าให้ตัวแปรจำค่าได้เมื่อมีการปิดไฟ (Retain memory)

การตั้งค่าให้ตัวแปรจำค่าได้เมื่อมีการปิดไฟ (Retain memory)

ปกติแล้วการใช้งานตัวแปร Data block ของ PLC นั้นเราสามารถตั้งให้ตัวแปรนั้นสามารถจำค่าล่าสุดเอาไว้ได้ ซึ่งหากเกิดไฟดับขึ้นมา ตัวแปรเหล่านั้นจะยังคงค่าล่าสุดเอาไว้เมื่อมีการจ่ายไฟขึ้นมาอีกครั้ง ซึ่งการตั้งค่านั้นง่ายมากเพียงแค่เราเลือก Enable check box ในหัวข้อ Retain ที่อยู่ใน Data block เท่านั้นRetentive_01.png

แต่หากเป็นกรณีของ Global memory เช่น %MW เราจะทำได้อย่างไร ? Continue reading “การตั้งค่าให้ตัวแปรจำค่าได้เมื่อมีการปิดไฟ (Retain memory)”

การใช้งานคำสั่ง ATTACH/DETACH เพื่อควบคุม Interrupt

การใช้งานคำสั่ง ATTACH/DETACH เพื่อควบคุม Interrupt

การใช้งาน Interrupt นั้นเป็นการขัดจังหวะการทำงานของโปรแกรมปกติ โดยเมื่อมี action ของ interrupt แบบต่างๆตามที่ตั้งค่าเกิดขึ้นมา โปรแกรมหลักจะหยุดทำงานแล้วไปสั่งให้โปรแกรมของ interrupt ทำงานก่อน และเมื่อโปรแกรมของ interrupt ทำงานจบแล้ว ก็จะกลับไปทำงานที่โปรแกรมปกติต่อจากจุดเดิมที่ถูกขัดจังหวะเอาไว้

ปกติแล้วเมื่อเราตั้งค่า interrupt เอาไว้ เราก็จะปล่อยให้มันทำงานเมื่อถูกขัดจังหวะตามปกติไป แต่อาจจะมีบางกรณีที่เราต้องการให้ interrupt หยุดทำงานเมื่อถึงเงื่อนไขบางก่อน เราสามารถควบคุม interrupt ได้ด้วยคำสั่ง ATTACH/DETACH นั่นเอง Continue reading “การใช้งานคำสั่ง ATTACH/DETACH เพื่อควบคุม Interrupt”

การแปลง Array เป็นรูปแบบตัวแปรอื่นๆด้วยคำสั่ง Deserialize

การแปลง Array เป็นรูปแบบตัวแปรอื่นๆด้วยคำสั่ง Deserialize

คำสั่ง Deserialize เป็นคำสั่งที่แปลง array ขาเข้า ให้รวมและเรียงกัน ในรูปแบบของปลายทางที่เราระบุ

Deserialize_01.png Continue reading “การแปลง Array เป็นรูปแบบตัวแปรอื่นๆด้วยคำสั่ง Deserialize”

การใช้งาน PTO พื้นฐาน

การใช้งาน PTO พื้นฐาน

การใช้งาน PTO นั้นปกติมักจะใช้เพื่อส่ง pulse train เพื่อควบคุม servo motor เป็นส่วนมาก เนื้อหาในบทนี้เราจะกล่าวถึงการใช้งานคำสั่ง CTRL_PTO เพื่อใช้ในการส่ง pulse train แบบพื้นฐาน เพราะหากใช้งาน servo motor จริงๆแล้ว ทาง Siemens ได้พัฒนาการส่ง pulse อีกแบบที่เรียกว่า “Technology Object” ที่จะช่วยให้การสั่งงาน servo motor ไม่ว่าจะเป็นแบบส่ง PTO หรือ Profinet มีความง่ายกว่าเดิมมาก

อย่างไรก็ตาม ในส่วนของ Technology Object จะกล่าวถึงในภายหลัง เพราะเนื้อหาในส่วนนี้จะกล่าวถึงการส่ง PTO โดยใช้คำสั่ง CTRL_PTO ก่อน Continue reading “การใช้งาน PTO พื้นฐาน”