2. PLC硬件组态与设备配置
在S7-1200项目中,硬件组态是程序运行前必须完成的第一步。它决定了CPU型号、机架上安装了哪些模块、每个模块的输入输出地址从哪里开始、以及系统为每个硬件对象分配了怎样的硬件标识符。程序中的指令最终都要通过这些地址和标识符去访问真实的物理通道,因此硬件组态一旦出错,即使逻辑完全正确,程序也无法正确控制现场设备。
一、设备视图与机架结构
在TIA Portal中新建项目并添加CPU后,软件会自动进入“设备与网络”视图。左侧的设备概览实际上就是机架的抽象表示:第1槽固定为CPU,第2槽到第9槽用于插入信号模块(SM)、通信模块(CM/CP)等扩展模块。S7-1200的CPU本体已经集成了部分I/O点,例如CPU 1214C DC/DC/DC集成14点DI、10点DO和2点AI,这些集成点同样占用地址空间,但不需要额外插槽。
添加模块时,从右侧硬件目录中找到对应订货号的模块,拖拽到目标插槽即可。需要注意的是,S7-1200的扩展模块必须连续插入,中间不能留空槽,否则编译时会报错。例如在槽2插入SM 1223 DI16/DQ16,槽3插入SM 1231 AI4,槽4插入CM 1241 RS422/485,这样的顺序是合法的;若槽2空置而槽3插模块,则组态无法通过。
二、I/O地址分配规则
每个模块插入后,TIA Portal会自动分配I/O地址,但自动分配的结果不一定符合项目习惯,通常需要手动调整。默认情况下,CPU集成I/O从地址0开始,扩展模块依次向后排列。以CPU 1214C DC/DC/DC为例,其集成DI占用I0.0~I1.5,集成DQ占用Q0.0~Q1.1,集成AI占用IW64~IW66。若在槽2插入SM 1223 DI16/DQ16,系统默认可能分配I8.0~I9.7和Q8.0~Q9.7。
地址分配的核心原则是:同一模块的输入和输出地址相互独立,输入用I、输出用Q,模拟量用IW/QW,且地址不能重叠。在实际项目中,建议按功能区域划分地址段,例如将DI统一规划在I0.0~I31.7,DQ规划在Q0.0~Q31.7,AI规划在IW64~IW127,这样在编写程序时便于查找和记忆。修改地址时,直接在设备概览的“地址”列中双击输入即可,但要注意修改后程序中已使用的绝对地址不会自动更新,需要手动同步或使用符号寻址。
三、硬件标识符的作用
硬件标识符是TIA Portal为每个硬件对象分配的唯一编号,用于在程序中区分不同的模块或通道。例如CPU的PROFINET接口通常标识符为64,槽2的SM 1223标识符可能为257,槽3的SM 1231标识符为258。对于模拟量模块,每个通道还有独立的通道标识符,如257.0、257.1等。
硬件标识符在以下场景中尤为重要:调用通信指令(如GET、PUT、TSEND_C)时需要指定接口的硬件标识符;使用高速计数器、脉冲输出等工艺功能时需要关联对应的硬件标识符;在诊断程序中读取模块状态时也需要通过标识符定位。与I/O地址不同,硬件标识符由系统分配,一般不建议手动修改,否则可能导致指令参数不匹配。
四、参数设置要点
模块插入后,还需要在设备概览下方或属性面板中设置参数。不同模块的参数项差异较大,但有几类参数几乎每个项目都会涉及。
对于数字量输入模块,可以设置输入滤波时间。默认值通常为6.4ms,若现场信号存在抖动,可适当增大到12.8ms或20ms;若需要捕捉快速脉冲,则应减小滤波时间,但要注意不能小于信号的最小脉宽。对于数字量输出模块,可以设置输出冻结状态或诊断中断,例如当输出短路时是否触发诊断报警。
对于模拟量输入模块,参数设置更为关键。以SM 1231 AI4为例,需要设置测量类型(电压/电流/电阻)、测量范围(如±10V、0~20mA、4~20mA)、干扰频率抑制(50Hz/60Hz/400Hz)以及是否启用断线诊断。测量范围选择错误会导致读数完全偏离实际值,例如将4~20mA信号误设为0~20mA,则4mA对应的实际值会被读成0,造成零点偏移。干扰频率抑制应与现场电源频率匹配,国内通常选择50Hz,以抑制工频干扰。
对于通信模块,需要设置通信协议、波特率、数据位、停止位、校验方式等。以CM 1241 RS422/485为例,若用于Modbus RTU通信,需在模块属性中启用Modbus协议,并设置波特率9600、数据位8、停止位1、无校验,同时指定主站或从站角色。这些参数必须与通信对端完全一致,否则通信无法建立。
五、组态检查与常见问题
完成硬件组态后,建议先执行一次编译。编译过程中,TIA Portal会检查插槽连续性、地址重叠、模块兼容性等问题。若编译报错,应根据错误信息逐项排查。常见的组态问题包括:模块插槽不连续、I/O地址与程序中使用的地址不一致、模拟量模块测量范围设置错误、通信模块参数与对端不匹配等。
此外,在下载组态之前,应确认CPU的固件版本与组态中选择的版本一致。若实际CPU固件版本低于组态版本,下载时可能提示版本不匹配,此时需要修改组态中的固件版本或升级CPU固件。下载完成后,可以通过在线诊断查看各模块的状态,确认模块是否正常识别、是否存在诊断报警。
硬件组态是S7-1200项目的基础,它把抽象的机架、模块、通道与程序中的地址和标识符一一对应起来。掌握CPU、信号模块、通信模块的添加与参数设置方法,理解I/O地址分配规则和硬件标识符的作用,是后续编写程序、调试系统、排查故障的前提。在实际操作中,建议养成“先组态、后编程、再校验”的习惯,确保硬件配置与程序逻辑始终一致。