รวมศูนย์SCADAสาขาด้วยMQTT (ฟีเจอร์ในGENESIS64)

หลายต่อหลายครั้งการรวมศูนย์SCADAในสาขาต่างๆ(ต่างจังหวัด ต่างอำเภอ ต่างประเทศ) มายังส่วนกลาง มักต้องอาศัยPrivate Networkที่มีความสามารถในการเปิดพอร์ตTCP หากเราใช้Internetตามบ้าน/สำนักงาานที่เป็นDynamic IP ผู้ให้บริการอินเทอร์เน็ต(ISP)มักไม่สามารถเปิดพอร์ตที่เราต้องการ ทำให้เรามีสิ่งที่ต้องทำเพิ่มหลายอย่างเช่นการForward TCP/UDP Portภายนอกที่ISPอนุญาติ แล้วMappingกับPortภายในโรงงาน แล้วForward Portไปที่SCADAแต่ละที่ เป็นต้น ทำให้ภาระงานเพิมขึ้นตามจำนวนสาขา

ในปัจจุบันGENESIS64 SCADAมีฟีเจอร์Internet of Things ซึ่งสามารถใช้MQTT Brokerเป็นตัวกลางในการรวมศูนย์ข้อมูลจากสาขาต่างๆ สามารถทั้งReadและWriteข้อมูล ทำให้เราไม่ต้องMappingและForwardพอร์ตของแต่ละสาขา ลดภาระงานและค่าใช้จ่ายด้านIPลงไปได้

แบบเดิม เราต้องจ่ายค่าIPหรือมีภาระด้านIP Redirect ต้องทำPort Mapping(กรณีISPไม่อนุญาติให้ใช้Portที่ต้องการ)และForwarding ในแต่ละสาขาเพื่อให้SCADAส่วนกลางอ่านเขียนข้อมูลจากสาขาได้

ส่วนแบบที่ใช้MQTT Broker เราต้องการFix IPอยู่ที่ MQTT Brokerที่เดียว ที่อื่นๆไม่ต้องกังวลว่าIPจะเปลี่ยน อาศัยการPublish/Subscribeเพื่ออ่านเขียนข้อมูลทำให้ประหยัดค่ามใช้จ่ายและภาระงาน

MQTT Broker นั้นเราสามารถสร้างขึ้นเองได้เช่นติดตั้ง Mosquito ซึ่งเป็นOpen Sourceทำงานได้ทั้งบนWindowsและLinux หรือใช้MQTT Brokerที่มีให้บริการอยู่ทั้งแบบฟรีและมีค่าใช้จ่ายก็ได้

เรื่องที่ต้องพิจารณากรณีใช้MQTTก็คือ ถ้าเราใช้บริการMQTTฟรีที่มีให้ใช้ในอินเทอร์เน็ต ถ้าTrafficมากเกินไป ผู้ให้บริการMQTT Brokerอาจจะปิดพอร์ตการสื่อสาร ทำให้การเชื่อมต่อข้อมูลหลุด อาจทำให้ต้องมีการRestart ServiceของMQTTในฝั่งSCADAที่มีปัญหา จึงต้องวางแผนให้ดี หรือติดตั้งMQTT Brokerขึ้นมาเองจะดีกว่า อีกทั้งการใช้งานร่วมกับคนจำนวนมากทั่วโลกอาจพบปัญหาเรื่องชื่อDevice ID และBase Topicซ้ำกัน

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 )

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