I am trying to use the SignalAE in the CMT wrapper module.After instaniating the CMT object ,i am getting the AIStatus as -30.And no special characters and spacing exsist.
I tried using AlarmCond and Simpleeventdetector for alarm/event instead of SignalAE,its seems to be working fine(AIStatus=1).
As we are not supposed to use(SignalAE) in CMT's.What could be the reason?
Thanks in Adavnce.
Voted best answer
SignalAE is bit different from AlarmCond and SimpleEventDetector, though it is having the functionality if handling both alarm and event generation.
The basic difference is, SignalAE is not using the inputs with the 'Pass by value' methods unlike to AlarmCond and SimpleEventDetector blocks. If you see the parameters, the attribute is of 'by_ref' which means the passed values are controlled and infact they are being refered to the data instance in the function call. For more information about by_ref, you can use the CBM online help. So, I would suggest do not leave these by_ref parameters unconnected (at least inputs), connect them to variables and assign CondName and Message with unique and valid values. This should work.
There is no restriction for SignalAE function block type to be used in control module type wrapper code.
I suggest you to check the following:
1. Name of the parent CMT is available and without space.
2. Alarm condition name is avalable without space and not matching to above object name.
3. Ensure that parent CMT is selected as Alarm Owner. From Control builder select your object, right click --> Properties --> Select, Alarm Owner.
AlStatus -30 represents, cErrInvalidPar - Invalid Parameter. In your case if point no. 1 and 2 are ok, then it could be issue with alarm owner selection as indicated in point no. 3 above.
Below is the picture indicating the selection of object as Alarm Owner.