SCADA (HMI) แจ้งเตือน Alarm ผ่านไลน์

SCADA (HMI) แจ้งเตือน Alarm ผ่านไลน์

SCADA (HMI) แจ้งเตือน Alarm ผ่านไลน์ ("FactoryTalk Optix และ LINE Notify)

สวัสดีครับ หลายท่านคงทราบกันดีถึงกระแสของการปฏิวัติอุตสาหกรรม 4.0 ซึ่งเทคโนโลยีหนึ่งที่นับเป็นหัวใจสำคัญของยุคสมัยนี้ก็คือ Industrial Internet of Things (IIoT) ซึ่งหมายถึงการใช้งานอินเตอร์เน็ตเข้ามามีส่วนร่วมในการสื่อสารระหว่างเครื่องจักรและผู้คนได้อย่างง่ายดายมากขึ้น โดยใช้การสื่อสารที่รวดเร็ว ให้ข้อมูลที่เป็นปัจจุบัน ถูกต้อง นำมาซึ่งการติดสินใจได้อย่างรวดเร็วและทันกับสถานการณ์ วันนี้เราขอนำเสนอเทคโนโลยีง่ายๆ ซึ่งเชื่อว่าทุกท่านใช้เป็นส่วนหนึ่งของชีวิตประจำวันอยู่แล้ว นั่นคือ LINE Application ซึ่งสามารถนำมาเป็นเครื่องมือหนึ่งที่ใช้ในการแจ้งเตือนได้เป็นอย่างดี
ข้อดีของ LINE Application
1. ใช้งานได้ฟรี
2. มีฐานผู้ใช้งานจำนวนมาก
3. สามารถปฏิบัติงานร่วมกันได้แบบกลุ่ม
4. สามารถ Integrate เข้ากับระบบอื่นได้ง่าย

อย่างไรก็ดี ข้อเสียของการใช้ LINE ในการทำงานก็มีพูดถึงกันมากมาย เช่น ระบบจัดเก็บข้อมูลย้อนหลังที่ทำได้ไม่ดี รวมถึงการปะปนกันระหว่างเรื่องงานและเรื่องส่วนตัว
แต่ถึงกระนั้น การนำ LINE เข้ามาเป็น “ส่วนหนึ่ง” ในระบบ ก็ถือเป็นเรื่องที่น่าสนใจ เนื่องจากความรวดเร็วในการแจ้งเตือน แต่ผู้พัฒนาระบบก็อาจจะต้องคำนึงถึงการจัดการกับข้อเสียในด้านอื่นๆควบคู่ไปด้วย
ในบทความนี้ ผู้เขียนจะอธิบายเกี่ยวกับการส่งแจ้งเตือนจากเครื่องจักรไปยังผู้ใช้งาน LINE โดยมีหัวข้อดังนี้
1. หลักการของ LINE Notify
2. วิธีการขอ LINE Notify Access Token
3. หลักการทำงานของ FactoryTalk Optix – Smart HMI
4. การใช้ FactoryTalk Optix ส่งแจ้งเตือนด้วย NetLogic ไปยัง LINE Notify

หลักการของ Line Notify
LINE Notify เป็น Service ตัวหนึ่งของ LINE ที่เปิดให้ผู้ใช้ทั่วไปสามารถสร้างระบบแจ้งเตือนมายังแอพพลิเคชั่นของเราได้ง่ายๆ เพียงแค่สร้าง LINE Access Token ซึ่งเป็นเสมือน “ที่อยู่สำหรับจ่าหน้าซอง” มายัง LINE Groupที่ผูกเอาไว้ จากนั้น ผู้ส่งยิงข้อความไปบอก LINE Notify Server ซึ่งเป็นเสมือนไปรษณีย์ ให้ส่งข้อความไปตามที่อยู่ดังกล่าว

Picture1

 

 

 

 

 

 

 

 

 

 

 

 

ในรูปตัวอย่างด้านบน เครื่องจักรจะทำการส่งข้อความไปที่ LINE Notify Server โดยระบุข้อมูลดังนี้
1.Access Token (ที่อยู่ปลายทางที่จะส่ง)
2.Message
3.Sticker (ถ้ามี)
เพียงเท่านี้ LINE Notify ก็จะทำการส่งข้อมูลไปยังผู้ใช้ที่อยู่ใน LINE Group เดียวกับ LINE Notify

วิธีการขอ LINE Notify Access Token
1. เข้าไปที่ https://notify-bot.line.me/doc/en/
2. เข้าสู่ระบบด้วย LINE Account ที่มี
3. คลิกที่ User เลือก My Page

Picture2

4. คลิก Generate token

Picture3

5.เลือก LINE Group ที่ต้องการจะแจ้งเตือน ในขั้นตอนนี้จะต้องเลือกได้สองแบบ คือ เตือนไปที่กลุ่ม หรือเตือน 1-1 กับ User ของเราเองเท่านั้น จากนั้นตั้งชื่อ Token Name ซึ่งจะมีผลเวลาแจ้งเตือน

Picture4

Picture5

6. เมื่อได้ token แล้ว ให้ Copy เก็บไว้ โดยที่ token นี้จะสามารถ Copy ได้แค่ตอนนี้เท่านั้น หลังจากนี้จะไม่สามารถดูได้อีก ต้องลบแล้วสร้างใหม่เท่านั้น เพื่อความปลอดภัย

Picture6

 

 

 

 

 

 

 

 

หลักการทำงานของ FactoryTalk Optix – Smart HMI
FactoryTalk Optix เป็น Software HMI ตัวใหม่ล่าสุดของ Rockwell Automation ซึ่งหนึ่งในความสามารถพิเศษที่ติดมาเรียกว่า NetLogic ซึ่งเจ้าตัว NetLogic นี้เองแท้จริงแล้วเบื้องหลังก็คือ .NET Core ซึ่งเขียนด้วยภาษา C# นั่นเอง

Picture7

เมื่อเราถาม ChatGPT ก็ได้ความว่า เราสามารถใช้ C# ส่ง LINE Notify ได้ นอกจากนี้เพื่อนรักของเรายังได้สร้าง Code ตัวอย่างมาให้ด้วย ซึ่งผู้เขียนได้นำ Code ตัวอย่างมาดัดแปลงเพื่อให้ใช้งานได้ง่ายขึ้น ผู้อ่านสามารถดาวน์โหลดโปรเจคตัวอย่างได้ที่ลิงค์แนบท้ายบทความ

การใช้ FactoryTalk Optix ส่งแจ้งเตือนด้วย NetLogic ไปยัง LINE Notify
เราจะสร้างการแจ้งเตือนโดยผูกกับ Alarm ของ HMI นั่นคือเมื่อเกิด Alarm เปลี่ยนสถานะ เช่น เปลี่ยนจาก Active > Inactive หรือ Inactive > Active ก็ตาม ตัว Alarm จะก่อให้เกิด Event ขึ้น ซึ่งเราจะผูก Event ดังกล่าวไปเรียกใช้งาน LINE Notification NetLogic นั่นเอง

Picture8

ขั้นตอนแรกให้นำ Access Token ที่ได้จากข้อ 2 มาใส่ในตัวแปรชื่อ “LineAccessToken”

Picture9

(1) ตั้งค่า Alarm โดยเลือก Tag ที่จะ Monitor (2) Add Method สำหรับ Event (3) ลิงค์ Method “SendLineNotify” จาก NetLogic ชื่อ LineNotification เข้ากับ Event

Picture10

ตั้งค่า Input arguments ดังนี้

1

**Sticker Package ID และ Sticker ID สามารถดูได้จาก  https://developers.line.biz/en/docs/messaging-api/sticker-list/#sticker-definitions

เมื่อตั้งค่าทุกอย่างเสร็จเรียบร้อยแล้ว ให้ Invite LINE Notify เข้ามายัง Group ที่ทำการสร้าง Token ไว้ในข้อ 2

Picture11

เริ่มทดสอบ Alarm ได้เลย !!

Picture12

ผลลัพธ์ที่ได้

Picture13

Useful link

Sample project: https://github.com/sonictc/LineNotify_Tutorial.git

FactoryTalk Optix (Free Developer tool and 2hr Runtime) : https://compatibility.rockwellautomation.com/Pages/MultiProductFindDownloads.aspx?dlpop=1&id=62345&crumb=112

Visual Studio Code (Free Code Editor) : https://code.visualstudio.com/