ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

西门子S7-1200与V90伺服PTI控制实战指南

西门子S7-1200与V90伺服PTI控制实战指南 1. 为什么这套组合值得单独写一篇实操记录西门子S7-1200系列PLC搭配V90伺服驱动器在中小型自动化设备里算是非常常见的一套组合。尤其是1215C DC/DC/DC这个型号本体自带脉冲输出功能做点对点PTO位置控制的时候不需要额外加定位模块硬件成本能压下来不少。但实际做项目的时候我发现很多人卡在几个地方一是PTI接线到底怎么接手册翻来翻去还是不确定二是PLC侧和驱动器侧的参数怎么对应脉冲当量、电子齿轮比这些概念容易绕晕三是调试阶段电机不动或者方向反了不知道从哪查起。这篇内容就是把我自己从选型、接线、组态、编程到联调整个流程踩过的坑和验证过的做法整理出来。适合刚接触伺服控制的朋友也适合之前只用过变频器做速度控制、现在要升级到位置控制的同行。整套方案的核心思路是用1215C本体集成的脉冲输出点通过PTIPulse Train Input接口直接驱动V90位置环在驱动器内部闭合PLC只负责发脉冲和方向信号。这种点对点控制方式结构简单、响应快在单轴定位场景里性价比很高。需要提前说明的是下面涉及的具体参数值是基于我手头这台V90 PN版固件版本V1.05和1215C DC/DC/DC固件V4.5实测整理的不同固件版本菜单路径可能略有差异但核心逻辑一致。接线图我会用文字加表格的方式详细说明方便你直接对照操作。2. 方案选型与核心思路拆解2.1 为什么选1215C DC/DC/DC而不是其他型号S7-1200系列里CPU 1215C DC/DC/DC这个型号有几个关键特性值得关注。首先是本体集成4路高速脉冲输出支持PTOPulse Train Output模式最高频率可以到100kHz具体取决于固件版本和输出点对于大多数中小型伺服应用来说够用了。其次是集成14点DI和10点DQ做点对点控制的时候除了脉冲和方向信号通常还需要使能、报警复位、限位这些辅助信号本体点数基本能覆盖不用额外扩展模块。对比一下其他方案如果用1214C脉冲输出路数少一些做单轴够用但扩展性差如果用1212C点数更紧张。1215C算是性能和成本比较平衡的选择。另外DC/DC/DC意味着数字量输入是24V直流数字量输出是晶体管输出不是继电器这一点很关键——只有晶体管输出才能发高速脉冲继电器输出频率跟不上这点新手容易忽略。V90这边我选的是PN版PROFINET接口但这次用的是PTI控制方式也就是走脉冲方向信号。为什么不直接用PROFINET总线控制因为总线控制需要配置工艺对象、组态报文调试门槛更高而且对于单轴简单定位来说PTI方式响应更直接编程也更直观。当然如果你后续要扩展多轴或者做插补那还是建议走总线。2.2 PTI控制的核心原理PTI全称Pulse Train Input翻译过来就是脉冲串输入。它的工作逻辑是这样的PLC的脉冲输出点按照设定的频率发出脉冲脉冲的数量决定电机转动的角度位置脉冲的频率决定电机转动的速度。方向信号则是一个高低电平决定电机正转还是反转。这里有个关键概念叫电子齿轮比。V90驱动器内部会把接收到的脉冲数按照电子齿轮比进行换算再对应到电机的实际转数。举个例子如果电机编码器是20位1048576脉冲/转而你希望PLC发10000个脉冲电机转一圈那电子齿轮比就要设置成让驱动器把10000个输入脉冲对应到1048576个编码器脉冲。这个比值设置对了位置控制才准确。注意电子齿轮比的分子分母设置不当会导致电机实际走的距离和理论计算不符或者出现电机抖动、异响。建议先用默认值测试确认基本动作后再精调。2.3 整体控制架构整套系统的信号流向是这样的PLC程序里用工艺对象或者直接指令控制脉冲输出→脉冲和方向信号通过屏蔽电缆传到V90的PTI接口→V90内部完成位置环和速度环控制→驱动电机运动。同时V90的报警信号、到位信号可以反馈回PLC的输入点形成闭环监控。这种架构的好处是PLC的扫描周期不影响位置控制精度因为位置环在驱动器内部以很高的频率闭合PLC只负责发指令。缺点是PLC无法实时知道电机当前的确切位置除非读编码器反馈但对于点对点定位来说通常只需要知道“到了没有”用到位信号就够了。3. 硬件接线详解与PTI接口说明3.1 硬件清单与准备在动手接线之前先把需要的东西备齐。我列一下我这套配置的清单序号名称型号/规格数量备注1PLC西门子1215C DC/DC/DC1固件V4.52伺服驱动器西门子V90 PN版1固件V1.053伺服电机西门子1FL6系列1配V904开关电源24V/10A1给PLC和驱动器供电5屏蔽电缆双绞屏蔽线若干脉冲信号用6断路器根据电机功率选1主回路保护7编码器电缆V90配套1电机到驱动器这里重点说一下屏蔽电缆。脉冲信号频率高抗干扰能力差如果用普通导线很容易出现丢脉冲、电机抖动的问题。我试过用普通线临时测试结果电机走位偏差很大换成双绞屏蔽线之后立刻稳定了。屏蔽层要单端接地一般接在驱动器侧。3.2 V90 PTI接口引脚定义V90的PTI接口是一个50针的SCSI接口具体型号是X8引脚比较多但点对点控制只需要用到其中几个。我把关键引脚整理成表格引脚号信号名称功能说明接PLC侧1PULSE脉冲信号正DQ输出点2PULSE-脉冲信号负0V公共端3DIR方向信号正DQ输出点4DIR-方向信号负0V公共端5ENABLE使能信号正DQ输出点6ENABLE-使能信号负0V公共端7READY就绪信号正DI输入点8READY-就绪信号负0V公共端9ALM报警信号正DI输入点10ALM-报警信号负0V公共端实际接线的时候PULSE和DIR是必须的ENABLE建议接上这样PLC可以控制驱动器使能。READY和ALM是反馈信号接上之后PLC能知道驱动器状态调试和排查问题的时候很有用。提示不同版本的V90PTI接口引脚定义可能有细微差异接线前务必对照你手头驱动器的说明书确认。我曾经因为参考了旧版手册把DIR和DIR-接反了结果电机方向不受控查了半天才发现是引脚定义变了。3.3 PLC侧接线要点1215C DC/DC/DC的脉冲输出点是有固定分配的。根据西门子官方文档CPU 1215C的脉冲输出点默认是Q0.0到Q0.3这四路。我这次用Q0.0做脉冲输出Q0.1做方向输出Q0.2做使能输出。接线的时候注意几点公共端接法晶体管输出是PNP型源型输出公共端1M接24V负极0V输出点导通时输出24V正电压。所以V90侧的PULSE-、DIR-、ENABLE-要接到0V形成回路。限流电阻V90的PTI输入口内部有光耦一般不需要额外加限流电阻但如果你的PLC输出电流较大建议串一个1kΩ左右的电阻保护一下。屏蔽层处理脉冲和方向信号的屏蔽层接在V90侧的金属外壳上PLC侧悬空避免形成地环路。我实际接线的时候用的是PLC自带的24V输出给V90的使能信号供电但脉冲和方向信号是单独走的屏蔽线。这里有个细节PLC的24V输出容量有限如果同时给多个信号供电要注意总电流不要超过额定值。1215C的24V输出最大好像是400mA具体查手册带几个光耦没问题但别接大负载。3.4 完整接线图说明由于不能画图我用文字描述一下完整的接线关系主回路部分三相电源经过断路器接到V90的L1、L2、L3V90的U、V、W接到电机。这部分按常规接线注意相序不要接错。控制回路部分24V开关电源的正极接到PLC的L和V90的24V输入正极24V开关电源的负极接到PLC的M和V90的0VPLC的Q0.0接到V90的引脚1PULSEPLC的Q0.1接到V90的引脚3DIRPLC的Q0.2接到V90的引脚5ENABLEV90的引脚2、4、6接到0VV90的引脚7READY接到PLC的I0.0V90的引脚9ALM接到PLC的I0.1V90的引脚8、10接到0V这样接完之后PLC可以通过Q0.0发脉冲、Q0.1控方向、Q0.2控使能同时通过I0.0和I0.1读取驱动器状态。4. 驱动器参数设置与PLC组态4.1 V90驱动器关键参数设置V90的参数可以通过面板操作也可以用V-ASSISTANT软件。我建议用软件因为参数多面板操作太慢。关键参数如下参数号名称设置值说明p29003控制模式11PTI模式p29010脉冲当量10000每转脉冲数p29011电子齿轮比分子1根据实际调整p29012电子齿轮比分母1根据实际调整p29020脉冲输入形式00脉冲方向p29021脉冲滤波根据频率设高频时减小p29030使能信号逻辑11高电平使能这里重点解释脉冲当量和电子齿轮比的关系。脉冲当量p29010设置的是“电机转一圈需要多少个脉冲”。如果你设成10000那PLC发10000个脉冲电机就转一圈。电子齿轮比是在此基础上做微调比如机械结构需要电机转2圈工作台走1mm那可以通过电子齿轮比来补偿。我一般先把p29010设成10000电子齿轮比设1:1测试基本动作。确认没问题后再根据实际机械传动比精调。比如丝杠导程是10mm电机转一圈工作台走10mm那10000个脉冲对应10mm每个脉冲对应0.001mm这个精度对大多数应用够了。注意修改参数后需要保存并重启驱动器才生效。我有一次改完参数直接测试发现没变化以为参数错了后来才发现是没重启。4.2 PLC侧硬件组态在TIA Portal里新建项目添加1215C DC/DC/DC。然后在设备视图里配置脉冲输出。具体步骤双击CPU进入设备视图在属性面板里找到“脉冲发生器”或者“PTO”选项启用PTO1分配输出点为Q0.0脉冲和Q0.1方向设置脉冲输出格式为“脉冲方向”设置最大频率一般设100kHz组态完成后系统会自动分配工艺对象或者你可以用指令直接控制。我这次用的是工艺对象Technology Object方式因为TIA Portal对工艺对象的支持比较完善编程更直观。4.3 工艺对象配置要点添加一个“定位轴”工艺对象然后配置以下参数驱动器类型选择“PTO”或者“脉冲接口”脉冲输出选择之前组态的PTO1机械参数设置丝杠导程、减速比等位置限制设置软限位防止撞机速度限制设置最大速度保护电机机械参数这块要仔细填。比如丝杠导程填10mm减速比填1:1那工艺对象会自动计算脉冲当量。如果你前面在驱动器里已经设了脉冲当量这里要对应上否则位置计算会错。我踩过的坑是工艺对象里的“每转脉冲数”和驱动器里的p29010必须一致。有一次我驱动器设的10000工艺对象里默认是4096结果电机走的距离只有理论值的40%左右查了好久才发现是这个不匹配。5. 程序编写与调试实操5.1 基本控制程序框架程序结构我一般分成三块使能控制、运动控制、状态监控。使能控制比较简单用一个按钮控制Q0.2输出同时检测I0.0READY信号确认驱动器就绪。这里加一个延时等驱动器准备好之后再发运动指令。运动控制用工艺对象的指令块比如MC_Power、MC_MoveAbsolute、MC_MoveRelative、MC_Home等。这些指令块在TIA Portal的“工艺”库里有现成的直接拖出来用。状态监控就是读I0.1ALM信号如果报警了程序里做相应处理比如停止运动、输出报警指示。5.2 回零与定位程序回零是伺服控制里比较关键的一步。V90支持多种回零方式我常用的是主动回零就是PLC控制电机往一个方向走碰到原点开关后停止然后把当前位置设为零点。程序里用MC_Home指令配置好回零模式和原点开关输入点。回零速度要设慢一点避免冲过原点。我一般设成正常速度的10%左右。定位程序用MC_MoveAbsolute给定目标位置和速度。位置值根据工艺对象的单位来如果工艺对象设的是mm那直接填mm数就行。提示第一次调试的时候建议先用MC_MoveJog手动点动确认电机方向、速度都正常再跑自动程序。直接跑定位程序万一方向反了很容易撞限位。5.3 调试步骤与现场记录我的调试顺序是这样的静态检查接线完成后先不送电用万用表检查各回路通断确认没有短路。送电测试先送24V控制电观察PLC和驱动器指示灯是否正常。V90的READY灯应该亮绿色。使能测试在PLC程序里强制Q0.2输出听驱动器是否有使能声音继电器吸合声同时确认I0.0变为ON。点动测试用MC_MoveJog指令给一个很小的速度观察电机是否转动方向是否正确。回零测试触发回零指令观察电机是否往原点开关方向走碰到开关后是否停止并置零。定位测试给一个目标位置比如100mm观察电机是否走到位用尺子量一下实际距离和理论值对比。精度测试反复走几个位置记录实际值和理论值的偏差如果偏差大调整电子齿轮比或脉冲当量。我实测下来这套配置走100mm实际偏差在0.05mm以内重复定位精度也不错。对于大多数包装、搬运、切割类应用足够了。5.4 参数计算实例假设你的机械结构是丝杠导程5mm减速比2:1电机转2圈丝杠转1圈要求定位精度0.01mm。计算过程电机转一圈丝杠转0.5圈工作台走2.5mm要定位精度0.01mm那电机转一圈需要分成2.5/0.01250份所以脉冲当量至少设250但实际一般取整设成1000或者10000如果设10000那每个脉冲对应2.5/100000.00025mm远高于要求的0.01mm没问题电子齿轮比如果设1:1那PLC发10000个脉冲电机转一圈工作台走2.5mm。如果你想让PLC发10000个脉冲工作台走10mm那电子齿轮比要设成4:1分子4分母1。这个计算逻辑你套用到自己的设备上就行。6. 常见问题与排查技巧实录6.1 电机不转或抖动这是最常见的问题原因可能有以下几种现象可能原因排查方法电机完全不转使能信号没给检查Q0.2输出和I0.0状态电机完全不转脉冲信号没输出用示波器测Q0.0是否有脉冲电机抖动不转脉冲频率太高降低速度试试电机抖动不转电子齿轮比设置错误恢复默认值测试电机抖动不转接线干扰检查屏蔽层接地我遇到过一次电机抖动查了半天发现是脉冲线太长超过5米而且没屏蔽换成屏蔽线并缩短到2米后正常了。所以脉冲信号线尽量短且必须屏蔽。6.2 方向反了怎么办方向反了有两种改法一是把DIR和DIR-对调二是改驱动器参数里的方向取反位。我一般改参数因为改接线麻烦。V90里有个参数p29020可以设置方向取反。还有一种情况是方向信号正常但电机走的方向和预期相反那可能是机械安装方向的问题这种就要改程序里的方向逻辑或者改机械。6.3 位置偏差大位置偏差大通常是脉冲当量或电子齿轮比设置不对。排查步骤确认驱动器p29010和工艺对象里的每转脉冲数一致确认电子齿轮比计算正确检查机械传动比是否和设置的一致用实际测量验证让电机走10圈量工作台实际移动距离反推脉冲当量我有一次偏差了整整一倍后来发现是减速比设反了本来应该是2:1我设成了1:2。6.4 报警代码处理V90报警时面板会显示报警代码。常见的有F31100过流检查电机线是否短路F31101过压检查供电电压是否过高F7452位置偏差过大检查脉冲当量设置F8501通讯故障检查PTI接线报警后需要断电重启或者用报警复位信号清除。程序里我一般加一个复位按钮触发ALM复位。提示调试阶段建议把驱动器的报警输出接到PLC这样程序里能实时监控出问题第一时间知道。6.5 干扰问题排查伺服系统对干扰比较敏感常见干扰源有变频器、继电器、接触器。排查方法脉冲线远离动力线至少保持20cm距离屏蔽层单端接地在驱动器电源输入端加滤波器PLC和驱动器共地我有个项目现场旁边有台大功率变频器一开始电机总是偶尔丢步后来把脉冲线换成双绞屏蔽线并单独走线槽问题就解决了。7. 实操心得与扩展建议这套1215C加V90的PTI控制方案我从第一次接触到现在做了不下十个项目有几个心得值得分享。第一接线一定要规范。我见过太多因为接线不规范导致的奇怪问题比如电机偶尔抖动、定位偶尔偏差。后来我养成了习惯所有信号线必须屏蔽屏蔽层必须接地线号必须标清楚。这些看似麻烦但能省下大量排查时间。第二参数备份很重要。V90的参数调好之后一定要用V-ASSISTANT软件备份一份。我有一次现场调试完忘了备份后来驱动器故障更换所有参数要重新设花了整整半天。现在我的习惯是每调好一台设备参数文件立刻存两份一份在电脑一份在U盘。第三先手动后自动。调试的时候千万别一上来就跑自动程序。先用点动确认方向、速度正常再跑回零最后跑定位。这个顺序能避免大部分撞机事故。第四留余量。选型的时候脉冲输出频率、电流、点数都要留20%以上的余量。比如你算下来需要80kHz脉冲频率那就选支持100kHz的。余量足了后续扩展或者工况变化都不怕。第五文档要写。每次做完项目把接线图、参数表、程序框架整理成文档。下次做类似项目直接参考效率能提高一倍。我现在手头有一套自己的模板新项目改改就能用。这套方案后续还可以扩展比如加一个编码器反馈做全闭环或者换成总线控制做多轴联动。但就单轴点对点定位来说PTI方式简单可靠维护成本低我觉得是性价比很高的选择。如果你也在做类似的应用希望这篇记录能帮你少走点弯路。
返回列表