Monitoring and Triggering Siemens LOGO! Network Inputs via LWE Web Server
This reference covers a recurring field problem with the Siemens LOGO! 8 family: the on-board Extended Web Server (EWS) and the LOGO! Web Editor (LWE) tool inside LOGO! Soft Comfort (LSC) make it trivial to expose local digital value objects (DVOs) as web switches, but they do not expose network inputs (NI) or network outputs (NQ) directly. When the program sits on a master LOGO! 8.FS4 and the physical I/O lives on a slave LOGO! 0BA8 Standard, the engineer must bridge those network tags into local DVOs before LWE will display them or accept a write-back command.
The article shows the canonical way to do that: mirror each NI into a local marker (or vice versa) inside the LSC program, bind the marker to a DVO in LWE, and use a LOW block to convert a web-button press into a one-cycle pulse that is then routed back to an NQ on the slave. A parking-barrier (parking arm) application is used as the worked example.
1. Problem Statement
Two distinct sub-problems are usually encountered together when an installer tries to extend a master/slave LOGO! 8 setup with a browser-based HMI:
- Display problem: A network input coming from a slave LOGO! (e.g. the status of a barrier-up limit switch wired to slave I1) must appear as a status indicator on the customized web page hosted by the master.
- Trigger problem: An operator must be able to push a button on the web page to drive a network output to the slave (e.g. "raise barrier" or "lower barrier"). The press should be edge-triggered (one scan), not latched.
The Extended Web Server and LWE only bind to DVOs that exist in the local program memory of the device hosting the web page. NI and NQ tags are communication objects, not local DVOs, so binding them directly produces no widget at all - which is what most newcomers experience.
2. Prerequisites
| Item | Specification |
|---|---|
| Master LOGO! | 8.FS4 (0BA8, firmware FS04). Must be configured as master with at least one slave registered. |
| Slave LOGO! | 0BA8 Standard. Any variant with sufficient DI/DO. Network input and output count must fit the application. |
| Programming PC | Windows 10/11 with LOGO! Soft Comfort (LSC) installed; same version branch across both devices is recommended. |
| Ethernet switch | 100 Mbit/s, capable of IGMP snooping if multicast S7 communication is used. A small unmanaged switch is sufficient for two-node setups. |
| Firmware alignment | Master FS04 / Slave FS01 minimum. Mixing FS01 with FS04 is documented to work but limits NI/NQ count to FS01 numbers on the slave. |
| Browser | Modern Chromium-based browser or Firefox; JavaScript must be enabled. |
| Network knowledge | Static IPv4 addresses (DHCP can be used but complicates commissioning records). |
The LOGO! system manual for 0BA8 (Siemens document A5E33039794-AC) and the LOGO! Soft Comfort online help (Help > Contents > "Network Projects") are the two mandatory references during setup. Both are reachable from support.industry.siemens.com by searching the article number.
3. LOGO! Network Architecture
LOGO! 8 uses Ethernet S7-style communication between master and slave units. The topology in scope here is a single-master/multiple-slave star on a shared Ethernet segment:
The master is the only device that runs the user program. Each slave reports its physical inputs as network inputs on the master and accepts network outputs from the master back to its physical outputs. The slave's own program is allowed only for local intelligence (e.g. a debounce filter) - it cannot host the application logic.
The two key counts to verify in the master LSC project (Tools > Network > Network Project) are:
| Direction | Symbol | Quantity on FS04 master | Quantity on 0BA8 Standard slave |
|---|---|---|---|
| Network Input (received from a remote LOGO!) | NI1 .. NIn | up to 64 (FS04) | up to 32 |
| Network Output (sent to a remote LOGO!) | NQ1 .. NQn | up to 64 (FS04) | up to 32 |
| Network Analog Input | NAI | up to 32 | up to 16 |
| Network Analog Output | NAQ | up to 32 | up to 16 |
4. Configuring Network I/O in LOGO! Soft Comfort
Network I/O in LSC is configured under Tools > Network > Ethernet Connections or, when using the Network Project wizard, automatically on slave insertion. For each slave you define a node with its IP address and assign which NIs on the master receive that slave's physical inputs (and vice versa for NQs).
For the barrier example, define:
- Slave A NI1 <- physical I1 on Slave A (the "arm-up" limit contact). Wire Slave A I1 directly to NI1 in the slave's local program, or have the master treat NI1 as an input that originated at Slave A.
- Master NQ1 -> physical Q1 on Slave A (the "raise" coil). The master writes NQ1; Slave A reads NQ1 and drives Q1.
- Master NQ2 -> physical Q2 on Slave A (the "lower" coil).
In the master program, NI1, NQ1, NQ2 are first-class operands - they appear in the constant/operand picker exactly like I1, Q1, Q2 do on a stand-alone LOGO!.
5. Why Network Inputs Cannot Be Bound Directly in LWE
The Extended Web Server and the LWE customization layer render only what exists as a DVO in the local program memory of the device serving the page. A network input (NI) is a logical placeholder for data arriving via the S7 transport; it is not a DVO with a user-assigned name. LWE has no mechanism to list NI/NQ tags in its operand picker.
Workaround: bring the NI into a local marker. The cleanest pattern uses a single negated edge with single-shot (LOW block) or a direct pass-through marker:
+--[ NI1 ]------+-------( M1 )
|
+-------( web status bit "BarrierUp" )
M1 is now a DVO. Open LWE, add a digital value object named BarrierUp, point it at M1, and the web page will render it as a read-only indicator (LED). On the next cycle, when Slave A's I1 changes, the master NI1 changes, M1 follows, and the web page updates within one scan.
6. Web Server Button vs Switch Behavior
This is the most-misunderstood part of LWE and is the source of the second half of the field question. The LWE document model treats every digital value object as either a dynamic signal (a button press) or a static signal (a switch). The Extended Web Server distinguishes them by widget type at render time:
| Widget chosen in LWE | Server behavior on press | Server behavior on release | Suitable for |
|---|---|---|---|
| Indicator (LED) | No write | No write | Read-only status display |
| Switch (toggle) | Writes DVO = 1 | Writes DVO = 0 on next press | Latched commands ("Auto mode") |
| Button (momentary) | Writes DVO = 1 for the duration of the press | Writes DVO = 0 on release | Edge commands ("Raise") |
For a button widget the web server only emits a 1 while the operator holds it. The moment they release, the web server writes 0. If you wire that DVO straight into a network output, the network output will be 1 for the duration of the press and 0 the moment they release - which is usually too short for the LOGO! scan to register a command.
7. The LOW Block in Detail
The LOW block (LSC block library > Special Functions > Miscellaneous > Edge-triggered single-shot) is a positive-edge-triggered one-shot. When its input Trg transitions from 0 to 1, the output Q goes high for exactly one program cycle and then returns to 0, regardless of how long Trg stays high.
Parameters (per the LSC FBD inspector):
| Parameter | Meaning | Typical value |
|---|---|---|
| Trg | Trigger input - the rising edge is detected here | The web button DVO |
| Q | One-cycle output | Feeds NQ1 or NQ2 |
For the barrier, the master program needs two LOW blocks:
+--[ DVO "BtnRaise" ]--(Trg)--(LOW)--(Q)--+( NQ1 to Slave A )
|
+--( M2 auxiliary marker, optional )
+--[ DVO "BtnLower" ]--(Trg)--(LOW)--(Q)--+( NQ2 to Slave A )
|
+--( M3 auxiliary marker, optional )
When the operator presses the "Raise" button in the browser:
- Browser writes DVO
BtnRaise= 1. - LOW block sees the 0→1 edge on its Trg input.
- Q of LOW goes high for exactly one scan of the master (typically 10-50 ms depending on the master cycle time and program length).
- NQ1 is therefore high for exactly one scan.
- Slave A receives NQ1 high for one scan and drives Q1 for one scan - enough to latch an output coil on the slave if you also have a self-holding relay pattern on the slave's program.
- Web server writes DVO
BtnRaise= 0 on release. LOW is already back at 0, so nothing further happens.
8. LWE Project Walkthrough
- In LSC, on the master project, open Tools > LOGO! Web Editor (this launches the LWE tool that ships with LSC).
- In the LWE tree, expand the master and add a new page, e.g. Barrier.
- Right-click the page > Add digital value object. Create three objects:
-
BarrierUp- type Indicator, bound to M1. -
BtnRaise- type Button, bound to M2 (the LOW trigger input). -
BtnLower- type Button, bound to M3 (the LOW trigger input).
-
- Lay out the widgets on the canvas. Recommended: status indicator at the top (green when up, red when down), two buttons below labelled "Raise" and "Lower".
- Click Save to master project. The LWE XML is bundled into the .lsc file but is not transferred to the LOGO! until the next program download.
- Download the program to the master via Ethernet (Transfer > PC → LOGO!).
9. Commissioning the Barrier Application
The full master program for the barrier, in FBD-style textual form, looks like this:
// Master program - LOGO! 0BA8.FS4
// --- Display path: slave barrier status -> web indicator
NI1 ---------------+-----------------( M1 ) // BarrierUp
|
+-----------------( M4 ) // optional: local memory copy
// --- Command path: web button press -> one-cycle pulse -> network output
BtnRaise (M2) -----(Trg)---[ LOW ]---(Q)--------( NQ1 ) // Raise barrier
BtnLower (M3) -----(Trg)---[ LOW ]---(Q)--------( NQ2 ) // Lower barrier
// --- Optional interlock: prevent raise+lower at the same time
M1 --[ NOT ]-- Q1 // barrier must be down before raising
The slave (0BA8 Standard) program is intentionally minimal:
// Slave program - LOGO! 0BA8 Standard
// Hardware input
I1 ---------------------------( NI1 to master ) // BarrierUp feedback
// Network output from master
NQ1 (from master) -------------( Q1 ) // Raise coil (with self-holding if needed)
NQ2 (from master) -------------( Q2 ) // Lower coil
// Local interlock example: Q1 and Q2 mutually exclusive
Q1 --[ NOT ]-- NQ2 input on slave logic
Q2 --[ NOT ]-- NQ1 input on slave logic
10. Verification Steps
After downloading to both devices, verify in this order:
-
Ethernet reachability. From the engineering PC,
ping 192.168.0.10(master) andping 192.168.0.11(slave). Both must respond within < 5 ms on a switched network. -
Web server availability. In a browser, navigate to
http://192.168.0.10. The default LOGO! web page must appear with status LEDs for all local I/O. - Custom page load. Click the link to the customized page (typically labelled "User Page"). The barrier status indicator must appear.
- Display direction. Manually drive the barrier up so the limit contact closes. Within one scan the web page indicator must change state. Refresh the page if necessary - the server is stateless for the indicator widget.
- Command direction - Raise. Press and hold "Raise". The barrier motor contactor should engage for the duration of the press + one scan. Release; the motor should remain engaged only if you have implemented self-holding on the slave.
- Command direction - Lower. Repeat for "Lower".
- Interlock. Try to press both buttons simultaneously. Only one output must energize (provided you wired the interlock in the slave program).
11. Troubleshooting Matrix
| Symptom | Likely cause | Diagnostic | Fix |
|---|---|---|---|
| Indicator never appears on web page | DVO not added in LWE, or DVO bound to a tag the master program never writes | Open LWE, verify the DVO exists and is on a published page | Add the DVO; ensure the LSC program actually drives the underlying marker |
| Indicator present but always OFF | NI1 from slave never reaches the master (network not connected) | In LSC online test, observe NI1; toggle I1 on slave and watch NI1 on master | Verify slave IP, network cable, slave program is in RUN |
| Indicator present but always ON | Marker wired to a constant or to a self-latching coil | Inspect the master FBD/LAD | Wire the marker directly to NI1 with no feedback path |
| Button press does nothing on the slave | Web DVO wired straight to NQ; the press is too short for the slave to register | Watch NQ1 in LSC online test while pressing the button | Insert a LOW block between DVO and NQ1 |
| Slave output latches ON after first press and stays ON | Button DVO wired to NQ directly and the web server doesn't write 0 fast enough; or slave has its own self-hold that is not being released | Force NQ1 to 0 in LSC online test | Use LOW block; add explicit release command; review slave self-hold logic |
| Both Raise and Lower outputs engage at once | No interlock between NQ1 and NQ2 on the slave | Watch both Q1 and Q2 on slave while pressing one button | Add Q1 -> NOT -> NQ2 input / Q2 -> NOT -> NQ1 input on slave program |
| Custom web page shows but widgets are static gray | Web server access flag not set on master, or wrong IP entered | From PC browser, hit the master IP without any path - default LOGO! page should still load | Enable Web Server Access in LSC Ethernet settings, redownload |
| Slave NI1 flickers even though hardware input is steady | Input debounce not configured on slave, or noise on the limit-switch wiring | Use LSC online monitor at fast sample rate | Add a hysteresis block or ON-delay/OFF-delay on the slave side before routing to NI1 |
12. Edge Cases and Field-Proven Caveats
- Scan time asymmetry. The master cycle time depends on program length. If the master program exceeds ~20 ms per scan, the one-cycle pulse from LOW may be too short for the slave to latch a mechanical contactor reliably. In that case, add a pulse-stretching timer (e.g. on-delay of 200 ms) after the LOW output before driving NQ1.
-
Browser auto-refresh. The customized web page does not auto-poll; it re-renders only on user interaction or page reload. If you need a continuously updating indicator without a page reload, embed a small JavaScript interval that calls
document.location.reload()every 2-3 seconds. LWE supports adding custom HTML/JS via the "HTML object" widget. - Network redundancy. LOGO! 8 does not support ring redundancy (MRP) or PRP. A single Ethernet cable break drops the slave. For barrier applications where a stuck-open barrier is a safety-of-life issue, wire the master interlock so that loss of communication defaults to "barrier down".
- Firmware mismatch warnings. LSC will warn at download time if master and slave firmware differ. Heed the warning - NI/NQ counts and program size limits differ between FS01, FS02, FS03, and FS04.
- Maximum customized web pages. The 0BA8 master supports up to 20 user-defined web pages, each with up to 20 DVOs. Plan the page count accordingly; if you exceed, the LOGO! will reject the project at download with a size error.
- Source-of-truth for state. Always treat the physical limit switch on the slave as the source of truth. Do not echo the web button state back to the indicator - that creates a feedback loop the operator will misread.
Why does LWE not list Network Inputs (NI) or Network Outputs (NQ) in its operand picker?
LWE binds only to Digital Value Objects (DVOs) that exist as named tags in the local program memory of the device hosting the page. NI and NQ are communication objects exchanged via the S7 transport, not local DVOs. You must mirror them into a local marker (e.g. NI1 -> M1) inside the LSC program before LWE can render or accept writes for them.
How do I turn a web button press into a one-cycle pulse for a network output?
Insert a LOW (edge-triggered single-shot) block between the button DVO and the NQ. LOW detects the 0->1 transition of the button press and drives its Q output high for exactly one program scan, regardless of how long the operator holds the button. Wire that Q output to the NQ.
Can the customized LWE page update without a manual browser refresh?
The standard widget set does not auto-poll. The recommended pattern is to add an HTML object widget with a small JavaScript interval (for example setTimeout(function(){location.reload();},3000);) so the browser reloads the page every few seconds. For applications needing sub-second updates, switch from LOGO! Web Editor to a dedicated SCADA package or to the LOGO! OBA8/9 REST/SNAP I/O interface.
How many Network Inputs and Outputs are available on a 0BA8.FS4 master versus a 0BA8 Standard slave?
The 0BA8.FS4 master supports up to 64 NI and 64 NQ. The 0BA8 Standard slave supports up to 32 NI and 32 NQ. The actual usable count in a mixed project is limited by the smaller device, so if you pair an FS04 master with an FS01 slave you cannot use NI33..NI64.
Do I have to enable the Extended Web Server separately from adding the LWE project?
Yes. Adding an LWE project and saving it to the LOGO! program only stores the layout in the project file. To actually serve it, open Tools > Ethernet Connections in LSC, select the master, and tick "Enable Web Server Access" (and set a password if remote access is required). Without that flag the master serves only the default LOGO! status page, not the customized LWE layout.