3. 虚拟PLC硬件组态与程序下载
在上一节完成 PLCSIM Advanced 的安装与虚拟实例概念梳理之后,本节要把“虚拟 PLC”真正变成一个可下载、可运行、可被 HMI 访问的目标设备。核心工作全部在 TIA Portal 中完成:新建项目、添加 CPU 设备、组态 PROFINET 接口与 IP 参数、设置子网、指定下载路径,最后把一段简单逻辑程序下载到 PLCSIM Advanced 实例并验证运行。整个过程的关键在于:TIA Portal 里的“设备组态”必须与 PLCSIM Advanced 实例的网络参数严格一致,否则下载会失败或 HMI 无法连接。
一、创建项目与添加虚拟 CPU
打开 TIA Portal,选择“创建新项目”,项目名称建议使用能体现用途的命名,例如 VirtPLC_HMI_Demo,路径避免中文和空格。进入项目视图后,在“项目树 → 添加新设备”中展开“控制器”,选择与实际虚拟实例匹配的 CPU 型号。以 S7-1500 系列为例,常见选择为 CPU 1516-3 PN/DP 或 CPU 1511-1 PN。这里有一个容易忽略的对应关系:PLCSIM Advanced 实例的“虚拟 CPU 类型”必须与 TIA Portal 中添加的 CPU 型号一致,否则下载时会出现“目标设备类型不匹配”的报错。添加完成后,TIA Portal 会自动生成该 CPU 的设备视图与默认的 PROFINET 接口。
二、组态 PROFINET 接口、IP 地址与子网
双击设备视图中的 CPU,进入“设备概览”,选中 PROFINET 接口(通常标识为 X1),在下方“属性 → 常规 → 以太网地址”中设置参数。这里需要区分两个概念:IP 地址是设备在网络中的唯一标识,子网则决定哪些设备可以直接通信。对于虚拟联调,推荐使用一个独立的网段,避免与物理网卡、办公网络冲突。示例参数如下:
- IP 地址:
192.168.0.10 - 子网掩码:
255.255.255.0 - 子网:新建
PN/IE_1,网络 ID 为192.168.0.0
设置完成后,TIA Portal 会在“网络视图”中显示该 CPU 及其 PROFINET 接口。此时还没有任何通信伙伴,但子网已经建立,后续 HMI 或其它虚拟设备只要加入同一子网即可通信。需要特别注意的是:PLCSIM Advanced 实例的 IP 地址必须与这里组态的 IP 完全一致,包括网段和主机号。如果实例使用 192.168.0.20,而 TIA Portal 中组态的是 192.168.0.10,下载时就会提示“无法建立连接”。
三、设置下载路径与 PG/PC 接口
下载路径的设置是虚拟联调中最容易出错的一环。TIA Portal 默认通过物理网卡搜索设备,而 PLCSIM Advanced 创建的是一个虚拟以太网适配器。因此需要在“在线访问”中把 PG/PC 接口指向该虚拟适配器。具体操作是:打开“在线访问”下拉菜单,选择 PLCSIM Virtual Eth. Adapter(不同版本名称可能略有差异,如 Siemens PLCSIM Virtual Ethernet Adapter),然后在其下选择“TCP/IP”协议。此时 TIA Portal 会通过该虚拟网卡扫描同一子网内的设备,正常情况下应能发现 PLCSIM Advanced 实例对应的虚拟 CPU。
如果扫描不到设备,按以下顺序排查:第一,确认 PLCSIM Advanced 实例已经启动且处于 RUN 或 STOP 状态;第二,确认实例的 IP 与 TIA Portal 组态的 IP 完全一致;第三,确认虚拟适配器在 Windows“网络连接”中已启用且未被防火墙拦截;第四,确认 TIA Portal 的 PG/PC 接口确实指向了虚拟适配器而非物理网卡。这四步覆盖了绝大多数下载失败场景。
四、编写并下载简单逻辑程序
为了验证下载链路和运行状态,不需要复杂程序。在 OB1 中编写一段起保停逻辑即可:
// OB1 起保停逻辑示例
// I0.0 启动按钮 I0.1 停止按钮 Q0.0 电机输出
"Q0.0" := ("I0.0" OR "Q0.0") AND NOT "I0.1";
// 定时器示例:启动后延时 3 秒置位 Q0.1
"TON_DB".TON(IN := "Q0.0",
PT := T#3S);
"Q0.1" := "TON_DB".Q;
这段程序包含两个可观察点:Q0.0 的起保停状态,以及 Q0.1 在启动后延时 3 秒的置位行为。编写完成后点击“下载到设备”,TIA Portal 会依次执行编译、建立连接、下载硬件组态和程序块。下载过程中如果弹出“是否覆盖”或“是否启动模块”的提示,选择“全部覆盖”并“启动模块”。下载完成后,CPU 应进入 RUN 模式。
五、验证运行与结果判读
验证分两个层面。第一层是在线状态验证:在项目树中选中 CPU,点击“在线”,观察设备视图中的 CPU 是否显示绿色运行标识;打开“监视表”,添加 I0.0、I0.1、Q0.0、Q0.1 四个变量,切换到“监视”模式。第二层是逻辑行为验证:在监视表中强制 I0.0 为 TRUE,观察 Q0.0 是否变为 TRUE;再强制 I0.1 为 TRUE,观察 Q0.0 是否复位。对于定时器,可以在 Q0.0 为 TRUE 后观察 Q0.1 是否在约 3 秒后置位。
六、本节配置参数速查
| 配置项 | 示例值 | 说明 |
|---|---|---|
| CPU 型号 | CPU 1516-3 PN/DP | 必须与 PLCSIM Advanced 实例一致 |
| IP 地址 | 192.168.0.10 | 两侧必须完全一致 |
| 子网掩码 | 255.255.255.0 | 决定同网段通信范围 |
| 子网名称 | PN/IE_1 | 网络 ID 192.168.0.0 |
| PG/PC 接口 | PLCSIM Virtual Eth. Adapter | 下载通道的关键设置 |
| 验证变量 | I0.0 / I0.1 / Q0.0 / Q0.1 | 起保停与定时器观察点 |