Ejemplo n.º 1
0
 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));
         }
     }
 }
Ejemplo n.º 2
0
            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));
                    }

                }
            }