{"id":3713,"date":"2026-10-31T17:00:00","date_gmt":"2026-10-31T09:00:00","guid":{"rendered":"https:\/\/cnbygele.com\/?p=3713"},"modified":"2026-10-30T19:10:48","modified_gmt":"2026-10-30T11:10:48","slug":"meter-readonly-access-test","status":"publish","type":"post","link":"https:\/\/cnbygele.com\/ar\/blog\/meter-readonly-access-test\/","title":{"rendered":"\u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0639\u062f\u0627\u062f Modbus \u0628\u0648\u0636\u0639 \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637: \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u062d\u0642\u0642 \u0648\u0627\u0644\u0642\u0628\u0648\u0644"},"content":{"rendered":"<p>Read-only Modbus meter access means the approved monitoring path can retrieve the required measurements while the applicable controls prevent unauthorized changes. Verification should examine the client&#8217;s actual requests, the documented device operations, the gateway or network restrictions and the alternative paths that could bypass them. A dashboard without an edit button is not sufficient evidence. Define where the restriction is enforced, test that boundary safely and retain the result with the commissioning records.<\/p>\n<p>This article provides an acceptance workflow for an authorized monitoring installation. It does not provide write commands, undocumented register addresses or a claim that every power meter supports an internal read-only mode. The <a href=\"https:\/\/cnbygele.com\/product\/by194-series-multifunctional-power-instruments\/\">BY194 multifunctional power instruments<\/a> are relevant product references, but exact access behavior and communication options require variant-specific documentation.<\/p>\n<h2>Distinguish client behavior from an enforced restriction<\/h2>\n<p>A monitoring application can be configured to send only read requests. That is useful and should be verified, but it does not necessarily prevent another client from sending a different operation. An enforced restriction exists only where a documented control examines and permits or rejects the relevant access. Depending on the architecture, that boundary could be a supported gateway policy, a suitably capable network control or a device feature confirmed for the exact variant.<\/p>\n<p>Traditional Modbus function codes include different read and write operations. The <a href=\"https:\/\/www.modbus.org\/file\/secure\/modbusprotocolspecification.pdf\" rel=\"noopener nofollow\" target=\"_blank\">Modbus Application Protocol specification<\/a> describes those operations; it does not make a generic dashboard read-only by itself. Function-code filtering also needs to account for documented vendor-specific behavior and any operation that combines reading and writing. Do not assume a rule is adequate merely because its screen uses a reassuring name.<\/p>\n<p>The <a href=\"https:\/\/nvlpubs.nist.gov\/nistpubs\/SpecialPublications\/NIST.SP.800-82r3.pdf\" rel=\"noopener nofollow\" target=\"_blank\">NIST operational technology security guide<\/a> provides the broader basis for least privilege, segmentation and controlled access. Apply those principles to the actual network and operational requirements. A restricted monitoring path is one part of the design, and its evidence should state exactly what it covers.<\/p>\n<p><figure><img decoding=\"async\" alt=\"BY194 meter front with read-only access acceptance inspection review materials\" class=\"wp-image-3711\" height=\"1024\" loading=\"lazy\" src=\"https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-inspection-20261030.png\" style=\"max-width:100%;height:auto\" width=\"1536\" srcset=\"https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-inspection-20261030.png 1536w, https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-inspection-20261030-300x200.png 300w, https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-inspection-20261030-1024x683.png 1024w, https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-inspection-20261030-768x512.png 768w, https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-inspection-20261030-18x12.png 18w, https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-inspection-20261030-600x400.png 600w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><figcaption>Product-reference illustration of the disconnected BY194 front beside access acceptance records. Device-specific features and installed options require exact variant documentation.<\/figcaption><\/figure>\n<\/p>\n<h2>Define the approved monitoring path<\/h2>\n<p>List the source application, its host, the intended gateway or serial interface, the target devices and the allowed measurements. Record who needs routine access and who owns maintenance access. Keep monitoring and maintenance responsibilities distinct enough that temporary commissioning privileges do not become permanent background permissions.<\/p>\n<p>Identify all plausible paths to the meter. A restricted network gateway may coexist with a local engineering connection or another supervisory system. A test through one path cannot establish the behavior of another. Document any approved maintenance exception, the person responsible for enabling it and how it is closed when work finishes.<\/p>\n<p>For shared serial networks, consider every connected device and client. A permission rule intended for one meter should not accidentally disrupt another necessary transaction. Review the topology and site constraints before changing gateway or network policies. The <a href=\"https:\/\/cnbygele.com\/blog\/power-meter-modbus-communication-setup\/\">Modbus communication setup guide<\/a> provides the practical communication context; this acceptance process adds a specific access-control question.<\/p>\n<h2>Build a bounded acceptance matrix<\/h2>\n<p>Prepare the matrix before running tests. Use the exact documented functions and points required by the project. The table below describes evidence categories rather than executable commands or a universal device policy.<\/p>\n<div style=\"overflow-x:auto;max-width:100%\">\n<table style=\"border-collapse:collapse;width:100%;min-width:560px\">\n<thead>\n<tr>\n<th style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Acceptance item<\/th>\n<th style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Evidence to collect<\/th>\n<th style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Passing interpretation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Required measurements remain readable<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Approved request and response samples<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Monitoring works within the agreed scope<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Routine client sends approved operations<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Client configuration and transaction observation<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">No unexpected operation appears in the sampled workflow<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Restriction is enforced at the stated boundary<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Supported policy and controlled test result<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">The documented control handles disallowed access as designed<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Bypass paths are addressed<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Reviewed topology and access inventory<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Alternative routes are controlled or explicitly qualified<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Maintenance exception is temporary<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Authorization and closure record<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Routine operation returns to the approved restriction<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Policy survives planned maintenance<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Configuration record and post-maintenance check<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">The accepted behavior remains in effect<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Monitoring failure is visible<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Dashboard or collector failure indication<\/td>\n<td style=\"border:1px solid #d1d5db;padding:10px;text-align:left;vertical-align:top\">Loss of access does not silently appear as a real zero<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>A passing item should identify the specific evidence and test time. A statement such as security checked is too broad to help the next maintainer. If an item cannot be tested safely, state the limitation and retain the supporting configuration review without claiming a live behavioral result.<\/p>\n<h2>Review the meter and gateway documentation<\/h2>\n<p>Confirm which interface is actually installed and which functions the application needs. Obtain the applicable register map, supported operation list and any access-related instructions for the exact firmware or option set. Do not infer permissions from front-panel appearance or from another model&#8217;s manual.<\/p>\n<p>If a gateway provides a documented read-only policy, determine its scope. Ask whether it filters by client, device address, function, register range or another rule. Check how it handles unsupported operations, combined operations and maintenance traffic. Determine whether management access can change the policy and how that access is controlled. These are documentation questions, not an assumption that every gateway provides all those features.<\/p>\n<p>Record the policy configuration and its owner. Retain a versioned copy or supported export where available. The <a href=\"https:\/\/cnbygele.com\/blog\/meter-config-backup\/\">meter configuration backup guide<\/a> covers the wider backup and replacement workflow. A configuration screenshot may support a review, but it does not replace a documented explanation of what the setting actually enforces.<\/p>\n<h2>Observe normal monitoring transactions first<\/h2>\n<p>Before attempting any negative test, observe the approved monitoring workflow. Check connection startup, ordinary polling, reconnect behavior and any scheduled tasks that run less frequently. Some applications send configuration-related operations during initial setup or recovery. Record what actually occurs rather than assuming that the steady-state polling view represents every operating mode.<\/p>\n<p>Compare the observed operations with the approved list. Investigate unexpected requests before tightening a policy that might disrupt required monitoring. If the application can disable unnecessary configuration behavior, make that change through the supported procedure and verify it again. Keep the scope narrow so the result remains understandable and reversible.<\/p>\n<p>Observation has limits. A short capture cannot prove that a rarely used path never sends a different operation. Supplement it with configuration review, application documentation and a test covering the relevant lifecycle events. Record which events were exercised and which remain untested so the acceptance statement reflects the actual coverage.<\/p>\n<h2>Test enforcement without changing production settings<\/h2>\n<p>Prefer a simulator, spare device or isolated test arrangement that represents the documented control. A negative test should show how the control treats disallowed access without altering a production instrument. Never send an arbitrary write to an operating meter to see what happens. An unverified control could permit it, and the affected setting may have operational consequences.<\/p>\n<p>If a supported test method exists, use it under the site&#8217;s change and safety procedures. Record the authorized setup, expected outcome and actual evidence. When a production boundary must be checked, the responsible team should choose a method that cannot cause an unintended state change. If no safe behavioral test is available, report a configuration-based assessment with that limitation.<\/p>\n<p>Distinguish where rejection occurs. A gateway rejecting an operation and a meter reporting an unsupported function are different results. A timeout alone does not identify the enforcing component. Correlate the client observation with available gateway or network evidence, and avoid claiming a stronger boundary than the evidence demonstrates.<\/p>\n<h2>Check monitoring behavior after restriction<\/h2>\n<p>Once the approved policy is active, verify the required measurements under normal operating conditions. Confirm the client can reconnect, the expected polling remains functional and disallowed paths have not been replaced by an unnoticed fallback. A successful connection to the gateway is not the same as a new meter acquisition.<\/p>\n<p>Make failures visible. If a policy blocks a needed read, the system should mark the reading unavailable under the documented design. It should not retain an old number while presenting it as current. The <a href=\"https:\/\/cnbygele.com\/blog\/gateway-stale-meter-data\/\">gateway freshness guide<\/a> explains why access failures and old cached values must be distinguished.<\/p>\n<p>Check the site&#8217;s practical workflow as well. Maintenance staff should know whom to contact for authorized changes and where the temporary exception is recorded. If the approved monitoring restriction routinely forces operators to bypass controls to complete ordinary work, revise the workflow through the proper review rather than normalizing an undocumented workaround.<\/p>\n<p><figure><img decoding=\"async\" alt=\"BY194 meter front with read-only access acceptance records review materials\" class=\"wp-image-3712\" height=\"1024\" loading=\"lazy\" src=\"https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-records-20261030.png\" style=\"max-width:100%;height:auto\" width=\"1536\" srcset=\"https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-records-20261030.png 1536w, https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-records-20261030-300x200.png 300w, https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-records-20261030-1024x683.png 1024w, https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-records-20261030-768x512.png 768w, https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-records-20261030-18x12.png 18w, https:\/\/cnbygele.com\/wp-content\/uploads\/2026\/10\/meter-readonly-access-test-records-20261030-600x400.png 600w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><figcaption>Product-reference illustration of the disconnected BY194 front beside access acceptance records. Device-specific features and installed options require exact variant documentation.<\/figcaption><\/figure>\n<\/p>\n<h2>Retest after changes that affect the boundary<\/h2>\n<p>Gateway replacement, firmware changes, restored backups, management-policy edits and application upgrades can affect the accepted behavior. Identify which events require retesting and include that requirement in the handover package. Do not assume a policy survives a reset or replacement unless the supported behavior and follow-up check establish it.<\/p>\n<p>The handover package should contain the approved topology, point list, operation list, policy configuration, evidence from normal operation, controlled enforcement test and unresolved limitations. Include the maintenance-exception process and the person responsible for reviewing future changes. This makes the result useful beyond the original commissioning visit.<\/p>\n<p>Read-only access does not establish confidentiality or complete network security. It also does not establish measurement accuracy, correct units or a suitable register map. The <a href=\"https:\/\/cnbygele.com\/blog\/power-meter-network-security\/\">power meter network security guide<\/a> covers the wider protective architecture. Keep each acceptance claim tied to the question actually tested.<\/p>\n<h2>Educational background on least privilege<\/h2>\n<p>In this Google TechTalks lecture, Berkeley professor David Wagner explains object capabilities and least authority: granting a program the powers it needs for its purpose. That principle supports the distinction between a client choosing to read and an enforced restriction on broader operations. The talk is conceptual background, not a Modbus configuration tutorial. Actual meter and gateway controls must follow their applicable documentation.<\/p>\n<div style=\"position:relative;padding-bottom:56.25%;height:0;overflow:hidden\"><iframe allowfullscreen=\"\" loading=\"lazy\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/EGX2I31OhBE\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;border:0\" title=\"Object Capabilities for Security\"><\/iframe><\/div>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=EGX2I31OhBE\" rel=\"noopener nofollow\" target=\"_blank\">Watch the educational lesson<\/a><\/p>\n<h2>Practical enquiry checklist for procurement<\/h2>\n<p>When ordering a monitoring interface, describe the source application, network or serial path, device count and required measurements. Ask the supplier where access restrictions are enforced and which exact variants support the proposed method. Request the relevant documentation and a safe acceptance procedure before assuming the design is available.<\/p>\n<p>If a claimed read-only feature is implemented only in a client application, record that scope accurately. If the project requires enforcement against other clients, specify that requirement explicitly and obtain a suitable documented architecture. This avoids discovering at commissioning that two parties used the same phrase for different levels of restriction.<\/p>\n<h2>Frequently asked questions<\/h2>\n<h3>Is a dashboard without edit controls proof of read-only Modbus access?<\/h3>\n<p>No. It describes the visible application interface. Verify the actual client operations and identify the documented boundary that prevents disallowed access through the relevant paths.<\/p>\n<h3>Can function-code filtering be part of a read-only design?<\/h3>\n<p>Yes, when a capable documented control applies it correctly to the required traffic. Review combined or vendor-specific operations, management access and bypass paths rather than assuming the label alone is sufficient.<\/p>\n<h3>Should a production meter be tested with an arbitrary write request?<\/h3>\n<p>No. Prefer a simulator, spare device or supported safe test arrangement. Production testing must use an authorized method that cannot create an unintended state change.<\/p>\n<h3>When should the accepted restriction be checked again?<\/h3>\n<p>Retest after changes that can affect the boundary, including replacement, firmware work, backup restoration, management-policy changes or application updates. Define the triggers and responsible owner in the handover records.<\/p>\n<p><script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"Is a dashboard without edit controls proof of read-only Modbus access?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. It describes the visible application interface. Verify the actual client operations and identify the documented boundary that prevents disallowed access through the relevant paths.\"}}, {\"@type\": \"Question\", \"name\": \"Can function-code filtering be part of a read-only design?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes, when a capable documented control applies it correctly to the required traffic. Review combined or vendor-specific operations, management access and bypass paths rather than assuming the label alone is sufficient.\"}}, {\"@type\": \"Question\", \"name\": \"Should a production meter be tested with an arbitrary write request?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. Prefer a simulator, spare device or supported safe test arrangement. Production testing must use an authorized method that cannot create an unintended state change.\"}}, {\"@type\": \"Question\", \"name\": \"When should the accepted restriction be checked again?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Retest after changes that can affect the boundary, including replacement, firmware work, backup restoration, management-policy changes or application updates. Define the triggers and responsible owner in the handover records.\"}}]}<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u062a\u062d\u0642\u0642 \u0645\u0646 \u0648\u0635\u0648\u0644 \u0639\u062f\u0627\u062f \u0645\u0648\u062f\u0628\u0648\u0633 \u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637 \u0645\u0639 \u0631\u0645\u0648\u0632 \u0627\u0644\u0648\u0638\u0627\u0626\u0641 \u0627\u0644\u0645\u0648\u062b\u0642\u0629\u060c \u0623\u0630\u0648\u0646\u0627\u062a \u0627\u0644\u0628\u0648\u0627\u0628\u0629 \u0648\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0642\u0628\u0648\u0644 \u0627\u0644\u0645\u0633\u064a\u0637\u0631 \u0639\u0644\u064a\u0647\u0627.<\/p>","protected":false},"author":4,"featured_media":3710,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","footnotes":""},"categories":[1],"tags":[201],"class_list":["post-3713","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-multifunction-power-meter"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"acf":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/cnbygele.com\/ar\/wp-json\/wp\/v2\/posts\/3713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cnbygele.com\/ar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cnbygele.com\/ar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cnbygele.com\/ar\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/cnbygele.com\/ar\/wp-json\/wp\/v2\/comments?post=3713"}],"version-history":[{"count":1,"href":"https:\/\/cnbygele.com\/ar\/wp-json\/wp\/v2\/posts\/3713\/revisions"}],"predecessor-version":[{"id":3714,"href":"https:\/\/cnbygele.com\/ar\/wp-json\/wp\/v2\/posts\/3713\/revisions\/3714"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cnbygele.com\/ar\/wp-json\/wp\/v2\/media\/3710"}],"wp:attachment":[{"href":"https:\/\/cnbygele.com\/ar\/wp-json\/wp\/v2\/media?parent=3713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cnbygele.com\/ar\/wp-json\/wp\/v2\/categories?post=3713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cnbygele.com\/ar\/wp-json\/wp\/v2\/tags?post=3713"}],"curies":[{"name":"\u0644\u0639\u0628 \u062c\u064a\u062f\u0629","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}