Phần 7: CÁC KHỐI CHỨC NĂNG (FUNCTION BLOCKS)
Khối chức năng (Function Blocks) là các đối tượng xử lý logic cốt lõi trong Honeywell SpyderTool. Chúng nhận dữ liệu đầu vào từ các điểm vật lý, điểm phần mềm hoặc đầu ra của khối khác, thực hiện các phép tính hoặc logic, và tạo ra đầu ra để điều khiển hoặc truyền thông. Tất cả các khối chức năng đều có sẵn trong thanh Palette dưới mục honeywellSpyderTool.
7.1. Tổng quan về Function Blocks
7.1.1. Các danh mục Function Blocks
| Danh mục | Mô tả | Ví dụ |
|---|---|---|
| Analog | Xử lý tín hiệu tương tự, so sánh, lựa chọn | Average, Compare, Select, Switch |
| Logic | Thực hiện các phép toán logic | AND, OR, XOR, OneShot |
| Math | Thực hiện các phép tính toán học | Add, Subtract, Multiply, Divide, Square Root |
| Control | Các thuật toán điều khiển | PID, AIA, Cycler, Rate Limit, Stager |
| DataFunction | Xử lý dữ liệu, cảnh báo, đếm | Alarm, Counter, Override, Runtime Accumulate |
| ZoneArbitration | Xử lý cho các vùng điều khiển | Occupancy Arbitrator, Temp Setpoint Calculator |
| BuiltIn | Các khối tích hợp sẵn | Schedule, Conventional Wall Module, S-Bus Wall Module |
| Utility | Tiện ích | Macro, Application |
7.1.2. Giới hạn số lượng Function Blocks
| Model | Số lượng FB tối đa |
|---|---|
| Spyder I (PVL6436A, PVL6438N, PUL6438) | 100 |
| Spyder II (PVL6436AS, PVL6438NS, PUL6438S) | 100 |
| Spyder Lon Micro / BACnet Micro | 200 |
| Spyder Lon Relay / BACnet Relay | 300 |
7.1.3. Cách thêm và cấu hình Function Block
Bước 1: Thêm khối chức năng
-
Mở Wiresheet của ControlProgram.
-
Trên Palette, mở rộng danh mục tương ứng.
-
Kéo thả khối chức năng vào Wiresheet.
-
Đặt tên cho khối và nhấp OK.
Bước 2: Cấu hình khối chức năng
-
Nhấp chuột phải vào khối > Configure Properties.
-
Nhập thông tin vào các trường.
-
Nhấp OK để lưu hoặc Cancel để hủy.
Bước 3: Loại bỏ các chân không cần thiết
-
Nhấp chuột phải vào khối > Pin Slots.
-
Bỏ chọn các chân (pin) không sử dụng.
-
Nhấp OK. Khối sẽ hiển thị chỉ với các chân đã chọn.
7.2. Analog Function Blocks
7.2.1. Analog Latch
Chức năng: Chốt giá trị đầu vào X khi tín hiệu Latch chuyển từ FALSE sang TRUE.
| Đầu vào | Mô tả |
|---|---|
| latch | Tín hiệu điều khiển chốt (FALSE→TRUE) |
| x | Giá trị cần chốt |
| Y | Đầu ra: giá trị đã chốt |
Ứng dụng: Giữ giá trị cảm biến khi có sự kiện xảy ra.
7.2.2. Average
Chức năng: Tính trung bình của tối đa 8 đầu vào.
| Cấu hình | Mô tả |
|---|---|
| Ignore invalid inputs | Nếu chọn, chỉ tính các đầu vào hợp lệ. Nếu không, chỉ cần một đầu vào Invalid thì đầu ra cũng Invalid. |
Ứng dụng: Tính nhiệt độ trung bình của nhiều vùng.
7.2.3. Compare
Chức năng: So sánh hai đầu vào với các tùy chọn: Less Than, Greater Than, Equal To.
| Đầu vào | Mô tả |
|---|---|
| input1, input2 | Các giá trị cần so sánh |
| onHyst, offHyst | Độ trễ bật/tắt |
| Operation | Chọn kiểu so sánh |
Ứng dụng: Phát hiện nhiệt độ vượt ngưỡng với độ trễ.
7.2.4. Encode
Chức năng: Ánh xạ giá trị Enumeration này sang Enumeration khác.
| Đầu vào | Mô tả |
|---|---|
| inEnum | Giá trị đầu vào (0-255) |
| disable | Bật/tắt ánh xạ |
| in1…in9 | Các giá trị cần so sánh |
| out1…out9 | Các giá trị đầu ra tương ứng |
| fire | Đầu ra báo hiệu có ánh xạ thành công |
Ứng dụng: Chuyển đổi giữa các bộ Enumeration chuẩn và tùy chỉnh.
7.2.5. Hysteretic Relay
Chức năng: Đầu ra TRUE khi giá trị đầu vào lớn hơn onVal, FALSE khi nhỏ hơn offVal.
| Đầu vào | Mô tả |
|---|---|
| in | Giá trị đầu vào |
| onVal, offVal | Ngưỡng bật/tắt |
| minOn, minOff | Thời gian tối thiểu duy trì trạng thái (giây) |
Ứng dụng: Điều khiển máy nén, quạt với thời gian bảo vệ.
7.2.6. Maximum / Minimum
Chức năng: Tìm giá trị lớn nhất / nhỏ nhất trong tối đa 8 đầu vào.
| Cấu hình | Mô tả |
|---|---|
| Ignore invalid inputs | Bỏ qua các đầu vào Invalid khi tính toán. |
Ứng dụng: Giám sát nhiệt độ cao nhất/thấp nhất trong hệ thống.
7.2.7. Priority Select
Chức năng: Chọn đầu vào có mức ưu tiên cao nhất được kích hoạt.
| Đầu vào | Mô tả |
|---|---|
| enable1…enable4 | Kích hoạt ưu tiên |
| in1…in4 | Các giá trị đầu vào |
| In1 As Default | Sử dụng Input1 làm mặc định nếu không có ưu tiên nào |
Ứng dụng: Lựa chọn điểm đặt từ nhiều nguồn (cục bộ, từ xa, khẩn cấp).
7.2.8. Select
Chức năng: Chọn một trong 6 đầu vào dựa trên giá trị X.
| Đầu vào | Mô tả |
|---|---|
| x | Giá trị chọn |
| offset | Giá trị bù |
| default | Giá trị mặc định |
| input0…input5 | Các đầu vào |
Công thức: Output = input(x – offset) nếu (x – offset) trong khoảng 0-5, nếu không output = default.
Ứng dụng: Chọn chế độ vận hành dựa trên giá trị số.
7.2.9. Switch
Chức năng: Chọn một trong 8 đầu ra làm TRUE dựa trên input – offset.
| Đầu vào | Mô tả |
|---|---|
| input | Giá trị đầu vào (0-255) |
| offset | Giá trị bù |
| output0…output7 | 8 đầu ra |
Ứng dụng: Kích hoạt trạng thái tương ứng với giá trị lệnh.
7.3. Logic Function Blocks
7.3.1. AND
Chức năng: Đầu ra TRUE khi tất cả đầu vào đều TRUE.
| Đầu vào | Mô tả |
|---|---|
| in1…in6 | Các đầu vào (có thể đảo) |
| trueDelay | Thời gian trễ khi chuyển sang TRUE (giây) |
| falseDelay | Thời gian trễ khi chuyển sang FALSE (giây) |
Lưu ý: Đầu vào không kết nối hoặc Invalid mặc định là TRUE.
7.3.2. OR
Chức năng: Đầu ra TRUE khi ít nhất một đầu vào là TRUE.
7.3.3. XOR
Chức năng: Đầu ra TRUE khi có đúng một đầu vào là TRUE.
7.3.4. OneShot
Chức năng: Khi đầu vào X chuyển từ FALSE sang TRUE, đầu ra Y được set TRUE trong thời gian onTime giây.
| Đầu vào | Mô tả |
|---|---|
| x | Tín hiệu kích hoạt |
| onTime | Thời gian duy trì (0-65535 giây) |
| Y | Đầu ra xung |
Ứng dụng: Tạo xung kích hoạt cho các thiết bị.
7.4. Math Function Blocks
7.4.1. Add / Subtract / Multiply / Divide
Chức năng: Các phép tính cơ bản với tối đa 8 đầu vào cho Add.
| Cấu hình | Mô tả |
|---|---|
| TailOperation | No Change, Absolute, Integer, Fractional |
| Ignore invalid inputs | Bỏ qua đầu vào Invalid khi tính toán |
7.4.2. Square Root
Chức năng: Tính căn bậc hai của đầu vào.
| Cấu hình | Mô tả |
|---|---|
| negInvalid | 0: Dùng giá trị tuyệt đối; 1: Đầu ra Invalid nếu đầu vào âm |
7.4.3. Logarithm
Chức năng: Tính logarit tự nhiên hoặc cơ số 10.
| Cấu hình | Mô tả |
|---|---|
| eOR10 | Natural (ln) hoặc Base10 (log10) |
7.4.4. Limit
Chức năng: Giới hạn đầu vào trong khoảng lowLimit và hiLimit.
7.4.5. Ratio
Chức năng: Ánh xạ tuyến tính đầu vào X sang đầu ra Y dựa trên các điểm (x1,y1) và (x2,y2).
| Cấu hình | Mô tả |
|---|---|
| operation | Unlimited, Vav_Flow_Balance, Endpoint_Limited |
7.4.6. Reset
Chức năng: Tính giá trị reset dựa trên cảm biến đầu vào.
Công thức: Output = input + ((sensor – zeroPct) / (hundredPct – zeroPct)) * resetAmount
7.4.7. Digital Filter
Chức năng: Lọc tín hiệu số với hằng số thời gian Tau.
Công thức: Ynew = Yold + (X – Yold) × (1 – e^(-t/Tau))
| Cấu hình | Mô tả |
|---|---|
| zeroInit | TRUE: Khởi tạo về 0; FALSE: Khởi tạo bằng giá trị đầu vào đầu tiên |
7.4.8. Enthalpy
Chức năng: Tính enthalpy (BTU/LB) dựa trên nhiệt độ (°F) và độ ẩm tương đối (%).
Giới hạn: Nhiệt độ: 0-120°F, Độ ẩm: 0-100%
7.4.9. Flow Velocity
Chức năng: Tính lưu lượng và vận tốc dòng khí dựa trên áp suất đo được và hệ số K.
Công thức: Flow = K × √(ΔP – Offset), Vel = Flow / Area
7.5. Control Function Blocks
7.5.1. PID
Chức năng: Bộ điều khiển PID chuẩn.
| Đầu vào | Mô tả |
|---|---|
| sensor | Giá trị đo |
| setPt | Điểm đặt |
| tr | Dải tỷ lệ (Throttling Range) |
| intgTime | Thời gian tích phân (giây) |
| dervTime | Thời gian vi phân (giây) |
| deadBand | Vùng chết |
| Action | 0: Direct acting; 1: Reverse acting |
| bias | Giá trị bù (0-100%) |
Công thức: Output = Bias + Kp × Err + (Kp/Ti)∫Err dt + Kp × Td × dErr/dt
7.5.2. AIA (Adaptive Integral Action)
Chức năng: Bộ điều khiển thích nghi, hoạt động tốt hơn PID khi có độ trễ lớn.
| Đầu vào | Mô tả |
|---|---|
| tr | Dải tỷ lệ |
| maxAOChange | Thay đổi đầu ra tối đa mỗi chu kỳ |
| deadband | Vùng chết |
7.5.3. Cycler / Stager
Chức năng: Điều khiển bật/tắt các tầng (stages) dựa trên tín hiệu đầu vào 0-100%.
| Cấu hình | Mô tả |
|---|---|
| cph | Cycles Per Hour (0 = Stager, 1-60 = Thermostat Cycler) |
| maxStgs | Số tầng tối đa |
| hyst | Độ trễ |
| minOn, minOff | Thời gian tối thiểu bật/tắt |
| intstgOn, intstgOff | Thời gian giữa các tầng |
7.5.4. Flow Control
Chức năng: Điều khiển van VAV độc lập áp suất.
| Đầu vào | Mô tả |
|---|---|
| cmdFlowPercent | Lệnh % từ PID nhiệt độ |
| sensedFlowVol | Lưu lượng đo được |
| minFlowSetPt, maxFlowSetPt | Điểm đặt lưu lượng min/max |
| ductArea | Diện tích ống gió |
| motorSpeed | Thời gian hành trình (giây/90°) |
7.5.5. Rate Limit
Chức năng: Giới hạn tốc độ thay đổi của đầu ra.
| Đầu vào | Mô tả |
|---|---|
| upRate | Tốc độ tăng tối đa |
| downRate | Tốc độ giảm tối đa |
| startInterval | Thời gian khởi động (giây) |
| startVal | Giá trị khởi tạo |
7.5.6. Stage Driver
Chức năng: Phân phối số lượng tầng được yêu cầu đến các đầu ra cụ thể.
| Cấu hình | Mô tả |
|---|---|
| leadLag | LL_FOLO: First On Last Off; LL_FOFO: First On First Off; LL_RUNEQ: Runtime Equalization |
7.6. Data Function Blocks
7.6.1. Alarm
Chức năng: Tạo cảnh báo khi giá trị vượt ngưỡng.
| Đầu vào | Mô tả |
|---|---|
| Value | Giá trị cần giám sát |
| High Limit, Low Limit | Ngưỡng cảnh báo |
| Preset Time | Thời gian trễ trước khi kích hoạt (giây) |
| Post Time | Thời gian duy trì cảnh báo tối thiểu (giây) |
Ứng dụng: Giám sát nhiệt độ, áp suất vượt ngưỡng.
7.6.2. Counter
Chức năng: Đếm số lần chuyển trạng thái của đầu vào.
| Đầu vào | Mô tả |
|---|---|
| Input | Tín hiệu đếm |
| Enable | Cho phép đếm |
| Count Value | Giá trị tăng/giảm mỗi lần đếm |
| Preset | Đặt lại giá trị đếm |
| StopAtZero | Dừng đếm tại 0 |
7.6.3. Override
Chức năng: Chọn đầu ra theo mức ưu tiên (1 là cao nhất, 6 là thấp nhất).
| Đầu vào | Mô tả |
|---|---|
| priority1Value…priority6Value | Các giá trị ưu tiên |
| cntrlInput | Giá trị điều khiển mặc định |
| defaultValue | Giá trị mặc định nếu tất cả đều Invalid |
7.6.4. Priority Override
Chức năng: Hỗ trợ điều khiển đầu ra với 16 mức ưu tiên (1 cao nhất, 16 thấp nhất).
| Đầu ra | Mô tả |
|---|---|
| PriorityOut | Giá trị của mức ưu tiên cao nhất có giá trị hợp lệ |
Ứng dụng: Tích hợp nhiều nguồn điều khiển cho cùng một đầu ra.
7.6.5. Runtime Accumulate
Chức năng: Tích lũy thời gian hoạt động.
| Đầu ra | Mô tả |
|---|---|
| RUNTIME_SEC | Thời gian hoạt động (giây) |
| RUNTIME_MIN | Thời gian hoạt động (phút) |
| RUNTIME_HRS | Thời gian hoạt động (giờ) |
| RUNTIME_DAYS | Thời gian hoạt động (ngày) |
Ứng dụng: Theo dõi thời gian vận hành thiết bị để lập kế hoạch bảo trì.
7.7. Zone Arbitration Function Blocks
7.7.1. Occupancy Arbitrator
Chức năng: Xác định trạng thái hiện tại của vùng dựa trên lịch, cảm biến và lệnh ghi đè.
| Đầu vào | Mô tả |
|---|---|
| scheduleCurrentState | Trạng thái từ lịch |
| WMOverride | Lệnh ghi đè từ module tường |
| NetworkManOcc | Lệnh ghi đè từ mạng |
| OccSensorState | Trạng thái từ cảm biến hiện diện |
| Net wins / Last in wins | Chiến lược xử lý ghi đè |
Đầu ra: EFF_OCC_CURRENT_STATE (Occupied/Unoccupied/Standby/Bypass)
7.7.2. Temperature Setpoint Calculator
Chức năng: Tính toán điểm đặt nhiệt độ hiệu dụng dựa trên trạng thái vùng và thời gian phục hồi.
| Đầu vào | Mô tả |
|---|---|
| EffOccCurrentState | Trạng thái vùng hiệu dụng |
| ScheduleNextState | Trạng thái kế tiếp trong lịch |
| ScheduleTUNCOS | Thời gian đến thay đổi trạng thái (phút) |
| HeatRampRate, CoolRampRate | Tốc độ phục hồi (°F/giờ) |
| Setpoint | Điểm đặt trung tâm hoặc bù |
Đầu ra: EFF_HEAT_SETPT, EFF_COOL_SETPT
7.7.3. General Set Point Calculator
Chức năng: Tính toán điểm đặt tổng quát có áp dụng reset.
| Đầu vào | Mô tả |
|---|---|
| effOccuCurrentState | Trạng thái vùng |
| ResetInput | Giá trị đầu vào để tính reset |
| OccupiedSetpoint, StandbySetpoint, UnoccupiedSetpoint | Các điểm đặt theo trạng thái |
7.7.4. Set Temperature Mode
Chức năng: Xác định chế độ điều khiển nhiệt độ hiệu dụng (Cool/Heat/Reheat/Emerg Heat/Off).
| Đầu vào | Mô tả |
|---|---|
| sysSwitch | Công tắc hệ thống (Auto/Cool/Heat/Off) |
| cmdMode | Lệnh chế độ từ mạng |
| supplyTemp, spaceTemp | Nhiệt độ cấp và nhiệt độ vùng |
| effHeatSP, effCoolSP | Điểm đặt nhiệt độ hiệu dụng |
| controlType | 0: CVAHU, 1: VAV |
7.8. BuiltIn Function Blocks
7.8.1. Schedule
Chức năng: Cấu hình lịch trình để xác định trạng thái Occupancy.
| Đầu ra | Mô tả |
|---|---|
| CURRENT_STATE | Trạng thái hiện tại (Occupied/Unoccupied/Standby) |
| Schedule Next State | Trạng thái tiếp theo |
| Schedule TUNCOS | Thời gian đến thay đổi trạng thái (phút) |
Cấu hình: 8 ngày (CN-T7, Holiday), 4 sự kiện mỗi ngày, tối đa 10 ngày lễ.
7.8.2. Conventional Wall Module
Chức năng: Giao tiếp với module tường 7 dây (T7770, TR20).
| Cấu hình | Mô tả |
|---|---|
| Override Type | NORMAL_OVERRIDE, BYAPSS_ONLY_OVERRIDE, OVERRIDE_DISABLE |
| Bypass Time Source | Fixed Parameter hoặc Variable Input |
7.8.3. S-Bus Wall Module
Chức năng: Giao tiếp với module tường 2 dây (TR70, TR71, TR75) trên bus Sylk.
| Cấu hình chính | Mô tả |
|---|---|
| General Settings | Block Name, Wall Module Address, Time Display Format |
| Categories and Parameters | Định nghĩa các tham số hiển thị (nhiệt độ, độ ẩm, điểm đặt) |
| Home Screen Options | Cấu hình màn hình chính |
| Occupancy and Override | Cấu hình ghi đè trạng thái |
| Fan Command | Cấu hình điều khiển quạt |
| System Status and Command | Cấu hình trạng thái và lệnh hệ thống |
| Password | Cấu hình bảo vệ bằng mật khẩu |
Giới hạn: Tối đa 4 module tường S-Bus (cho TR71/TR75), 1 module cho TR70.
7.9. Các lưu ý quan trọng
-
Số lượng Function Blocks: Theo dõi trong Resource Usage View để không vượt quá giới hạn của model.
-
Đầu vào không kết nối: Hầu hết các khối logic coi đầu vào không kết nối là FALSE, nhưng AND/OR coi là TRUE (để không ảnh hưởng kết quả).
-
Giá trị Invalid: Khi đầu vào Invalid, đầu ra thường cũng Invalid (trừ các trường hợp có cấu hình Ignore invalid inputs).
-
Thời gian trễ (Delay): Các khối có trueDelay/falseDelay giúp tránh nhiễu và ổn định tín hiệu.
-
Bộ nhớ: Mỗi Function Block tiêu tốn một lượng bộ nhớ nhất định (Float RAM, Byte RAM, Flash). Kiểm tra trong Resource Usage View.
Tổng kết Phần 7
Phần này đã cung cấp hướng dẫn chi tiết về các khối chức năng trong Honeywell SpyderTool. Bạn đã được làm quen với:
-
Analog Blocks: Xử lý tín hiệu tương tự, so sánh, lựa chọn.
-
Logic Blocks: Các phép toán logic cơ bản.
-
Math Blocks: Tính toán và xử lý số học.
-
Control Blocks: Các thuật toán điều khiển PID, AIA, Stager.
-
Data Blocks: Cảnh báo, đếm, tích lũy thời gian.
-
Zone Arbitration: Xử lý trạng thái vùng và điểm đặt nhiệt độ.
-
BuiltIn: Lịch trình và module tường.
Việc nắm vững từng khối chức năng giúp bạn xây dựng các ứng dụng điều khiển HVAC phức tạp, đáp ứng đa dạng yêu cầu của hệ thống thực tế.