internal SignalProcessor(string signalName, DriveProfileSignalConfig config) { this.SignalName = signalName; this.config = config; this.ParameterNames = ExtractParameters(config.ValueFormula); if (this.ParameterNames == null || this.ParameterNames.Length == 0) { Console.WriteLine("No parameters detected in expression {0}. ValueFormat format error.\n Each variable must correspond modbus operation displayname and start with $"); } else { FunctionProcessor = new Interpreter(); Console.WriteLine("Function for signal {0} compiled sucessfully", this.SignalName); } }
public static ModuleMessageHandler CreateFromConfig(DriveProfileConfig config) { if (config == null || config.SignalConfigs == null) { return(null); } ModuleMessageHandler moduleHandle = new ModuleMessageHandler(); foreach (string keyName in config.SignalConfigs.Keys) { DriveProfileSignalConfig signalConfig = config.SignalConfigs[keyName]; SignalProcessor signalProcessor = new SignalProcessor(keyName, signalConfig); moduleHandle.SignalProcessorList.Add(signalProcessor); } return(moduleHandle); }