Home Solution(ถาม-ตอบ) COPC32 2.0: เพิ่มIdระบุว่าTagใดเปลี่ยนแปลง

EDA International ตัวแทนจำหน่ายเป็นทางการ ICONICS, PRElectronics, M-System, Graphon, ABB

ซอร์ฟแวร์ตรวจสอบ/บริหารงานอุตสาหกรรม วิศวกรรม SCADA/HMI (ICONICS GENESIS32/64), Report Solution, Cloud, อุปกรณ์วัดคุม แสดงผล เทอร์มินัล อุปกรณ์ป้องกันทางอิเล็คทรอนิกส์ 

COPC32 2.0: เพิ่มIdระบุว่าTagใดเปลี่ยนแปลง

ในCOPC32 2.00ซึ่งสามารถดาวน์โหลดได้จากที่นี่ มีการเพิ่มEventชื่อdatChngXที่สามารถทำให้เรารู้ว่าTagตัวไหนเปลี่ยนแปลงค่าและนำมาใช้เป็นเงื่อนไขการทำงานได้

 

ยกตัวอย่างเช่นหากเราต้องการให้Label1แสดงค่าของTag(0)เฉพาะเมื่อเวลาที่Tag(0)เปลี่ยนแปลงเท่านั้น Tagอื่นจะเปลี่ยนยังไงก็ไม่สนใจก็สามารถทำได้โดยเขียนเงื่อนไขในEventนี้ได้เช่น

(VB.Net)

Private Sub Axcopc1_datChngX(sender As Object, e As __copc_datChngXEvent) Handles Axcopc1.datChngX

        If e.id = 0 Then Label1.Text = Axcopc1.GetVl(0)

End Sub

ซึ่งe.idจะเป็นค่าidของTagที่มีการเปลี่ยนแปลงค่า

Eventดังกล่าวเข้าไปเขียนโค้ดได้จากการเลือก ”datChngX” ในรายการEventของCOPC32

 

image

 

แต่ถ้าเราไม่สนใจจะรู้ว่าTagไหนเปลี่ยนแปลงอยากจะให้แสดงทุกค่าเมื่อTagตัวใดตัวหนึ่งเปลี่ยนก็ไม่ต้องเขียนเงื่อนไขอะไร(สามารถใช้datChangeหรือdatChngXก็ได้) หรือหากต้องการให้มีการแสดงค่าออกมาทุกช่วงเวลาแน่นอนก็ไปใช้Timerในการแสดงก็ได้ครับ หรือถ้าไม่มีTimerให้ใช้(อย่างเช่นในExcel)ก็เลือกOPC tagที่มีการเปลี่ยนแปลงแน่นอนมาไว้ในCOPC32แล้วใช้datChangeหรือdatChngXตามปกติโดยไม่ต้องเขียนเงื่อนไขใดๆครับ