Home Solution(ถาม-ตอบ) จะควบคุม PLC, RTU ด้วย Script ของ GENESIS32 ที่เดียวให้เหมือนภาษา IEC61131ได้ไหม

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

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

จะควบคุม PLC, RTU ด้วย Script ของ GENESIS32 ที่เดียวให้เหมือนภาษา IEC61131ได้ไหม

imageคำถาม : ต้องการควบคุม PLC, Remote IO, หรืออุปกรณ์อื่น ๆ ที่ติดต่อ OPC Server ไว้แล้วด้วย Script จาก GENESIS32 ให้คล้ายหรือเหมือนภาษา IEC61131 ได้หรือไม่?

เพื่อให้ทำงานเป็น Controller กลาง ควบคุม Controller ย่อยทุกตัว สามารถแลกเปลี่ยนหรือประมวลผล IO ของ Controller ย่อยต่าง ๆ ร่วมกันได้ เช่น

 

 

 

a = b + c

out = (a > 50) && d

 

โดย a, b, c, d, out มาจาก Controller เดียวกันหรือต่างกันก็ได้

 

 

ตอบ : ทำได้ครับ

 

เราสามารถใช้ Script เพื่อสร้างการควบคุม IO ของ Controller ต่าง ๆ ได้ เช่นเดียวกับ PLC หรือ DCS  เพื่อประโยชน์ในการควบคุม Controller ต่าง ๆ ในกระบวนการให้สัมพันธ์กันและแลกเปลี่ยนข้อมูลระหว่าง Controller ได้ที่ศูนย์กลางคือ GENESIS32 เช่นนำค่าที่วัดได้จาก Controller ตัวหนึ่งมาประมวลผลหรือเปรียบเทียบกับ Controller อีกตัวหนึ่งก่อนส่งผลลัพธ์ออกไปควบคุม Controller ตัวอื่น เป็นต้น หรือใช้เป็น Setpoint ของ PID Looop ใน Controller อีกชุดหนึ่ง

 

image

รูปที่ 1

 

ทั้งนี้เราสามารถใช้ DataWorX จัดการได้โดยไม่ต้องเขียนสคริปต์

แต่บางท่านอาจจะต้องการความยืดหยุ่นในการใช้งาน เนื่องจาก Script อย่าง VBA มีความสามารถที่หลากหลาย ดังนั้นหากต้องการใช้งานแบบดังกล่าว ก็จะคล้ายกับการเขียนโปรแกรมใน PLC ต่าง ๆ ด้วยภาษา IEC61131 นั่นเอง

 

นี่เป็นตัวอย่าง Script ใน ScriptWorX

 

'Declare
Const sine = "ICONICS.Simulator.1\SimulatePLC.Sine"
Const random = "ICONICS.Simulator.1\SimulatePLC.Random"
Const float = "ICONICS.Simulator.1\SimulatePLC.OUTPUTS.FLOAT"
Const bit = "ICONICS.Simulator.1\SimulatePLC.OUTPUTS.BIT"

'Read

a1 = ReadDat(sine)
b1 = ReadDat(random)

 

c1 = a1 + b1

d1 = c1 > 50

 

‘Write


WriteDat float, c1

WriteDat bit, d1

 

 

จากตัวอย่างเป็นการอ่านค่าจาก OPC tag คือ Sine และ Random เข้ามา ---- a1 = ReadDat(sine)

เพื่อบวกกัน ---- c1 = a1 + b1

แล้วส่งไปยัง OPC tag ชื่อ Float ------ WriteDat float, c1

หากผลบวกมากกว่า 50  ---- (d1 = c1 > 50)

จะทำให้ OPC tag ชื่อ BIT เปลี่ยนเป็น ON  -------- (WriteDat bit, d1)

 

เราสามารถสร้างการควบคุมด้วยฟังก์ชั่นมาตรฐานของภาษา Visual Basic ได้ตามต้องการ ซึ่งจะยืดหยุ่นได้มากกว่า และแก้ไขได้จากส่วนกลางโดยตรงไม่ต้องยุ่งกับ Controller

 

สนใจสอบถามรายละเอียดหรือติดต่อผ่านเว็บได้ที่นี่

 

สิ่งที่น่าสนใจ

 

RTD Transmitter − 1mA sensing current 

Pt100, Pt50, Ni508.4 and temp
100-240 Vac or 24 Vdc powered
Fast response 25 msec
1 mA sensing current (except Cu Input)