Array and Channel Group function, Matrix function

Jean-Marc Zanni 5 years ago in IQANdesign updated by Ulrik Zakariasson (Software development) 5 years ago 2
This is what one of my code look like. Do you think this looks well organized/planned and/or readable?

Part of the problem is that we are collecting a lot of information from an external device and it needs to be distributed. It would be extremely useful if we could group signals into Channels(record) which would allow the efficient transfer of data from one function group to another without having this humongous plate of spaghetti, It would be wonderful if the receiving module would automatically inherit all the sub elements without having to recreate them.
Array/Matrix operation. Like wise it would be nice to have the ability to manipulate large quantity of data of the same type. We are dealing with Lithium batteries. We have 120 cells and 120 temperature data point to manipulate. Do you know how long it takes to create the code to read the incoming CAN messages to collect the data and then display them in groups? And God help you if you made a mistake and need to re-organize it. And forget about trying to calculate min/max and average. In almost any other language a for to loop and an array structure make dealing with such items a breeze.

I am impatient to try all the new features of IQan 4.0... Thanks too all for the work.

Satisfaction mark by Jean-Marc Zanni 5 years ago
Very good input, and well illustrated! :-)

We're very excited to get 4.0 released later this year, it has some new features that will be a great aid to you. For example:
  • Channel scope - allows you to use channels in other function groups without having to create FGI's/FGO's.
  • Array channel - a new channel type that will let you store data in cells and perform array math on them, such as min, max and average, in one operation
  • Qcode - a new text-based programming method
More info to come, follow us here at the forum.

All of these implemented in IQANdesign 4.0, (except for loops, which are planned for a later release).