Parsing serial data with IADS

185 views
Skip to first unread message

Rodolfo Cavalcante

unread,
Apr 26, 2022, 10:26:07 AM4/26/22
to IADS
Hello everybody,

I'm a new IADS user and in need of some help.

We have an application under development in which we will perform the acquisition of an RS 422 serial signal using an L3 module. Only one message will be monitored and it will always have the same size in bytes and the same synchronism word. Each byte of this message represents a different parameter that we'll be monitoring.

How to implement a parser on these bytes and separate them into their proper derived parameters in IADS?

I have read about implementing custom functions in C++ or VB and also using the DECOM function. But I still have doubts if it would be the best and/or simplest approach.

Chant, Adam

unread,
Apr 26, 2022, 10:37:16 AM4/26/22
to IADS

Rodolfo,

Please examine our IadsBus function in the Help system. It’s likely that the iadsbus.Demux function will provide you with enough flexibility to decode your RS422 messages if the Decom function wont.

One addition Demux has over Decom is Arg1 Value of Key parameter  to match. This argument can be used to line up with the sync word found in  the message to extract the specific bites you want for a given derived parameter.

Once you have this configured correctly then you can consider changing the function from a derived to an IAP so that it will run on the Server software part of IADS instead of the Client, generate its own data files and be available to all Client displays without any local processing. Running as an IAP is optional but if you have a lot of Client displays across many PCs then it may reduce resources by only performing the demux one time on the server instead of individually at each client PC. If it’s only a handful of parameters then it probably doesn’t matter, but if it’s closer to dozens or hundreds then it’s probably best to run it as and IAP.

You can also read more on IAP vs Derived in the help system.

If you have additional questions please email me directly at iads-support.

 

Thank you,

Adam Chant

Project Engineer, IADS

 

Curtiss-Wright

190 Sierra Court A-3 Palmdale, CA 93550

T: 661.273.7003 x210
ach...@curtisswright.com
iads-s...@curtisswright.com

 

From: ia...@googlegroups.com <ia...@googlegroups.com> On Behalf Of Rodolfo Cavalcante
Sent: Tuesday, April 26, 2022 6:28 AM
To: IADS <ia...@googlegroups.com>
Subject: [IADS] Parsing serial data with IADS [EXTERNAL]

 

WARNING: This message came from an external source. Please exercise caution and proper judgment when opening any attachments, clicking links or responding to this message.


 

--
You received this message because you are subscribed to the Google Groups "IADS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to iads+uns...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/iads/eee807b0-9f8f-438b-a887-700d8e44197dn%40googlegroups.com.


This e-mail and any files transmitted with it are proprietary and intended solely for the use of the individual or entity to whom they are addressed. If you have reason to believe that you have received this e-mail in error, please notify the sender and destroy this e-mail and any attached files. Please note that any views or opinions presented in this e-mail are solely those of the author and do not necessarily represent those of the Curtiss-Wright Corporation or any of its subsidiaries. Documents attached hereto may contain technology subject to government export regulations. Recipient is solely responsible for ensuring that any re-export, transfer or disclosure of this information is in accordance with applicable government export regulations. The recipient should check this e-mail and any attachments for the presence of viruses. Curtiss-Wright Corporation and its subsidiaries accept no liability for any damage caused by any virus transmitted by this e-mail.

Kathy Rodittis

unread,
Apr 26, 2022, 2:30:10 PM4/26/22
to ia...@googlegroups.com

Hi Rodolfo-

The L3 module you’re referencing is going to embed serial word into a PCM stream. How you decode the serial data in IADS really depends on how the module is encoding it.

 

  1. Module is parsing the data and selecting specific words for you and placing them in fixed positions in the PCM.  Nothing left to do :  data is already parameterized.
  2. Module is grabbing the stream “blind” and inserting it into the PCM, no specific PCM word corresponds to the start of the serial message. You will need to use the MakeBlob function to create an array of the PCM words then you can use:
    1. IadsBus.SerialText: for serial data that is ASCII
    2. IadsBus.Demux or DECOM() for binary data.  Keep in mind that both these functions are look for a certain offset.  If your data is binary and you need to scan for the “start of message”, you will need to make a custom COM function that takes in the blob parameter and either breaks it apart to return a parameter or re-aligns the data into another blob that IadsBus.Demux() or DECOM() can accommodate.

 

It really comes down what the serial content is and how the L3 module has packaged it into the data.

-Kathy

Reply all
Reply to author
Forward
0 new messages