3. 工艺对象TO基础
在TIA Portal的运动控制体系中,工艺对象(Technology Object,简称TO)是连接PLC逻辑程序与真实驱动/编码器硬件的核心抽象层。PLC的普通I/O指令只能读写布尔量或数值,无法直接表达"轴走到100mm位置""以500mm/s速度运行"这类运动语义。工艺对象正是为填补这一鸿沟而存在:它在CPU内部建立一个带状态、带参数、带闭环控制能力的软件模型,把位置、速度、加速度、使能、回零、限位等运动概念封装成可组态、可编程、可诊断的对象。
理解工艺对象,可以抓住三个关键词:封装、映射、状态机。封装指它把复杂的运动控制算法(位置环、速度前馈、加减速规划)隐藏在内部;映射指它通过组态与实际的驱动装置、编码器接口、机械参数建立对应关系;状态机指它拥有明确的使能、回零、运行、停止、故障等状态,程序只能通过工艺指令推动状态迁移,而不能随意改写内部位置值。因此,工艺对象不是一段可随意调用的函数,而是一个需要先组态、后编程、再调试的"虚拟轴"。
三种核心轴类型及其适用场景
在S7-1200/1500的工艺对象目录中,与运动控制最相关的是三类对象,它们的定位差异直接决定了选型:
- 定位轴(Positioning Axis):最常用的轴类型,具备完整的位置控制能力,可执行绝对定位、相对定位、点动、回零、设定位置等操作。它内部包含位置环,输出可以是脉冲方向(PTO)、模拟量±10V,或通过PROFINET/PROFIBUS驱动报文(如西门子报文3、5、102)控制伺服。适用于单轴定位、丝杠滑台、旋转工作台等场景。
- 同步轴(Synchronous Axis):在定位轴基础上增加"跟随"能力,可通过齿轮比、凸轮盘等方式与一个引导轴(主轴)保持同步关系。它本身通常不独立回零,而是从引导轴获取位置基准。适用于飞剪、印刷套色、多轴同步输送等需要主从协同的场合。
- 外部编码器(External Encoder):只读取编码器位置,不输出控制量,相当于一个"只读的位置传感器对象"。它常用于把实际测量值反馈给同步轴作为引导值,或用于测量卷径、料长、实际速度。它没有使能输出,也不驱动电机。
选型判断可以简化为一句:要驱动电机并控制位置,选定位轴;要跟随另一个轴运动,选同步轴;只测量不驱动,选外部编码器。需要注意的是,同步轴和外部编码器都依赖引导轴或编码器数据,组态时必须先建立数据来源。
添加与配置工艺对象的实际流程
在TIA Portal中,工艺对象不是从指令库拖出来的,而是从项目树的"工艺对象"节点新增。以S7-1500控制一台PROFINET伺服为例,典型操作顺序如下:
- 在项目树中双击"新增对象",选择"定位轴"(Motion Control → Positioning Axis),命名如
Axis_Conveyor。 - 进入"基本参数"页,选择测量单位为mm,轴类型为线性轴(若为旋转分度盘则选模数轴)。
- 在"驱动装置"页选择数据连接方式:若使用PROFINET报文,选择对应的报文类型(如西门子报文105),并关联到已组态的驱动设备。
- 在"机械"页填写丝杠螺距、齿轮比、每转增量。例如丝杠螺距10mm/r,减速比1:5,编码器每转4096增量,则每毫米对应的增量数需由系统自动换算,组态时只需如实填写机械参数。
- 在"位置限制"页设置软限位开关,例如下限-5mm、上限305mm,并勾选"启用软限位"。
- 在"动态"页设置默认动态值:最大速度300mm/s、最大加速度500mm/s²、急停减速度1000mm/s²。
- 在"回零"页选择主动回零方式,指定回零开关输入点与零脉冲信号,设置回零速度与接近速度。
组态完成后,工艺对象会生成一个背景数据块(如Axis_Conveyor_DB),程序中通过MC_Power、MC_Home、MC_MoveAbsolute等指令访问该DB。需要强调的是,组态参数决定了轴的物理边界和安全边界,一旦下载到CPU,轴的实际运动范围、速度上限就受这些参数约束,程序中的动态参数只能小于或等于组态上限。
限制值与动态参数的设置要点
限制值和动态参数是工艺对象中最容易设置不当、也最影响设备安全的部分。它们之间存在明确的层级关系:
| 参数类别 | 典型参数 | 作用 | 设置依据 |
|---|---|---|---|
| 硬限位 | 硬件限位开关 | 物理保护,触发后急停 | 机械行程末端 |
| 软限位 | 软限位开关位置 | 程序级位置边界 | 硬限位内侧留安全余量 |
| 动态限制 | 最大速度、最大加速度 | 组态级速度/加速度上限 | 机械强度、电机能力 |
| 动态默认值 | 默认速度、默认加速度 | 指令未指定时使用 | 工艺节拍与平稳性 |
| 急停减速度 | 急停斜坡 | 故障时快速停止 | 机械可承受的最大减速度 |
设置时建议遵循"由外到内、由大到小"的顺序:先确定硬限位,再在其内侧设置软限位;先确定机械和电机允许的最大速度/加速度,再设置组态上限,最后在程序中按工艺需要给出更小的动态值。例如组态最大速度设为300mm/s,而某段搬运工艺只需80mm/s,则在MC_MoveAbsolute指令的Velocity参数中写80即可,无需修改组态。
参数换算示例
以丝杠传动为例,假设丝杠螺距P = 10 mm/r,减速比i = 5(电机转5圈,丝杠转1圈),编码器分辨率R = 4096 增量/r。则电机每转对应的工作台位移为:
工作台位移/电机转 = P / i = 10 mm / 5 = 2 mm/r
每毫米对应增量 = R / (P / i) = 4096 / 2 = 2048 增量/mm
这个换算关系由TIA Portal在填写机械参数后自动完成,但理解它有助于判断组态是否正确。若实际运行中发现"指令走100mm,实际只走了50mm",通常说明减速比或螺距填反了,应回到机械参数页核对。
总结来看,工艺对象TO是运动控制项目的"轴模型底座":选对轴类型决定了功能边界,填对机械与驱动参数决定了物理映射是否正确,设好限制值与动态参数决定了设备是否安全可控。这三步做扎实,后续的MC指令编程和调试才有可靠基础。