AM400系列PLC+EtherCAT总线伺服+IT7070触摸屏全自动设备方案与调试经验
2026/9/12 3:42:03 网站建设 项目流程

一台全自动设备,控制器选汇川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的配合度也在持续优化。项目刚上手时,单位换算、手自动切换、通讯字节序这些问题确实容易让人卡住,但只要按框架来做,程序结构清晰,调试流程有章法,后续的生产稳定性和售后维护都会省心很多。把这些经验整理出来,给正在用或者准备用这套方案的朋友们一个参考。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询