- Shea
- Sam
- Brent (Kep)
- Nick (Kep
- Imagine a correspondence between a memory register on a PLC device (e.g. representing max torque measured, or max torque allowed) and a memory register on the KEPServerEX server
- When a new value is written on the PLC device, it also overwrites the value in the Kepware server register
- The exception to this is when using an IoT Gateway REST Client
- An IoT Gateway REST Client is a Kepware service that collects data from KEPServerEX and forwards it to downstream services (e.g. Parsable)
- In that case, new values written to the register are collected into a batch until the IoT Gateway REST Client is ready to forward them on downstream
- However, after the batch is forwarded, it is gone forever
- This amounts to a preference for a push model, over a pull model
- With GETs to a REST Server, we'll miss any "last known values" that are overwritten between polls
- Can be used in concert with a REST Server receiving GETs in a push-to-pull model
- Some customers have a Primary/Secondary scheme to handle failures
- It requires more work through IoT Gateway than through the OPC UA protocol
- Procedure for handling broken Kepware<->Device connection:
- client determines that the Kepware server has lost connection with a device
- tags have a "quality" value that will change from "good" to "bad"
- client sets the "_System.Enabled" tag to false on the device for the primary that lost connection
- client sets the "_System.Enabled" tag to true on the device for that secondary
- client determines that the Kepware server has lost connection with a device
- Procedure for handling broken Kepware<->Parsable connection:
- unclear
- Two methods:
- when creating the channel, select "Simulator" as the driver
- if using a regular driver, set the "Operation Mode" to "Simulated"
- I'm still not totally clear on what an address is
- OPC UA defines an address space, so that could be it
- But it appears to be analogous to a variable on a device that can be read, and sometimes set
KepServers and non-Kep, OPC Servers communicate via OPC UA to:
- (KepServe@KepServer) aggregate tags from distributed servers onto a central server that can be queried more easily
- (KepServer@OPCServer) make data available from the KepServer that was formerly only available via OPC
- Use HTTPS
- Some customers like an "airgap" of adding an extra KepServer hop between the one that connects directly to the control network and the one that talks to the open world
- Users and User Groups can be created that only have access to certain resources
- "User Manager" for creating users and groups
- "Security Policies" for determining access
- Each site gets one or more KepServer hosts, running KEPServerEX V6 and IoT Gateway
- Each host has a project (with Channels with Devices with Tags)
- An HTTP Client running in IoT Gateway sends POST requests to Parsable
- If we come across a customer who already uses Kepware, then:
- Ensure they have a late enough version to support IoT Gateway
- Either hook directly into their server, or put another one in front of it
- Free
- Support will only be increasing, as Kepware expects more clients to utilize this
- Costs a licencing fee per deployment
- Uses the "Data Logger" plugin
- Allows the Kepware side to handle transport, and the database to handle storage