西门子低压断路器SIEMENS授权代理商
西门子中国有限公司授权合作伙伴——浔之漫智控技术(上海)有限公司,作为西门子中国有限公司授权合作伙伴,浔之漫智控技术(上海)有限公司代理经销西门子产品供应全国,西门子工控设备包括S7-200SMART、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。公司国际化工业自动化科技产品供应商,是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。西部科技园,东边是松江大学城,西边和全球**芯片制造商台积电毗邻,作为西门子授权代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理商,西门子PLC模块代理商,
,建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品与此同时,我们
向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。
目前,将产品布局于中、高端自动化科技产品领域,主要销售西门子PLC模块,西门子交换机,西门子变频器,西门子触摸屏,西门子电机,西门子数控软件,西门子电线电缆,西门子低压产品等等
要添加按钮、浏览器控件和相应的程序逻辑,请按照下列步骤操作:
1. 在 UpdateFileName 标签旁边添加一个名为“BrowseUpdateFile”的按钮。
2. 创建一个全局字符串以包含从浏览器返回的路径和文件名:
public String UpdateFilePath = String.Empty;
3. 为 BrowseUpdateFile 按钮添加一个按钮单击方法并添加以下代码:
using (OpenFileDialog openFileDialog1 = new OpenFileDialog())
{
openFileDialog1.InitialDirectory =
@"%userprofile%\documents";
openFileDialog1.Filter = "Upd Files (*.upd)|*.upd|All files
(*.*)|*.*";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
UpdateFilePath = openFileDialog1.FileName;
UpdateFileName.Text = openFileDialog1.SafeFileName;
}
}
添加按钮以使用所选文件更新 CPU 固件
接下来,您必须添加一种方法,以便通过用户选择的固件更新连接的 CPU。
要添加用于执行固件更新的按钮,请按以下步骤操作:
1. 添加名为“FirmwareUpdate”的按钮,并将“更新”(Update) 作为按钮文本。
2. 为按钮添加按钮单击事件并添加以下代码:
CurrentCPU.Selected = true;
Result res = CurrentCPU.SetFirmwareFile(UpdateFilePath);
res = CurrentCPU.FirmwareUpdate(CurrentCPU.ID, true);
res = CurrentCPU.RefreshStatus();
UpdateCPUStatus();
在实际应用程序中,添加检查功能以验证所选文件是否对连接的 CPU 有效。如果出现错
误或选择了无效文件,请向用户提供反馈
验证以下用户操作是否正确运行:
? 当您使用“插入设备”(Insert Device) 按钮连接到 CPU 时,“固件更新”(Firmware
Update) 部分将显示正确的版本。
? 您可以使用“文件浏览”(File browse) 按钮浏览编程设备上的任何文件夹。
? 从浏览器中选择文件后,文件名会显示在“文件”(File) 字段中。
? 选择有效的固件更新文件后单击“更新”(Update),CPU 会将固件更新为您选择的版
本。
此外,测试各种错误情况,例如:
? 在未连接 CPU 的情况下单击“更新”(Update),会显示错误消息。
? 选择无效的固件更新文件后单击“更新”(Update),会显示错误消息您可以按照意愿执行其它测试。根据需要优化您的程序,以提供强大的错误处理功能。如
果您对示例 5 的结果感到满意,可转到示例 7:备份 CPU 并通过备份文件恢复 CPU
(页 42)。
2.7 示例 6:管理组态数据保护
示例 6:管理组态数据保护
示例 6 从示例 5 继续,将添加管理组态数据保护的功能此外,您的程序必须包含以下内容:
? 用于显示当前数据保护状态的字段
? 用于输入数据保护密码的文本框
? 用于设置保护密码的按钮
? 用于删除密码的按钮
添加用于显示当前组态数据保护版本的字段
要添加用于显示组态数据保护的字段:
1. 添加一个名为 "CdpStatus" 的标签以显示当前保护状态。
2. 在标签前添加标识文本“保护状态:”(Protection Status:)。
3. 将以下代码添加到现有 ClearCPUStatus(第 15 页)辅助方法:CdpStatus.Text =
string.Empty;
4. 将以下代码添加到现有 UpdateCPUStatus(第 16 页)辅助方法:CdpStatus.Text =
CurrentCPU.ConfigurationProtectionData.ToString() ;
添加用于设置或清除密码的字段和按钮
您的应用程序需要一个供用户指定数据保护密码的方法。要添加文本框和按钮,请按以下
步骤操作:
1. 向窗体添加一个文本框并将其命名为“CdpPW”。
2. 在文本框旁边添加一个按钮,并将其命名为“CdpSet”。
3. 为 CdpSet 按钮添加按钮单击事件并插入以下代码:
private void CdpSet Click(object sender, EventArgs e)
{
CurrentCPU.SetConfigurationDataProtectionPassword(new
EncryptedString(CdpPW.Text));
UpdateCPUStatus();
}
4. 在 CdpSet 按钮旁边添加一个按钮,并将其命名为“CdpDelete”。
5. 为 CdpSet 按钮添加按钮单击事件并插入以下代码:
private void CdpDelete Click(object sender, EventArgs e)
此外,测试各种错误情况,例如:
? 在未连接 CPU 的情况下单击“设置”(Set) 或“删除”(Delete),会显示错误消息。
? 在“信任”(Trust) 设为“从不”(Never) 的情况下单击“设置”(Set) 或“删除”(Delete),会显
示错误消息。
您可以按照意愿执行其它测试。根据需要优化您的程序,以提供强大的错误处理功能。如
果您对结果感到满意,可转到示例 7:备份 CPU 并通过备份文件恢复 CPU(第 32 页)。
2.8 示例 7:备份 CPU 并通过备份文件恢复 CPU
示例 7 从示例 6 (页 34) 继续,将添加备份当前 CPU 程序和恢复 CPU 程序的功能。要完成
此任务,您的应用程序需要包括以下部分:
? 用于显示备份/恢复文件名称的标签
? 用于启动备份操作的按钮此示例中的操作需要满足以下条件:
? CPU 没有密码保护。
? CPU 中具有用户程序。
添加备份/恢复文件标签
要为备份/恢复文件名添加标签字段,请按照下列步骤操作:
1. 向窗体添加一个标签并将其命名为 BrFile。
2. 向窗体添加一个全局字符串并将其命名为 BrFilespec:
public String BrFilespec = String.Empty;
3. 在方法 ClearCPUStatus (页 15) 中,添加以下代码行:
BrFile.Text = string.Empty;
编写按钮以将 CPU 备份到文件
要为此示例添加备份按钮并编写逻辑,请按照下列步骤操作:
1. 插入一个按钮控件并将其命名为“Backup”。
2. 为了能够执行文件操作,请将以下 using 语句添加到现有 using 语句中:
using System.IO;
3. 为 Backup 按钮添加单击事件并填充以下代码编写按钮以从备份文件恢复 CPU
要为此示例添加恢复按钮并编写逻辑,请按照下列步骤操作:
1. 插入一个按钮控件并将其命名为“Restore”。
2. 为 Restore 按钮添加单击事件并填充以下代码:
CurrentCPU.Selected = true;
CurrentCPU.SelectedConfirmed = false;
if (MessageBox.Show("恢复是一项安全相关的操作,您是否希望继续?",
"Backup / Restore Defaults", MessageBoxButtons.YesNo)
== DialogResult.Yes)
{
CurrentCPU.SelectedConfirmed = true;
}
else
{
return;
}
Result res = CurrentCPU.SetBackupFile(BrFilespec);
res = CurrentCPU.Restore();
对于这两个按钮操作,请检查操作结果并按照您的意愿进行处理。
说明
将程序恢复到故障安全 CPU 是一项安全相关的操作。请参见安全相关操作的用户界面编
程指南 (页 62)中的指南。
可能的扩展名
此示例备份了 CPU 程序和组态,并将其恢复到同一 CPU。您可以添加其它控件并扩展此
示例中的逻辑,从而备份一个 CPU 并将其恢复到另一 CPU。了解 API (页 49) 的功能以
后,即可在网络上的多种设备上执行各种设备操作。验证以下用户操作是否正确运行:
? 如果连接到具有用户程序且未受密码保护的 CPU,则单击“备份”(Backup) 按钮后,会
在“文件”(File) 字段中显示备份文件名。
? 如果单击“复位为出厂设置”(Reset to Factory Defaults),然后单击“恢复”(Restore),则
应用程序会将备份文件重新加载到复位 CPU 中。
? 如果使用“插入设备”(Insert Device) 按钮连接到其它 CPU,则备份/恢复文件为空。
此外,测试各种错误情况,例如:
? 如果尝试备份没有程序的 CPU,不会生成备份文件。
? 如果尝试备份受密码保护的 CPU,不会生成备份文件如果尝试备份 TLS 信任等级设为“从不”(Never) 的 CPU,则会显示错误消息。
? 向 CPU 添加密码保护后,尝试将备份文件恢复到 CPU 会失败。
您可以按照意愿执行其它测试。根据需要优化您的程序,以提供强大的错误处理功能。
与已安装的西门子示例程序比较
运行 SAT SDK File Extractor (页 13) 时,已解压缩了 Examples 文件夹。完成本教程中的
任务后,您可以将 Form1.cs 文件与解压缩的 Examples 文件夹中的 Form1.cs 文件进
行比较。您可以编译并运行西门子示例并将其与您的应用程序进行比较。
2.9 将应用程序分发给您的*终用户
应用程序的*终用户需要以下内容:
? SAT SDK File Extractor (页 13) 创建的 Bin 文件夹
? SAT SDK File Extractor 创建的 Prerequisite 文件夹,或至少 Prerequisite 文件夹中的
“SIMATIC Automation Tool SDK PreReq Installer.exe”文件
? 自定义应用程序 .exe 文件以及属于您的应用程序的所有其它自定义文件。
将自定义文件与解压缩的 API 文件一起放在 Bin 文件夹中。
第三方软件许可条件与版权
SIMATIC Automation Tool SDK 安装列有第三方软件信息的文档,此类信息包括许可条件
和版权以及开源软件信息。安装程序会在安装文件夹的“文件”(documents) 文件夹中为每
种语言安装此文件,具体如下:
语言文件夹 文件名
简体中文 SAT_SDK.ReadMe.OSS.V4.0.SP3.zh-CHS.rtf