เอาค่าเวลามาใช้แบบOPC tagในGENESIS32 SCADA

วิธีที่ง่ายที่สุดที่จะเอาค่าวันที่และเวลามาใช้แบบOPC tagก็คือใช้จากKepwareซึ่งไม่ต้องซื้อไลเซนส์ก็ได้(ถ้าใช้เฉพาะค่าวันที่และเวลา หรือกระทั่งค่าสัญญาณแบบSimulateเช่นเอาไว้เก็บค่าที่ได้จากSCADA) แต่ถ้าไม่ต้องการติดตั้งKepwareเราก็ยังมีวิธีอื่นโดยใช้ค่าวันที่เวลาที่มีอยู่ในGENESIS32 SCADA

ถ้าต้องการแสดงผลวันที่เวลาบนหน้าแสดงผล

ถ้าต้องการแค่แสดงผล ไม่ได้เอาไปใช้งานอย่างอื่น GENESIS32มีตัวTime/Dateให้เอามาใช้แสดงผลได้เลยดังรูป

image

เมื่อเอามาวางในหน้าแสดงผลก็สามารถเลือกว่าจะแสดงแบบใดเช่น เวลาอย่าเดียว วันที่อย่างเดียว หรือทั้งวันที่และเวลา รวมทั้งรูปแบบของเวลาและวันที่

image

 

แต่ถ้าต้องการการค่าที่สามารถใช้งานแบบOPC Tagได้เพื่อประโยชน์ เช่น เพื่อส่งไปให้PLCหรือเอาไว้ใช้เปรียบเทียบในExpressionเราก็ต้องใช้วิธีอื่นดังต่อไปนี้

ค่าวันที่เวลาแบบครบถ้วน

ลองทดสอบเอาProcessPointมาวางในGraphWorXแล้วเลือกสัญญาณจาก Unified Data Browserในแท็ปย่อยLicensingดังรูปล่าง จะพบสัญญาณCurrentTime

image

และอย่าลืมเลือกการแสดงผลแบบString

image

ผลลัพธ์เมื่อเข้าสู่Runtimeคือ

image

 

ถ้าต้องการเฉพาะวันที่

ใช้ Expression ดังนี้

x=  substring({{lic:Status.CurrentTime}},0, indexof({{lic:Status.CurrentTime}},” “,0) )

ผลลัพธ์เช่น 12/19/2018 (ขึ้นอยู่กับ Date Time formatที่ตั้งไว้ในWindows)

 

ถ้าต้องการเฉพาะเวลา

x=  substring({{lic:Status.CurrentTime}},indexof({{lic:Status.CurrentTime}}," ",0) + 1,
len({{lic:Status.CurrentTime}})- indexof({{lic:Status.CurrentTime}}," ",0)-1 )

ถ้าต้องต้องการเฉพาะชั่วโมง

x=  substring({{lic:Status.CurrentTime}},indexof({{lic:Status.CurrentTime}}," ",0) + 1,
indexof({{lic:Status.CurrentTime}},":",0) - indexof({{lic:Status.CurrentTime}}," ",0) - 1
)

ถ้าต้องการเฉพาะนาที

x=  substring({{lic:Status.CurrentTime}},indexof({{lic:Status.CurrentTime}},":",0) + 1,
indexof({{lic:Status.CurrentTime}},":",indexof({{lic:Status.CurrentTime}},":",0) + 1) - 
indexof({{lic:Status.CurrentTime}},":",0) - 1
)

ถ้าต้องการเฉพาะวินาที

x=  substring({{lic:Status.CurrentTime}},
indexof({{lic:Status.CurrentTime}},":",indexof({{lic:Status.CurrentTime}},":",0) + 1) + 1,
2
)

ข้อแนะนำเพิ่มเติม: ควรสร้างเป็นGlobal ExpressionในUDMแล้วนำไปใช้งานจะสะดวกมากเวลาต้องใช้หลายๆที่ แก้ไขที่เดียว

แต่ถ้าเห็นว่ายุ่งยาก ก็ใช้ค่าเวลาจากKepwareได้ซึ่งจะมีทุกแบบให้ใช้ทั้งแบบเต็ม แบบเฉพาะวันที่ เฉพาะเวลา ชั่วโมง นาที วินาที

ดาวน์โหลดตัวอย่างไฟล์GraphWorXแสดงค่าเวลาแบบOPC Tag

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