How can we help you today?
How to use a Control Object in Vista to Write a Value to a RW register in a custom modbus device driver
Issue
- A Custom Modbus Driver that has RW register has been created. It is required to use a Control Object in Vista to Write the Value. It can´t be linked to the register the customer needs to write.
- Device Type Editor does not have the “External Numeric - Manager” available. So, the customer is using the “Universal Module” as Manager Node
Environment
- PME9.0 /PME2020
- Device Type Editor
Cause
The control object requires to be linked to an “External Numeric Module”
For a register to be writable the ION register type needs to be one of Numeric_Variable, Enumerated, Boolean or Pulse. For Vista to be able to "see" the register as writable the register will need to be either a setup register or, in the case of an output register, the host module one of the External_Numeric, External_Boolean or External_Pulse module classes. In the DTE you may need to explicitly pick one of those class types when creating writable output registers.
Note that if you configure a writable output register in the DTE then a valid class type should already be correctly chosen by the DTE - you should not need to do anything to make this work. In the original MDI this is how it worked and the DTE should be equivalent in functionality as the MDI. As the DTE does not pick a valid module class type, then an SCR 104562 has been submitted. In the meanwhile, please use the workaround proposed below.
Proposed Solution
Option 1
- A workaround is to leave the Custom Device Driver with the “Universal Module” as Manager Node
- In Vista, Force the Control Object to be linked to the Handle.
- Hold CTRL + ALT and click Edit Link…
- You need to select the handle.
- If you do not know the handle and there is more than 1 register in the Driver. You can try:
- Link the register to a Numeric object, save the changes. Apply the same trick Hold CTRL + ALT and click Edit Link…
- This will show you the handle used by the Numeric Object. Then you can copy the handle in the Control Object
Option 2
You could force the driver, but it leads to some misconfiguration in the DTE, so we do not recommend it. Manually edit the DTE driver on changing the manager module to “ExternalNumeric_Module” instead of “Universal_Module”.
More details in the link [1]
Attachments/Links
[1] https://community.exchange.se.com/t5/EcoStruxure-Power-Monitoring/DTE-writing-values/m-p/194506/highlight/false#M29978