GENESIS32 SCADA : แยกWordในDWORDทำอย่างไร

ถ้าเรารวบสัญญาณมาแบบDWORD แล้วต้องการแยกเป็นWORDในGENESIS32 SCADAสามารถทำได้ดังนี้

image

 

ใช้Expressionเพื่อแยกWORDทั้งสองตัวจากDWORD (แนะนำใช้Global ExpressionในUnified Data Manager แทนLocal Expression) โดยใช้หลักการดังนี้

สมมุติว่าเราใช้สัญญาณOPC tagจากKepwareเช่นModbus SuiteโดยการเรียงWORDเป็นแบบFirst WORD LOW(WORDแรกในDWORDเป็นLOW WORD) ค่าของ WORDจะหาได้จาก

WORD1 = เศษจากการหารDWORDด้วย65536

WORD2 = จำนวนเท่าจากการหาDWORDด้วย65536 เป็นจำนวนเต็ม

เช่นถ้าDWORDมีค่า 199999 จะได้

WORD1 = เศษจากการหาร199999ด้วย65536  = 3391

WORD2 = จำนวนเท่าจากการหา199999ด้วย65536 เป็นจำนวนเต็ม = 3

Expressionที่เราใช้ในGENESIS32 SCADAคือ

WORD1

{{Kepware.KEPServerEX.V5\Modb.PLC1.STR1_N}} % 65536

 

WORD2

floor( {{Kepware.KEPServerEX.V5\Modb.PLC1.STR1_N}} /  65536)

 

โดย {{Kepware.KEPServerEX.V5\Modb.PLC1.STR1_N}} เป็นตัวอย่างOPC tag(เราไม่ต้องพิมพ์เอง สามารถBrowseจากตัวค้นTagของGENESIS32ไปยังOPC Serverได้)

 

NOTE:

1. ทำไมเราถึงต้องการแยกWORDจากDWORD
อาจจะด้วยเหตุผลบางประการเช่นต้องการประหยัดLicense ของSCADA เพราะด้วยวิธีการเช่นนี้จะทำให้เราใช้Tagได้2เท่ากรณีที่สัญญาณเป็นแบบWORD (ถ้าสัญญาณเป็นBitจะได้ถึง16ถึง32เท่า)

2. กรณีDWORDเรียงแบบHi-Lo (ตัวอย่างเป็นแบบ Lo-Hi) จะคำนวนกลับกันคือ WORD1 คำนวนจาก จำนวนเท่าจากการหาDWORDด้วย65536 เป็นจำนวนเต็ม และ WORD2 คำนวนจากเศษจากการหารDWORDด้วย65536

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 )

Google photo

You are commenting using your Google 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 )

Connecting to %s