private void PutBasicFB(BasicFB basicFb, string fbTypeName) { foreach (var internalVar in basicFb.InternalVars) { Storage.PutVariable(new FB2SMV.FBCollections.Variable(internalVar.Name, internalVar.Comment, fbTypeName, Direction.Internal, internalVar.Type, internalVar.ArraySize, internalVar.InitialValue, Smv.DataTypes.GetType(internalVar.Type, _showMessage, _settings.nuXmvInfiniteDataTypes))); } foreach (var ecState in basicFb.ECC.ECState) { int actionCounter = 0; foreach (var ecAction in ecState.ECAction) { Storage.PutECAction(new FB2SMV.FBCollections.ECAction(fbTypeName, ++actionCounter, ecState.Name, ecAction.Algorithm, ecAction.Output)); } Storage.PutState(new FB2SMV.FBCollections.ECState(ecState.Name, ecState.Comment, fbTypeName, actionCounter)); } foreach (var ecTransition in basicFb.ECC.ECTransition) { Storage.PutECTransition(new FB2SMV.FBCollections.ECTransition(fbTypeName, ecTransition.Source, ecTransition.Destination, ecTransition.Condition)); } foreach (var algorithm in basicFb.Algorithms) { Storage.PutAlgorithm(new FB2SMV.FBCollections.Algorithm(algorithm.Name, algorithm.Comment, fbTypeName, AlgorithmLanguages.ST, algorithm.ST.Text)); foreach (OutputLine line in FB2SMV.ST.Translator.Translate(algorithm.ST.Text)) { Storage.PutAlgorithmLine(new AlgorithmLine(line.NI, line.Variable, line.Condition, line.Value, fbTypeName, algorithm.Name)); } } }
private void PutBasicFB(BasicFB basicFb, string fbTypeName) { foreach (var internalVar in basicFb.InternalVars) { Storage.PutVariable(new FB2SMV.FBCollections.Variable(internalVar.Name, internalVar.Comment, fbTypeName, Direction.Internal, internalVar.Type, internalVar.ArraySize, internalVar.InitialValue, Smv.DataTypes.GetType(internalVar.Type))); } foreach (var ecState in basicFb.ECC.ECState) { int actionCounter = 0; foreach (var ecAction in ecState.ECAction) { Storage.PutECAction(new FB2SMV.FBCollections.ECAction(fbTypeName, ++actionCounter, ecState.Name, ecAction.Algorithm, ecAction.Output)); } Storage.PutState(new FB2SMV.FBCollections.ECState(ecState.Name, ecState.Comment, fbTypeName, actionCounter)); } foreach (var ecTransition in basicFb.ECC.ECTransition) { Storage.PutECTransition(new FB2SMV.FBCollections.ECTransition(fbTypeName, ecTransition.Source, ecTransition.Destination, ecTransition.Condition)); } foreach (var algorithm in basicFb.Algorithms) { Storage.PutAlgorithm(new FB2SMV.FBCollections.Algorithm(algorithm.Name, algorithm.Comment, fbTypeName, AlgorithmLanguages.ST, algorithm.ST.Text)); foreach (OutputLine line in FB2SMV.ST.Translator.Translate(algorithm.ST.Text)) { Storage.PutAlgorithmLine(new AlgorithmLine(line.NI, line.Variable, line.Condition, line.Value, fbTypeName, algorithm.Name)); } } }