ARTICLE DETAIL

资讯详情

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

AM400系列PLC+EtherCAT总线伺服+IT7070触摸屏全自动设备方案与调试经验

AM400系列PLC+EtherCAT总线伺服+IT7070触摸屏全自动设备方案与调试经验 一台全自动设备控制器选汇川AM401或者AM403伺服走EtherCAT总线人机界面配一台IT7070触摸屏这套组合在近几年的非标自动化圈子里出现频率相当高。很多同行来找我聊项目问得最多的就是程序框架怎么搭、总线伺服怎么调、触摸屏和PLC之间怎么关联、实际跑起来会遇到哪些坑。这篇文章我就把这几年用AM400系列做全自动设备的经验整理一遍从方案选型到程序结构再到总线调试和HMI组态最后单独开一章专门讲现场高频故障怎么排查全是实操向的内容适合正在做类似设备的电气工程师参考。这套系统能做什么我先说结论凡是需要多轴联动、高速点位运动、气缸逻辑配合、生产数据记录的设备比如全自动装配机、锁螺丝机、检测机、上下料机、小型包装线这套方案都能扛。AM401适合轴数在8轴以内的设备AM403可以往上加到16轴以上IT7070负责显示、操作、配方和报警。下面的内容我按一个完整项目的推进顺序来写。1. 项目整体架构与选型思路1.1 这套组合适合做什么设备先聊选型。我遇到过不少朋友拿着设备要求清单问我某某设备用AM401够不够或者为什么推荐用总线伺服而不是脉冲伺服。这其实不是单纯的性能对比问题而是要从设备形态和工艺要求反推。AM401和AM403都属于汇川AC系列PLC编程环境是InoProShop支持IEC 61131-3标准的梯形图、结构化文本、功能块图运动控制部分走的是PLCopen标准轴控指令。AM401本体自带EtherCAT主站这一点非常关键等于说PLC自带了总线控制能力不需要再加运动控制卡或者脉冲发送模块。AM401一般建议控制在8个实轴以内如果项目里轴数多或者每个轴的插补运算量大、程序扫描周期要求高那就上AM403。AM403的CPU性能更强程序容量和轴控能力都高一档带16轴甚至更多轴依然从容。从设备类型来说这套组合最擅长的是“轴加逻辑”混合型设备。举个例子一台全自动锁螺丝机X轴、Y轴运动到位Z轴下压同时还要控制电批启停、产品夹紧气缸、螺丝供料器、不良品剔除整个流程里运动控制和逻辑控制交错进行。这种场景如果用脉冲伺服PLC需要为每一根轴分配高速脉冲输出口接线多、干扰问题多而且轴一多CPU负担极重。用EtherCAT总线伺服所有轴只用一根网线串联PLC通过总线周期同步位置指令10个轴和2个轴的接线复杂度几乎一样。1.2 为什么要选AM401/AM403加总线伺服很多人最纠结的是一个问题脉冲伺服便宜总线伺服贵凭什么选总线我的回答是基于成本摊开算的。脉冲方案里PLC要有足够的高速输出口还要考虑伺服驱动器的脉冲口接线一个轴至少5根信号线屏蔽层处理不好就跑飞脉冲。一个8轴设备光接线和排查线缆问题花的时间就够把总线伺服多出来的成本吃掉了。EtherCAT的方案里每个伺服驱动器用网口一进一出串联起来最后一个从站加终端电阻或者软件配置成末端节点通讯周期一般设1ms所有轴的指令和状态在这个周期内同步刷新。实际体验下来总线伺服在同步性、抗干扰、调试便利性上都明显优于脉冲方案。IS620N系列驱动器配合AM400系列PLC只需要在InoProShop里导入伺服从站描述文件就能直接扫描到驱动器伺服参数也能通过总线读写不用再拿着一台小键盘到处按参数。另外AM401和AM403本体都有以太网口和IT7070触摸屏之间通过网线直连或者接交换机都行触摸屏不需要占用串口通讯速度比传统的COM口快一个量级。整套系统从PLC到伺服再到触摸屏全是网线机柜布线整齐很多对于有维护要求的客户来说这种方案的可维护性也更好。2. PLC程序设计核心要点2.1 程序框架怎么搭程序框架是整个项目的骨架。我见过不少AM400系列的项目程序一团乱逻辑全部堆在PRG主任务里轴控指令到处乱发报警复位逻辑和动作逻辑混在一起出了问题根本没法查。这里我分享一套自己一直在用的框架基本能覆盖大多数全自动设备的需求。我习惯把程序分成四层分别是任务调度层、功能动作层、工艺参数层和报警处理层。任务调度层负责设备的大状态切换包括手动模式、自动模式、回原点模式、单步模式。不同模式下设备的核心动作逻辑是完全不一样的。手动模式下操作员通过HMI按钮点动每个气缸和伺服自动模式下才运行完整工艺流程。这个切换在我的程序里是用一个状态机加互锁条件实现的每个模式一个独立程序块块与块之间用主任务里的调度逻辑切换。功能动作层就是把每个机构封装成功能块。比如一个上料气缸我封装成一个FB输入是动作请求输出是到位状态内部自己管理电磁阀输出、到位传感器检测、超时报警。这样在自动流程里调用这个FB根本不需要关心气缸的传感器是接到哪个输入点、电磁阀是哪个输出点逻辑清晰还方便在别的项目里直接复用。工艺参数层专门处理配方变更。不同产品可能有不同的速度、位置、圈数、判定阈值这些全部放到PLC的掉电保持区触摸屏上做成配方页面。我在程序里单独建了一个数据结构把所有工艺参数打包成一个UDT每个配方就是一个UDT实例换型的时候只需要把当前配方整体写入运行区所有功能块立刻使用新参数。报警处理层也是很多人忽略的。我要求每条报警必须有编号、有文字描述、有触发时间、有恢复时间同时联动触摸屏的报警记录控件。程序上我建了一个统一的报警登记功能块每个机构FB在检测到异常时调用一次报警系统自动去重、自动生成时间戳。这个思路推荐大家用起来后期设备交付给客户售后反馈问题的时候能少走很多弯路。2.2 总线伺服轴控指令与手自动切换AM400系列的运动控制用的是PLCopen标准指令常用的轴控指令有MC_Power、MC_Home、MC_MoveAbsolute、MC_MoveRelative、MC_MoveVelocity、MC_Stop这几个。相比直接写脉冲和方向用这些指令的好处是轴的状态统一管理指令之间有互锁不会出现你让人家正转的同时又让人家反转这种荒唐事。轴控指令的使用有几个关键点要特别注意。MC_Power是使能指令必须保持为TRUE轴才能工作而且执行轴动作之前一定要确保MC_Power已经生效否则后面所有运动指令都会报错。MC_Home是回原点支持多种模式我一般根据设备实际情况选总线伺服最常用的是找原点开关加Z相脉冲重复精度高。MC_MoveAbsolute是绝对定位必须建立在原点和单位换算正确的基础上不然位置永远是错的。MC_MoveVelocity是速度模式适合输送带、主轴连续运行类的机构。手自动切换是设备调试中最容易出问题的地方。我的做法是手动模式下的伺服操作全部通过一组手动手轮按钮和点动程序块实现每个轴都在HMI上单独设“正向点动”“反向点动”“回原点”三个按钮自动模式下轴控指令全部由流程状态机发出手动程序的输出在自动模式下被强制屏蔽。这里有一个重要的细节手自动切换瞬间所有运动指令要进入一种“安全停止”状态不能直接断使能也不能让轴自由跑。我一般会在模式切换时先触发MC_Stop让轴减速停止等状态机切换到新模式后再重新使能。另外还要注意AM400系列程序里DWord和REAL之间的转换也是很多人会卡住的地方。比如触摸屏上输入的浮点位置值到PLC里可能是以DWord形式存放在某段保持区直接传给轴控指令就会报类型不符。这里我的经验是凡是HMI和PLC之间的浮点数据在程序里建一个专门的“数据转换区”用指针或者内存复制指令把DWord的位模式直接传给REAL变量不要试图手写数值换算否则等于自己给自己挖坑。3. EtherCAT总线调试让伺服跑起来的完整步骤3.1 从站扫描与参数配置总线调试的第一步是让PLC认出伺服驱动器。拿IS620N系列来说首先要在InoProShop里安装对应的从站描述文件也就是XML格式的ESI文件这个文件可以在汇川官网下载也可以从伺服驱动器附带的光盘里找。没有这个文件EtherCAT扫描就识别不出从站后续什么都做不了。把文件装好后用网线把PLC的EtherCAT口和第一个伺服驱动器的IN口连起来再从第一个驱动器的OUT口连到第二个驱动器的IN口依次串联。注意最后一个从站的OUT口不要接任何设备在InoProShop的从站配置里确认末端节点设置正确。全部连好后在PLC的EtherCAT主站配置页面点击“扫描”正常情况下能看到一串从站列表每个从站对应一个伺服驱动器。扫描完成后需要给每个从站分配站号。站号分配的原则是固定、唯一、按机械轴名称规划不要随意变动。如果伺服驱动器的位置换了站号也要跟着调整否则程序里的轴映射就会错乱。在InoProShop的轴配置页面把需要控制的伺服轴和对应的EtherCAT从站绑定再将轴的运行模式配置为周期同步位置模式也就是CSP模式。这一步做完PLC和伺服之间才算建立起了真正的控制关系。伺服驱动器的参数设置同样重要。总线模式下很多传统脉冲模式下需要设置的参数已经由总线自动下发但有几个关键参数还是要在驱动器上确认电机型号、编码器分辨率、每圈用户单位、惯量比、刚性等级。这里面最容易出问题的是编码器分辨率IS620N默认一般是262144个增量每转也就是2的18次方这个值不要随便改改错了会导致所有位置和速度计算全部漂移。真要调整单位换算应该通过PLC轴的电子齿轮比和用户单位参数来做而不是动驱动器底层编码器配置。3.2 伺服回原点和单位换算回原点是所有全自动设备的必备动作顺序错了后续所有位置都不对。AM400系列常见回原点模式有两种。第一种是找原点开关再找Z相伺服启动后先向指定方向找原点光电信号抓到信号后减速停止再低速找编码器Z相脉冲用Z相作为最终原点。这种模式重复精度高适合需要精确位置的装配、点胶、锁螺丝工位。第二种是直接找硬限位再反向找Z相适合没有原点光电但行程两端有硬限位的设备。我在选回原点模式的时候会优先选第一种因为重复精度更稳定。单位换算是个绕不开的话题。我举个例子设备上有一根轴丝杠导程10毫米电机每圈带动丝杠走10毫米。伺服编码器分辨率是262144也就是说电机转一圈编码器反馈262144个增量。如果我想让PLC里的位置单位是0.01毫米那电机一圈就要对应1000个用户单位用户单位与编码器增量的比例就是262144比1000约等于262.144比1。这个数不用自己手算在InoProShop的轴配置页面有专门的单位换算设置填入每转用户单位数量、每转编码器增量数系统自动算比例因子。但很多人还是会出错原因是不理解这个比例的含义所以我在培训新人的时候都要求他们必须能徒手算一遍这个比例调起来才心里有底。总线伺服调试过程中还有一项很容易被忽视正负方向的定义。同样一个轴机械上正方向是向右如果程序里MC_MoveAbsolute的目标位置是正数而实际伺服电机转向相反设备就会朝着错误方向猛冲。所以第一次上电调试务必先低速手动点动确认伺服方向与机械方向一致再考虑跑自动流程。这个顺序一定不能省。4. IT7070触摸屏组态与通讯4.1 触摸屏与PLC怎么连IT7070是汇川的新一代HMI编程软件我目前用的是InoTouchPad工程文件后缀是itp操作习惯和威纶通、昆仑通态有相似之处但界面风格偏现代上手不难。触摸屏和PLC之间的连接方式我首选以太网。AM401或者AM403的以太网口和IT7070的网口直连或者通过交换机接入同一个网段。在InoTouchPad里新建设备时协议选择汇川的TCP/IP类驱动填上PLC的IP地址。AM400系列PLC的默认IP我记得是192.168.0.11如果连不上先在Windows命令行里ping一下这个地址能通再排查软件配置。连接建立之后触摸屏上的变量需要和PLC变量建立映射有两种做法一是手动添加地址映射比如直接填PLC的MW区、D区地址二是在InoTouchPad里通过符号导入方式把InoProShop导出的符号文件导进来变量名自动对应。我强烈推荐第二种方式省时省力还不会写错地址。这里要特别提一下数据格式的坑。AM400系列PLC里的DWord和REAL都是32位数据触摸屏在读写这些数据的时候如果上下行通讯字节顺序不一致读出来的数值会表现为“位数错乱”比如一个0x11223344的数据显示成0x44332211。遇到这种问题不要怀疑硬件直接去驱动配置里找字节顺序或字顺序的设置改成与PLC一致即可。还有一点IT7070和PLC之间通过Modbus TCP通讯时地址映射要从PLC支持的保持寄存器区开始不能随意映射到输入输出区否则数据根本读不到。4.2 画面设计与报警配方画面设计这块我不建议把整个设备的所有操作堆在一个页面里。比较实用的方式是按照操作习惯分页主画面分成自动运行页、手动调试页、参数设置页、报警记录页、生产统计页。自动运行页放设备状态、当前工位进度、实时产量、急停状态操作按钮只保留启动、停止、复位。手动调试页放各机构的气缸手动按钮和伺服点动按钮每个按钮都要加防误触确认防止操作工误碰导致设备撞机。参数设置页配合配方功能把每种产品的工艺参数存成配方操作工可以直接选择产品型号一键切换。报警记录页关联PLC的报警系统实时滚动显示当前报警和历史报警。配方是很多项目里让人头疼的地方。IT7070自带的配方功能可以和PLC的掉电保持区联动但我更推荐把配方逻辑完全放在PLC里触摸屏只负责显示和选择。原因是触摸屏的配方存储和PLC的数据结构不一定完全一致一旦两者没对齐容易发生配方错乱。我的做法是在PLC里建一个配方结构体数组每个配方占一段连续的保持区触摸屏用Modbus读写指令直接操作这段保持区选择配方时先读出配方号再通过PLC程序加载到运行区。这样做的好处是后续加参数、改参数都只需要在PLC程序里调整触摸屏画面改动很小。报警画面要有层级。设备报警我分成操作提示、一般报警、严重报警三类。操作提示用绿色或者蓝色表示操作员可以做某些动作比如气压过低、料仓缺料一般报警用黄色表示设备停机但不危险比如某个气缸没到位严重报警用红色比如安全门打开、急停按下、伺服报警。IT7070的报警控件支持按级别过滤和按时间查询这个功能要在组态时就设好否则等到现场调试再改画面会多花不少时间。5. 现场调试中的高频坑与排查方案5.1 常见问题速查表现场调试永远是项目最磨人的阶段。下面这张表是我基于多个AM400系列项目总结的高频问题全部是自己或者同行真实踩过的坑按“现象、原因、处理”三列整理方便大家现场对照排查。现象常见原因处理方式EtherCAT扫描不到伺服驱动器ESI文件未安装、网线插错口、从站末端未配置先确认驱动器的IN口接PLC主站再检查ESI文件是否成功加载最后核对从站配置PL和触摸屏通讯不上IP网段不一致、驱动选错、防火墙拦截固定PLC和HMI的IP到同一网段驱动选汇川TCP/IP关闭电脑防火墙重试伺服使能后轴不动MC_Power时序不对、急停回路未复位、伺服报警未清除检查MC_Power的执行状态确认急停信号为正常电平清除伺服当前报警定位位置偏固定距离原点位置漂移或电子齿轮比配置错误重新回原点核对单位换算比例优先改PLC侧的用户单位配置HMI读出的DWord数据乱序通讯驱动字节顺序配置错误在驱动属性里切换字节/字顺序逐个测试直到数据正确模式切换时轴抖动或飞车手自动切换瞬间运动指令冲突模式切换先MC_Stop停机再延迟切换指令确认模式互锁气缸动作时PLC无输出输出点被程序其他逻辑占用在InoProShop里使用交叉引用检查输出点的占用情况这张表里的内容每一条都是真金白银换来的经验。比如第一项很多人以为把伺服驱动器连上网线就能扫描到结果扫描列表总为空查了三天最后发现是最开始没有导入ESI文件这种基础问题反而最坑人。5.2 我的几条调试习惯最后说几个我个人在AM400系列项目里逐渐形成的调试习惯不算什么标准做法但实测下来能少走很多弯路。第一接线上电之前先用万用表把网线两头逐针测一遍。EtherCAT用的网线虽然是普通网线但现场布线经常被踩踏拉扯水晶头松动或者线芯断裂的事情我碰到过不止一次。总线通讯要是出现偶发断连一半以上的概率是网线或水晶头品质问题。所以我现在的习惯是EtherCAT网线全部用带屏蔽层的高品质成品线长度超过20米的一定用国标超五类以上机柜内走线避开动力线和变频器输出线。第二程序每完成一个功能块就先下载到PLC做一次单块测试不要等到所有程序写完再整体下载调试。AM400系列在InoProShop里在线监控很方便单块功能测试能快速定位逻辑问题。我见过太多人把整机程序一口气写完下载后从头到尾都是红点找不到是哪个功能块的问题。第三单位换算、回原点方向、伺服方向这些设定一定要写在项目交付文档里。这种参数项目结束一两个月后自己都可能忘记现场换人更是完全无从查起。我一般会在程序注释里、触摸屏的工程师参数页里、还有交付文档里各写一遍三处保持一致减少后续维护的沟通成本。第四IT7070的程序要随着PLC程序同步备份。工程的版本管理上我习惯把PLC工程和HMI工程放在同一个文件夹文件命名带日期和版本号比如“20250115_锁螺丝机V1.2_AM401_itp_v1.2”这样每次修改都有迹可循。现场调试难免要改画面、改参数没有版本管理很容易出现改来改去最后不知道哪一版能用的状况。这套AM401/AM403加总线伺服加IT7070的组合我用下来的整体感受是逻辑调度能力扎实总线控制稳定HMI和PLC的配合度也在持续优化。项目刚上手时单位换算、手自动切换、通讯字节序这些问题确实容易让人卡住但只要按框架来做程序结构清晰调试流程有章法后续的生产稳定性和售后维护都会省心很多。把这些经验整理出来给正在用或者准备用这套方案的朋友们一个参考。
返回列表