WinCC Flexible 综合教程
第一部分:初识 WinCC Flexible
1 什么是 WinCC Flexible?
WinCC Flexible (全称: Windows Control Center Flexible) 是西门子公司推出的一款用于组态人机界面的软件,HMI 在工业自动化中扮演着“人”与“机器”之间桥梁的角色,操作员通过HMI监控设备状态、下达操作指令,工程师通过HMI查看报警信息、生产数据和工艺参数。

WinCC Flexible 就是用来设计和创建HMI界面的“画笔”和“工具箱”。
2 主要特点
- 直观易用: 图形化界面,拖拽式操作,大大降低了组态难度。
- 功能强大: 支持从微型面板到大型触摸屏的全系列西门子HMI设备。
- 通信灵活: 内置大量PLC(如西门子S7-200/300/400/1200/1500)的驱动程序,通信设置简单。
- 版本兼容性: 注意,WinCC Flexible 已被其新一代产品 WinCC (TIA Portal) 所取代,但对于一些旧项目或特定设备,WinCC Flexible 仍然被广泛使用,本教程基于 WinCC Flexible SP3 (常用版本)。
3 软件安装与授权
- 安装: 下载 WinCC Flexible 安装包,按照向导完成安装,通常需要选择目标设备(如 "精智面板" 或 "精简面板")。
- 授权: 软件需要西门子的授权才能正常运行,通常使用授权文件(
.dll或.lic)进行激活。
第二部分:第一个项目 - Hello, HMI!
1 创建新项目
- 打开 WinCC Flexible 软件。
- 在启动界面,选择 “创建一个新项目”。
- 设备选择: 这是最关键的一步,选择你要组态的HMI硬件型号,选择 "KTP 300 Basic PN" (一个常见的3英寸触摸屏)。
- 设置名称和路径: 给你的项目起一个名字(如
MyFirstHMI),并选择一个保存路径。 - 点击 “创建”,一个空白的HMI项目就诞生了。
2 熟悉开发环境
项目创建后,你会看到几个核心窗口:
- 项目窗口: 位于左侧,以树状结构显示项目的所有元素(画面、变量、报警、配方等),这是项目的“大脑”。
- 工作区: 位于中间,是你绘制和编辑HMI界面的“画布”。
- 属性窗口: 位于右侧,用于设置选中对象(如按钮、文本、I/O域)的各种属性(如颜色、字体、功能)。
- 工具箱: 位于顶部或右侧,包含了所有可以添加到画面中的控件(如按钮、图形、I/O域、报警视图等)。
3 创建第一个画面
- 在 项目窗口 中,右键点击 "画面" 文件夹,选择 "新建画面..."。
- 给新画面命名,
StartScreen。 - 双击
StartScreen,它就会在工作区中打开。
4 添加一个简单的文本对象
- 从 工具箱 中,找到 “基本对象” -> “文本”,并将其拖拽到工作区的中央。
- 在右侧的 属性窗口 中,找到 “文本” 属性栏,输入文字:
欢迎使用HMI系统。 - 你还可以在这里修改文本的字体、大小、颜色等。
5 添加一个按钮
- 从 工具箱 中,找到 “按钮”,拖拽到文本下方。
- 在 属性窗口 中,修改 “文本” 属性为:
进入主画面。 - 选中这个按钮,在 属性窗口 的 “事件” 选项卡中,双击 “点击” 事件。
- 在弹出的 “函数” 窗口中,选择 “画面导航” -> “显示画面”。
- 在下方的 “画面” 下拉框中,选择你之前创建的
StartScreen(如果只有一个画面,可以创建一个新画面如MainScreen来测试)。 - 点击 “确定”,点击按钮,HMI应该会切换到指定画面。
恭喜!你已经完成了你的第一个HMI交互!
第三部分:核心功能详解
1 变量 - HMI的“血液”
变量是连接HMI和PLC的桥梁,HMI通过变量从PLC读取数据(如温度、压力),或将数据写入PLC(如启动/停止命令)。

创建内部变量
- 在 项目窗口 中,双击 "变量" 文件夹。
- 右键点击 "内部变量",选择 “添加变量”。
- 设置属性:
- 名称:
Motor_Status(变量名最好有含义) - 数据类型:
Bool(布尔型,用于表示开/关) - 地址: 留空(内部变量没有PLC地址)
- 更新周期:
周期性(HMI会定期刷新这个值) - 初始值:
False
- 名称:
创建外部变量 (连接PLC)
假设我们要连接一个西门子S7-200 PLC。
- 确保HMI和PLC已通过网线或串口正确连接,并且PLC处于运行状态。
- 在 项目窗口 中,双击 "变量" 文件夹。
- 右键点击 "外部变量",选择 “添加新的驱动程序...”。
- 选择 "SIMATIC S7 200 Protocol Suite.chn",点击 “确定”。
- 右键点击新添加的驱动程序,选择 “添加新的连接...”。
- 给连接命名,如
PLC_Connection,设置PLC的IP地址或站地址,点击 “确定”。 - 现在右键点击
PLC_Connection,选择 “添加新的变量...”。 - 设置属性:
- 名称:
Motor_Start - 数据类型:
Bool - 地址:
I0.0(假设PLC的输入点I0.0连接了启动按钮) - 更新周期:
周期性
- 名称:
- 用同样的方法,再创建一个变量
Motor_Run,地址为Q0.0(假设PLC的输出点Q0.0控制电机运行指示灯)。
2 I/O域 - 数据的“窗户”
I/O域是HMI上用于显示或输入数据的控件。
- 打开
StartScreen画面。 - 从 工具箱 中,拖拽一个 “I/O 域” 到画面上。
- 在 属性窗口 中,找到 “输入/输出域” 选项卡。
- 过程变量: 点击选择框,选择我们之前创建的内部变量
Motor_Status。 - 输出格式: 选择
文本,然后在 “文本输出” 中,设置True时显示为"运行",False时显示为"停止"。 - 模式: 选择
输出,当PLC的I0.0状态改变时,这个I/O域会显示“运行”或“停止”。
3 报警系统 - 问题的“警报器”
报警用于在设备发生异常时通知操作员。
-
创建报警文本:
(图片来源网络,侵删)- 在 项目窗口 中,双击 "报警" -> "报警文本"。
- 右键点击,选择 “新建报警”。
- 编号:
101 - 文本:
"电机过载!" - 报警类别: 选择
错误。 - 地址: 点击选择框,选择外部变量
Motor_Status,并设置触发条件为等于 1。
-
显示报警:
- 打开任意一个画面。
- 从 工具箱 中,拖拽一个 “报警视图” 控件到画面上。
- 在 属性窗口 中,可以设置显示的报警数量、是否显示报警行号等。
- 运行项目,当PLC的
Motor_Status变为True时,报警视图中就会显示 "电机过载!" 的报警信息。
4 趋势图 - 数据的“心电图”
趋势图用于实时或历史地显示数据变化曲线。
-
创建归档:
- 在 项目窗口 中,双击 "归档"。
- 右键点击,选择 “新建归档”。
- 名称:
Temp_Archive - 变量: 选择一个模拟量变量,如
Temperature(需要先创建一个地址为AIW0的Real类型外部变量)。 - 归档模式: 选择
循环归档,并设置采样周期和归档大小。
-
显示趋势:
- 打开一个画面,从 工具箱 中拖拽一个 “趋势图” 控件。
- 在 属性窗口 中,将 "归档" 设置为
Temp_Archive。 - 你还可以设置时间轴、数值轴的属性,以及曲线的颜色和标签。
5 配方 - 工艺的“配方本”
配方用于存储和管理一组工艺参数,方便在不同产品或工况间切换。
-
创建配方视图:
- 在 项目窗口 中,右键点击 "配方",选择 “添加配方”。
- 给配方命名,如
Product_A_Recipe。 - 在配方中添加多个变量,如
Speed,Temperature,Pressure,并为它们设置默认值。
-
添加配方控件:
- 从 工具箱 中,拖拽一个 “配方视图” 和一个 “配方按钮”。
- 配方视图: 用于显示和编辑当前配方的参数。
- 配方按钮: 用于执行“加载配方”、“保存配方”等操作,在按钮的 事件 -> 点击 中,可以配置其功能。
第四部分:项目编译与下载
完成所有组态后,需要将项目编译成HMI可以识别的文件,并下载到HMI设备中。
-
设置PG/PC接口:
- 在Windows的“开始”菜单中,搜索并打开 “设置PG/PC接口”。
- 在“应用程序访问点”列表中,选择你实际使用的通信方式,如
TCP/IP (Intel®) -> 西门子MPI/PROFIBUS-DP(对于以太网通信) 或PC/PPI cable (PPI)(对于串口通信)。 - 点击 “确定”。
-
连接HMI设备:
- 用网线或串口线连接电脑和HMI设备。
- 在WinCC Flexible的顶部菜单栏,点击 “项目” -> “传送” -> “传送”。
- 软件会自动搜索网络中或通过串口连接的HMI设备,选择你的设备,点击 “确定” 建立连接。
-
编译项目:
- 在传送窗口中,点击 “编译” 按钮。
- 软件会检查项目是否有错误,并生成一个
.ap15(或根据设备型号变化的) 文件,如果编译成功,会在下方显示绿色的对勾。
-
下载项目:
- 编译成功后,点击 “传送” 按钮。
- 项目文件会被下载到HMI设备中,下载完成后,HMI会自动重启并运行你的项目。
第五部分:进阶技巧与最佳实践
- 使用库: 将常用的、可复用的控件组合(如带报警指示的电机启停按钮)保存为库文件,在其他项目中直接调用,提高开发效率。
- 画面模板: 创建一个包含所有公共元素(如公司Logo、时间显示、报警栏)的画面模板,所有新画面都基于此模板创建,保证界面风格统一。
- 脚本: 对于复杂的逻辑,可以使用VBScript或CScript编写脚本,实现更灵活的控制,在画面事件中编写脚本来动态改变某个控件的属性。
- 模拟器: 在没有真实HMI和PLC的情况下,可以使用WinCC Flexible自带的 “模拟器” 来测试项目,在“项目”菜单中选择“模拟器”,它会模拟HMI的运行,并允许你手动改变变量的值来测试画面逻辑。
- 版本管理: 对重要项目,使用Git等版本控制工具进行管理,避免文件丢失和混乱。
第六部分:资源与学习
- 西门子官方文档: 最权威的学习资料,在西门子官网可以下载到WinCC Flexible的完整手册。
- 西门子官方社区: 寻找技术支持和与其他工程师交流。
- 视频教程: 在B站、YouTube等平台搜索“WinCC Flexible教程”,有大量中文和英文的视频课程,非常直观。
- 实践项目: 最好的学习方式是动手实践,尝试为自己熟悉的一个小型设备(如一个传送带、一个水箱)设计一套完整的HMI监控界面。
希望这份教程能帮助你顺利入门WinCC Flexible!祝你学习愉快!
