My company has developed a Win-IoT based instrument for use in the bio-process market to measure process output. Each measurement result and supporting information is written to a line in a .csv file. We are working on creating a background app that will upload the latest data segment to a DeltaV network. We are considering using the Modbus protocol via TCP. Our goal is to create the most "universal" data transfer style possible that can transmit a line of up to 82 ASCII characters. As this is our first foray into this market, we have a limited understanding of data types and conversion functions that exist and might be considered "standard". For reference, a new line of data would be available no sooner than 4 minutes after the last line of data.
One option we are looking at would be to convert the ASCII characters to their HEX values, and use the first 41 Input Registers to transmit the HEX encoded ASCII data. Is there a function on the Client side that can be used to convert the HEX values back to ASCII characters for data storage? Is there a better way?
Thank you for your time and consideration.
John Barnacle
In reply to István Orbán:
In reply to Ralf Baginski:
In reply to John Barnacle:
Hi John,
here are some details how t configure it on DeltaV.
First you have to set up a dataset with lets say holding register in I/O layer.Then create a module with an external parameter referencing a register.
Like see here it is register R42595 with an actual value of'52' which is the decimal value of ASCII character.
You need a table with string parameters which have the decimal code in its name and the ASCII character as value.
To get the ASCII Value create a dynamic reference parameter. The reference can be changed on runtime of the module.
In this example, the reference is set to the parameter 'ASCII_TABELLE/ASCII_52' which have the ASCII character of '4'.
To change the reference put the code into a 'CALC' block in the module.
CODE: '^/DYN_ABFL_STRASSE.$REF' := "ASCII_TABELLE/ASCII_" + '^/ABFL_STRASSE.CV';
I hope that helps.
Cheers