หน้าเว็บ

วันอังคารที่ 24 กุมภาพันธ์ พ.ศ. 2558

COPC32ถ้าใช้บนWindows 64บิตกับVisual Studio

ถ้าใช้งานCOPC32กับVisual StudioบนWindows 64บิต เราต้องกำหนดPlatform Tagetก่อนดังรูป ด้วยการเปิดไฟล์นามสกุลvbprojของโปรเจ็คนั้นด้วยNotepadจากนั้นข้างใต้บรรทัด<PropertyGroup…ให้เพิ่มแท็กระบุว่าโปรแกรมของเราใช้การประมวลผลแบบx86ด้วยการพิมพ์แท็กในบรรทัดใหม่ว่า

<PlatformTarget>x86</PlatformTarget>

บันทึกไฟล์แล้วค่อยเปิดโปรเจ็คนั้นในVisual Studioก็จะสามารถคอมไพล์โปรเจ็คที่ใช้งานCOPC32ได้แล้ว

image

วันจันทร์ที่ 16 กุมภาพันธ์ พ.ศ. 2558

อัพเกรดMS SQL 2005/2008Expressเป็น 2012 Express

MS SQL Server Express 2012เก็บข้อมูลต่อDatabaseได้มากกว่าเวอร์ชั่นก่อนหน้าคือ10Gb หากต้องการอัพเกรดMS SQL Server 2005/2008Expressเป็น2012Express สามารถทำได้ดังนี้

วันพฤหัสบดีที่ 12 กุมภาพันธ์ พ.ศ. 2558

เว็บไหนแอบติดต่อกับPCของเราบ้าง

แอพพลิเคชั่นในWindowsหลายตัวที่ติดต่อกับเว็บภายนอกโดยที่เราไม่รู้ ถ้าอยากตรวจสอบสามารถทำได้ดังนี้

MS SQL Express:ตั้งเวลาBackup DatabaseและลบBackupเก่าอัตโนมัติ

MS SQL Expressจะไม่มีSQL Server Agentซึ่งสามารถตั้งScheduleเพื่อทำการBackup SQL Server ในบทความนี้จะเสนอเทคนิคการใช้PowershellของWindowsในการสร้างไฟล์BackupและลบBackupเก่าของMS SQL Expressโดยให้Windos Task Scheduleสั่งงานอัตโนมัติครับ

วันอาทิตย์ที่ 8 กุมภาพันธ์ พ.ศ. 2558

GENESIS64 SCADA:มีBACNET/SNMP ConnectorและModbus OPCให้ใช้อยู่แล้วไม่ต้องซื้อOPCเพิ่ม

image

ในGENESIS64ทั้งGENESIS64 App(มีทั้งRuntimeและDevelop)และGENESIS64 RT(มีแต่Runtime)จะมีส่วนติดต่ออุปกรณ์ BACNetและSNMPให้อยู่แล้ว ดังนั้นผู้ใช้ไม่จำเป็นต้องซื้อOPC ServerสำหรับBACNetและSNMPเพิ่มแต่อย่างใด นอกจากนี้ยังได้รับแถมModbus OPC Serverทั้งแบบ Serial RTUและ Ethernetด้วย

Device Communication / OPC Servers:

Included at no charge are OPC UA and DA Client connectivity, Modbus Serial and Modbus Ethernet OPC Servers based on the ICONICS V3.5 OPC Toolkit, plus
connectivity to databases and Web Services via Platform Services. BACnet and SNMP direct connectivity are included with the GENESIS64-APP, -RT, and Hyper Historian models.

เอกสารการใช้งานBACNet ConnectorของGENESIS64เบื้องต้น

วันศุกร์ที่ 6 กุมภาพันธ์ พ.ศ. 2558

GENESIS64 SCADA:มีBACNET/SNMP Connectorให้ใช้อยู่แล้วไม่ต้องซื้อOPCเพิ่ม

ในGENESIS64ทั้งGENESIS64 App(มีทั้งRuntimeและDevelop)และGENESIS64 RT(มีแต่Runtime)จะมีส่วนติดต่ออุปกรณ์ BACNetและSNMPให้อยู่แล้ว ดังนั้นผู้ใช้ไม่จำเป็นต้องซื้อOPC ServerสำหรับBACNetและSNMPเพิ่มแต่อย่างใด

Device Communication / OPC Servers:

Included at no charge are OPC UA and DA Client connectivity, Modbus Serial and Modbus Ethernet OPC Servers based on the ICONICS V3.5 OPC Toolkit, plus
connectivity to databases and Web Services via Platform Services. BACnet and SNMP direct connectivity are included with the GENESIS64-APP, -RT, and Hyper Historian models.

MobileHMI: ตัวอย่างSCADAที่แสดงได้หลากแพลตฟอร์ม

image

คลิ้กที่รูปด้านบนเพื่อแสดงผลSCADAบนคอมพิวเตอร์ของท่านทั้งWindows/Mac/Linux/iOS/Android/Windows Phone

วันอังคารที่ 3 กุมภาพันธ์ พ.ศ. 2558

GENESIS64 SCADA:ไขข้อสงสัยMobileHMIใช้บนPCได้ไหม

จากข้อสงสัยเรื่องMobileHMIซึ่งเป็นAdd-onของGENESIS64ทำให้สามารถใช้งานผ่านอุปกรณ์โมบายเช่นSmart Phone/Tabletอย่างiPhone/iPad/Android/Windows Phone/WindowsRTได้แล้ว จะสามารถเรียกใช้บนPCได้หรือไม่

เสป็คคอมพิวเตอร์สำหรับGENESIS32 SCADA

เสป็คคอมพิวเตอร์สำหรับGENESIS32 SCADAแนะนำโดยICONICS

วันอาทิตย์ที่ 1 กุมภาพันธ์ พ.ศ. 2558

GENESIS SCADA:ถ้าสัญญาณเปลี่ยนให้สั่งงานอุปกรณ์อื่น

ถ้าต้องการสั่งงานอุปกรณ์อื่นในระบบSCADAเมื่อสัญญาณที่สนใจเปลี่ยนแปลงจะทำอย่างไร


เช่น ถ้าสัญญาณในPLC1เปลี่ยนแปลงให้SCADAสั่งงานPLC2ให้On/Offเป็นต้น

ในกรณีเช่นนี้สามารถใช้GENESIS SCADAตรวจจับการเปลี่ยนแปลงของสัญญาณPLC1ที่เราสนใจด้วยโมดูลที่ชื่อAlarmWorXดังเช่นที่แสดงไว้ในบทความเรื่อง “แจ้งเตือนเมื่อสัญญาณเปลี่ยนทั้งขึ้นและลง” จากนั้นนำสัญญาณAlarmมาสั่งOn/OffไปยังPLCตัวที่2โดยใช้Unified Data Manager

ตัวอย่างจากรูปเป็นการสร้างRegisterขึ้นมาในUnified Data Managerเพื่อรับส่งค่าระหว่างOPC tagสองตัวคือสัญญาณInputและOutput โดยInputเป็นสัญญาณAlarmและOutputเป็นสัญญาณที่ต้องการสั่งงาน ลูกศรสีแดงคือปุ่มสำหรับเลือกสัญญาณ

image

เมื่อคลิ้กปุ่มเลือกสัญญาณจะพบหน้าUnified Data Browserให้เลือกสัญญาณจากAlarm Serverที่เราสร้างAlarmตรวจสอบการเเปลี่ยนแปลงของสัญญาณไว้ หมายเลข1คือชื่อAlarm Server หมายเลข2คือAlarmที่เราสร้างไว้ตรวจสอบการเปลี่ยนแปลงของสัญญาณ และหมายเลข3คือสัญญาณActiveซึ่งจะเปลี่ยนจากOffเป็นOnเมื่อมีAlarmเกิดขึ้น ดังนั้นจากตัวอย่างเมื่อเกิดAlarmก็จะทำให้สัญญาณActiveมีค่าเป็นOnก็จะทำให้สัญญาณBit1มีค่าเป็นOnไปด้วย ถ้าAlarmหายไปก็จะทำให้สัญญาณActiveมีค่าเป็นOffและBit1ก็จะOffด้วย ทำให้เราสามารถสั่งงานPLC2ได้ตามสัญญาณAlarm

image

 

สำหรับกรณีที่เราต้องการกำหนดเงื่อนไขการส่งค่าเช่นถ้าActiveมีค่าเป็น Onให้ส่งค่าคงที่ค่าแรกไปให้PLC และเมื่อActiveเป็นOffก็ไม่ต้องเปลี่ยนแปลงค่าอะไร เช่นถ้าสัญญาณActiveมีค่าONให้ส่งค่า255ไปยังสัญญาณFLOAT2ในPLC2 กรณีเช่นนี้ให้สร้างExpressionในUnified Data Managerเพื่อตรวจสอบเงื่อนไขActiveแล้วกำหนดผลลัพธ์ที่ต้องการเสียก่อน จากนั้นค่อยเอาไปใช้เป็นInputของRegisterข้างต้น เช่นจากรูปเราสร้างExpressionขึ้นมาแล้วกำหนดเงื่อนไข(Read Expression)ว่าถ้าสัญญาณActiveเป็นOnก็ให้ผลลัพธ์เป็น255แต่ถ้าเป็นOffก็ให้เป็นค่าปัจจุบันของสัญญาณFLOAT1ซึ่งเป็นสัญญาณที่เราต้องการควบคุม(เป็นสัญญาณในPLC2)

image

ซึ่งExpressionดังกล่าวอยู่ในรูปแบบ

if(สัญญาณเงื่อนไข , ผลลัพธ์เมื่อเป็นOnหรือTrue, ผลลัพธ์เมื่อเป็น Off หรือ False)

ดังนั้นถ้าเราไม่ต้องการเปลี่ยบนแปลงค่าสัญญาณของPLC2เมื่อเงื่อนไขเป็นOffหรือFalseก็ให้ส่งค่าปัจจุบันออกไปก็คือค่าของสัญญาณFloat1นั่นเอง

หลักการนี้ใช้ได้กับทั้งGENESIS32และGENESIS64