Esempio n. 1
0
            private void PutFBNetwork(FBNetwork fbNetwork, string fbTypeName, ShowMessageDelegate ShowMessage)
            {
                foreach (var fbInstance in fbNetwork.FB)
                {
                    Storage.PutFBInstance(new FB2SMV.FBCollections.FBInstance(fbInstance.Name, fbInstance.Type, fbInstance.Comment, fbTypeName));
                    fbInstance.Parameters.ForEach(p => Storage.PutInstanceParameter(new FBCollections.InstanceParameter(p.Name, p.Value, fbInstance.Name, fbTypeName, p.Comment)));

                    if (!_processedTypes.Contains(fbInstance.Type) && !_newTypes.Contains(fbInstance.Type))
                    {
                        // TODO: exclude HMI here
                        if (!IsLibraryType(fbInstance.Type))
                        {
                            _newTypes.Enqueue(fbInstance.Type);
                        }
                        else
                        {
                            ShowMessage("Pre-defined FB type added to storage: " + fbInstance.Type);
                            PutLibraryType(fbInstance.Type);
                            _processedTypes.Add(fbInstance.Type);
                        }
                    }
                }
                foreach (var connection in fbNetwork.DataConnections)
                {
                    Storage.PutConnection(new FB2SMV.FBCollections.Connection(connection.Source, connection.Destination,
                                                                              ConnectionType.Data, fbTypeName));
                }
                foreach (var connection in fbNetwork.EventConnections)
                {
                    Storage.PutConnection(new FB2SMV.FBCollections.Connection(connection.Source, connection.Destination,
                                                                              ConnectionType.Event, fbTypeName));
                }
            }
Esempio n. 2
0
            private void PutFBNetwork(FBNetwork fbNetwork, string fbTypeName)
            {
                foreach (var fbInstance in fbNetwork.FB)
                {
                    Storage.PutFBInstance(new FB2SMV.FBCollections.FBInstance(fbInstance.Name, fbInstance.Type,
                        fbInstance.Comment, fbTypeName));
                    if (!ProcessedTypes.Contains(fbInstance.Type) && !NewTypes.Contains(fbInstance.Type))
                        NewTypes.Enqueue(fbInstance.Type);

                }
                foreach (var connection in fbNetwork.DataConnections)
                {
                    Storage.PutConnection(new FB2SMV.FBCollections.Connection(connection.Source, connection.Destination,
                        ConnectionType.Data, fbTypeName));
                }
                foreach (var connection in fbNetwork.EventConnections)
                {
                    Storage.PutConnection(new FB2SMV.FBCollections.Connection(connection.Source, connection.Destination,
                        ConnectionType.Event, fbTypeName));
                }
            }