export interface IFinalPosition{ Id:number; Position:number; // 1..16 Active:boolean; UsageType:number; //1= FreeText, 2 = auto text, 3 = auto operand, 4 = Editabel operand Bit, 5 = Editabel operand free Name:string; AbsoluteAddress:string; SymbolicAddress:string; // // // // } //Extending Final position for with intenal used properties export interface IFinalPositionEx extends IFinalPosition{ DisplaySymbolicName:string; DisplayName:string; PositionFlagged:boolean; OperandValue:IOperandValue; //TODO create a property to hold operand plc address } export interface IOperandValue{ HasOperandValue:boolean; Value:any; } export class OperandValue implements IOperandValue{ get HasOperandValue():boolean{ return this.Value != null; }; Value:any; }