RMA
Member
After a morning entering Alarm messages into ProTool I decided to give my fingers a bit of a break and decided to go and have a look at archiving the variables.
That was when I (re)discovered to my horror that I only have the choice of archiving on a cyclical basis (every "n" seconds) or on change of state (or exceeding a dead band for analogues). Or have I missed something somewhere? What I need is to be able to archive the current state of the variables at a specific point in time, initiated by a Trigger signal.
This will only occur a few times a day, so cyclical is out of the question. The only solution that occurs to me is to create a whole load of dummy variables (say in a DB), initialise them to a predefined state and then at the Trigger time copy the current state of the variables to the DB. There are two basic problems with this approach (apart from the fact that it's a cludge of the first order!), one is that I really need to initialise every digital value twice, once with FALSE and once with TRUE, otherwise in a fault situation there may be no change of state and so the variable will not be logged - doesn't exactly improve the clarity! The second problem is time, worst case I would need to log about 300 BOOLs and about 100 INTs, that is going to take a certain amount of time and under some circumstances the conditions as the last values are copied may have have changed compared with the first values.
A third problem occurs to me, in the case of a fault in one of the 21 modules I want to log the state of all the variables in that module at the time of the fault. If I have to do this dummy variable and copy business for each module, things are going to get very messy indeed - not mention the 2048 Tag limit in ProTool!
The advantage of trying to explain a problem to somebody else is that you usually finish up understanding it better yourself!
OK, the first ideas are starting to occur! If I group my BOOLs in a WORD or DWORD, I only need one variable name for that and by using a Trigger Bit which always goes from 0 -> 1, I can save the actual values of the other variables and still get ProTool to archive, even if all the genuine variables are actually 0.
Has anybody got any other suggestions how this can be done? Especially in view of the fault logging, the whole business strikes me as a bit messy!
Thanks for any suggestions in advance,
Roy
Edit: Just had a look the variables which might be time-critical and in fact there is only one in each module, so if I do them all together, rather than with the rest of their module variables, that should sort that problem.
That was when I (re)discovered to my horror that I only have the choice of archiving on a cyclical basis (every "n" seconds) or on change of state (or exceeding a dead band for analogues). Or have I missed something somewhere? What I need is to be able to archive the current state of the variables at a specific point in time, initiated by a Trigger signal.
This will only occur a few times a day, so cyclical is out of the question. The only solution that occurs to me is to create a whole load of dummy variables (say in a DB), initialise them to a predefined state and then at the Trigger time copy the current state of the variables to the DB. There are two basic problems with this approach (apart from the fact that it's a cludge of the first order!), one is that I really need to initialise every digital value twice, once with FALSE and once with TRUE, otherwise in a fault situation there may be no change of state and so the variable will not be logged - doesn't exactly improve the clarity! The second problem is time, worst case I would need to log about 300 BOOLs and about 100 INTs, that is going to take a certain amount of time and under some circumstances the conditions as the last values are copied may have have changed compared with the first values.
A third problem occurs to me, in the case of a fault in one of the 21 modules I want to log the state of all the variables in that module at the time of the fault. If I have to do this dummy variable and copy business for each module, things are going to get very messy indeed - not mention the 2048 Tag limit in ProTool!
The advantage of trying to explain a problem to somebody else is that you usually finish up understanding it better yourself!
OK, the first ideas are starting to occur! If I group my BOOLs in a WORD or DWORD, I only need one variable name for that and by using a Trigger Bit which always goes from 0 -> 1, I can save the actual values of the other variables and still get ProTool to archive, even if all the genuine variables are actually 0.
Has anybody got any other suggestions how this can be done? Especially in view of the fault logging, the whole business strikes me as a bit messy!
Thanks for any suggestions in advance,
Roy
Edit: Just had a look the variables which might be time-critical and in fact there is only one in each module, so if I do them all together, rather than with the rest of their module variables, that should sort that problem.
Last edited: