Kepware Config

KEPServerEX-6.10.623.0 is recommended version of kepware to use with MVS. This was the latest version at time of writing. Future releases should also work.

Kepware is the only OPC server that has been tested with MVS. Other OPC servers that support OPC-UA should also work.

Kepware Setup

MVS communicates with the local Kepware OPC server over OPC UA using basic authorization and no SSL certificate.

The following user account needs to be configured as an administrator under Setings->User Manager (or a account with OPC-UA read/write permissions and API access). If you received your system from AIS Technology Group this should already be configured.

  • Username: MVSServer
  • Password: gaGag1UPChPsOHNhc8nY

kepware users

Kepware PLC Connections

To configure a kepware connect you need the OPC UA address of the server. This can be found in the "OPC UA Configuration" utility installed with kepware. Ensure that the security is disabled as MVS does not currently support using certificates or SSL over OPC UA.

The address for the a kepware instance running on the local PC is:

opc.tcp://127.0.0.1:49320

The Namespace URI for kepware is

KEPServerEX

Adding Devices in Kepware

The connection between the computer and the PLC is established inside of the Kepserver software. To open Kepware configuration either launch "KepserverEX 6 Configuration" or click on the kepware icon in the taskbar. Configuring devices in kepware is required before MVS can properly function in PLC mode.

The MVS platform communicates with Kepserver via a defined tag structure, where each tag is assigned to a specific memory address on a PLC. These tags follow the nomenclature of Channel.Device.TagGroup.TagName.

  • Channel: This field represents the type of connection to the PLC. Typical types are Siemens TCP/IP Ethernet or Allen-Bradley Controllogics Ethernet. To add a new channel, right click on Connectivity and select New Channel. Select an appropriate channel type and follow the on screen prompts. The default values are usually sufficient.

  • Device: This represents a individual PLC that will be connected to. You can have many devices configured for each channel in Kepware. To add a device, right click on the channel and select New Device. Follow the on screen prompts to configure the device. Be sure to select the appropriate device model and enter the correct IP Address. For the remaining configuration the default values usually suffice, however they may need to be reviewed by a controls engineer if any communication issues arise.

  • TagGroup: A tag group is simply a collection of tags. Using the Auto Tag Generation in MVS will automatically create a group with the specified name.

  • Tag: Tags address a specific block of memory on the PLC. You should not need to manually create tags in kepware as adding a PLC Instance in the MVS webserver will automatically create them.

Troubleshooting Kepware Connections

To browse the current connection status of any tags configured in Kepware open the Kepware Quick Client utility from the Kepserver Configuration toolbar.

Select the configured Channel.Device.TagGroup from the list on the left and look at the Quality of each tag listed on the right. A "Good" quality indicates that there are no issues communicating with the PLC. "Bad" Quality indicates that there are issues reaching this memory address. This may be caused by numerous issues, from the address not exiting on the PLC to the PLC not being accessible over the network.

Auto Tag Generation

MVS will automatically generate the required Kepware tags if the configuration API service is enabled and a appropriate channel/device is found on the Kepware service.

The following channel types are currently supported for auto-generation:

  • Allen-Bradley ControlLogix Ethernet
  • Siemens TCP/IP Ethernet
  • Simulator (Note: This is the basic simulator not the Advanced Simulator driver, this should only be used for development/debugging)

The API should already be enabled, but if it is not functioning ensure the following settings are set under Settings->Configuration API Service:

kepware api configuration

To auto generate tags first configure the expected Channel and Device in Kepware. The type of channel/device will vary depending on what type of PLC hardware is in use.

kepware channel/device

Once the channel & device are defined, create a new PLC Instance in MVS using the configured channel and device name, and a unique group name.

mvs channel/device

Once the instance is saved a dialog will appear that will allow a user to auto-generate the tags in the Kepware instance. Fill in the fields to customize the tag addressing for the specified device and verify the addressing is correct in the sample section. To create the tags in kepware click on the Create button.

mvs channel/device

Manual Tag Generation

To manually create the tags in Kepware use the following sample with correct addressing for your device (this sample is for Siemens). Be sure to match Tag Name's exactly as defined in the following table, otherwise the MVS server will not be able to locate the tag. The following is a CSV export of a tag group in kepware.

Tag Name Address Data Type Respect Data Type Client Access Scan Rate Scaling Raw Low Raw High Scaled Low Scaled High Scaled Data Type Clamp Low Clamp High Eng Units Description Negate Value
CancelInspection DB11,X174.2 Boolean 1 RO 20
CancelInspection_ECHO DB11,X0.3 Boolean 1 R/W 500
ClearResults DB11,X174.1 Boolean 1 RO 20
ClearResults_ECHO DB11,X0.2 Boolean 1 R/W 500
EmployeeOverride_ECHO DB11,STRING74.48 String 1 R/W 500
ErrorCode DB11,W4 Short 1 R/W 500
Heartbeat DB11,X0.0 Boolean 1 R/W 500
Inspection_FAIL DB11,X0.6 Boolean 1 R/W 500
Inspection_PASS DB11,X0.5 Boolean 1 R/W 500
Inspection_STRING DB11,STRING124.48 String 1 R/W 500
InspectionPointID DB11,STRING176.16 String 1 RO 20
InspectionPointID_ECHO DB11,STRING6.16 String 1 R/W 500
InspectionStatus DB11,W2 Short 1 R/W 500
LogOveride DB11,X174.3 Boolean 1 RO 20
LogOveride_ECHO DB11,X0.4 Boolean 1 R/W 500
OverrideEmployeeID DB11,STRING244.48 String 1 RO 40
PartSerial DB11,STRING194.48 String 1 RO 40
PartSerial_ECHO DB11,STRING24.48 String 1 R/W 500
TriggerInspection DB11,X174.0 Boolean 1 RO 20
TriggerInspection_ECHO DB11,X0.1 Boolean 1 R/W 500