工控PLC技术网
本指南专注于威纶通HMI与西门子S7-1200/S7-1500系列PLC的通信配置,涵盖标签导入、地址映射、数据类型适配、通讯设置及常见故障排查等核心内容,适用于工业自动化场景下的设备互联调试。
适用范围:威纶通cMT X系列、MT系列等主流HMI,西门子S7-1200/S7-1500 PLC,支持绝对寻址与符号寻址两种模式。
一、标签导入操作
1.1 标准标签导入步骤
- 选择驱动类型:Siemens S7-1200/S7-1500(Absolute Addressing/S7CommPlus Symbolic)(Ethernet)
- 点击「导入标签」,选择对应的标签文件(.sx、.xlsx、.ap*等格式)
- 勾选「标签名称使用S7-1200格式」和「保留现有标签」(可选)
- 确认DB编号与文件路径,点击「导入」完成操作
1.2 标签导入失败解决方案
常见报错:未知的数据类型(如DB1000)、请设置文件路径等
- 确保DB块已勾选「优化块访问」功能
- 在PLC属性栏保护选项中,勾选「允许PUT/GET访问」
- 博图程序必须完成编译,未编译的程序无法正常导入标签
- 程序存储路径避免包含中文字符,建议使用纯英文路径
- 若涉及FB块,先取消勾选相关设置再建立DB块,最后整体编译保存
- 若DB块包含UDT格式、IEC_TIMER等自定义数据类型,直接选择AP文件导入(.AP为博图工程后缀)
1.3 快捷导入方法(复杂数据块)
针对DB数据块(含基础数据、复杂数组、64bit资料、结构体等),无需手动逐个添加标签:
- 选择「Siemens S7-1200/1500(S7CommPlus, Symbolic Addressing)(Ethernet)」驱动
- 导入标签时直接选择博图工程的AP文件,实现一键导入
- 该方法支持cMT X系列机型,大幅提升标签配置效率
二、地址类型使用规范
2.1 DBN与DBX地址类型区别
| 地址类型 | DB范围 | 字节范围 | 地址格式 | 适用场景 |
|---|---|---|---|---|
| DBN | 0~65535 | 0~9999 | FFFD(F=DB块,D=地址) | 常规数据块访问,地址范围适中 |
| DBX | 0~10700 | 0~65535 | FFFFDDDD(F=DB号,D=字节号) | 大容量数据块访问,支持更大字节范围 |
2.2 西门子PLC地址与HMI地址对应关系
| PLC端地址格式 | HMI对应地址格式 | 备注说明 |
|---|---|---|
| DB5.DBW2 | DB5地址2 或 DBN地址50002 | 单字地址,不足四位地址需用零补齐 |
| DB5.DBD40 | DBDN 50040 | 双字地址,DB块号+地址拼接 |
| DB5.DBX2.1 | DB5 BIT 21 或 DBN BIT 500021 | 位地址,格式为「DB块号+BIT+位编号」 |
2.3 64位长实数地址选用
当西门子PLC使用64位长实数类型时,HMI地址配置方法:
- 进入HMI系统参数设置→设备→选择Siemens S7-1200/1500设备
- 在数值元件的地址类型中,选用DBLX或DBLN对应配置
- 确保地址格式符合FFFFDDDD范围(0~107006555)
- 仅cMT X系列机型支持LREAL类型,MT8102iQ等机型不支持该类型
三、PLC与HMI数据类型对应表
| 西门子PLC定义类型 | 威纶通HMI使用类型 | 适用地址类型 |
|---|---|---|
| String(字符串) | DBn String1 / DBx String | DBN、DBX |
| array of char(字符数组) | DBn String / DBx String | DBN、DBX |
| char(字符) | DBn String / DBx String | DBN、DBX |
| array(数组) | 对应数组类型标签 | DBN、DBX(支持一键导入) |
| S5Time | 时间类型标签 | 仅支持Absolute Addressing驱动 |
| LREAL(64位长实数) | 64bit长实数类型 | DBLX、DBLN(仅cMT X支持) |
提示:HMI数据类型需与PLC严格对应,否则会出现数据读取异常或标签导入失败。
四、标签通讯完整配置流程
- 步骤1:驱动选择 - 在HMI系统参数设置中,添加「Siemens S7-1200/57-1500 (Absolute Addressing) (Ethernet)」驱动
- 步骤2:网络配置 - 设置PLC的IP地址,确保与触摸屏IP在同一网段(如PLC:192.168.1.1,HMI:192.168.1.X)
- 步骤3:PLC权限设置 - 在西门子PLC属性栏的保护选项下,勾选「从远程伙伴使用PUT/GET通讯访问」
- 步骤4:DB块配置 - 确保DB块已编译,勾选优化块访问和允许PUT/GET访问
- 步骤5:标签导入 - 选择对应的标签文件(.xlsx、.ap*等),确认DB编号后导入
- 步骤6:参数调整 - 设置地址整段间隔(默认5 words)、最大读取字数(100 words)、最大写入字数(128 words)
- 步骤7:通讯测试 - 启用HMI离线模拟(使用LB-12358),验证数据读写是否正常
可选配置:若需使用UDP协议通讯,在设备属性中勾选「使用UDP(User Datagram Protocol)」。
五、结构体标签导入方法
针对西门子PLC中的结构体数据,HMI标签导入流程:
- 步骤1:在EasyBuilder Pro软件中,添加「Siemens S7-1200/S7-1500 (Absolute Addressing) (Ethernet)」绝对地址驱动
- 步骤2:点击「导入标签」,在导入类型中选择「Import Files (.ap*)」格式
- 步骤3:选择博图工程生成的.ap后缀文件,支持Linear(线性)或Hierarchical(层级)导入方式
- 步骤4:导入完成后,结构体中的各个成员将自动生成对应的标签,无需手动拆分
注意:结构体导入仅支持S7CommPlus协议驱动,需确保PLC程序已完整编译并保存。
六、常见通讯问题排查
6.1 复归型按钮点动后无法复位
问题现象:HMI上的复归型按钮点动操作后,状态无法自动复位
- 原因:西门子PLC的FB块中使用了inout变量,该变量支持PLC与HMI双向读写,调用FB时可能被PLC改写值
- 排查方法:将PLC切换至stop模式测试,若stop模式下正常、run模式异常,即可确认是PLC写值导致
- 解决方案:修改FB块变量类型,避免使用inout变量;或在HMI中添加复位逻辑,确保点动后状态自动恢复
6.2 LREAL类型变量导入失败
问题现象:使用MT8102iQ等机型时,LREAL类型变量无法导入
- 原因:部分MT系列机型不支持LREAL(64位长实数)类型
- 解决方案:更换为cMT X系列机型;或在PLC中将LREAL类型转换为其他支持的类型(如REAL)后再导入
6.3 导入标签提示「请设置文件路径」
问题现象:导入标签时弹出路径相关报错,无法完成导入
- 原因:DB块中包含UDT自定义数据类型、IEC_TIMER等特殊类型,普通文件导入不支持
- 解决方案:放弃单个DB文件导入,直接选择博图工程的.ap文件进行一键导入
6.4 通讯连接失败
- 排查1:检查HMI与PLC的IP是否在同一网段,子网掩码、网关配置是否一致
- 排查2:确认PLC的PUT/GET访问权限已开启,未勾选则无法建立通讯
- 排查3:检查防火墙设置,是否阻挡了TCP/IP通讯(端口号102)
- 排查4:DB块未编译或编译出错,重新编译PLC程序后再尝试连接
- 排查5:通讯线缆或交换机故障,更换硬件后测试
七、西门子标签协议使用区别
| 协议类型 | 核心特点 | 支持功能 | 适用机型 |
|---|---|---|---|
| Siemens S7-1200/S7-1500 (Absolute Addressing) (Ethernet) | 绝对寻址模式,兼容性强 | 支持S5Time数据类型导入,基础标签配置 | 全系列威纶通HMI |
| Siemens S7-1200/S7-1500(S7CommPlus, Symbolic Addressing)(Ethernet) | 符号寻址模式,导入效率高 | 快速导入标签、结构体导入、AP文件一键导入 | 主要支持cMT X系列 |
选择建议:简单应用场景使用绝对寻址协议;复杂数据块(含结构体、数组)推荐使用S7CommPlus协议,提升配置效率。