资讯详情

资讯详情

西门子博图V18梯形图电机启停控制:从建工程到仿真调试完整实战

干工控的谁还没被博图TIA Portal折腾过几个通宵今天不聊虚的就拿西门子 TIA Portal V18 这个版本用 LAD 梯形图带你把一个电机启停控制程序从头到尾完整跑一遍——建工程、写逻辑、仿真、下载一步不落。这个项目有多经典就好比编程界的 Hello World但它背后藏着的自锁/互锁、急停处理、变量规划这一整套基本功才是真正值钱的东西。这篇内容适合刚接触博图的电气工程师、设备维护人员也适合自动化专业的学生。我尽量按实战流程来讲包括当时自己踩过的坑、容易忽略的细节以及网上问得最多的“仿真无法启动”“找不到许可证”这类问题都会一并梳理清楚。1. 准备工作V18环境与创建第一个工程1.1 V18 相比老版本到底改了什么很多同事还在用 V13、V14一听说我换到 V18就问“到底值不值得换”。我的看法是如果你做 S7-1200/1500 项目V18 用起来确实比老版本舒服不少主要体现在三个方面。第一是界面和交互V18 的 HMI 组态和 PLC 编程已经非常无缝做设备联调时甚至可以在同一个窗口里同时看 PLC 程序和画面状态第二是对 Windows 11 的支持更完善新装电脑不用再费劲兼容旧系统第三是对 S7-1200 和 S7-1500 新固件的支持更全一些新指令和工艺对象只有高版本才有。当然版本升级不是必须的如果你的项目已经在老版本里跑得很稳就没必要为了升级而升级。但如果你准备新学博图或者要接触新设备我建议直接一步到位学 V18少走弯路。今天这个项目就是用 V18 来做的。1.2 安装时的三条铁律装博图 V18 之前有几点必须说清楚不然很容易装到一半崩掉或者装完各种弹错。网上搜“博图 v18 安装教程”的人很多其实关键点就几条。第一安装路径绝对不能有中文和空格。我见过有人装在D:\程序\西门子下面结果项目打开就报错路径问题会跟着你很久。第二安装前一定关掉杀毒软件和 Windows Defender 实时保护博图安装过程中会启动服务、写注册表安全软件经常拦拦一次装完就少一个组件后面根本查不出来。第三必须右键“以管理员身份运行”安装程序否则授权组件和仿真组件都可能装不全。另外说一句正版授权建议走西门子官网试用或向代理申请别去找什么“许可证补丁”“破解工具”。博图这种工业软件一旦被动了授权文件轻则仿真起不来重则整个系统不稳定项目做一半丢数据得不偿失。等下我会在常见问题里专门讲“找不到许可证”怎么处理。1.3 建工程与硬件组态装好 V18 之后双击桌面图标第一个界面选“创建项目”项目名称我一般直接用“Motor_Start_Stop”路径保持在默认英文目录下就行不用建子目录。创建完项目左侧项目树里找到“添加设备”双击然后选控制器。今天我们用的是 S7-1200我习惯选 CPU 1214C DC/DC/DC具体型号根据你手头的实物来定。选定后注意看一下固件版本V18 默认支持的版本比较高如果实物固件老后面下载时会提示不匹配这个不要慌后续在“在线和诊断”里做固件更新或者改组态版本都能解决。组态画面打开后第一步不是写程序而是先把 CPU 的 IP 地址设好。双击 CPU 的网口在属性里设置 IP 地址我习惯用192.168.0.1子网掩码255.255.255.0。这一步很关键后面无论是仿真还是下载到真实 PLC都靠这个地址通信。然后我们把 PLC 变量表打开准备做 I/O 规划。2. 需求拆解电机启停控制的 I/O 规划2.1 控制要求第一条先搞清楚要控什么很多初学者拿到项目就直接打开 OB1 开始拖触点这是最大的问题。编程之前必须先写“控制要求”。电机启停控制听起来简单但完整的要求至少有四条按下启动按钮电机启动并保持运行按下停止按钮电机停止热继电器过载动作时电机强制停止故障排除后必须重新按启动才能运行运行状态要有指示灯指示急停按下时任何情况下都要停机。为什么要先把要求写清楚因为控制要求的差异直接决定 I/O 分配和程序结构。比如热继电器信号你是按“常闭触点接入 PLC”还是“常开触点接入 PLC”程序里用的触点类型就完全不同。再比如要不要故障指示灯你就要考虑是否需要故障记忆。这些不在一开始定下来后面改起来很麻烦。2.2 I/O 分配表定了要求之后接下来做一个 I/O 分配表。这个表是“图纸”和“程序”之间的翻译官现场接线靠它写程序也靠它。信号名称PLC地址数据类型说明启动按钮I0.0BOOL常开按下时闭合停止按钮I0.1BOOL常闭程序里用常闭触点热继电器I0.2BOOL常闭正常时闭合急停按钮I0.3BOOL常闭串在急停回路中电机接触器Q0.0BOOL输出到接触器/中间继电器运行指示灯Q0.1BOOL电机运行时亮这里很多新手会有一个疑问为什么停止按钮、热继电器、急停按钮在程序里都用“常闭触点”这是因为安全原则。如果现场急停回路断线了或者热继电器跳闸了我们希望在软件层面输出立刻断开设备停下来。使用常闭触点可以做到“断线即停车”也就是故障安全。这个逻辑考虑清楚了你的程序才算入门。2.3 两条编程路线自锁 LAD 和置位复位电机启停控制程序从实现方式来看最常用的是两种一种是传统的 LAD 自锁回路一种是使用置位Set/复位Reset指令。LAD 自锁回路最直观它就是把继电器控制电路里的“自保持触点”直接搬到梯形图里会看电气图纸的工程师上手非常快。它的核心逻辑是启动按钮并联一个输出触点输出一接通自己给自己“喂电”松开按钮后输出继续维持。置位复位方式则更贴近软件思维启动时把 Q0.0 Set停止时把 Q0.0 Reset。两条路线各有利弊。今天这个项目我用传统的 LAD 自锁回路因为它是理解梯形图逻辑的基石也是最容易排查问题的结构。3. LAD 梯形图实操把启保停逻辑落到 OB1 里3.1 第一段程序启保停主回路双击 OB1 打开程序块第一段网络我命名为“电机启停控制”。然后从右侧指令列表里拖入一个常开触点、一个常闭触点、一个输出线圈再加一条并联分支。具体连线是这样I0.0启动按钮常开作为第一行输入它右边串联 I0.1停止按钮常闭、I0.2热继电器常闭、I0.3急停常闭线圈接 Q0.0。然后在 I0.0 这个常开触点上并联一个 Q0.0 的常开触点这就是自锁。我们来走一遍逻辑。初始状态停止按钮、热继电器、急停都正常所以 I0.1、I0.2、I0.3 都为 1此时回路是通的。按下启动按钮I0.0 为 1Q0.0 得电。松开启动按钮I0.0 变为 0但并联的 Q0.0 常开已经闭合电流依然能通过输出保持这就是自锁或自保持效果。按下停止按钮I0.1 变为 0回路断开Q0.0 失电同时自锁触点断开。松开停止按钮I0.1 恢复为 1但启动按钮没有按下回路不会自己接通电机不会自己启动。这就是“停止优先”的典型实现。这里必须提醒一句仿真调试时I0.1、I0.2、I0.3 这三个输入在初始状态下必须被“强制置 1”否则整个回路是断开的你按启动按钮根本没反应。这个坑我见过很多人踩程序看着没问题仿真就是不动然后开始怀疑软件坏了。其实是停止按钮的常闭触点还没“复位”。3.2 第二段运行指示灯主回路写完指示灯就简单了。新建一个网络命名为“运行指示灯”直接拖一个输出线圈 Q0.1然后在它前面画一条和 Q0.0 并联的连接即可也可以直接把 Q0.1 的线圈输出放在 Q0.0 的回路里。我更习惯单独用一段网络接一个“Q0.0”的常开触点然后串联输出 Q0.1这样逻辑分层清楚现场看图的人也容易懂。如果你想加故障指示可以加一个小逻辑当热继电器动作时I0.2 变为 0输出一个故障灯 Q0.2。注意因为 I0.2 在正常时为 1所以表达故障信号要用 I0.2 的常闭触点串联 Q0.2。也就是“常闭触点闭合 故障发生”。这个思路和急停按钮是一样的初学的时候可能绕一下但想通之后你会发现 PLC 里“常开常闭”的本质其实很简单始终记住“信号为 1 时常开触点闭合信号为 0 时常闭触点闭合”就行。3.3 OB1之外要不要写函数块项目很小直接全写在 OB1 里完全没有问题PLC 扫描周期短逻辑也简单不会造成任何性能问题。但我想多说一句如果你是做多台设备的项目比如有 5 台电机每台都是启停控制最好的做法不是复制五遍梯形图而是做一个 FB函数块把“启保停”封装成一个通用的块每台电机调用一次用不同的背景数据块存状态。这样做的优势非常明显第一程序量减少改逻辑只需改一处第二每个电机的输入输出地址通过接口传递接线和程序对照更清晰第三后面要加延时、加运行时间统计都只需要在 FB 里扩接口不用动其他电机的逻辑。这个思路今天不展开但你在学会启保停之后一定要往这个方向走。4. 仿真调试PLCSIM 验证逻辑4.1 V18 仿真流程写完程序下一步不是上真机而是仿真。这也是博图相比老版本 Step7 最大的优势之一可以在没有硬件的情况下把逻辑验证个八九不离十。在博图项目树中选中 PLC 站点然后点工具栏上的“启动仿真”按钮。第一次仿真时软件会提示你保存仿真项目点击确定然后 S7-PLCSIM 窗口会自动打开。这个窗口类似一个模拟 CPU 的面板有 RUN、STOP、MRES 按钮还有运行状态指示灯。仿真启动后点一下“下载到设备”把硬件组态和程序下载到仿真 CPU 中然后将仿真 CPU 切到 RUN。此时回到 OB1点一下“启用/禁用监视”小眼镜图标梯形图上就会出现绿色/蓝色线条ON 的触点会显示为绿色电流流向一目了然。这是排查逻辑问题最好用的工具。4.2 博图 V18 仿真无法启动的常见原因网上搜“博图 v18 仿真无法启动”的人特别多我当年也遇到过折腾了几个小时。总结下来最常见的就这几类第一许可证不完整。仿真组件是独立授权很多情况下软件装好了但 SIMATIC S7-PLCSIM 这个授权项没有仿真就启动不了。怎么确认打开 Automation License Manager看有没有包含 PLCSIM 的授权条目。第二杀毒软件拦截。博图仿真需要启动若干后台通信服务杀毒软件一旦拦截仿真窗口起不来或者起来后编程设备连不上。建议把博图整个目录加入白名单。第三项目路径问题。项目文件所在路径如果包含中文或者层数太深仿真组件会初始化失败把项目挪到纯英文的短路径下比如D:\PLC\Motor_Start_Stop能解决很多莫名其妙的问题。第四电脑内存不足。V18 搭配 PLCSIM 仿真8G 内存真的会卡到怀疑人生建议最少 16G项目大一点 32G 都不嫌多。如果仿真按钮点了没反应或者弹出一个看不懂的英文报错不要反复重启软件。先查授权再查路径再查杀毒按这个顺序来大概率能找到原因。4.3 用监控表做“强制”调试仿真跑起来之后怎么验证启保停逻辑我推荐用“监控表”功能比直接开变量表更可控。在项目树“监控与强制变量”下新建一个监控表把 I0.0、I0.1、I0.2、I0.3、Q0.0、Q0.1 都拖进去。然后利用监控表的“修改值”功能把 I0.0 修改为 1也就是模拟按下启动按钮。这时看程序监视画面Q0.0 应该变为 ON。接下来把 I0.0 改回 0模拟松开按钮Q0.0 依然保持 ON说明自锁生效了。再把 I0.1 修改为 0模拟按下停止按钮Q0.0 马上变为 OFF松开 I0.1改回 1Q0.0 还是 OFF。这样就完整验证了一遍启停逻辑。这里要特别留意的是如果程序没反应先检查 I0.1、I0.2、I0.3 的当前值是不是 1只要有一个是 0回路就是断的。仿真时的输入状态不会自动是 1必须手动给这也是很多新手一上来就卡住的原因。操作这些值的时候建议在“修改值”里一个一个来不要同时强制多个输入以免逻辑变得混乱。5. 下载到真实 PLC联调和上电检查5.1 下载前的三查仿真通过之后程序逻辑基本没大问题了。接下去就是下载到真实 PLC。这一步如果前面没准备好下载时会各种报错。我的习惯是“三联查”查硬件组态和实物是否一致。你组态的 CPU 型号、固件版本、扩展模块是否和你手里这台设备对得上。最常见的问题是组态版本比实物固件高下载时提示固件不匹配。查 IP 地址。博图里组态的 PLC IP 要和真实设备在同一个网段比如程序里设 192.168.0.1那电脑网卡就要设成 192.168.0.x。查 PG/PC 接口设置。下载前在“扩展的下载到设备”里要选择正确的网络接口否则搜索不到设备。如果你不确定当前 PLC 的 IP可以先通过“在线和诊断”里的“可访问设备”去搜索找到设备后直接分配一个新 IP再重新连接。5.2 下载和试车步骤连接好网线博图里点“下载到设备”。在弹出的对话框里选择目标设备如果搜索到多个设备通过 MAC 地址或设备名称来区分。下载完成后把 CPU 切到 RUNQ0.0 端的输出就能测试了。试车这一步我强烈建议分两步走先不带主回路只测 PLC 输出。也就是说你按启动按钮后观察 Q0.0 对应的输出端子是不是有 24V 信号逻辑对了再往下接。第二步才接接触器、指示灯这些负载。直接跳过空测试、一上来就带接触器带电机如果程序里有一个位没想明白可能出现误动作轻则接触器咔咔乱跳重则烧设备。另外一个安全上的常识PLC 的输出点驱动能力有限尤其是继电器输出型直接驱动大电流接触器线圈很容易烧触点。一般需要在 PLC 外部加中间继电器让 PLC 输出只驱动中间继电器线圈再由中间继电器触点去控制接触器线圈。这样分层隔离PLC 输出点寿命会高很多。5.3 为什么推荐先仿真、再空载、再负载这个顺序不是死板教条而是被教训换来的。仿真能帮你过滤掉 80% 的逻辑错误空载试机能帮你发现 10% 的 I/O 接线问题剩下那 10% 才需要真正带载去验证。如果不先仿真直接带载上电万一程序里自锁写反了或者停止信号用了常开启停按钮一按下去设备可能完全不受控制现场就危险了。我见过有些同行嫌仿真麻烦写完程序直接下载到设备上调试出问题才回头查程序。说实话碰到逻辑简单的小项目这样干确实省时间但一旦项目复杂度上来或者设备不能随便启停仿真就是保命环节。养成“先仿真再下载”的习惯对你的项目调试速度有非常大的帮助。6. 高频问题与避坑速查6.1 找不到许可证怎么处理“博图 v18 找不到许可证”是这段时间群里问得最多的问题之一。出现这个问题的原因大部分是在安装完成之后没有正确激活授权或者授权服务没有启动。如果你用的是正版授权打开 Automation License Manager在“许可证密钥”列表中检查是否有 SIMATIC TIA Portal V18 和 SIMATIC S7-PLCSIM 对应的条目。如果有条目但博图依然提示找不到尝试把授权的类型改成“单机”或“网络”然后重启软件。还有一种情况是试用授权到期那只能走正式渠道续期或购买。这里还是要劝一句别用来路不明的“注册机”或“补丁”。工业软件牵涉到设备调试一旦授权文件被破坏你的项目文件可能在某个时间点突然打不开现场交不了货那时候再着急也没用。软件授权这块正规渠道永远最省心。6.2 real move_blk 这类报错怎么查有网友在群里问“博图 v18 real move_blk”报错的问题这个虽然和我们的启保停程序关系不大但既然问的人多我就一起说下排查思路。报错信息里带 MOVE_BLK 的基本都是数据类型匹配问题。MOVE_BLK 指令的作用是把一块连续的数据从一个区域复制到另一个区域要求源和目标的数据类型、长度一致。如果你在程序里对一个 REAL 数组使用 MOVE_BLK源和目标方向写反或者源/目标声明的是优化访问块而指令是在非优化访问上下文中使用就会出各种奇怪的编译错误。排查方法是双击错误信息定位到具体指令检查操作数类型然后查看源和目标是 FC 调用还是直接寻址最后看看是不是需要切换访问方式。如果指令支持用 MOVE_BLK_VARIANT 替代普通 MOVE_BLK优先用带 VARIANT 的版本它对优化访问块的兼容性好很多。实在不行把报错信息截图、发到技术社区带上完整的指令上下文别人才能帮你定位准确原因。6.3 其他高频问题速查表问题可能原因处理思路仿真无法启动授权不全、路径含中文、杀毒拦截、内存不足依次检查授权、路径、白名单、内存找不到许可证授权未激活/试用过期Automation License Manager 检查并激活正式授权下载失败IP 不在同一网段、PG/PC 接口选错、固件不匹配先“可访问设备”搜索再修改 IP最后检查固件CPU 报诊断故障模块组态与实际不符、地址被占用打开诊断缓冲区按条目逐条确认程序监视看不到变量状态DB 块设置了优化访问在 DB 属性中取消“优化的块访问”或者用绝对地址监视V14 打开 V18 项目失败高版本项目不能向下兼容在 V18 中将源项目另存为低版本或导出源文件程序下载后 CPU 无法 RUN存在编译错误或硬件组态错误编译阶段先清零错误再重新下载硬件配置这些坑我基本都踩过有些甚至不止一次。搞工控就是这样解决问题的时候觉得烦但每解决一个你对整套体系的理解就深一层。最后再分享一个小技巧。写完程序之后我会把 I/O 分配表打印出来对着现场图纸一个点一个点核对确认 PLC 输入端子接的是启动按钮常开输出端子接的是接触器还是中间继电器。这个操作看着笨但它能保证你在现场调试时少烧几个接触器、少熬几个通宵。电机启停控制只是入门把这一套思考方式练扎实后面做模拟量、做 PID、做伺服你会发现本质上都是同一个套路先把控制要求想清楚列变量画逻辑再上机验证。程序是写出来的更是想出来的。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →