FD2 Test Utility
Quick steps to connect, send prices, authorize, and inspect responses.
You will typically do: (1) Connect → (2) Select dispenser → (3) Price or Authorize → (4) Check TX/RX.
1. Connect to the controller
On the left side, choose the protocol the controller expects, usually PCC. If you are testing FD socket, pick FD Socket.
If you don’t know, try PCC first — most examples in this tool are PCC-shaped.
Set Com Type to:
- Ethernet → you will type IP + port.
- Serial → you will choose COM port + serial settings.
Fill in:
- IP: FD2/controller address.
- Port: TCP port (typical sample:
9200).
Click Connect. The status should show CONNECTED in green. If it doesn’t, fix IP/port or protocol and try again.
On the left there are 3 decimal boxes: Price, Amount, Volume. Set them to match what your controller uses (example: price = 3, amount = 2, volume = 3). The tool uses these when building some commands.
2. Pick a dispenser
Most actions (price, authorize, stop, get totals) are for a specific dispenser. Before you click anything on the right, choose the dispenser.
On the right panel, find Dispenser: and pick e.g. 01, 02, etc.
There is usually a “Selected: XX” label: that’s the number all the dispenser actions will use.
3. Send a price
Use this when you want to test price writes (e.g. PCC J-style) or confirm that your controller will accept a price for a hose.
In the price bar (top of the right side) choose Selected Hose (1–6, or however many the dispenser has).
This will build the price command according to:
- the protocol you picked (PCC vs FD socket), and
- the decimal settings from the left.
If you click All Hoses, the tool sends price writes for all hoses up to the one you selected for this dispenser. This is handy to push a full set of test prices quickly.
If your controller NAKs this, check the controller’s required price format or decimal count.
Use Remove/Disable in the same area to send the price-clear style command for that hose.
4. Authorize fueling
This is the part that mimics POS behavior. You tell FD2 “let dispenser X fuel” with a limit (money or volume) or with no limit (fillup).
On the right actions list, click Authorize. This opens the Authorize window.
It should already show the dispenser you chose on the main window. Change it only if you want to authorize a different one.
You have three typical cases:
- Money/dollar preset: enter the amount, select “dollar preset”.
- Volume preset: enter the volume (controller usually wants 3 decimals).
- Fillup: pick the fillup/no limit option.
Also pick the Tier: Credit (1) or Cash (2). This affects the PCC flag in the command.
If you want to force a specific hose: choose “Hose” and pick the hose. If you want to give a set of allowed hoses: choose “Multi” and select the ones you want. The tool will create the proper multihoselock bytes.
Click OK to actually send it. The built PCC-style authorization (e.g. A{disp}0{flag}... or A{disp}4 999999 for fillup) will go through the same send path as everything else, so you see it in the TX/RX panel.
5. Read what happened (TX/RX panel)
Every time you click Send Price, Authorize, Get Totals, etc., look at the bottom panel.
Shows the raw text your app sent to FD2, before framing (for PCC it looks like A010000200000000). If another window had “copy to main” checked, you will also see it here.
Shows the raw controller response, but with control bytes expanded to make it readable:
0x06(ACK)– controller acknowledged0x15(NAK)– controller refused0x02(STX)and0x03(ETX)– frame start/end
Example: 0x06(ACK)0x02(STX)PCC 8.7 10/24/25DC 1 PROT: GENERIC0x03(ETX)
If you see only 0x06(ACK) and nothing else, it means “I got it” but the controller didn’t send extra data.
That means the controller really didn’t send anything back. Check connection or command format.
6. Read FD2 files
Use this when you want to pull config/log/JSON/zips straight from the controller.
This opens the special window for the *A? / *V? commands.
Common ones:
*AR→ read/config.xml*VL→ zip of log directory*VJ→ zip of JSON directory*VR→ zip of reader/device directory*VC→ zip of license directory*VP→ PIE data*VD→ DB directory
Click send. Then go to the bottom panel to confirm the controller actually answered.
7. Send a custom command
Use this when you need to send something that doesn’t have a dedicated button yet (e.g. a test J write, a version read, or an experimental extended command).
On the left/global area, click Custom Command.
Examples:
A010000200000000(PCC-style authorize)*VL(read logs)
Turn these on if you want to see the exact framed data and also put it in the main TX/RX view.
Click Send. Then check the TX/RX panel.
FD2 Test Utility – local help (task-oriented)