ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Twido Suite V2.31.4 从安装到Modbus通信排错全攻略

Twido Suite V2.31.4 从安装到Modbus通信排错全攻略 简介本资源是施耐德电气 Twido Suite V2.31.4 编程软件工具包面向工业自动化领域从事中小型 PLC 项目开发、调试与维护的工程师。软件支持梯形图和结构化文本编程内置模拟器便于离线调试并提供实时监控与诊断功能适用于工厂产线、物流系统和楼宇自动化等场景。压缩包共 2 个文件包含 PDF 格式的发布说明和 HTM 格式的在线帮助文档整体仅 24KB虽以文档为主但可帮助用户快速了解软件新特性、安装注意事项及详细使用指南。已有 581 人学习下载。该资源既有 ReadMe 中的版本更新与问题修复说明又有 TWIDO SUITE 帮助页面的功能导航为初次接触 Twido 编程或需要升级维护现有系统的工程师提供了精简而实用的参考信息能有效缩短软件上手和项目排错时间。1. Twido Suite V2.31.4 是什么为什么现在还要翻出来讲Twido Suite V2.31.4 是施耐德电气 Twido 系列微型 PLC 的编程软件V2.31.4 也是这个产品线后期最常见的版本号之一。虽然 Twido 已经不再适合新项目选型但产线上仍有大量当年用 Twido 做的设备在跑设备维护、程序改动、备机更换都离不开这个软件。对刚接触 PLC 编程的人来说TwidoSuite 比西门子 TIA Portal 和三菱 GX Works2 更容易上手硬件配置、变量表、程序段都集中在同一个窗口里对老工程师来说它还带着仿真器、动画表和 Modbus 调试能力处理一台 40 点左右的设备完全够用。下面我按安装、程序编写、仿真通信和排错四个部分展开全程用我实际维护时验证过的步骤来写。2. Twido Suite V2.31.4 的安装与工程环境先把项目和变量表理顺2.1 安装时的目录、权限和硬件目录V2.31.4 是较老版本在 Windows 10 上安装最容易卡在两处权限不足和缺少 .NET Framework 3.5。先到“控制面板-程序-启用或关闭 Windows 功能”里勾选 .NET Framework 3.5再把安装包放到全英文路径下右键 Setup.exe 以管理员身份运行。安装类型建议选完全安装把 Hardware Catalog硬件目录和 Simulator仿真器一起装上否则后面配置扩展模块时找不到对应的 I/O 型号。第一次启动 Twido Suite 会提示是否自动更新硬件目录。如果现场没有外网选“否”以后在Tools Hardware Catalog里手动指定目录文件。装完先建一个测试工程看左侧树状目录里能不能看到 Twido 本体、总线和扩展模块。如果这一层是空的说明硬件目录没装全需要重新运行安装包做修复安装。每次动旧项目之前先把 .xef 文件备份出来。我习惯在项目目录里放一个批处理把工程复制到按日期生成的文件夹echo off set srcD:\PLC_Projects\Line1.xef set dstD:\PLC_Projects\Backup\%date:~0,4%%date:~5,2%%date:~8,2% if not exist %dst% mkdir %dst% copy %src% %dst%\Line1_%date:~0,4%%date:~5,2%%date:~8,2%.xef nul echo backup done pause%date:~0,4%、%date:~5,2%、%date:~8,2%是从系统日期字符串里切出年月日的常见写法注意系统区域设置必须是 yyyy/MM/dd否则取到的时间段会错位。备份文件不要放在 Twido Suite 的安装目录里卸载软件时可能会被连带清掉。如果现场有版本管理工具也可以把 .xef 文件放进 Git每次改动前先提交一版这样能留下可对比的文本差异。2.2 新建工程时选对 CPU 型号和任务类型新建工程向导第一步是选 CPU 型号。Twido 系列常见的有 TWD10、TWD20、TWD40 等本体V2.31.4 的硬件目录里都覆盖到。选错型号时工程文件不至于打不开但下载到 PLC 前会提示固件不匹配。最稳妥的做法是打开机柜看端子侧标牌把型号完整抄下来不要凭印象选。打开旧工程时如果出现 “Device revision mismatch”先不要急着改程序到 Configuration 里把 CPU 的固件修订号改成标牌上的版本或者在菜单里用 Update Firmware 选项把 PLC 固件升到 V2.31.4 支持的版本。任务分配是新手最容易漏的一块。Twido Suite 把程序放在 MAST、FAST、EVENT 三个任务里它们的定位完全不同任务名用途典型周期说明MAST主任务普通开关量逻辑10ms250ms绝大多数程序都写在这里FAST固定中断周期任务1ms10ms适合高速计数、位置脉冲处理EVENT事件触发任务由硬件事件触发只在指定输入沿时执行一段逻辑我的原则是启停、定时器、计数器、普通互锁全部放 MAST需要严格周期执行的高频逻辑才放 FASTEVENT 里只放响应要求极高的短逻辑不能在里面做复杂运算。另外还要注意两个任务如果对同一个输出地址写值编译时不会报错但下载后实际执行结果会互相覆盖所以在配置阶段就要把输出地址统一登记避免重复。2.3 变量表与 I/O 映射从 %I/%Q 到符号名Twido 的变量沿用了 IEC 风格的直接地址表示刚接触时容易记混。常用地址类型有以下几种地址前缀含义例子%I数字量输入%I0.0%Q数字量输出%Q0.0%M内部位%M0%MW内部字%MW0%KW常量字%KW10%IW模拟量输入%IW0.0%QW模拟量输出%QW0.0在变量表或 Symbol Editor 里可以把这些直接地址绑定成符号名程序里优先使用符号名。这样做的好处是后期改端子接线时只需要调整变量表里的地址映射程序段里的逻辑不用动。在 Twido Suite 的 Configuration 里双击某个输入模块右侧会显示这个模块每个通道对应的 %I 地址不要在程序里手工推算通道号。这里有个实际坑变量表里填了中文符号名在 ST 段里看着正常但工程文件换电脑或换版本后中文可能变成乱码。建议符号名统一用英文或拼音中文只写到注释里。另一个建议是把项目里用到的所有 %M 和 %MW 集中在变量表登记后面查地址冲突时能一眼看出谁占用了谁。3. Twido Suite V2.31.4 里写 PLC 程序LD、IL、ST 三种语言怎么选3.1 电机起停的指令表 IL 写法Twido Suite 的每个程序段可以用梯形图 LD、指令表 IL 或结构化文本 ST 编写。LD 和 IL 可以互相转换ST 是独立的。我写短逻辑时更喜欢用 IL因为它能把操作数和运算符的先后关系直接摊开。以电机起停为例LD %I0.0 OR %Q0.0 ANDN %I0.1 ST %Q0.0这段逻辑对应最经典的 PLC 启停回路LD %I0.0读取启动按钮按下时为 1OR %Q0.0把接触器反馈并联进去形成自锁ANDN %I0.1对停止按钮取反停止按钮按下时该行结果为 0ST %Q0.0把结果写入输出。整个过程用梯形图表示就是常开启动按钮、常开接触器反馈、常闭停止按钮三者串联再驱动线圈。Q0.0 一旦接通反馈触点保持回路松开启动按钮后输出不会掉。若要多加一个远程启动按钮在OR下面再写一行OR %I0.2即可程序段会自动优化成多路并联。3.2 定时器和计数器的参数说明%TM、%C 在程序里的使用Twido 定时器用 %TM0 到 %TM63 表示计数器用 %C0 到 %C31 表示。双击程序段里的定时器对象可以配置工作模式 TON、TOF、TP预设值%TMi.P当前值%TMi.V使能位%TMi.IN输出位%TMi.Q。TON 是最常用的通电延时IN 从 0 变 1 时开始计时当前值到达预设值后 Q 置 1IN 一旦变 0当前值立刻归零。TOF 则相反IN 断开后才开始计时适合做风机停止后的延时停机TP 是单脉冲输出适合把长时间保持的信号压缩成一个固定脉冲。定时器预设值的单位和时基有关。常见时基是 100msP 设置成 30实际延时就是 3 秒如果时基是 1s同样 P30 就是 30 秒。刚入门的人最容易在这里犯错把预设值当秒直接填。我一般写程序前先在参数表里把时基统一成 100ms写注释时把换算后的秒数标出来。计数器方面%Ci.P 是设定值%Ci.V 是当前值输入指令 CU/CD 分别表示加计数和减计数。要注意 %TM0.V 只能读不能写修改预设值要用 %TM0.P。配置计数器时还要指定计数保持与否断电后清零还是保持计数值这取决于现场要求。3.3 用结构化文本 ST 做模拟量换算和报警逻辑PLC 梯形图解决开关量逻辑很顺手但模拟量换算用梯形图写就很啰嗦。Twido Suite 的 ST 段支持 IF-ELSE、算术运算和数组访问。下面这段代码把模拟量输入 %IW0.0 的原始值换算成 000并产生一个高报警输出(* 模拟量输入 %IW0.0 假设量程 0~1000 换算到 %MW10单位为 0.1℃ *) IF %IW0.0 0 THEN %MW10 : %IW0.0 / 10; END_IF; IF %MW10 800 THEN %Q0.2 : TRUE; ELSE %Q0.2 : FALSE; END_IF;ST 里每个 IF 都必须有 END_IF 结尾语句结束加分号。如果变量表里把 %MW10 命名为 AI_PV把 %Q0.2 命名为 ALM_HIGH这段代码的可读性会明显提高。我建议开关量逻辑用 LD 或 IL模拟量和数组运算用 ST这样程序结构最清楚。4. 仿真、联机与 Modbus 通信Twido Suite V2.31.4 怎么把程序跑起来4.1 用内置仿真器先跑一遍逻辑写完程序先按 F7 编译没有错误后点击工具栏上的 Simulation 按钮进入仿真模式。Twido Suite 会弹出一个 CPU 状态窗口和动画表窗口仿真不依赖真实硬件适合在写 PLC 入门程序时快速验证启停逻辑和定时器参数。我在动画表里把 %I0.0 强制为 1观察 %Q0.0 是否能自锁保持再强制 %I0.1 为 1看线圈是否立即断开。这个过程比下载到 PLC 再排查快得多。仿真模式下如果看到 “Task time exceeded” 或 CPU 报警位置位说明扫描时间超过设置值。这时候先把动画表关掉再找是哪个程序段执行时间过长。有的老式做法喜欢把所有程序都堆在 MAST 任务里逻辑一多扫描周期就涨价遇到这种情况要把 PLC 高频率无关的处理逻辑拆到 FAST 任务或者把不需要每次扫描都执行的分支放到条件块里。4.2 USB/串口下载前的 COM 参数第一次下载到真实 PLC 前先确认编程线的驱动装好了。设备管理器里会出现一个新的 COM 口比如 COM3 或 COM4然后在PLC Communication里设置端口、波特率、从站地址。常见参数是 19200bps、8 位数据位、无校验、1 位停止位Modbus RTU 从站地址 1。这是大多数 Twido 默认出厂配置但最好打开 Configuration 里的串口设置页面直接看当前工程的参数不要硬套默认值。连接不成功时优先检查三件事第一看编程线有没有亮灯没亮说明线或驱动有问题第二看 Windows 防火墙是不是拦了串口通信第三看软件里选的是不是虚拟 COM 口。我见过不少情况程序没问题只是 COM 口选成了 USB 打印机端口导致下载一直超时。另外下载前要把仿真模式退出仿真和真实联机不能同时在跑。4.3 用 Modbus 从上位机读 %MW 变量Twido PLC 内置的串口支持 Modbus RTU 从站功能内存区 %MW 和 Modbus 保持寄存器是一一对应的。用 Python 写一个最小测试脚本可以直接读 %MW100 的值import minimalmodbus import time # COM3 是编程/通信串口1 是 Modbus 从站地址 plc minimalmodbus.Instrument(COM3, 1) plc.serial.baudrate 19200 plc.serial.bytesize 8 plc.serial.parity N plc.serial.stopbits 1 plc.mode minimalmodbus.MODE_RTU while True: try: # 功能码 03 读保持寄存器寄存器地址 100 对应 %MW100 value plc.read_register(100, 0, 3) print(MW100 , value) time.sleep(1) except KeyboardInterrupt: plc.serial.close() break这段代码执行前要先pip install minimalmodbus。read_register的第一个参数是寄存器地址第二个参数是小数位数第三个参数是功能码。在 Twido 侧Modbus 40001 地址对应 %MW0所以读取地址 100 拿到的就是 %MW100。如果 PLC 侧的 Modbus 从站功能没有打开上位机会一直报超时如果 PLC 正被编程软件占用串口会同权限冲突要先把软件里的联机断开。5. Twido Suite V2.31.4 的排错技巧从内部寄存器、滤波到软件互锁5.1 出问题先查内部寄存器和动画表别急着改程序设备运行异常时我一般先不删程序而是打开动画表把 %SW0 到 %SW10 这一组系统字加进去。Twido PLC 的运行状态、I/O 模块状态、扫描周期异常等信息都会反映在系统字里具体的位定义可以在软件里选中该地址按 F1 查看。观察系统字中为 1 的位再回到 Configuration 检查对应模块大部分硬件层面的故障都能在这个环节定位。比起一上来就修改逻辑先把 CPU 正面的 ERR/IO 指示灯和系统字对照起来看能省不少时间。IO LED 常亮时先看是不是扩展模块掉线ERR LED 闪动时多半是程序段引用了不存在的地址。5.2 数字量输入滤波的设置方法Twido Suite 的数字量输入模块在 Configuration 里可以设置滤波时间常见档位有 0.1ms、1ms、5ms、10ms。按钮、接近开关这类信号在机械抖动较大时把滤波时间调到 10ms 能有效减少误动作。但要注意接入高速计数器的输入通道不要设置过大的滤波时间否则会漏掉高速脉冲。滤波时间并不是越大越好它和输入信号的最短脉冲宽度直接相关需要先确认现场信号的最短脉宽再设置。5.3 软件互锁不能替代硬件互锁最后说一个最容易被忽视的 PLC 程序设计技巧正反转回路除了接触器的硬件互锁程序里也必须加软件互锁。下面是一段典型写法LD %I0.0 ANDN %Q0.1 ST %Q0.0 LD %I0.1 ANDN %Q0.0 ST %Q0.1在第一个输出前插入ANDN %Q0.1只要反转输出还保持着正转回路就不能接通同理正转保持时反转也不能启动。这样即使现场误接了启动按钮程序层也不会让两个方向同时输出。但即便程序里做了软件互锁接触器的主触点仍然可能因为卡涩而不能及时断开所以 PLC 程序和硬件电路两边的互锁都必须保留。软件互锁是最后一道保障硬件互锁不能省。本文还有配套的精品资源点击获取
返回列表