Phần 3: LẬP TRÌNH (PROGRAMMING)

Sau khi đã hoàn tất các bước cài đặt và thêm thiết bị, phần này sẽ hướng dẫn bạn cách sử dụng Honeywell SpyderTool để lập trình logic điều khiển cho bộ điều khiển Spyder. Bạn sẽ được làm quen với các thành phần chính của công cụ, cách xây dựng ứng dụng trên giao diện Wiresheet, và cách quản lý tài nguyên, điểm vật lý, điểm phần mềm cũng như theo dõi lỗi.

3.1. Các Thành Phần của Honeywell SpyderTool

Honeywell SpyderTool cung cấp một bộ các thành phần để bạn xây dựng ứng dụng điều khiển. Các thành phần này được tổ chức trong thanh Palette (vào Window > Side Bars > Palette để hiển thị).

Các thành phần chính bao gồm:

  1. Bộ điều khiển (Controllers):

    • LonSpyder: Dùng để tạo bộ điều khiển Spyder trên mạng LON. Chỉ có thể kéo thả vào LonNetwork.

    • BACnetSpyder: Dùng để tạo bộ điều khiển Spyder trên mạng BACnet. Chỉ có thể kéo thả vào BacnetNetwork.

  2. Điểm vật lý (Physical Points): Đại diện cho các kết nối phần cứng trên bộ điều khiển.

    • Binary Input (BI): Đầu vào nhị phân (ví dụ: cảm biến tiếp điểm, công tắc).

    • Binary Output (BO): Đầu ra nhị phân (ví dụ: điều khiển đóng/mở van, quạt).

    • Modulating Input (MI): Đầu vào dạng tín hiệu thay đổi (ví dụ: cảm biến nhiệt độ, áp suất).

    • Modulating Output (MO): Đầu ra dạng tín hiệu thay đổi (ví dụ: điều khiển van điều chỉnh, tần số quạt).

  3. Điểm phần mềm (Software Points): Đại diện cho các điểm dữ liệu logic hoặc dữ liệu trao đổi qua mạng.

    • Constant: Điểm hằng số, không thể thay đổi trong quá trình vận hành.

    • NetworkInput (NVI – LON / AVI – BACnet): Điểm nhận dữ liệu từ mạng.

    • NetworkSetpoint (NCI – LON / AV Setpoint – BACnet): Điểm đặt nhận từ mạng, có thể thay đổi.

    • NetworkOutput (NVO – LON / AVO – BACnet): Điểm gửi dữ liệu ra mạng.

  4. Khối chức năng (Function Blocks): Các khối xử lý logic và thuật toán, được phân loại:

    • Analog: Các khối xử lý tín hiệu tương tự (Average, Compare, Min, Max, Switch…).

    • Logic: Các khối thực hiện phép toán logic (AND, OR, XOR, OneShot…).

    • Math: Các khối tính toán (Add, Subtract, Multiply, Divide, Square Root…).

    • Control: Các khối điều khiển (PID, AIA, Cycler, Rate Limit, Stager…).

    • DataFunction: Các khối xử lý dữ liệu và cảnh báo (Alarm, Counter, Override…).

    • ZoneArbitration: Các khối xử lý cho vùng (Occupancy Arbitrator, Temp Setpoint Calc…).

    • BuiltIn: Các khối tích hợp sẵn (Schedule, Conventional Wall Module, S-Bus Wall Module…).

    • Utility: Các tiện ích (Macro, Application).

3.2. Xây dựng Logic Ứng dụng trên Wiresheet

3.2.1. Mở Wiresheet

  1. Trên cây điều hướng (Nav tree), mở rộng đến bộ điều khiển (LonSpyder hoặc BACnetSpyder) mà bạn muốn lập trình.

  2. Nhấp chuột phải vào mục ControlProgram.

  3. Chọn Views > Wiresheet. Màn hình Wiresheet sẽ hiển thị ở khung bên phải. Đây là không gian chính để bạn kéo thả và kết nối các khối chức năng.

3.2.2. Thiết kế Ứng dụng

Quy trình thiết kế một ứng dụng logic điển hình:

  1. Xác định các Điểm Vật lý: Xác định cần sử dụng những đầu vào/đầu ra nào (BI, BO, MI, MO).

  2. Xây dựng Trình tự Điều khiển: Vạch ra logic hoạt động của hệ thống (ví dụ: đọc nhiệt độ phòng -> so sánh với điểm đặt -> điều khiển van).

  3. Xác định Giao diện Mạng: Cần trao đổi những dữ liệu nào với các thiết bị khác qua mạng LON/BACnet (NetworkInput, NetworkSetpoint, NetworkOutput).

  4. Kéo thả các Khối chức năng: Từ thanh Palette, kéo thả các khối chức năng cần thiết vào Wiresheet.

  5. Kết nối (Linking): Nhấp và kéo từ đầu ra (output) của khối này đến đầu vào (input) của khối khác để thiết lập luồng dữ liệu.

  6. Cấu hình (Configure): Nhấp chuột phải vào từng khối chức năng hoặc điểm, chọn Configure Properties để thiết lập các tham số hoạt động.

  7. Kiểm tra Mô phỏng (Simulation): Sử dụng chế độ Simulation để kiểm tra logic trước khi tải xuống bộ điều khiển.

  8. Sửa lỗi và Lưu lại: Chỉnh sửa logic nếu cần và lưu các Macro hoặc ứng dụng vào thư viện để tái sử dụng.

3.3. Các Chế độ Xem (Views) Quan trọng

Để quản lý và giám sát ứng dụng, SpyderTool cung cấp nhiều chế độ xem khác nhau.

3.3.1. ControlProgram NV Configuration View (cho LON)

  • Truy cập: Nhấp chuột phải vào ControlProgram > Views > NV Configuration View.

  • Mục đích: Hiển thị danh sách tất cả các Biến Mạng (Network Variables – NVs) được sử dụng trong ứng dụng.

  • Các cột: NV Name (tên biến), Type (loại: NVI, NVO, NCI…), Category (loại: Mandatory, Fixed, Custom).

  • Chức năng: Tại đây, bạn có thể thêm, sửa, xóa các Custom NV, và hiển thị các NV có thể kéo thả lên Wiresheet bằng nút Show on wiresheet as Points.

3.3.2. BACnet Object Configuration View (cho BACnet)

  • Truy cập: Nhấp chuột phải vào ControlProgram > Views > Object Configuration View.

  • Mục đích: Tương tự như NV Configuration View, nhưng dành cho các Đối tượng (Objects) của BACnet (AVI, AVO, BV Setpoint, v.v.).

  • Các cột: NameTypeCategoryObject InstanceUpdate RateSend Heartbeat.

  • Chức năng: Cho phép thêm, sửa, xóa các Custom Object và quản lý các object sẽ hiển thị trên Wiresheet.

3.3.3. ControlProgram Resource Usage View

  • Truy cập: Nhấp chuột phải vào ControlProgram > Views > Resource Usage.

  • Mục đích: Hiển thị mức độ sử dụng bộ nhớ của bộ điều khiển cho ứng dụng hiện tại. Đây là công cụ quan trọng để đảm bảo ứng dụng không vượt quá giới hạn tài nguyên của model thiết bị.

  • Thông tin cung cấp:

    • Biểu đồ thanh (Bar chart) thể hiện tổng bộ nhớ và bộ nhớ đã sử dụng cho các loại: Float RAM, Byte RAM, Flash, Non-Volatile RAM.

    • Bảng Blocks Usage cho biết số lượng Function Blocks, NVs/Objects, và Physical IOs đã dùng.

    • Nút Tabular View để xem chi tiết từng khối.

3.3.4. Device Terminal Assignment View

  • Truy cập: Nhấp chuột phải vào tên bộ điều khiển (ví dụ: LonSpyder_1) > Views > Terminal Assignment View.

  • Mục đích: Gán các điểm vật lý (Modulating Input, Binary Output, v.v.) đã kéo vào Wiresheet với các chân (pin) thực tế trên bộ điều khiển.

  • Cách dùng: Trong view này, bạn sẽ thấy hình ảnh các chân của controller. Sử dụng các dropdown menu để gán một điểm vật lý logic cho một chân cụ thể. Các điểm chưa được gán sẽ hiển thị là Unassigned hoặc Invalid IO.

3.4. Làm việc với Điểm Vật lý (Physical Points)

3.4.1. Thêm và Cấu hình

  1. Kéo thả: Từ thanh Palette > Physical Points, kéo thả khối BinaryInputBinaryOutputModulatingInput, hoặc ModulatingOutput vào Wiresheet.

  2. Đặt tên: Cửa sổ xuất hiện, nhập tên cho điểm và nhấn OK.

  3. Cấu hình: Nhấp chuột phải vào khối vừa thêm, chọn Configure Properties.

    • Point Type: Bạn có thể thay đổi loại điểm (ví dụ: từ BinaryInput thành Constant, Network Input,…). Hãy thận trọng vì việc thay đổi này có thể ảnh hưởng đến kết nối và giải phóng pin.

    • Cấu hình chi tiết: Các tùy chọn cấu hình phụ thuộc vào loại điểm và giao thức (LON/BACnet). Ví dụ:

      • Modulating Input: Chọn loại cảm biến (Type), giới hạn cảm biến (Sensor Limits).

      • Modulating Output: Chọn loại đầu ra (Type: Analog, Floating, PWM), cấu hình thời gian hành trình (stroke time), dải điện áp/dòng điện.

3.4.2. Lưu ý quan trọng về Pin (IO)

  • Invalid IO: Nếu bạn kéo một điểm vật lý vào Wiresheet nhưng không còn pin trống trên controller, điểm đó sẽ trở thành Invalid IO. Nó vẫn tồn tại trong logic nhưng không được gán chân và sẽ không hoạt động.

  • Gán lại pin: Khi một điểm có gán pin bị xóa, pin đó sẽ được tự động gán cho một điểm Invalid khác (nếu có).

  • Sao chép điểm: Khi sao chép một điểm vật lý đã có pin, điểm mới sẽ được tạo với cấu hình tương tự và cố gắng gán một pin mới. Nếu không còn pin, nó sẽ là Invalid IO.

3.5. Làm việc với Điểm Phần mềm (Software Points)

3.5.1. Constant

  • Công dụng: Tạo một giá trị hằng số để cung cấp cho các khối chức năng khác.

  • Cấu hình: Trong Configure Properties, bạn chọn Point Category (ví dụ: Temperature, Pressure, Unit-less) và nhập Value. Nếu chọn Unit-less, bạn có thể định nghĩa các giá trị Enumeration tùy chỉnh.

3.5.2. Network Input / Network Setpoint

  • Công dụng: Tạo các điểm dữ liệu nhận từ mạng. Network Input thường dùng cho dữ liệu đo lường, Network Setpoint dùng cho các giá trị đặt có thể thay đổi.

  • Cấu hình: Ngoài việc chọn Point Category, bạn cần vào mục Advanced để thiết lập các thông số mạng.

    • Đối với LON: Cấu hình NVI Name, chọn Standard NV (SNVT) hoặc Custom NV (UNVT), thiết lập Fail Detect.

    • Đối với BACnet: Cấu hình Object NameObject InstanceUpdate IntervalFail Detect EnabledUpdate Rate.

3.5.3. Network Output

  • Công dụng: Tạo các điểm dữ liệu gửi ra mạng.

  • Cấu hình: Tương tự Network Input, mục Advanced cho phép bạn cấu hình các tham số mạng như Sen DeltaGPU (Guaranteed Periodic Update), Send Heart Beat.

3.6. Xem và Xử lý Lỗi (Error View)

Spyder cung cấp một chế độ xem chuyên dụng để giám sát các lỗi phát sinh từ bộ điều khiển.

3.6.1. Đối với bộ điều khiển LON

  1. Truy cập: Nhấp chuột phải vào tên bộ điều khiển LON > Views > Error View.

  2. Các loại lỗi:

    • Sensor Alarms: Lỗi từ các cảm biến (đứt dây, ngắn mạch, vượt ngưỡng).

    • Invalid Configuration Alarms: Lỗi do cấu hình tải xuống bị lỗi (CRC error).

    • Network Communication Alarms: Lỗi mất kết nối với các NVI đã cấu hình Fail Detect.

    • Control Alarms: Lỗi từ các khối Alarm được cấu hình trong logic.

    • S-BUS WM Communication/Fail Detect Alarms: Lỗi liên quan đến module tường S-Bus.

  3. Cập nhật: Có thể kích hoạt Enable auto alarm refresh để tự động làm mới danh sách lỗi sau một khoảng thời gian.

3.6.2. Đối với bộ điều khiển BACnet

Cách truy cập tương tự (nhấp chuột phải > Views > Error View). Lỗi được hiển thị thông qua các đối tượng lỗi như AV_Error0 đến AV_Error15. Các loại lỗi tương tự như bộ điều khiển LON.

3.7. Tải Ứng dụng (Download) xuống Bộ điều khiển

Sau khi đã thiết kế và kiểm tra logic (bằng Simulation), bước cuối cùng là tải ứng dụng xuống bộ điều khiển thực tế.

  1. Truy cập: Trên cây điều hướng, nhấp chuột phải vào tên bộ điều khiển.

  2. Chọn lệnh: Chọn Spyder Download.

  3. Chọn loại tải xuống:

    • Full Download: Tải toàn bộ cấu hình xuống bộ điều khiển, thay thế cấu hình hiện có. Nên dùng khi tải ứng dụng mới lần đầu hoặc có thay đổi lớn về logic.

    • Quick Download: Chỉ tải các phần đã được sửa đổi (như giá trị điểm đặt, cấu hình Schedule). Quá trình này nhanh hơn và không làm mất các thay đổi đã thực hiện trực tiếp trên thiết bị (ví dụ: qua module tường).

  4. Xác nhận: Nhấp OK để bắt đầu quá trình tải xuống. Thanh trạng thái sẽ hiển thị tiến trình.

Tổng kết Phần 3

Như vậy, bạn đã được làm quen với toàn bộ quy trình lập trình cơ bản trên Honeywell SpyderTool. Bạn đã biết cách sử dụng Wiresheet để xây dựng logic, hiểu các thành phần chính (Physical/Software Points, Function Blocks), biết cách kiểm tra tài nguyên, quản lý gán chân và theo dõi lỗi. Đây là nền tảng quan trọng để bạn có thể phát triển các ứng dụng điều khiển HVAC phức tạp. Các phần tiếp theo sẽ đi sâu vào chi tiết cấu hình cho từng loại điểm, từng khối chức năng cụ thể.

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *