A passing PLC enquiry test clears the cable and the port settings; it says nothing about tag entries. The tag name database stays empty because the panel project and the PLC project keep separate databases. For control relay bit C1, select Discrete, select memory type C, and type 1 in the Address field; C1, C-1 and C:1 all return GUI-024 invalid address.
The error and the empty list are two separate faults, and the cable is not involved in either. The panel's PLC enquiry test returned pass (x4) for DEV001 with the cable connected and failed the moment the cable came out, so the port settings and the physical path already pass the panel's own test. The tag name database is empty because the panel project and the PLC project are written in two different software packages that keep separate databases; PLC tag names appear there only after an import, and the import is optional. GUI-024 comes from the Address field itself, which takes the number only. For control relay bit C1, select Discrete as the tag data type, select C as the memory type, and enter 1.
What each symptom points to
| What you see | What it tells you | What to do next |
|---|---|---|
| PLC enquiry returns pass (x4) with the cable connected and fails when the cable is unplugged | The port settings match and the cable path works; the test covers the connection and nothing beyond it | Leave the communication settings alone and move to tag setup |
| The tag name database lists nothing under DEV001 | The panel project keeps its own tag database; the PLC project's names are not shared between two software packages | Import the PLC tag names if you want them, or skip the import and address PLC memory directly |
| Discrete data type, memory type C, and the address typed as C-1, C1 or C:1, returns GUI-024 invalid address every time | The tag editor rejects the string in the Address field | Enter the numeric address only; for control relay bit C1, that is 1 |
| The tag saves but the screen value does not follow the PLC bit | The entry format is settled; the address may not be the one the PLC logic uses, or the object points at a different tag | Compare the tag's address with the PLC program, then re-check the object's tag assignment |
Run the PLC enquiry test before anything else
The panel's main menu carries a PLC enquiry test. In this setup it returned pass (x4) for DEV001, four consecutive passes over about 10 seconds of testing, with the cable connected, and it failed as soon as the cable was pulled. One variable changed between the two runs and the verdict flipped with it, so the test is reacting to the physical connection. That closes the communication layer: baud rate, parity, stop bits and station address already match on both sides, and another pass through the settings menus changes nothing.
The enquiry test ends at the connection. It never reads a tag, so a full pass column of 4 successes says nothing about the addresses your tags will carry. That boundary is exactly what makes the test useful: it removes the cable and the settings from suspicion in one run.
If the test fails with the cable connected, the fault sits in the path: seat the connectors, confirm the settings match on the panel and on the PLC, and run it again. The same split between a connection fault and an address fault sets the order of work when a Modbus RTU link gives no reply or address errors.
The empty tag name database is its own question
The PLC project and the panel project are written in two different software packages, and each keeps a separate tag database. The names defined in the PLC program never appear in the panel's tag name database on their own, no matter how healthy the link is. The list under DEV001 fills in one of two ways: you import the PLC tag names, or you create tags by hand.
Both routes are correct. Import when the names make the project easier to manage. Skip it when you already know the memory area and the number, because the memory exists in the PLC whether or not the panel knows its name, and a hand-built tag pointed at the right address works with no import at all. The wrong fix here is another round of communication settings to make the list populate. A passing enquiry with a blank list is a database question, and no cable or setting change answers it.
Enter the number only in the Address field
Adding the tag takes three selections: DEV001 as the device, Discrete in the Tag Data Type drop-down, C in the Memory Type drop-down. The memory type tells the editor which address area you mean. After that, the Address field wants the numeric part of the address and nothing else. For control relay bit C1, that is 1.
Each entry that failed adds something the field does not take. C1 repeats the memory type that the drop-down already carries. C-1 and C:1 add a separator that is not part of the address. The editor rejects all three, 3 rejected strings, at entry time with GUI-024, which the panel software's GUI error list documents as Invalid address. At that point nothing has gone to the PLC; the string never leaves the editor.
Watch the numbering as well. In this PLC family the control relay area counts in octal: the first 8 bits run C0, C1 up to C7, then the count steps to C10, and the digits 8 and 9 never appear in the area. If the program uses the 9th bit, the bit one step past C7, the Address field takes 10. Typing 8 or 9 returns the same invalid address error even in an otherwise correct format; a write-up on octal addressing and the same GUI-024 error walks through that case.
Example: the C1 tag that would not save
Scenario: a panel drives a screen from a PLC over a 1.5 m serial cable, on device DEV001. The project downloads from the PC to the panel without errors. The PLC enquiry test passes 4 times with the cable connected and fails when the cable is unplugged. The tag name database shows nothing. Three attempts to add the tag, typed as C-1, C1 and C:1, all stop at GUI-024 invalid address, about 2 seconds each from entry to rejection.
Two checks, in order. First the empty list: no import has run and no tag has been created, so import the PLC tag names or build the tag directly. Direct is faster when the address is known. Second the entry: Tag Data Type Discrete, Memory Type C, Address 1. The tag saves.
The program also uses the control relay bit one step past C7. Octal counting runs 0, 1, 2 up to 7 across the first 8 bits, then 10, so that bit is C10, the 9th bit in the area, and the Address field takes 10. The second tag saves as well.
Result: 2 saved tags with the entries 1 and 10, 3 rejected strings traced to the same Address field, 4 passing enquiry tests that ruled out the cable, and zero changes to any communication setting.
Checks on the running panel
A saved tag and a completed download settle the editor; the last check is live. Open a monitor view of the C bit in the PLC software, change the bit through the software's normal controlled method, and watch the panel object follow the change and follow it back. If the object is a pushbutton that writes the bit, run that test only when the machine can safely accept the command, and confirm the PLC logic responds the way the program intends. A download confirms that the project arrived on the panel; the address behind the tag needs its own check.
If the value on screen does not follow the bit, the entry format was never the problem and the question moves down a level: which tag does the object reference, and does that tag's address match the address the PLC logic uses? Panel makers' support notes on invalid-address alarms describe the same trap at runtime: the alarm names no tag because a tag is reaching an address in the PLC that does not exist, so the check is whether the data area the tag names is there. For a live numeric readout, the same method applies as when you show a timer current value counting from the PLC.
The order that finds the fault
Work one layer at a time, 5 steps in total:
- Unplug the cable and run the PLC enquiry test. Pass connected, fail unplugged: the connection layer is cleared.
- Fail with the cable connected: fix the path first. Connectors seated, settings matched on both the panel and the PLC, then test again.
- Pass, plus an empty tag name database: the database layer. Import the PLC tag names or build the tag directly, and stop editing communication settings.
- GUI-024 while adding a tag: the entry layer. Discrete, memory type C, and the number alone: 1 for C1, 10 for the first bit past C7.
- A saved tag with a wrong live value: the assignment layer. Check the object's tag reference, then the address against the PLC program.
That is the same test-one-step-at-a-time discipline that port forwarding failures need, checked step by step.
Recommendation: When the PLC enquiry test passes 4 times with the cable connected, leave the communication settings untouched and fix the tag entry: Tag Data Type Discrete, Memory Type C, Address 1 for control relay bit C1. Import the PLC tag names only when you want those names in the panel project; a tag pointed straight at allocated PLC memory works with no import.
Questions
Why is there no C8 or C9 when I count control relay bits?
This PLC family numbers its control relay bits in octal, so the count runs C0, C1 through C7, then C10, C11 and so on; the digits 8 and 9 never appear. The bit one step past C7 is C10, so the tag's Address field takes 10. Typing 8 or 9 into the C area returns an invalid address error even though the entry format is otherwise correct.
Do all PLC projects and panel projects keep tag databases apart?
Many keep them apart, but not all. Some software suites share one tag database between the PLC project and the panel project, so PLC names appear without an import step. The setup described in this article uses two separate packages, so the list fills only after an import or after you build tags by hand. Your software's documentation tells you which of the two you have.
Does the number-only rule apply to other memory types too?
Yes. This PLC family applies the same convention to every memory area: pick the data type the tag needs, pick the memory type from the drop-down, then enter only the numeric part of the address. The rule covers word registers as well, so a tag for a timer or counter current value takes that register's number alone in the Address field.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.