西门子伺服驱动代理授权经销商
国际化工业自动化科技产品供应商,西门子G120、G120C V20 变频器; S120 V90 伺服控制系统;6EP电源;电线;电缆;
网络交换机;工控机等工业自动化的设计、技术开发、项目选型安装调试等相关服务是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。其产品范围包括西门子S7-SMART200、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。西门子授权代理商、西门子一级代理商 西门子PLC模块代理商﹐西门子模块代理商供应全国范围:
与此同时,我们还提供。
西门子中国授权代理商—— 浔之漫智控技术(上海)有限公司,本公司坐落于松江工业区西部科技园,西边和全球zhuming芯片制造商台积电毗邻,
东边是松江大学城,向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
目前,浔之漫智控技术(上海)有限公司将产品布局于中、高端自动化科技产品领域,
PLC模块S7-200、S7-1200、S7-300、S7-400、ET200分布式I/O等
HMI触摸屏、SITOP电源、6GK网络产品、ET200分布式I/O SIEMENS 驱动产品MM系列变频器、G110 G120变频器、直流调速器、电线电缆
修改以下程序代码以枚举 PC 接口上可用的子网和网关地址: public static void EnumeratingPCInterfaceSubnetsAndGateways(ConfigurationPcInterface pcInterface) { foreach (ConfigurationSubnet subnet in pcInterface.Subnets) { Console.WriteLine("Subnet name:{0}", subnet.Name); foreach (ConfigurationGateway gateway in subnet.Gateways) { //Get the name of the gateway: Console.WriteLine("Gateway name:{0}", gateway.Name); //Get the IP address of each gateway: foreach (ConfigurationAddress gatewayAddress in gateway.Addresses) { Console.WriteLine("Gateway Address:{0} has {1}", gatewayAddress.Name, gatewayAddress.Address); } } } } 也可以按名称或 IP 地址访问子网和网关: public static void AccessSubnetAndGatewayOfPCInterface(ConfigurationPcInterface pcInterface) { ConfigurationSubnet subnet = pcInterface.Subnets.Find("PN/IE_1"); ConfigurationAddress subnetAddress = subnet.Addresses.Find("192.168.0.1"); ConfigurationGateway gateway = subnet.Gateways.Find("Gateway 1"); ConfigurationAddress gatewayAddress = gateway.Addresses.Find("192.168.0.2"); } 程序代码:设置连接参数 说明 设置连接参数时,将覆盖之前设置的所有连接参数。如果已直接在 TIA Portal 中设置连接参 数,则无需调用 ApplyConfiguration。在调用 ApplyConfiguration 时,如果已存 在到 PLC 的在线连接,则会发生异常。修改以下程序代码以设置插槽参数: public static void SetConnectionWithSlot(OnlineProvider onlineProvider) { ConnectionConfiguration configuration = onlineProvider.Configuration; ConfigurationMode mode = configuration.Modes.Find(@"PN/IE"); ConfigurationPcInterface pcInterface = mode.PcInterfaces.Find("PLCSIM", 1); // or network pc interface that is connected to plc ConfigurationTargetInterface slot = pcInterface.TargetInterfaces.Find("2 X3"); configuration.ApplyConfiguration(slot); // After applying configuration, you can go online onlineProvider.GoOnline(); } 修改以下程序代码以设置网关地址参数: public static void SetConnectionWithGatewayAddress(OnlineProvider onlineProvider, string subnetName, string gatewayAddressName) { ConnectionConfiguration configuration = onlineProvider.Configuration; ConfigurationMode mode = configuration.Modes.Find(@"PN/IE"); ConfigurationPcInterface pcInterface = mode.PcInterfaces.Find("PLCSIM", 1); // or network pc interface that is connected to plc ConfigurationSubnet subnet = pcInterface.Subnets.Find(subnetName); ConfigurationAddress gatewayAddress = subnet.Addresses.Find(gatewayAddressName); configuration.ApplyConfiguration(gatewayAddress); // After applying configuration, you can go online onlineProvider.GoOnline(); } 修改以下程序代码以设置子网地址参数: public static void SetConnectionWithSubnetAddress(OnlineProvider onlineProvider, string subnetName) { ConnectionConfiguration configuration = onlineProvider.Configuration; ConfigurationMode mode = configuration.Modes.Find(@"PN/IE"); ConfigurationPcInterface pcInterface = mode.PcInterfaces.Find("PLCSIM", 1); // or network pc interface that is connected to plc ConfigurationSubnet subnet = pcInterface.Subnets.Find(subnetName); ConfigurationAddressComposition addresses = subnet.Addresses;见 支持安全 S7 通信 TLS (页 475) 5.11.2.7 访问特征码以进行快速站比较 要求 • Openness 应用程序已连接 TIA Portal。 请参见“连接到 TIA Portal (页 82)” • 已打开一个项目。 请参见“打开项目 (页 122)” • PLC 处于离线状态。 应用 可以使用 TIA Portal Openness 获取 FingerprintData,以了解 PLC 设备组态的不同方面,从 而实现快速站比较。通过从给定 TIA Portal 获取的 FingerprintDataProvider 服务来实现。调 用 GetService 时将返回 FingerprintDataProvider 的实例,否则服务将返回 null 值。 程序代码:从 TIA Portal 检索 FingerprintDataProvider TiaPortal tia = new TiaPortal(TiaPortalMode.WithUserInterface); FingerprintDataProvider fingerprintDataProvider = tia.GetService(); if (fingerprintDataProvider != null) { ... } FingerprintDataProvider 方法的参数 要获取设备的 fingerprintData,您必须调用 FingerprintDataProvider 的 GetFingerprintData FingerprintDataProvider 支持以下属性: 参数名称 类型 描述 configurationAddress Siemens.Engineering.Online.Confi guration 必须提取 fingerprintData 的设备的 地址。 onlineConfigurationDelegate Siemens.Engineering.Online 将在提取 fingerprintData 前调用该 委托,以检查组态。 组态地址 用户应该为 GetFingerprintData 提供 ConfigurationAddress 对象。对于必须提取 fingerprintData 的设备,地址对象将用于为其建立一个连接。ConfigurationAddress 对象必 须在 FingerprintDataProvider 的 ConnectionConfiguration 中创建。有关 IsSecureCommunication 的信息,请参见“支持安全 S7 通信 TLS (页 475)” 例如,用户可以使用以下代码创建地址对象: ... ConnectionConfiguration configuration = fingerprintDataProvider.Configuration; ConfigurationMode configurationMode = configuration.Modes.Find("PN/IE"); ConfigurationPcInterface pcInterface = configurationMode.PcInterfaces.Find("Intel(R) Ethernet Connection I217-LM", 1); // Create an address. This "ConfigurationAddress" is used as parameter for getting the fingerprintData ConfigurationAddress fingerprintAddress = pcInterface.Addresses.Create("192.68.0.1"); ... 组态包含所支持的 Modes 的列表。用户需选择其中一个 Modes 用于获取特征码。所选的 ConfigurationMode 包含所有支持所选 Mode 的本地 PCInterfaces 的列表。已选择下列接口 中的一个。可在所选 ConfigurationPcInterface 的地址集中创建所需地址。 程序代码:检索 FingerprintData 用户可以通过调用 GetFingerprintData 操作来检索站的 FingerprintData。支持以下参数: 参数 描述 ConfigurationAddress 设备的地址 OnlineConfigurationDelegate 处理限制的回调internal void PreConfigureFingerprint(OnlineConfiguration onlineConfiguration) { ... } 在线组态委托 下面列出了可能的在线组态类型。 组态名称 描述和属性 OnlineConfiguration • 其他组态的基础类别 • OnlineConfiguration.Message:字符串(只读属 性,包含组态消息) 由于这表示所有其它组态的基础类别,因此,该属性适配器在所有组态中均可用。 下面给出了组态的数据类型: 组态 数据类型 描述和操作 OnlineConfiguration OnlineReadAccessPassword 通过 SetPassword(password:SecureStri ng) 方法 Set password 。 输入密码,获得模块的读访问权限 如果可能阻止访问特征码的组态未得到处理,则会导致出现 EngineeringDelegateInvocationException 并中止上传。如果委托中的异常未得到处理,则 会出现 EngineeringDelegateInvocationException。PreConfigureFingerprint 实现示例 private static void PreConfigureFingerprint(OnlineConfiguration onlineConfiguration) { OnlineReadAccessPassword readAccess = onlineConfiguration as OnlineReadAccessPassword; if (readAccess != null) { string passWD = "passWD"; var password = new SecureString(); foreach (var c in passWD) password.AppendChar(c); readAccess.SetPassword(password); return; } throw new NotSupportedException(); // Exception thrown in the delagate will cancel get fingerprints } FingerprintDataResult GetFingerprintData 动作返回的 FingerprintDataResult 可提供为设备定义的所有特征码。 例如,用户可以使用以下代码检查特征码项: { ... FingerprintDataResult result = dataProvider.GetFingerprintData(fingerprintAddress, preConfigurationDelegate); FingerprintDataItemComposition allFingerprints = result.FingerprintDataItems; foreach (FingerprintDataItem item in allFingerprints) { string fingerprintDataIdentifier = item.FingerprintDataIdentifier; string fingerprintDataValue = plcItem.FingerprintDataValue; // Do something, e.g. store Identifier and Value in a file } } Openness 特征码内的错误处理 Openness 特征码内的所有错误将映射为可恢复的用户异常 EngineeringTargetInvocationException。前提条件是客户端处理该异常。如以下代码所示 TiaPortal currentTIA = ...; FingerprintDataProvider dataProviderFingerprints = currentTIA.GetService(); OnlineConfigurationDelegate configurationDelegate = OnlineConfigurationFingerprintData; try { // The used addr referes a PLC300. FingerprintDataResult dataResult = dataProviderFingerprints.GetFingerprintData(addrObj, configurationDelegate); // Try to get a list of all FingerprintDataItems. But a PLC300 supports no fingerprints. FingerprintDataItemComposition dataItems = dataResult.FingerprintDataItems; foreach (FingerprintDataItem searchItem in dataItems) { string valueToCompareIdent = searchItem.FingerprintDataIdentifier; string valueToCompareValue = searchItem.FingerprintDataValue; DoAnything(valueToCompareIdent, valueToCompareValue); } } catch (EngineeringTargetInvocationException targetException) { // In case of the not supported PLC this exception will be catched. Console.WriteLine(targetException.Message); } 帮助程序类别 对于此示例而言,需要两种类别。用户可以使用以下程序代码封装特征码数据对。 ////// Helperclass to handle a "Dictionary" as serializeable class object ///[Serializable] public class FingerprintDataPairs : Dictionary, ISerializable { public FingerprintDataPairs(){} public FingerprintDataPairs(SerializationInfo si, StreamingContext context) { KeyValuePair[] dataPair = si.GetValue("KeyValuePairs", typeof(KeyValuePair[])) as KeyValuePair[]; if (dataPair != null) foreach (KeyValuePairpair in dataPair) 借助已保存的 FingerprintDataItems 和当前 FingerprintDataResult,可实现特征码比较 ... string pathDat = "FingerprintDataOverview.dat"; FingerprintDataCompare fingerprintDataSet = new FingerprintDataCompare(); foreach (FingerprintDataItem item in fingerprintDataResult.FingerprintDataItems) fingerprintDataSet.FingerprintDataPairSet.Add(item.FingerprintDataIdentifier, item.FingerprintDataValue); FingerprintDataPairs loadDataSet = new FingerprintDataPairs(); loadDataSet = fingerprintDataSet.LoadFingerprintDataItems(pathDat); if (!fingerprintDataSet.CompareDataSets(loadDataSet, fingerprintDataSet.FingerprintDataPairSet)) { // Here is place to implement user actions. } 5.11.2.8 访问 Step7 上的交叉引用服务 要求 • TIA Portal Openness 应用程序已连接到 TIA Portal。 请参见“连接到 TIA Portal (页 82)” • 已打开一个项目。 请参见“打开项目 (页 122)” • 应用 可在 Step7 对象上使用 TIA Portal Openness 通过 GetService 方法访问 CrossReferenceService。交叉引用在适用的 Step7 对象上提供 IEngineeringService,即 CrossReferenceService。对于试图通过 GetService 方法访问 CrossReferenceService 的不适 用 Step7 对象,从 TIA Portal Openness 返回空值。 提供交叉引用 Openness 支持的 Step7