4. 驱动装置与PLC通信集成

在TIA Portal运动控制项目中,PLC与驱动装置之间的通信集成是整个控制链路的“神经中枢”。无论是SINAMICS G120、S120还是V90伺服驱动器,PLC都需要通过现场总线周期性交换控制字、状态字、转速给定、位置反馈等过程数据。本节围绕通信协议选择、报文配置、参数映射与数据交换四个层面展开,帮助读者建立从物理连接到数据语义的完整认知。

一、PROFINET与PROFIBUS的选型判断

PROFINET基于工业以太网,支持100 Mbps全双工、实时通道(RT)和等时同步实时(IRT),典型循环周期可达1 ms甚至更低,适合多轴同步、凸轮耦合等对抖动敏感的场景。PROFIBUS DP基于RS-485,典型速率9.6 kbps~12 Mbps,循环周期通常在1~10 ms量级,布线简单、抗干扰成熟,适合单轴调速或对同步精度要求不高的场合。

选型时可参考以下判断依据:若项目要求多轴插补、电子齿轮/凸轮同步、周期抖动小于100 μs,优先选PROFINET IRT;若仅为单轴速度控制、设备改造且现场已有DP总线,可沿用PROFIBUS DP。需要注意的是,PROFINET设备名称(Device Name)必须与TIA Portal中组态的命名完全一致,否则PLC无法建立AR(Application Relation);而PROFIBUS依赖站地址拨码或组态地址,二者在调试阶段的排错入口不同。

PROFINET / PROFIBUS 通信集成结构 PLC (S7-1500) PROFINET 控制器 报文组态 / 过程映像 PROFINET RT/IRT SINAMICS 驱动 G120 / S120 / V90 报文接口 (PZD) 参数 rxxxx / pxxxx 动力线 M 电机 周期性过程数据交换(以标准报文1为例) PLC → 驱动 (输出) STW1 控制字 (16位) NSOLL_A 转速给定 (16位) 驱动 → PLC (输入) ZSW1 状态字 (16位) NIST_A 转速反馈 (16位) PZD 输出 PZD 输入

二、西门子报文的选择逻辑

报文(Telegram)决定了PLC与驱动之间PZD(过程数据)的数量、含义和排列顺序。TIA Portal中常见的西门子报文包括:

  • 标准报文1(Standard Telegram 1):2个PZD,STW1+NSOLL_A / ZSW1+NIST_A,适用于基本转速控制。
  • 标准报文2:4个PZD,增加一个控制字和一个状态字,用于扩展功能。
  • 标准报文3:2个PZD,但转速给定为32位,精度更高。
  • 标准报文5/6:用于位置控制,包含STW1、POS_STW、位置给定/反馈等。
  • 西门子报文102/105/106:自由报文,可自定义PZD互联,适合特殊工艺。

选择报文时,核心原则是“控制需求决定PZD数量与类型”。例如,仅做速度控制且精度要求一般,选标准报文1即可;若需要读取驱动内部温度、电流等参数,可通过PKW(参数通道)或自由报文扩展。注意:报文一旦组态,驱动的参数互联(如p0922)会自动匹配,但若手动修改了p0922,需确保与TIA Portal组态一致,否则会出现“报文不匹配”报警。

三、驱动参数与PLC数据交换的实现

在TIA Portal中,将驱动添加到PROFINET网络后,需在设备视图中选择报文并分配I/O地址。以标准报文1为例,PLC侧的输出地址(如QW64)对应STW1,QW66对应NSOLL_A;输入地址(如IW64)对应ZSW1,IW66对应NIST_A。这些地址可直接在程序中使用,也可通过“工艺对象”或“SINA_SPEED”等库函数进行封装。

实际编程时,控制字STW1的位定义至关重要:位0=ON/OFF1,位1=OFF2,位2=OFF3,位3=使能运行,位4=使能斜坡函数发生器,位5=使能斜坡函数发生器保持,位6=使能转速设定值,位7=故障复位。例如,要让驱动以500 rpm运行,可先写STW1=16#047F(使能运行),再写NSOLL_A=500(假设转速标定为16384对应额定转速,需根据驱动参数换算)。

状态字ZSW1的位0=准备就绪,位1=运行就绪,位2=运行使能,位3=故障,位6=禁止合闸。PLC程序应实时监视ZSW1,当位3=1时触发故障处理逻辑。转速反馈NIST_A的标定通常为16384对应额定转速,若额定转速为1500 rpm,则实际转速 = NIST_A × 1500 / 16384。

调试提示:首次下载组态后,建议先使用“监控表”强制STW1=16#047F,观察ZSW1是否变为16#EF31(典型运行就绪状态),再给定转速。若ZSW1始终为0,检查PROFINET设备名称、IP地址、报文组态是否一致。

四、参数通道(PKW)与自由报文的应用

当需要读写驱动参数(如p1120加速时间、r0027电流)时,可使用PKW通道。标准报文1不包含PKW,需选择“标准报文1,PKW”或自由报文。PKW为4字或8字结构,包含任务ID、参数号、索引和参数值。例如,读取r0027(输出电流)时,PLC发送PKW任务:任务ID=1(读请求),参数号=27,索引=0;驱动返回任务ID=7(读响应)和参数值。

自由报文(如西门子报文102)允许用户自定义PZD互联,例如将驱动参数r0063(实际转速)互联到PZD2,或将PLC的某个字互联到驱动的p1070(主设定值)。这种灵活性适合非标设备,但需要同时修改驱动参数和TIA Portal组态,调试复杂度较高。

五、通信配置的检查清单

检查项PROFINETPROFIBUS
设备名称/站地址名称必须与组态一致站地址拨码或组态一致
报文选择p0922与TIA组态一致p0922与TIA组态一致
I/O地址检查设备概览中的地址检查DP从站地址映射
循环周期RT 1~4 ms,IRT可更低DP 1~10 ms
故障诊断查看PROFINET诊断缓冲区查看DP诊断报文

完成上述配置后,PLC与驱动之间的数据交换即可建立。实际项目中,建议将控制字、状态字、转速给定与反馈封装为功能块(FB),并在OB1或循环中断OB中调用,确保周期一致性。对于多轴系统,还需注意各轴的报文地址不要重叠,并合理分配循环中断的相位,避免通信负载过高导致抖动。