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)); } }
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)); } }