เก็บค่าTotalizerในOPC tagอย่างไร

ถาม: ต้องการอ่าค่าจากController/PLC/RTUมาไว้ในOPC Server โดยให้นำค่าปัจจุบันจากControllerมาบวกเพิ่มค่าเดิมแล้วเก็บในOPCไปเรื่อยๆตามระยะเวลาเช่นทุกนาทีเป็นต้น และต้องให้ค่าTotalizerในOPCดังกล่าวยังอยู่แม้มีการปิด/เปิดPCใหม่ก็ตามจนกว่าจะมีการรีเซตค่าจากผู้ใช้

 

ตอบ:

สามารถทำได้ เช่นในGENESIS32และGENESIS64ใช้Unified Data Managerทำหน้าที่เอาค่าปัจจุบันไปบวกเพิ่มกับค่าTotalizerที่สร้างไว้ในOPCเช่นในICONICS OPC UAหรือKepwareโดยใช้DriverแบบSimulatorซึ่งฟรี

Tot = Tot + a

เมื่อ a คือค่าปัจจุบันจากController(ผ่านOPC Server) และ Tot คือTotalizer Value

ในGenesis32เราสร้างExpressionที่นำค่าaปัจจุบันมาบวกกับTotดังรูป (ทั้ง a และ Tot เป็น OPC tagทั้งคู่ แต่ a ลิงค์กับController แต่ Tot เป็นสัญญาณในไดเวอร์Simulator)

image

จากนั้นสร้างRegisterเพื่อรับExpressionข้างต้นแล้วส่งออกไปที่ค่าTot โดยระบุScan rateเพื่อให้มีการบวกเพิ่มค่าทุกช่วงเวลาที่กำหนดเช่นทุก15วินาที เท่านี้ก็ได้ค่าTotalizerเก็บไว้ในOPC Serverแล้ว(ในตัวอย่างคือ Kepware.KEPServerEX.V5\Channel1.Device1.Tag2)

image

กรณีICONICS OPC UAและKepwareถ้าต้องการรักษาค่าTotไว้แม้มีการปิด/เปิดPCใหม่ทำได้โดยระบุอ็อปชั่น Enable item persistence

image

ก็จะทำให้SCADAทั่วไปมาดึงข้อมูลไปใช้งานได้ หากต้องการรีเซตค่าTotก็เขียนค่า0เข้ามาที่OPC tagที่ทำหน้าที่Totนั่นเอง

Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s