การเขียนโปรแกรมเพื่ออ่านค่าพลังงานจาก Energy module SM1238

การเขียนโปรแกรมเพื่ออ่านค่าพลังงานจาก Energy module SM1238

หลังจากที่เราได้ทำความรู้จักกับ SM1238 ซึ่งเป็น module ที่ใช้เพื่ออ่านพลังงานเข้า S7-1200 ได้โดยตรง ขั้นตอนต่อไปเป็นการทำโปรแกรมเพื่ออ่านค่าพลังงานมาไว้ใน PLC ต่อไป

ซึ่งการอ่านค่าพลังงานนั้น โดยหลักการแล้วสามารถทำได้ 2 วิธีคือวิธี Process data variant และวิธี Data record แต่เพื่อการใช้งานที่มีประสิทธิภาพนั้น เราจะกล่าวถึงการใช้งานแบบ Data record เท่านั้นในบทความนี้Energy Meter Program_01 Continue reading “การเขียนโปรแกรมเพื่ออ่านค่าพลังงานจาก Energy module SM1238”

Advertisements

การอ่านค่าพลังงานด้วยโมดูล Energy Meter (SM1238)

การอ่านค่าพลังงานด้วยโมดูล Energy Meter (SM1238)

Energy meter module SM1238 ได้ถูกออกแบบมาให้ใช้เป็น module เพื่อวัดพลังงานที่อยู่ใน footprint ที่สามารถต่อเข้ากับ S7-1200 ได้โดยตรง โดยเราสามารถนำ phase voltage และ phase current เข้ามาต่อตรงที่ตัวโมดูล SM1238 ได้เลย

EnergyMeter_02 Continue reading “การอ่านค่าพลังงานด้วยโมดูล Energy Meter (SM1238)”

การใช้งาน ET200SP IM เป็น Remote I/O

การใช้งาน ET200SP IM เป็น Remote I/O

การใช้งาน ET200SP โดยที่เราเลือกหัวเป็นแบบ Interface Module (IM) นั้น เป็นการเลือกใช้งาน ET200SP ให้เป็นแบบ Remote I/O (หรือ Distributed I/O) ดังนั้นตัวมันเองจะไม่สามารถควบคุม I/O ได้ จึงจำเป็นต้องมี PLC ในระบบมาควบคุมด้วย ซึ่งเราสามารถเลือก CPU เป็น S7-1200, ET200SP CPU หรือใช้ S7-1500 มาเป็นหัว CPU ในระบบก็ได้

ในหัวข้อนี้เราจะมาเรียนรู้วิธีการใช้งาน ET200SP เป็น Remote I/O ซึ่งจริงๆแล้วมีการตั้งค่าที่ง่ายมาก เมื่อเราตั้งค่าแล้ว หัว CPU ก็จะสามารถรับรู้ address ใน Remote I/O เพื่อสั่งงาน address ต่างๆได้ทันที Continue reading “การใช้งาน ET200SP IM เป็น Remote I/O”

การทำ 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 อย่างง่ายๆด้วยกราฟ”

การตั้งค่าให้ตัวแปรจำค่าได้เมื่อมีการปิดไฟ (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”

การ simulation servo V90 เพื่อทำ Absolute gearing

การ simulation servo V90 เพื่อทำ Absolute gearing

จากในบทความก่อนหน้า การ simulation servo V90 เพื่อทำ Relative gearing นั้น เป็นการทำ synchronize ด้วยความเร็วที่สัมพันธ์กันเท่านั้นโดยไม่สนใจว่าตำแหน่งของทั้ง Master axis และ Synchronous Axis จะเป็นอย่างไร

แต่การทำ Absolute gearing นั้น เราสามารถทำให้ Synchronous Axis วิ่งสัมพันธ์ในระดับตำแหน่งกับ Master axis ได้เลย เพียงแต่ว่าไม่สามารถใช้ S7-1500 รุ่นธรรมดาได้ จำเป็นต้องใช้ S7-1500T เท่านั้น Continue reading “การ simulation servo V90 เพื่อทำ Absolute gearing”