Hello all,
We have a communication between Omniflow and DeltaV using the special modbus driver from MYNAH, the communication is good, however I have concerns about the conversion of DataSet side DeltaV.
Modbus Packet (Addr : 001) : a packet that groups Float data and 32 bit unsignedInteger
DataSet declared on the deltaV en Float.
How to convert Float to 32 bit unsigned Integer on Deltav?
Modbus Packet (Addr : 201) : a packet that groups data String (ASCII-8)
The max Size on DeltaV of String Data its 96 bytes for MYNAH.
Anomalous: the DeltaV create a single register for the Data String, which gathers all the Packet of the 201.
How to ungroup the 12 string data from a single register?
Is there a possibility to convert the 32 bit unsigned Integer to String (ASCII-8) on the DeltaV?
Regards.
In reply to István Orbán:
A similar question was asked in 2012 (see here).
I indicated a solution given in Application Exchange, which still can be used.
Could you indicate what you want to achieve getting a 32 bit integer to string? Do you want threehundredbillionfivehundredthirtyfour for a number?
In reply to Maarten van der Waal:
In reply to Nabil BOU:
Andre Dicaire
In reply to Andre Dicaire:
Here is an example of my module, with lower case letters forced to Upper case, a space and a right bracket.
You should use a 16 bit unsigned integer data set to avoid rounding errors in a Floating point number.
My module shows the ASCII values on the left as inputs that create the INT1 and INT2 values, which are 16 bit. On the right are the Named set parameters to show the character values and also to convert the byte value to a letter.
The ASCII_STRING is the output. It works, but is a bit tough to work with.
Cheers
@Maarten van der Waal
1. for example: in Omniflow i have the value of 514 (32 Bit Unsigned Integer), on the DeltaV modbus i receive the value of 7,788667E-043 (Float )