JC Basic User Macros
Streamside Solutions has extensive experience with writing user macros for GPL. A user macro is a code module that can be run as a block from within GPL. If correctly utilized, a user macro can save hours of duplicate coding over multiple projects and eliminate errors that may occur due to duplication and "reinventing the wheel". Here's some user macros that have been done over the years.
| NAME |
DESCRIPTION |
16EQR_M1 16EQR_M2 16EQR_M3 |
16 STAGE EQUAL RUNTIME SELECTOR W/ FAILURE LOGIC |
| 2POS_SWB |
2 POSITION BINARY REVERSE SWITCH BLOCK (OPPOSITE OF GPL SWITCH BLOCK) |
| 3POS_SWB |
3 POSITION BINARY REVERSE SWITCH BLOCK. REVERSE OF GPL MODE SELECT BLOCK. |
| 4DA |
4 INPUT DIGITAL TO ANALOG CONVERTER |
| 4EQRUN |
4 STAGE EQUAL RUNTIME SELECTOR W/ FAILURE LOGIC |
| 4SEL1 |
4 STAGE INPUT TO 4 OUTPUT BINARY SELECTOR. EACH STAGE IS ASSIGNABLE TO AN OUTPUT. |
| 4SEL2 |
4 STAGE INPUT TO 4 OUTPUT BINARY SELECTOR. EACH OUTPUT IS ASSIGNABLE TO A STAGE #. |
| 4STAGE |
4 STAGE INCREMENTAL SEQUENCER. STAGES ARE INCREMENTED/ DECREMENTED BY 2 BINARY INPUTS. IF A STAGE FAILS, THEN THE NEXT STAGE IS STARTED. |
| 4SEQ |
4 STAGE INPUT TO 4 OUTPUT BINARY SEQUENCE SELECTOR. OUTPUT STAGE ORDER IS DEFINED BY THE LEAD OUTPUT SELECTION. ONLY 4 FIXED SEQUENCE COMBINATIONS. |
| 5EQRUN |
5 STAGE EQUAL RUNTIME SELECTOR W/ FAILURE LOGIC |
| 6EQRUN |
6 STAGE EQUAL RUNTIME SELECTOR W/ FAILURE LOGIC |
| 8EQRUN |
8 STAGE EQUAL RUNTIME SELECTOR W/ FAILURE LOGIC |
| 5TWRXSTG |
5 TOWER EQUAL RUNTIME SELECTOR W/ X FAN STAGES PER TOWER. TAKES A FAN STAGE INPUT AND SEQUENCES FAN STAGES 0-X. |
| 6TWRXSTG |
6 TOWER EQUAL RUNTIME SELECTOR W/ X FAN STAGES PER TOWER. TAKES A FAN STAGE INPUT AND SEQUENCES FAN STAGES 0-X. |
| 6SEL2 |
6 STAGE INPUT TO 6 OUTPUT BINARY SELECTOR. EACH OUTPUT IS ASSIGNABLE TO A STAGE #. |
| 8STAGE |
8 STAGE INCREMENTAL SEQUENCER FOR 4 TWO-SPEED TOWER FANS. LLLLHHHH STAGING. |
| ALTERN8 |
2 PUMP LEAD/LAG SELECTOR. STARTS LEAD PUMP, IF LEAD FAILS THEN THE LAG IS STARTED. IF LAG FAILS, ALL OUTPUTS SHUT OFF AND AN ALARM IS GENERATED. |
| AVGX |
6 AI AVERAGER. THIS WILL TAKE 6 AI INPUTS, THROW OUT ALL UNRELIABLE ONES, THROW OUT ANY AI'S THAT ARE OUT OF A DEFINED TOLERANCE RANGE, AND AVERAGE THE REMAINING. IF ALL ARE UNRELIABLE, THEN A DEFAULT IS USED. |
| BINCOUNT |
UP TO 8 BINARY INPUT COUNTER. OUTPUTS A VALUE CORRESPONDING TO THE NUMBER OF BINARY INPUTS THAT ARE ON. |
| INCDEC |
INCREMENTAL STEPPER THAT TAKES TWO BINARY STEP INPUTS (STEP UP/STEP DOWN) AND INCREMENTS AN ANALOG STAGE NUMBER WITHIN DEFINED RANGES. USED IN CONJUNCTION WITH THE 5EQRUN BLOCK. |
| INTEGER |
CONVERT FLOAT VALUE TO INTEGER (TRUNCATE OR ROUND UP) |
| HEATINDX |
HEAT INDEX CALCULATION BASED ON OAT AND OAH |
| HILOAVG |
Hi, Low, and Average Calculation |
| LEADLAG |
LEAD/LAG CONTROL WILL FAILURE LOGIC. LEAD CMD AND LAG CMD INPUTS. |
| LSEQRT |
LEAD/STANDBY EQUAL RUNTIME SELECTION |
| MEMHILO |
MEMORY BLOCK THAT TRIGGERS OUTPUTS WHEN INPUT IS HIGHER OR LOWER THAN PREVIOUS INPUT |
| NC1OFFLN |
OUTPUTS A BINARY SIGNAL WHEN A NCM IS OFFLINE. |
| OAT4 |
4 INPUT VERSION OF AVGX.MAC. |
| OFFDLY |
BINARY OFF DELAY BLOCK. |
| ONOFFDLY |
BINARY ON AND OFF DELAY BLOCK. |
| PSEQ2 |
4 PUMP SEQUENCE SELECTOR AND ROTATOR. |
| ROTATE4 |
4 INPUT STAGE ORDER VALIDATION AND ROTATION. THIS IS USED IN CONJUCTION WITH 4SEL2.MAC. |
| SEQGEN |
UP TO 5 DEVICE SEQUENCE GENERATOR. INPUT THE LEAD DEVICE # AND THE STAGE ORDER FOR EACH DEVICE IS GENERATED SEQUENTIALLY STARTING WITH 1 AT THE LEAD DEVICE. |
| SPINCDEC |
SETPOINT INCREMENT/DECREMENT |
| STDALM |
STANDARD ALARM DELAY BLOCK. ALARMS WHEN CMD <> INPUT OR MISMATCHED CMD AND INPUT. ALARM CAN BE LATCHED OR NOT. |
| SWINDOW |
SLIDING WINDOW KW CALCULATION |