Panasonic FP Integration Guide
Talk directly to Panasonic FP-series PLCs with MaestroHub's Panasonic connector. It speaks MEWTOCOL-COM, the ASCII command protocol every FP PLC answers, and MEWTOCOL7, the FP7's own format that reaches its whole memory. Both run over TCP, through the FP7 and FP0H built-in LAN ports, the FP-X AFPX-COM5 cassette or an FP2 ET-LAN unit. This guide covers connection setup, device addressing, the data types, authoring read and write functions, the tag map, and the matching pipeline nodes.
Overview
The Panasonic connector provides:
- Contacts: read
X,Y,R,L,TandC; writeY,RandL - Registers: read and write
DT,LD,FL, the contact wordsWX,WY,WR,WL, and timer/counter set and elapsed valuesSV,EV - The FP7's whole memory over MEWTOCOL7:
DTup to 999423,Rup to 2047F, the 32-bit timer, counter and index values (TS,TE,CS,CE,I0–IE), the system areasSR,WS,SD, pulse and error alarm relays (P,E), program-block local devices (PB1:_DT10) and unit devices by slot (S1:WI0,S2:UM00081) - Typed values:
BIT,WORD,INT,DWORD,DINT,REAL,LREALorSTRING(UTF-8, Shift-JIS or Windows-1251), and a bit inside a register asBIT - Block reads: many named points in the fewest requests, split to the frame limit
- Safe bit writes: a contact is set or reset on its own, never by rewriting its word
- FP2 ET-LAN framing for FP2 ET-LAN units and connections set to "Connect with FP2 ET-LAN"
- Symbolic tag mapping: friendly names for device addresses, importable from CSV or JSON
FP7 and FP0H through their built-in LAN port, FP-X and FP-XH through the AFPX-COM5 Ethernet cassette, and FP2/FP2SH through an FP2 ET-LAN unit. Any FP PLC reachable over a MEWTOCOL-COM TCP connection works.
TCP only. UDP, the < extended header and multi-frame messages, RUN/PROGRAM mode changes, monitor registration and system register writes are not supported.
Panasonic publishes MEWTOCOL7's frame (header, station, frame number, CRC) but not the fields of its read and write commands. MaestroHub sends them exactly as the legacy FP7 driver does, which has run against FP7 PLCs in the field. Try MEWTOCOL7 on your FP7 before relying on it, and use MEWTOCOL-COM when your addresses are within its range.
Connection Configuration
Creating a Panasonic Connection
Navigate to Connections → New Connection → Panasonic FP and fill in the form. It has five tabs: Connection, Tag Map, Functions, Scaling and Health. Functions, Scaling and Health unlock after the connection is saved.
1. Profile Information
| Field | Default | Description |
|---|---|---|
| Profile Name | — | A descriptive name for this connection profile (required, max 100 characters). Must be unique across all connections. |
| Description | — | Optional description for this connection |
| Labels | — | Key-value pairs to categorize and organize the connection (max 10 labels) |
2. MEWTOCOL Settings
| Field | Default | Description |
|---|---|---|
| Address | — | PLC host name or IP address (required) |
| Port | 9094 | TCP port of the PLC's MEWTOCOL connection. 9094 is the FP-X AFPX-COM5 cassette's default. FP7 and FP0H serve MEWTOCOL-COM on their system connection at 32769, and MEWTOCOL7 on a user connection whose port you set in FPWIN GR7. |
| Protocol | mewtocol-com | mewtocol-com works with every FP PLC but addresses only DT0–DT99999 and R0–R999F. mewtocol7 is FP7 only: it reaches the FP7's whole memory and its 32-bit timer and counter values, on a user connection whose communication mode is MEWTOCOL7-COM. |
| Framing | plain | plain when the PLC connection's MEWTOCOL communication type is "Not connect with FP2 ET-LAN", the default. fp2-etlan puts the 12-byte FP2 ET-LAN header in front of every frame: for an FP2 ET-LAN unit, or a connection set to "Connect with FP2 ET-LAN". |
| Station | EE | The PLC's station number, 1 to 99. EE, the default, is answered by the PLC on the other end of the connection whatever its number. Set a number only when a gateway forwards to several PLCs. |
| Connection Timeout | 5s | Maximum time to open the TCP connection and read the PLC's status |
| String Encoding | utf-8 | How STRING values are stored in the PLC: utf-8, shift-jis (Japanese) or windows-1251 (Cyrillic) |
Each function has its own Timeout (default 30m) that bounds one request. The connector sends each request once: if the PLC does not answer in time, the connection is closed and reopened rather than reused, because MEWTOCOL replies carry no request number and a late reply could otherwise answer the next request.
FP7 and FP0H close a system connection that carries no traffic for 60 seconds. MaestroHub reads the PLC's status on a connection that has been idle for 30 seconds, so a pipeline that polls less often finds its connection open.
3. Tag Map
The Tag Map tab attaches an optional symbolic tag list; see Symbolic Tag Map. Every operation can always use a raw device address.
Testing the Connection
Click Test Connection at the bottom of the form. The probe opens the connection and makes one round trip: it reads the PLC's status (RT) over MEWTOCOL-COM, or DT0 over MEWTOCOL7, then reports the latency. A wrong port, station, protocol or framing fails here: a PLC ignores a frame that is not for it, so the probe times out and the error says what to check.
Device Addressing
A device address is an area followed by a number, e.g. DT100, R10F, WR3.
- Contacts
X,Y,R,Lare a word number followed by one hexadecimal bit digit0–F:R10Fis word 10, bit 15, and the bit after it isR110.X5is word 0, bit 5. Leading zeros are fine (R0010F). - Timer and counter contacts
T,Care numbered in decimal:T5,C12. - Registers are decimal:
DT100,LD5,FL0,WR3,SV5,EV5. - A bit inside a register is the register, a dot, and one hexadecimal digit:
DT100.F. It is read asBIT. A bit of a contact word is the contact itself:WR10.FisR10F. - Contact words
WX,WY,WR,WLhold 16 contacts each, lowest in bit 0:WR10isR100–R10F.
Supported Devices
| Area | Device | Read as | Writable | MEWTOCOL-COM range |
|---|---|---|---|---|
X | External input | BIT | No | X0–X999F |
Y | External output | BIT | Yes | Y0–Y999F |
R | Internal relay | BIT | Yes | R0–R999F |
L | Link relay | BIT | Yes | L0–L999F |
T | Timer contact | BIT | No | T0–T9999 |
C | Counter contact | BIT | No | C0–C9999 |
WX | Input word | word types | No | WX0–WX9999 |
WY | Output word | word types | Yes | WY0–WY9999 |
WR | Internal relay word | word types | Yes | WR0–WR9999 |
WL | Link relay word | word types | Yes | WL0–WL9999 |
DT | Data register | word types | Yes | DT0–DT99999 |
LD | Link register | word types | Yes | LD0–LD99999 |
FL | File register | word types | Yes | FL0–FL99999 |
SV | Timer/counter set value | word types | Yes | SV0–SV9999 |
EV | Timer/counter elapsed value | word types | Yes | EV0–EV9999 |
These are the limits of MEWTOCOL-COM's address fields; your PLC's own ranges are usually smaller, and an address it does not have fails with error 61 (data error). The FP7's MEWTOCOL-COM has no SV/EV commands: use MEWTOCOL7's TS/TE/CS/CE.
MEWTOCOL7 (FP7)
With Protocol set to mewtocol7, the areas and ranges are the FP7's (FP7 programming manual, WUME-FP7CPUPGR, 2.3):
| Area | Device | Read as | Writable | Range |
|---|---|---|---|---|
X, Y, R, L | Contacts | BIT | Yes | X/Y to 511F, R to 2047F, L to 1023F |
SR | System relay | BIT | Yes, where the PLC allows it | SR0–SR999F |
P | Pulse relay | BIT, 16 points per request | No | P0–P255F |
T, C | Timer and counter contacts | BIT, one per request | No | T0–T4095, C0–C1023 |
E | Error alarm relay | BIT, one per request | No | E0–E4095 |
WX, WY, WR, WL, WS | Contact words | word types | Yes | as their contacts |
DT, LD | Data and link registers | word types; a bit as DT100.F | Yes | DT0–DT999423, LD0–LD16383 |
SD | System data register | word types | Where the PLC allows it | SD0 up |
TS, TE | Timer set / elapsed value (32-bit) | DWORD, DINT | Yes | 0–4095 |
CS, CE | Counter set / elapsed value (32-bit) | DWORD, DINT | Yes | 0–1023 |
I0–IE | Index register (32-bit) | DWORD, DINT | Yes | I0–IE (hex) |
Local devices. A program block has its own copy of X, Y, R, L, P, T, C, the contact words, DT, LD and the timer/counter values. Name the block, then the device with its underscore, as the LCRD/LCWT instructions do: PB1:_DT10 is _DT10 of program block 1, which is not DT10.
Unit devices. Direct input and output and unit memory belong to a unit and are addressed with its slot: S1:IN0F and S1:WI0 (direct input), S1:OT3 and S1:WO5 (direct output), S2:UM00081 (unit memory, a hexadecimal address 0–7FFFF; a bit is S2:UM00081.3).
FL, SV and EV do not exist on the FP7. A bit inside DT, LD or UM is written with one command, so nothing else in the register is touched.
Supported Data Types
| Data Type | Registers | Value | Example |
|---|---|---|---|
BIT | — | boolean | true |
WORD | 1 | unsigned 16-bit (0–65,535) | 1234 |
INT | 1 | signed 16-bit (−32,768 to 32,767) | -100 |
DWORD | 2 | unsigned 32-bit | 70000 |
DINT | 2 | signed 32-bit | -70000 |
REAL | 2 | 32-bit float | 72.5 |
LREAL | 4 | 64-bit float | 3.141592653589793 |
STRING | 1 + ⌈length / 2⌉ | text | LOT-42 |
Multi-register values are stored low register first: a DINT at DT0 is DT0 (low 16 bits) and DT1 (high 16 bits), as the FP instructions store them. On MEWTOCOL7's TS, TE, CS and CE each number already holds one 32-bit value.
A STRING is laid out as the SSET instruction stores it: the character count in the first register, then the characters two per register, the first in the low byte. "ABC" at DT0 is DT0 = 3, DT1 = 4241H, DT2 = 0043H. Its String Length is the capacity in bytes: one per ASCII character, two per Shift-JIS Japanese character. A read returns at most the count the first register holds. Text longer than the length is refused, not cut.
Symbolic Tag Map
The tag map lets functions use a friendly name (Filler.Count) instead of an address (DT100). Each tag maps a name to a device, a data type and, for strings, a length:
| Field | Required | Description |
|---|---|---|
name | Yes | Tag name, unique within the connection |
device | Yes | Device address, e.g. DT100 or R10F |
dataType | Yes | BIT, WORD, INT, DWORD, DINT, REAL, LREAL or STRING |
length | No | String length in bytes, for STRING tags |
Saving refuses a duplicate name, an address the connection's protocol cannot reach (DT500000 on MEWTOCOL-COM), or a data type the device cannot hold (DT100 as BIT).
Importing tags (CSV or JSON)
Paste tags into the Import box and click Import Tags.
name,device,dataType,length
Filler.Count,DT100,DINT
Filler.Alarm,R10F,BIT
Filler.Lot,DT300,STRING,10
[
{ "name": "Filler.Count", "device": "DT100", "dataType": "DINT" },
{ "name": "Filler.Alarm", "device": "R10F", "dataType": "BIT" }
]
Function Builder
Creating Panasonic Functions
After the connection is saved:
- Open the connection and go to the Functions tab
- Click New Function and choose Read Device, Read Block (Multi) or Write Device
- Fill the Basic fields (name, description, labels) and the Configuration fields
- Use Test Function to run it against the live PLC before saving
Read Device (panasonic.read.device)
Read one typed value from a device or tag, or Count consecutive values as a list.
| Field | Required | Default | Description |
|---|---|---|---|
| Device / Tag | Yes | — | A device address (DT100, R10F, T5, DT100.F) or a tag name |
| Data Type | No | WORD | How to interpret the value |
| Count | No | 1 | Consecutive values to read (1–1000). More than 1 returns a list. Ignored for STRING. |
| String Length | No | 1 | Bytes, for STRING |
| Timeout | No | 30m | Bound on this operation |
A read larger than one frame carries (27 registers on MEWTOCOL-COM, 256 on MEWTOCOL7) is split into several requests. A BIT with a Count reads consecutive contacts: R10F with Count 3 is R10F, R110, R111. MEWTOCOL7 reads one timer or counter contact per request, so T and C there take Count 1.
Read Block (Multi) (panasonic.read.block)
Read many named points. Each point has a name (the key in the result; names must be unique), a device (address or tag), a data type, and for strings a length. Neighbouring addresses of the same area share one request; contacts share their word's request. If any point is invalid, nothing is sent.
Write Device (panasonic.write.device)
Write one typed value, or a JSON list such as [1, 2, 3] to consecutive registers in one request.
| Field | Required | Default | Description |
|---|---|---|---|
| Device / Tag | Yes | — | A writable device address or a tag name |
| Data Type | No | WORD | How to encode the value |
| Value | Yes | — | The value, or a JSON list. Supports ((paramName)) templates. |
| String Length | No | 1 | Bytes, for STRING |
| Timeout | No | 30m | Bound on this operation |
- A contact (
Y,R,L) is set or reset on its own, with one command. Write one bit at a time; to write 16 contacts at once, write their word (WR10) asWORD. - A bit inside a register (
DT100.F) is written with one command over MEWTOCOL7. MEWTOCOL-COM has no command for it, so MaestroHub reads the register, changes the one bit and writes the register back, with none of its own requests in between, and skips the write when the bit already has the value. A change the PLC program makes to the register's other bits between the read and the write can still be overwritten, so keep bits the PLC writes in a different register, or use anRcontact for control bits. - The whole value is checked before anything is sent. A value the type cannot hold, a non-whole number for an integer type, text longer than the string length, or a read-only device (
T,C,EandPcontacts;XandWXon MEWTOCOL-COM) is refused. - A write that would need more than one frame (over 24 registers on MEWTOCOL-COM, 256 on MEWTOCOL7) is refused, so a list is never half written.
- A write is sent once. If the PLC does not answer in time, the result says so; MaestroHub does not repeat the write, because the PLC may already have applied it.
Using Parameters
The Value field supports ((parameterName)) placeholders; they appear in the Function Parameters block, where you set each one's type, whether it is required, and a default. For example, Device DT200, Data Type REAL, Value ((setpoint)) writes the node's setpoint parameter to DT200.
Testing Functions
Click Test Function on the function form, enter values for any ((parameters)), and click Execute Test. The dialog shows the decoded value or the PLC's error reply. You do not need to save the function first. Testing a Write Device function writes to the PLC.
Pipeline Integration
Each operation has its own node: FP Read (connected.panasonic.read.device), FP Block Read (connected.panasonic.read.block) and FP Write (connected.panasonic.write.device), plus the FP Read Group (connected.panasonic.readgroup) for several reads in one node. To poll a PLC, drive the reads from a Schedule trigger.
See Panasonic FP Nodes for the node reference.
Common Use Cases
Line monitoring to a historian or the UNS
A Read Block of the line's counts, speeds and alarm relays on a Schedule trigger, routed to the Unified Namespace or a historian.
Setpoints and recipes
Parameterized Write Device functions (Value: ((setpoint))) fed from an MES or an operator form, with a Condition node checking the range first.
Machine control relays
Set or reset R relays to acknowledge alarms or start sequences. Only the addressed contact changes.
Troubleshooting
Connection Issues
| Symptom | Possible cause | Solution |
|---|---|---|
| Test Connection times out and says to check the port, station and framing | Nothing answers MEWTOCOL on that port: a wrong port, a station number the PLC does not have, the wrong protocol, or the wrong framing | Check the port in FPWIN GR7's connection settings; leave Station at EE; use mewtocol7 only on a connection set to MEWTOCOL7-COM; set Framing to match the connection's MEWTOCOL communication type. |
| Connection refused | No server connection on that port, or all of them in use | An FP-X COM5 cassette serves three connections and an FP0H one system connection: close other tools' connections, or configure a user connection. |
| Connections drop after a minute | The PLC's idle cut on a system connection | MaestroHub keeps an idle connection alive; if drops continue, check that nothing between MaestroHub and the PLC closes idle TCP connections sooner. |
Read / Write Issues
| Symptom | Possible cause | Solution |
|---|---|---|
error 61: data error | The address does not exist on this PLC, or the read runs past the end of the area | Check the area's range for your model. |
error 60: parameter error | The area does not exist on this PLC | Use an area your PLC has. |
error 42: command not supported | The PLC does not support that command, e.g. SV/EV on an FP7 over MEWTOCOL-COM | Use MEWTOCOL7's TS/TE/CS/CE on an FP7. |
error 63: mode error | The PLC's mode does not allow the command | Check the PLC's RUN/PROG and remote settings. The failure is transient, so a retry succeeds once the mode allows it. |
error 65: protect error | The memory is write-protected | Remove the protection in FPWIN, or write another area. |
DT0 is a register: use WORD … | BIT chosen on a register | Read a register as a word type, or one bit of it as DT0.F. |
"DT500000": MEWTOCOL-COM addresses DT 0 to 99999 | An FP7 address beyond MEWTOCOL-COM's fields | Use Protocol mewtocol7 on an FP7. |
An R address reads the wrong contact | The last digit is a hexadecimal bit | R10F is word 10, bit 15; R16 is word 1, bit 6. |
A STRING reads only one character | String Length left at 1 | Set the capacity in bytes on both the write and the read. |
| Japanese or Cyrillic text reads as garbage | Wrong String Encoding | Set the connection's String Encoding to shift-jis or windows-1251. |