SCADA Point List / Register Map
SCADA and telemetry point lists and register maps for a live system: Modbus register maps (rows pairing an address with a holding register, input register, coil or discrete input type, plus function codes), DNP3 Device Profile XML data-point lists (binaryInputPoints / analogInputPoints with populated index and name), and OPC UA NodeId lists (ns=n;i= / s= / g= / b= identifiers). Enforcement requires repetition of the row or point structure so tutorials and specifications that show one or two examples do not fire.
- Type
- regex
- Engine
- boost_regex
- Confidence
- medium
- Confidence justification
- Medium: the DNP3 Device Profile XML elements and OPC UA NodeId grammar are verified machine formats, but register rows and NodeIds are short shapes that tutorials and SDK docs also show, so enforce tiers depend on repetition (min_count with unique results) and 85 adds a distinct structure plus site evidence. The 4xxxx/3xxxx Modicon notation is a convention, not the Modbus specification, so it is not relied on. 85/75 are heuristic evidence tiers, not measured accuracy; test values are synthetic.
- Jurisdictions
- global
- Regulations
- Security of Critical Infrastructure Act 2018 (Cth), Directive (EU) 2022/2555 (NIS2)
- Frameworks
- IEC 62443, NIST CSF, AESCSF
- Data categories
- infrastructure, technology
- Scope
- narrow
- Risk rating
- 9
- Platform compatibility
- Purview: Compatible, GCP DLP: Compatible, Macie: Compatible, Zscaler: Compatible, Palo Alto: Degraded, Netskope: Unsupported
Pattern
(?i)\b(?:Modbus\s+(?:register|address|memory|point)\s+(?:map|list|table)|register\s+map|DNP3?\s+(?:point\s+(?:list|map)|device\s+profile)|OPC\s+UA\s+(?:node|tag)\s+(?:list|export|map)|SCADA\s+point\s+(?:list|schedule|database))\b
Corroborative evidence keywords
RTU, outstation, slave ID, unit ID, pump station, substation, feeder, telemetry
Proximity: 1000 characters
Should match
Register Address,Register Type,Function Code,Tag,Data Type,Units 40001,Holding Register,FC03,PS07_P1_SPEED_SP,UINT16,rpm 40002,Holding Register,FC03,PS07_P2_SPEED_SP,UINT16,rpm 40003,Holding Register,FC06,PS07_WW_LEVEL_HI_SP,UINT16,mm 40004,Holding Register,FC06,PS07_WW_LEVEL_LO_SP,UINT16,mm 40005,Holding Register,FC16,PS07_DUTY_SELECT,UINT16,- 30001,Input Register,FC04,PS07_WW_LEVEL,UINT16,mm 30002,Input Register,FC04,PS07_FLOW,UINT16,L/s 30003,Input Register,FC04,PS07_P1_AMPS,UINT16,A 30004,Input Register,FC04,PS07_P2_AMPS,UINT16,A 10001,Discrete Input,FC02,PS07_P1_RUNNING,BOOL,- RTU PS07 Kingfisher Rd, slave ID 7, 10.42.7.21:502— 85 - Modbus register map, 10 rows, function codes, RTU and IPModbus Address | Register Type | Description 0x0000 | Coil | Chlorine dosing pump 1 enable 0x0001 | Coil | Chlorine dosing pump 2 enable 0x0010 | Holding Register | Dose rate setpoint mg/L x100 0x0011 | Holding Register | Residual alarm high x100 0x0012 | Holding Register | Residual alarm low x100— 75 - Modbus register map with 5 rows and a register-map heading<analogInputPoints> <dataPoints> <analogInput><index>0</index><name>Feeder 3 Phase A Current</name><changeEventClass>2</changeEventClass><scaleFactor>0.1</scaleFactor><units>A</units></analogInput> <analogInput><index>1</index><name>Feeder 3 Phase B Current</name><changeEventClass>2</changeEventClass><scaleFactor>0.1</scaleFactor><units>A</units></analogInput> <analogInput><index>2</index><name>Feeder 3 Phase C Current</name><changeEventClass>2</changeEventClass><scaleFactor>0.1</scaleFactor><units>A</units></analogInput> <analogInput><index>3</index><name>Bus 2 Voltage AB</name><changeEventClass>2</changeEventClass><scaleFactor>0.01</scaleFactor><units>kV</units></analogInput> <analogInput><index>4</index><name>TX1 Winding Temperature</name><changeEventClass>3</changeEventClass><scaleFactor>1</scaleFactor><units>degC</units></analogInput>— 85 - DNP3 Device Profile XML analog points with names, scaling and feeder names<binaryInputPoints> <dataPoints> <binaryInput><index>0</index><name>CB 3 Closed</name><changeEventClass>1</changeEventClass></binaryInput> <binaryInput><index>1</index><name>CB 3 Tripped</name><changeEventClass>1</changeEventClass></binaryInput> <binaryInput><index>2</index><name>Battery Charger Fail</name><changeEventClass>1</changeEventClass></binaryInput>— 75 - DNP3 binary input point list with 3 populated pointsEndpoint: opc.tcp://wtp-scada-01.plant.local:4840 (RTU gateway) ns=2;s=WTP.Filter1.Turbidity ns=2;s=WTP.Filter1.HeadLoss ns=2;s=WTP.Filter1.FlowRate ns=2;s=WTP.Filter2.Turbidity ns=2;s=WTP.Filter2.HeadLoss ns=2;s=WTP.Filter2.FlowRate ns=2;s=WTP.Clearwell.Level ns=2;s=WTP.Clearwell.ChlorineResidual ns=3;i=5001 ns=3;i=5002— 85 - OPC UA NodeId list (10 distinct) with opc.tcp endpoint and site termns=4;i=1001, ns=4;i=1002, ns=4;i=1003, ns=4;i=1004, ns=4;i=1005, ns=4;i=1006, ns=4;i=1007, ns=4;i=1008, ns=4;i=1009, ns=4;i=1010— 75 - bare list of 10 distinct OPC UA NodeIds
Should not match
MODBUS Application Protocol Specification V1.1b3. Function codes: 01 (0x01) Read Coils; 02 (0x02) Read Discrete Inputs; 03 (0x03) Read Holding Registers; 04 (0x04) Read Input Registers; 05 (0x05) Write Single Coil; 06 (0x06) Write Single Register; 15 (0x0F) Write Multiple Coils; 16 (0x10) Write Multiple Registers.— Modbus specification text (published standard)Register Address | Register Type | Function Code | Description ________ | ________ | ________ | ________ ________ | ________ | ________ | ________ (Modbus register map template - complete one row per point)— Blank register map templateModbus tutorial: a register map example might read 40001, Holding Register - setpoint 40002, Holding Register - mode 30001, Input Register - temperature— Tutorial / training example with three rowsOPC UA Part 6, 5.1.12: a NodeId is encoded as ns=<namespaceindex>;<type>=<value>, for example ns=10;i=12345 or ns=1;s=Hello.— OPC UA specification text with a single example NodeIdThe DNP3 Device Profile documents the capabilities of an outstation, including the binary input points, analog input points and counter points it supports, in XML or PDF form.— DNP3 device profile guidance text (no populated point markup)Gateway vendor adds automatic Modbus register map import and OPC UA tag browsing to its SCADA suite, the company announced.— News / marketing text
Known false positives
- Modbus, DNP3 and OPC UA specifications, SDK documentation and tutorials show register rows and NodeIds. Mitigation: Enforce tiers need repeated distinct rows or NodeIds (min_count 5 or 10 with unique results); specification titles and tutorial / template wording are excluded.
- Published vendor DNP3 device profiles describe device capabilities, not a site configuration. Mitigation: PDF capability tables do not match the XML point markup; XML profiles with generic point names can reach 75 but 85 also needs analog scaling and site evidence.
- Free-form CSV / Excel point lists without register type words (headings such as Point Index, Class, Deadband) have no primary standard. Mitigation: Not detected beyond the 65 phrase tier; customers can extend with their own point-list headings.