西门子模块配件SIEMENS授权代理商
西门子中国有限公司授权合作伙伴——浔之漫智控技术(上海)有限公司,作为西门子中国有限公司授权合作伙伴,浔之漫智控技术(上海)有限公司代理经销西门子产品供应全国,西门子工控设备包括S7-200SMART、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。公司国际化工业自动化科技产品供应商,是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。西部科技园,东边是松江大学城,西边和全球**芯片制造商台积电毗邻,作为西门子授权代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理商,西门子PLC模块代理商,
,建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品与此同时,我们
向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。
目前,将产品布局于中、高端自动化科技产品领域,主要销售西门子PLC模块,西门子交换机,西门子变频器,西门子触摸屏,西门子电机,西门子数控软件,西门子电线电缆,西门子低压产品等等
GetCommunicationsTimeout 方法 使用 GetCommunicationsTimeout 方法检索 CPU 网络通信超时值(以秒为单位)。 返回类型 方法名称 uint GetCommunicationsTimeout 示例:设置通信超时 //------------------------------------------------------------- // 将 API 入门指南 (页 49) 中的必要代码插入// 此处以编译此示例 //------------------------------------------------------------- #region 获取 CPU 网络通信超时 // 获取 CPU 网络通信超时 uint timeout = Network.GetCommunicationsTimeout(); /* 为简单起见,以上代码示例未检查 */ /* 错误。检查和处理方法所返回的错误 */ /* 对于程序的总体质量至关重要 */ #endregion 4.7.8 GetEmptyCollection 方法 GetEmptyCollection 方法返回一个空的 IProfinetDeviceCollection。您可以 将设备插入空集合中。将设备插入空集合中是扫描网络以查找设备的替代方案。 返回类型 方法名称ValidateNetworkInterface 方法 调用 ValidateNetworkInterface 方法确定网络接口是否有效。如果此方法无法找到 网络接口,会返回错误“InvalidNetworkInterface”。如果接口卡已移除或处于故障状态, 则会导致出现此错误。 方法名称 返回类型 描述 ValidateNetwork Interface() Result 验证此网络接口在该系统上是否仍然 有效。 参数 名称 数据类型 参数类型 描述 nTimeout string in 要验证的网络接口 4.8 HealthCheck 类 4.8.1 HealthCheck 构造函数 .NET 类 HealthCheck 定义在 SimaticAutomationToolHealthCheck.dll 中,支 持创建 PC 数据文件。 要与 PROFINET 网络交互,程序应实例化 HealthCheck 类型的对象,如下所示: HealthCheck myHealthCheck = new HealthCheck(); 4.8.2 ExportPCData 方法 ExportPCData 方法创建一个 HealhCheck.zip 文件,该文件包含有关编程设备的数据。 返回的 HealthCheckResultType 对象指示操作结果。HealthCheck.zip 文件中的 HealthCheck.log 文件包含关于已导出数据或已出现错误的详细信息。 返回类型 方法名称名称 数据类型 参数类型 描述 filePath string In 存储包含已导出 PC 数据的 zip 文件的完整文件路径 示例:导出 PC 数据 using Siemens.Automation.AutomationTool.HealthCheck; #region 导出 PC 数据 HealthCheck myHealthCheck = new HealthCheck(); String healthCheckFilePath = @"c:\export\healthcheck.zip"; HealthCheckResultType hcResult = myHealthCheck.ExportPCData(healthCheckFilePath); if (hcResult == HealthCheckResultType.Success) { //------------------------------------------------------ // 继续执行操作。 // HealthCheck.zip 文件中的 HealthCheck.log 文件 // 包含关于已导出数据的详细信息。 //------------------------------------------------------- } else { //------------------------------------------------------------ // 动作执行失败,生成警告或由用户取消。 // // 如果操作未取消,则 HealthCheck.zip 文件中的 //HealthCheck.log 文件 包含关于 //导出操作的信息。 //------------------------------------------------------------ } #endregion 示例:使用 ProgressChanged 事件监控 PC 数据的导出进程 API 提供 ProgressChanged 事件 (页 142)以监控耗时可能过长的方法进程。 ExportPCData 是一种耗时可能过长的方法要使用 ProgressChanged 事件来监控 ExportPCData 的进程,请将事件处理程序附 加到该事件。然后,操作进程变化时会自动调用事件处理程序。 以下示例显示如何使用 ProgressChanged 事件监控 PC 数据的导出进程。示例代码定义 了一个事件处理程序,并将其附加到 ProgressChanged 事件。当 ExportPCData 完 成时,示例代码将事件处理程序与事件分离。 using Siemens.Automation.AutomationTool.HealthCheck; #region 见监视 PC 数据的导出进度 { HealthCheck myHealthCheck = new HealthCheck(); String healthCheckFilePath = @"c:\export\healthcheck.zip"; // 添加进度事件注册 myHealthCheck.ProgressChanged += HealthCheck_ProgressChanged; HealthCheckResultType hcResult = myHealthCheck.ExportPCData(healthCheckFilePath); // 删除进程事件登入 myHealthCheck.ProgressChanged -= HealthCheck_ProgressChanged; } void HealthCheck_ProgressChanged(object sender,HealthCheckProgressEventArgs e) { String strProgress = String.Format("Processing {0} of {1}", e.WorkItem, e.MaxEntries); // 设置为真,以取消终止进程 e.Cancel = false; } /* 为简单起见,以上代码示例未检查 */ /* 错误。检查和处理方法所返回的错误 */ /* 对于程序的总体质量至关重要 */IProfinetDeviceCollection 类 4.9.1 迭代集合中的项 4.9.1.1 迭代集合中的项 ScanNetworkDevices (页 90) 方法输出类型为 IProfinetDeviceCollection (页 96) 的对象。此类可用于使用 foreach 语法迭代集合中的项,或使用数组语法访问各 IProfinetDevice (页 113)。 扫描包含多台设备的网络可能需要几分钟。返回的 IScanErrorCollection 中的 Succeeded 属性指示扫描是否成功。 示例:循环访问集合中的每台设备 //------------------------------------------------------------- // 将 API 入门指南 (页 49) 中的必要代码插入// 此处以编译此示例 //------------------------------------------------------------- #region 循环访问每台 PROFINET 设备 foreach (IProfinetDevice dev in scannedDevices) { //-------------------------------------------- // 变量“dev”表示 // 此组合中的下一项:IProfinetDeviceCollection //-----------------------------将扫描的设备作为数组进行循环访问 //------------------------------------------------------------- // 将 API 入门指南 (页 49) 中的必要代码插入// 此处以编译此示例 //------------------------------------------------------------- #region 将扫描的设备作为数组进行循环访问 for (int deviceIdx = 0; deviceIdx < scannedDevices.Count; deviceIdx++) { //---------------------------------------------------- // 集合中的每一项都是 IProfinetDevice。 // 变量“dev”是下一个索引设备。 //---------------------------------------------------- IProfinetDevice dev = scannedDevices[deviceIdx]; } #endregion 4.9.1.2 FindDevicesBySerialNumber 方法 使用 FindDevicesBySerialNumber 方法查找集合中序列号相同的所有设备。 方法名称 返回类型 说明 FindDevicesBySerialNumbe r () IProfinetDev ice[] 查找集合中序列号相同的设备 参数 名称 数据类型 参数类型 描述 strArticleNu mber string In 您要查找的设备的订货号。
更多信息订货信息Modular PID Control 包括一个参数化工具和多个功能块
每个编程设备一个授权/参数化工具始终需要 PC
可以根据需要随时将函数块复制到编程设备/PC 上。但是,使用这些函数块的每个 CPU 总是需要一份许可证。
根据不同应用场合必须订购不同的产品:
初始安装:
工具:Modular PID Control,浮动许可证
6ES7 830-1AA11-0YX0
功能块:Modular PID Control 标准函数块,单一许可证
6ES7 860-1AA10-0YX0
如果已有工具和功能块,则可以重复使用:
功能块:标准功能块模块化 PID 控件,单一授权,无软件和文档
过滤集合中的项目 4.9.2.1 集合项 在该集合中,PROFINET 网络上的每台设备都有一个对应的项。该可以包含来自多个不同 产品系列的设备(例如 S7-1200、S7-1500 和 ET 200S)。 该集合还可以包含不同“类别”的设备(例如 CPU 或 IO 站)。对于不同类别的设备,可以 使用特定操作。这可能有助于过滤集合以使其仅包含某些设备的情况FilterByDeviceFamily 方法 FilterByDeviceFamily 方法返回一个集合,该集合仅包含指定产品系列的设备。 返回类型 方法名称 ListFilterByDeviceFamily 参数 名称 数据类型 参数类型 描述 familiesToInc lude ListIn 列表中要返回的设备系列 类型 首先,构建一个或多个设备系列的过滤器。将此过滤器传递给 FilterByDeviceFamily 方法。结果是只包含指定产品系列的设备的 IProfinetDeviceCollection。 说明 传递空的 List会返回空集合。 示例:按照 CPU 系列过滤扫描的设备 此示例仅从扫描设备中筛选出 S7-1200 和 S7-1500 系列设备。 //------------------------------------------------------------- // 将 API 入门指南 (页 49) 中的必要代码插入// 此处以编译此示例 //------------------------------------------------------------- #region 按照 S7-1200 和 S7-1500 系列设备过滤设备ilterOnlyCPUs 方法 API 支持很多只适用于 CPU 的操作。FilterOnlyCPUs 方法可用于对集合进行过滤,使 其仅包含已扫描网络上的 CPU。 返回类型 方法名称 ListFilterOnlyCPUs 此方法会返回一个 ICPU 列表。ICPU interface (页 146) 提供用于 CPU 的属性和方法。 示例:仅从扫描设备中过滤出 CPU 此示例仅从扫描设备中过滤出 CPU。 //------------------------------------------------------------- // 将 API 入门指南 (页 49) 中的必要代码插入// 此处以编译此示例 //------------------------------------------------------------- #region 仅从扫描设备中过滤出 CPU Listcpus = scannedDevices.FilterOnlyCpus(); foreach (ICPU cpu in cpus) { //---------------------------------------------------------- // 循环访问仅包含 CPU 设备的列表 //---------------------------------------------------------- } #endregion 4.9.3 在集合中查找特定设备 4.9.3.1 FindDeviceByIP 方法 使用 FindDeviceByIP 方法按特定设备的 IP 地址在集合中搜索该设备。 返回类型 方法名称 IProfinetD evice FindDeviceByIP将 API 入门指南 (页 49) 中的必要代码插入// 此处以编译此示例 //------------------------------------------------------------- #region 查找位于某个 IP 地址的设备 IProfinetDevice dev = scannedDevices.FindDeviceByIP(0xC0A80001); // 192.168.0.1 if (dev != null) { // 已找到 } #endregion 4.9.3.2 FindDeviceByMAC 方法 使用 FindDeviceByMAC 方法根据特定设备的 MAC 地址在集合中搜索该设备。 返回类型 方法名称 IProfinetD evice FindDeviceByMAC 参数 名称 数据类型 参数类型 描述例:查找位于特定 MAC 地址的设备 //------------------------------------------------------------- // 将 API 入门指南 (页 49) 中的必要代码插入// 此处以编译此示例 //------------------------------------------------------------- #region 查找位于特定 MAC 地址的设备 IProfinetDevice dev = scannedDevices.FindDeviceByMAC(0x112233445566); // MAC 地址:11:22:33:44:55:66 if (dev != null) { // 已找到 } #endregion 4.9.4 设备集合的序列化 4.9.4.1 WriteToStream 方法 使用 WriteToStream 方法将集合的内容存储到外部目标,例如文件。 返回类型 方法名称 Result WriteToStream 参数 名称 数据类型 参数类型 描述 stream Stream In 集合的序列化输出的目标 示例:将集合写入文件 //------------------------------------------------------------- // 将 API 入门指南 (页 49) 中的必要代码插入// 此处以编译此示例返回类型 方法名称 Result ExportDeviceInformation 参数 名称 数据类型 参数类型 描述 ExportFile Path string In 生成的导出文件的目标文件路 径 示例:导出设备信息 //------------------------------------------------------------- // 将 API 入门指南 (页 49) 中的必要代码插入// 此处以编译此示例 //------------------------------------------------------------- #region 将设备信息导出到文件 String exportFilePath = @"c:\export\DeviceInformation.csv"; retVal = scannedDevices.ExportDeviceInformation(exportFilePath); /* 为简单起见,以上代码示例未检查 */ /* 错误。检查和处理方法所返回的错误 */ /* 对于程序的总体质量至关重要