Perform a zero of AI channel and encoder during measure
I developed a plug-in connected to my SIRIUS STG+. I have some analog channels (potentiometer, etc), strain gage channels and an incremental encoder.
I would like to perfom a zero for only one channel and my encoder during storing and acquisition.
Is it possible to it with a plug-in?
I use Dewesoft X3 SP1 32 bit and developp in Delphi.
you will not be able to zero your channel during storing, even with the functionality of a plugin.
What I would recommend is that you create a new channel, which will be pretty much like a clone of your original AI channel. Once you reach the point where you want to zero your channel, you should store the offset somewhere internally and then subtract that value from the AI channel. I think the same can be done for the counter channel.
I hope that makes sense.
My system belongs more than 10 AI channels from a R3 and several AI channel + encoder from a SIRIUS STG. Your solution is not acceptable in my configuration.
Is it possible to do it before starting an acquisition?
Best regards Malek
The mean time to have an answer is now 1 week...What's happens with your forum?
I apologize for the long response time. The whole measurement conference event took its toll on the support cases. Also, the forum is not an ideal form of communication with Dewesoft's staff, as we don't receive notifications on additional replies, so there's more chances that something will be missed. The forum's main purpose is for the community members to help each other.
With that out of the way, you can zero channels when you're in measure mode, the only condition is that you haven't started storing yet. Also, your AI channels need to be in groups to get access to zeroing. You can enable groups by adding the "Group" column in the "Analog in" grid. For counters, you just need to enable the option that I've marked in the attached image.
Once you have that, you'll be able to access two zero buttons on the measure screen and zero your data.
I was unable to find a DCOM function for this. Is this something that you can do manually? If not, I'll ask around if there's perhaps an undocumented feature that would allow you to perform these actions.
I think that my question was clear!! You say that the forum is not the best way to communicate with technical guy. What is the best way to have correct, precise and technical answer to my question?
I only meant to say that the forum is not an ideal form of communication in terms of response time... The other way would be to go through [email protected], but your questions would still be answered by us, except if you're located in France or in the US.
To be fair, your conditions have also changed around a bit... In your initial post, you said you'd only like to zero 1 AI and 1 CNT channel during storing. When I suggested making two more channels, you replied that this solution isn't valid because you're using multiple channels, which doesn't match with your first statement.
For your actual question, I've done some further research and you can call the zero function for specific groups. You need to define the groups by right-clicking on the grid, selecting the edit columns option, where you'll be able to add the Group column. Once you have that, simply assign the channels that you want to zero to the same group.
At this point, you can call the following function: dw.ExecuteModulesFunction(11,2,1),
where dw is my Dewesoft object, 11 in an enum for the function mfAmplZeroByGroupID and 2 is meant to represent the group 1. I think you can leave out the 1 integer, but it works both ways in Python.
The indexes are shifted by one, so 0 stands for all channels, 1 is for the main group, 2 is for the group 1 and so on.
The procedure described above will work for AI channels. I'm not sure if the same is available for counters, as it's specified for internal use only. I'll have to consult with our core developer about this next week, because he's currently away on another assignment.
Let me know if you'll be able to use the zeroing function for AI channels.
just as a heads up, I forgot to mention that you'll need Dewesoft X3 SP4 in order to use the ExecuteModulesFunction.