ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

不接PLC也能跑程序?汇川ITP与Autoshop仿真连接从入门到上手

不接PLC也能跑程序?汇川ITP与Autoshop仿真连接从入门到上手 搞工控这几年我经常遇到刚入门的电气工程师问程序写好了但手里没有PLC样机能不能先在电脑上验证一下以前很多新人觉得仿真高深其实是没找对路子。在汇川这套生态里ITP和Autoshop配合做仿真连接是很成熟的操作——Autoshop负责写程序、组硬件ITP负责把程序拉进虚拟环境里调试两者一连就能让一台“影子PLC”跑在电脑里。逻辑验证、总线轴组态、功能块调用这些平时必须在现场干的活全部可以在工位上提前跑通熟练之后五分钟真的够用。这篇文章我会把完整的操作步骤、踩过的坑、参数设置思路全部拆开讲新手可以照着操作老手也能当速查手册翻。1. 动手之前先搞清楚ITP和Autoshop分别干什么1.1 两个软件的分工决定了仿真连接的思路刚接触汇川的人容易把ITP和Autoshop混为一谈其实两个软件的分工非常明确。Autoshop是汇川AM系列等中型PLC的编程组态软件负责工程管理、硬件组态、程序编写、编译下载你可以把它理解成“写剧本的地方”ITP则是偏运动控制层面的调试和监控平台轴的参数、伺服波形、定位控制、状态字监视都在这边相当于“排练场”。仿真连接做的事情就是把Autoshop写好的“剧本”投到ITP的“排练场”里跑一遍让逻辑自己演一遍。这种分工的好处非常明显Autoshop专注于工程侧的完整性ITP专注于运行侧的观察手段。两者通过仿真器对接Autoshop侧负责下载程序和切换运行状态ITP侧负责深度的运动控制监控比如跟随误差曲线、状态字跳变、指令位置与实际位置对比。如果你只装了Autoshop能做的只是逻辑仿真很多运动控制细节看不到如果只装了ITP又没有可以连接的工程。两者配合使用才是完整的“仿真连接”。1.2 软件版本匹配是老生常谈但真不能马虎仿真连接最让人头疼的一个问题就是版本不匹配。我遇到过同事拿Autoshop的最新版去连一个老版本ITP折腾了一下午连不上最后换了同一批发布的软件包十分钟搞定。所以开始之前先把版本理清楚Autoshop和ITP最好从官网同一发布周期下载版本号尽量一致。安装包的位数要和操作系统匹配目前主流是64位Win10/Win11基本没问题。如果电脑上安装了多个版本的AutoshopITP连接时可能因为库版本冲突而报错建议保持一套环境。这些看起来都是小事但仿真连接失败的原因里版本冲突占的比例相当高。我习惯在电脑里建一个“汇川工具链”文件夹把安装包、固件库、版本说明都放在一起每次新装软件先看版本说明避免自己给自己挖坑。1.3 安装顺序与最小环境配置安装顺序我的习惯是先装Autoshop再装ITP全部安装完成后重启一次电脑。有一点必须强调安装过程中杀毒软件、电脑管家最好先退出汇川软件在安装时会注册仿真器服务、虚拟网卡组件这些组件经常被安全软件误判拦截。首次启动Autoshop时如果提示“仿真器服务未启动”或者找不到仿真目标可以先到安装目录下找仿真器注册工具右键以管理员身份运行一次然后再启动软件。可以提前检查的两个环境项打开“服务”WinR输入services.msc确认带有Simulation或InoPro字样的服务状态为“正在运行”。打开“设备管理器”确认是否存在虚拟网卡或仿真器虚拟设备如果存在说明仿真组件已经装好。如果这两个地方都正常那软件环境就可以放心使用了。2. 5分钟搞定仿真连接新建工程到虚拟PLC跑起来2.1 新建工程与CPU型号选择打开Autoshop起始页选择“新建工程”工程类型选“标准工程”工程名我建议不要用中文和特殊符号后面连接仿真器时有些版本会因工程路径带中文导致通信异常。新建完成后会进入硬件组态界面这里需要选一个CPU型号。很多新手会问反正是仿真CPU是不是随便选一个别图省事。仿真模式下CPU型号同样会参与运算映射后续ITP里显示的CPU信息、固件版本都跟着工程走。选型号时最好和实际项目计划保持一致比如项目准备用AM401仿真就选AM401这样验证出来的结果最有参考价值。2.2 把工程切到仿真模式的关键操作新建完工程、写完程序框架后重点来了在Autoshop工具栏上找到“仿真”按钮。位置一般在“在线”菜单或“调试”菜单下点击后弹出仿真设置窗口勾选“使用仿真器”目标类型选“仿真”IP地址默认填127.0.0.1就可以。不同版本菜单名称会有一点差异但逻辑一致。切到仿真模式后会有明显标识Autoshop工具栏的状态区会出现“仿真模式”字样或图标同时工程树里的设备节点可能显示成灰色调。如果没有这个标识说明没有切换成功。此时可以在Windows服务里确认仿真器服务是否启动或者把Autoshop关闭重新打开一次让仿真器服务重新初始化。还有一个经常被忽略的操作IP地址。虽然是本机仿真有些版本要求目标IP和软件内设置的通讯IP一致默认127.0.0.1通常没问题但如果电脑同时装了虚拟网卡、虚拟机软件Hosts等网络环境复杂可能出现绑定冲突。这时候把无关的虚拟网卡禁用再试一次一般就正常了。2.3 ITP侧建立连接和目标PLC握手Autoshop切到仿真模式后打开ITP。ITP左侧有连接管理区域点“新建连接”连接目标类型选择“仿真”或“虚拟目标”填入与Autoshop一致的IP地址127.0.0.1。这里有个细节ITP里的连接名称不要随便写建议写成“AM401_Sim”这类带型号标识的名称后续连接多个目标时好区分。配置完成后点击“连接”正常情况下ITP的连接状态图标变成绿色连接列表里能看到CPU型号和固件版本。如果一直是灰色或红色优先检查Autoshop是否处于仿真模式并且工程处于打开状态再检查ITP的连接目标类型是否真的选的是仿真。千万不要拿仿真连接去选TCP/IP那是连真实网口用的。2.4 下载程序让虚拟PLC真正跑起来在Autoshop里点击“下载”或“登录”系统会提示“当前工程处于仿真模式是否继续”选择继续。下载完成后把PLC切换到RUN状态回到ITP看CPU状态运行指示灯会跟着变绿到这里仿真连接就算正式打通了。我习惯在这时先做一个最简单的验证在Autoshop里写一个定时器逻辑比如用常开触点触发TON延时2秒后置位一个输出变量。下载运行后在ITP的变量监视窗口里观察定时器有没有正常计时。这一步能快速确认整个仿真链路是通的再往后放总线轴和运动控制程序排查起来更有底。3. 核心进阶总线轴组态与功能块使用3.1 仿真模式下如何组态总线轴基础逻辑验证通过后就可以进入很多新手真正关心的环节总线轴组态。在真实项目里总线轴要依赖实际EtherCAT从站但在仿真模式下物理设备不存在轴依然可以组态出来这其实是仿真最大的价值之一——你在没有伺服驱动器的情况下就能把轴的逻辑流程跑通。在Autoshop的“轴”管理窗口右键添加轴轴类型选择“EtherCAT总线轴”或“虚拟轴”。选EtherCAT总线轴时需要按实际项目配置从站节点包括从站号、报文类型比如CSP/CSV模式、位置反馈来源。充电要注意仿真模式下没有真实从站有些Autoshop版本在总线配置里如果存在未被识别的物理从站节点下载时会报“从站同步失败”。解决办法是先把总线配置里的从站节点删除或者改成虚拟从站后再添加轴。参数配置上轴的单位换算、减速比、电子齿轮比这些按照实际机械结构设置。有人觉得仿真阶段不需要填那么细实际不然。因为ITP在仿真模式下也会按这些参数去计算指令位置、速度、加速度参数填错了后面看位置曲线、跟随误差都会对不上等于白验证。3.2 ITP里调试轴使能、点动、回零与波形跟踪轴组态完成后回到ITP在设备树里找到已添加的轴打开轴调试面板。面板上会显示轴的关键状态当前位置、目标位置、速度、状态字。仿真模式下虽然没有真实电机但轴的指令位置会随功能块运行而变化部分版本连“实际位置”都会通过仿真器反馈出来这就给逻辑验证提供了很大的便利。调试时我会按这个顺序来先点“使能”观察轴状态字是否从“未使能”切到“正在使能”再切到“使能已生效”。再发一个点动命令看位置是否按设定速度变化同时看实际速度和目标速度曲线是否一致。然后做一次回零操作观察回零方式、方向、原点信号时序是否和程序逻辑预期一致。最后跑一段定位轨迹对比指令位置和实际位置之间的跟随误差。如果在某个位置卡住不动了优先看状态字而不是盯程序因为状态字能告诉你轴在状态机里卡在哪一步定位问题比对着梯形图猜快得多。3.3 功能块调用套路MC_Power、MC_MoveAbsolute实战Autoshop基于IEC 61131-3开发环境运动控制功能块是标配比如MC_Power、MC_MoveAbsolute、MC_MoveVelocity、MC_Home。很多新手觉得功能块调用很简单Enable给TRUEExecute给脉冲轴就动了。仿真里跑一次就会发现没这么简单。举个例子MC_MoveAbsolute的调用需要考虑完整时序第一步MC_Power的Enable必须置TRUE并且轴状态字已经切到“使能已生效”Status输出为TRUE。第二步MC_MoveAbsolute的Execute需要一个上升沿触发不是一直保持TRUE否则可能只执行一次或者当前一次运动还没完成时重复触发会报错。第三步位置、速度、加减速参数要按轴的单位设置如果单位没换算指令位置可能在一个你意想不到的尺度上。为了看清功能块的内部跳变仿真模式下有个好用的技巧把PLC扫描周期调大一点比如从默认的1ms调到10ms或20ms。这样状态机的跳变在监控窗口里就能一级一级地翻MC_Power的Status、Busy、ErrorMC_MoveAbsolute的Execute、Done、CommandAborted这些信号的变化顺序看得清清楚楚特别适合新手上手理解功能块的工作机制。4. 仿真模式能信什么不能信什么4.1 仿真模式完全可以信赖的三类验证明确仿真能验证什么才不会误用。我的经验里下面三类内容在仿真环境下的可信度非常高程序逻辑。定时器、计数器、比较指令、跳转、功能块调用顺序这些纯软件逻辑在仿真和实机上行为一致。轴逻辑时序。轴使能、回零流程、定位功能块的调用顺序、状态字的跳变关系仿真结果基本能代表实机表现。程序调试手段。断点、单步、监控表、强制变量这些调试手段在仿真模式下都能正常使用而且是排查逻辑问题的利器。4.2 仿真模式验证不了的四类盲区但仿真不能替代一切。我见过不少同事在电脑上跑通了所有逻辑到现场却卡住多半是忽略了仿真和实机的差异IO信号是“喂”出来的。仿真模式下输入点不会因为外部接线而变化必须用强制或监控表给信号所以IO接线极性和输入滤波这类问题仿真完全发现不了。伺服使能和硬限位是假的。没有真实驱动器轴的使能输出、接触器吸合、限位开关动作都无法模拟涉及安全回路的逻辑必须到现场细查。总线时序抖动不存在。真实EtherCAT通信有周期抖动受现场干扰、走线、负载影响仿真里的总线一直是理想状态。部分通信功能模拟不完整。比如和第三方设备做Modbus TCP/串口联调仿真环境不一定能完整模拟对方设备的行为。4.3 如何让仿真结果更接近实机表现既然仿真和实机有差异那就想办法让仿真尽量“接近现实”。我常用的几个建议尽量按实机配置来建工程CPU型号、轴数量、报文类型全部按实际填不要图省事。程序里加入时间模拟逻辑比如用定时器模拟输入信号的抖动延时这样逻辑验证时能覆盖到现场可能出现的边界情况。仿真跑通后把监控的数据导出存档到现场做对比能快速定位是逻辑问题还是硬件问题。5. 常见问题与排查技巧实录5.1 连接状态灰色ITP连不上虚拟PLC这个问题出现频率最高我一般按固定顺序排查看Autoshop是否真的处于仿真模式工具栏有没有仿真标识。看ITP的新建连接目标类型是不是选的“仿真”如果选成“TCP/IP”或“USB”肯定连不上。看Windows服务里的仿真器服务有没有启动。看两个软件的IP地址是否一致默认127.0.0.1。把无关的虚拟网卡禁用重启两个软件再连。5.2 下载程序时提示“当前处于仿真模式不能下载”这种报错一般不是翻译问题而是Autoshop和ITP两侧的连接状态不对齐。比如Autoshop已经切到仿真ITP却还停留在真实硬件连接模式或者反过来。统一把两侧都切到仿真模式关掉ITP重新连接再回到Autoshop下载基本就能解决。5.3 总线轴组态后下载报从站同步失败绝大多数情况下是因为Autoshop的总线配置里还有物理从站节点仿真环境找不到真实从站就报错。解决方案是在总线配置里把物理从站删除或改成虚拟从站然后再添加轴。如果提示报文类型不支持检查一下轴参数里选的报文模式仿真环境下建议用CSP模式兼容性最好。5.4 功能块不动作但PLC已经处于RUN状态这是新手最喜欢问的问题。功能块不动作先别急着查功能块本身按这个顺序看看MC_Power的Status输出是不是TRUE如果不是说明轴没使能成功。看轴状态字不同数值代表不同状态比如未使能、正在使能、使能已生效、回零完成状态字不对后续指令不执行是正常的。看Execute触发信号给的是不是上升沿如果一直保持TRUE部分版本会认为指令已经处理过了换成上升沿触发试试。用监控表同时监控轴状态、MC_Power、MC_MoveAbsolute的Busy和Done看状态变化卡在哪一步。为了方便快速排查我把自己经常遇到的问题整理成一个速查表现象可能原因优先检查项连接状态灰色仿真器服务未启动 / 目标类型选错服务、连接目标类型下载报“不能下载”两侧模式不一致Autoshop与ITP的仿真状态从站同步失败总线配置里有物理从站从站节点类型轴不能使能使能时序不对MC_Power.Status功能块不动作Execute缺少上升沿触发信号类型位置不变化单位换算错误轴参数、减速比最后再分享一点个人体会这套仿真连接的价值不只是给没设备的新手练手。我自己在做方案预审、给客户演示程序逻辑、带着团队做程序交接的时候也经常用。结构编排、时序确认、甚至一份新程序的功能演示全部可以在电脑上完成比到现场才去验证效率高得多。用熟之后你会发现仿真跑不顺的程序到了现场大概率还是要返工。先把逻辑问题暴露在电脑上到了现场你才有底气去处理真正的硬件问题这是我这几年使用下来最深的感受。
返回列表