Kepware Config
Recommended version
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 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
orAllen-Bradley Controllogics Ethernet
. To add a new channel, right click onConnectivity
and selectNew 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:
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.
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.
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.
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 |