资讯动态

Intouch连接Modbus TCP设备:DASMBTCP1.1配置与实战

发布时间:2026/10/15 17:29:42 来源:尧图企业网站定制
简介这是一份专用于Intouch HMI软件与Modbus TCP设备通信的驱动资源包面向工业自动化工程师、组态软件实施人员及PLC集成开发者解决Intouch与支持Modbus TCP协议的PLC、仪表等设备之间的数据交互与监控配置问题。包内共129个文件约10.9MB以DLL驱动核心文件、EXE安装与配置工具、CHM帮助文档为主体另含PDF说明、HLP帮助文件等满足从驱动安装到参数配置的完整需求。驱动支持在Intouch工程中创建Modbus TCP数据源通过IP地址、端口号及寄存器地址映射实现实时读写并具备连接中断自动恢复机制兼容多数遵循Modbus TCP标准的设备。资源附带详细的帮助文档与配置示例可辅助用户理解Modbus寄存器结构、模拟量与数字量映射方式快速完成点位绑定与通信调试。目前已有2629人学习下载适合需要在实际项目中集成Intouch与Modbus TCP设备的技术人员参考。1. Intouch 连 Modbus TCP 设备DASMBTCP1.1 这个驱动到底是干什么的做组态的上位机调试最怕的不是画面复杂而是通讯层卡住半天查不出原因。尤其是 Intouch 通过 Modbus TCP 去读老 PLC 的数据很多人第一反应是装个 OPC 服务器中转却忽略了 Intouch 自己就带原生 Modbus TCP 驱动——DASMBTCP1.1。这个驱动的作用是把 Intouch 侧的访问请求翻译成标准 Modbus TCP 报文走网线直接发给设备省掉 OPC 这一层中间环节。它的定位就是给 Intouch 和 Modbus TCP 设备之间铺一条直连通道。适合谁用现场维护老系统的人、用 Intouch 做上位机但设备端是 Modbus TCP 协议的工程师以及正在为新项目选型通讯方案、想少装一个组件的选型人员。2. 从装完到读到数DASMBTCP1.1 的配置链路与点位映射2.1 先搞清三层结构Access Name、Device Group 和 ItemDASMBTCP1.1 装完之后桌面上会出现 DAServer Manager 的图标系统服务里也多出一个和 DASMBTCP 相关的服务项。这时候不要急着去 Intouch 里建标记名先把它的三层逻辑理清最上层是 Intouch 里的 Access Name它决定 Intouch 走哪个驱动中间层是 DASMBTCP 里的 Device Group它决定驱动往哪台设备发报文最底层是 Item也就是具体的寄存器地址映射。这个三层结构很多人会搞混以为在 Intouch 里建了 Access Name 就等于配好了通讯。实际调试中我遇到过不止一次这样的翻车Intouch 的 Access Name 指向了 DASMBTCP但 DASMBTCP 里没有建 Device Group或者建了 Device Group 但没绑定设备 IP结果运行起来所有点都是坏值日志报 “Device not responding”。所以在动 Intouch 画面之前先把 DASMBTCP 这层单独打通。DASMBTCP1.1 的配置入口在 DAServer Manager 里操作路径一般是这样右键左侧的 DASMBTCP选择新建 Device Group然后填写设备 IP、端口和通讯参数。这里的 Device Group 名称要和 Intouch 里 Access Name 的 Device Group 字段保持一致否则 Intouch 找不到驱动里对应的设备组。2.2 Device Group 配置项这些参数不调好等于白配新建 Device Group 时重点不是名字取得多好听而是通讯参数要和现场设备对上。下面是这套配置里最常见的几个参数项按我自己的调试习惯整理了常见值和说明配置项常见值说明Device Group NamePLCA / 设备别名Intouch 的 Access Name 里 Device Group 字段要与它严格一致IP Address设备实际 IP网线直连时用设备默认 IP经过交换机时确保同一网段Port502Modbus TCP 默认端口除非设备改了端口否则不要动Timeout3000 ms等待设备响应的超时时间设备响应慢可适当增大Retry13设备无响应时的重试次数设太大会拖慢整体轮询Watchdog1 s驱动检测设备是否在线的间隔设太短会增加无效报文这些参数里Timeout 和 Retry 的搭配最看现场情况。老 PLC 的通讯处理模块响应慢Time out 设 1000ms 就容易被误判成设备掉线日志里刷一堆 timeout实际设备好好的。我一般先设 3000ms、Retry 1观测一段时间再往下调。配置好之后DASMBTCP 侧生成一个 Device Group 配置块结构大致类似下面的 XML 片段DeviceGroup GroupNamePLCA/GroupName DeviceIP192.168.1.10/DeviceIP Port502/Port Timeout3000/Timeout Retry1/Retry Watchdog1000/Watchdog /DeviceGroup这段 XML 的意思是驱动会向 192.168.1.10 的 502 端口发起 Modbus TCP 连接如果等待 3000ms 没收到响应重试 1 次之后每隔 1000ms 用 watchdog 探测设备状态。GroupName 是 Intouch 侧引用的唯一标识改了这个名字Intouch 那边也要跟着改。需要注意的是不同版本 DASMBTCP 的配置文件格式有差异有些版本不直接暴露 xml 而是通过图形界面写注册表所以上面这段代码更适合理解参数含义不要直接拿去替换配置文件。2.3 Item 映射规则AI、DI、AO、DO 对应哪段寄存器DASMBTCP1.1 里点位类型被归成四类AI模拟量输入、DI开关量输入、AO模拟量输出、DO开关量输出。这和 Modbus 协议里的寄存器区有对应关系但也有一层地址偏移的坑。常见的对应关系是这样的Item 类型Modbus 功能区对应地址区间读写属性AI03 读保持寄存器 / 04 读输入寄存器3xxxx / 4xxxx只读AO03 / 06 写单个保持寄存器 / 16 写多个4xxxx可读写DI02 读输入离散量1xxxx只读DO01 读线圈 / 05 / 15 写线圈0xxxx可读写DASMBTCP 的 Item 书写方式常见格式是“循环号:类型:起始地址”比如1:AI:30001表示读取从 30001 开始的模拟量输入。这里的 30001 是 Modbus 协议编号很多设备手册里的地址是十六进制或从 0 开始计算的上位机里写 30001设备端实际对应的可能是寄存器地址 0。这个偏移问题在第四章的避坑清单里单独展开这里先记住Item 命名里写的是协议编号不是物理地址。2.4 Intouch 侧建 Access Name指向 DASMBTCP 才算闭环DASMBTCP 和 Device Group 配置完后回到 Intouch 的标记名字典里建立 Access Name。操作路径一般是Intouch 里打开“访问名”配置新建一个 Access Name应用程序名选 DASMBTCP主题名填 Device Group 的名字。关键的一步是在 Access Name 的“使用 SuiteLink”选项下要确保驱动类型被正确识别为 DASMBTCP而不是历史遗留的 DDE 或 FastDDE。Access Name 建好后标记名的“访问名”字段下拉选择它“标记名类型”选择内存型还是 I/O 型I/O 型的标记名还要选 Item 名称这个 Item 名称就是刚才说的1:AI:30001这种写法。这时候才真正把画面上的一个显示点通过 Access Name、Device Group、Item 三层关系挂到了 PLC 的某个寄存器上。很多新手上路时容易漏掉的一步是建完 Access Name 和标记名之后Intouch 运行环境下点位还是显示“#”或坏值这是因为 Intouch 的“使用 DASMBTCP 作为数据源”这个选项没有勾上或者勾了但应用名写成了别的驱动。检查方法很简单打开“访问名”对话框逐项核对应用程序名、主题名和使用的协议三层任何一层对不上点位就出不来数据。3. 设备掉线、地址错位、数据乱码DASMBTCP 避坑记录与排查思路3.1 坑一读上来的数据是邻居地址的数值现象Intouch 画面上某个 AI 点显示的值和设备触摸屏上对应通道的值对不上但偏移量是固定的比如总是差一个寄存器或差 16 个点。原因Modbus 协议地址和设备物理寄存器地址的起始编号规则不一致。很多设备的寄存器地址从 0 开始编号而 Modbus 功能码地址是从 1 开始编号的或者反过来。DASMBTCP 的 Item 里写 30001设备端实际响应的却是地址 0 的数据导致数据错位。解决先看设备手册的寄存器地址表确认它是“协议编号”还是“物理偏移”。如果是物理偏移就把 Item 里的地址换算成协议编号也就是在物理地址基础上加 1。比如设备手册写“输入寄存器地址 0”在 DASMBTCP 的 Item 里应该写成 30001而不是 30000。这类问题我一般会在点位表里单独加一列“协议地址”和手册地址分开记录避免换算混乱。3.2 坑二浮点数读出来是一串天文数字现象AI 点用来显示液位或温度量程本来是 0100结果画面上显示的是几亿甚至带小数点的乱码偶尔还会跳动。原因Modbus 协议传输浮点数时每个 Float 占两个寄存器32 位而两个寄存器的读取顺序和字节多少有关系。DASMBTCP 默认的寄存器组合方式和设备端的字节序、字序不一致时高低字节颠倒Float 就变成了一串无意义的数。这不是设备坏了也不是线松了纯粹是字节序没对上。解决在 DASMBTCP 的 Item 配置中给这个点位加上格式或字交换参数。常见做法是调整 Float 的“Word Swap”或者寄存器排列顺序把高字和低字交换回来。动手之前先用 Modbus Poll 之类的工具去读同一组寄存器确认正确值是多少再回到 Intouch 里排字节顺序。我自己的习惯是凡是用到 Float 的现场配置完第一件事就是拿一个已知量比如设备的版本号或固定值去对照确认字节序对了再批量建点。3.3 坑三设备偶尔没响应重连要等很久甚至要重启服务现象Intouch 运行几天后某个 Device Group 下的所有点位全部变坏值但设备那边 PLC 运行正常指示灯也正常。重启 DASMBTCP 服务后恢复过一阵又掉。原因DASMBTCP 长时间运行后TCP 长连接被设备端或中间交换机断开但驱动没有及时感知还在往旧连接上发请求。这和 Watchdog 参数、设备端的 TCP 保活时间都有关系。DASMBTCP 默认的掉线检测机制偏保守链路断了不会马上重连。解决把 Watchdog 间隔调短一些比如从 5000ms 调到 1000ms让驱动更快发现链路异常同时在设备端或者交换机上确认没有任何“空闲断连”策略在掐 TCP 连接。另一个更稳的办法是在 Intouch 里对关键点位做“故障值”报警第一时间发现掉线不要等到操作员发现画面全部变红再去查。这类问题排查起来耗时但多数都不是驱动 BUG而是链路保活参数不匹配。3.4 坑四点位一多内存涨得飞快运行变卡现象配置了上千个点Intouch 运行一段时间后内存持续上涨画面切换变慢DASMBTCP 进程占用内存突破几百 MB 且不回落。原因DASMBTCP1.1 是老架构对大量点位的轮询机制比较原始。每个点位不管有没有变化驱动都会按固定周期去轮询而且中间层的缓存没有做容量上限控制点位多了内存自然被吃掉。解决把点位按功能拆到多个 Device Group 里每个组只挂一类设备或一种业务数据降低单个组内的轮询压力。另外清理点位表里那些已经不用但还没删掉的旧 Item很多老项目里残留了一堆注释掉的点位DASMBTCP 还是会去轮询。点位拆组之后要同步检查 Intouch 的 Access Name让不同标记名组走不同的 Device Group避免都挤在一个组里。3.5 坑五改完配置不生效服务重启了还是老参数现象在 DAServer Manager 里改了 Timeout 和 Retry保存后重启了服务甚至重启了电脑但看运行日志发现参数还是旧的。原因DASMBTCP1.1 的配置有两份存储一份是图形界面里看到的配置项另一份是实际服务加载时读取的注册表或配置文件。有些版本的 DASMBTCP在图形界面点“保存”之后还要执行一次“激活”或者“应用”动作配置才会写到服务真正读取的位置。直接关闭界面不算保存成功。解决改完配置后在 DAServer Manager 里找到对应的 DASMBTCP 节点执行激活或重启操作再确认服务已经重新加载配置。保险的做法是改参数前先导出当前配置备份改完之后对比导出的文件和运行日志里的实际参数确认生效了再往下调。我一般会在改完配置后故意把某个参数调得很离谱比如超时改成 10ms看日志里有没有对应的报错用这个方式验证配置真的被加载了。3.6 坑六和 OPC 服务器混用两个数据源同时读写一个寄存器现象同一个 PLC 寄存器Intouch 里既通过 DASMBTCP 直接读又通过 OPC 服务器读两个通道显示的值不一致有时候还会互相干扰。原因两个通道各自维护自己的连接和缓存读写时序不同值自然有差异。极端情况下两个通道同时对同一个保持寄存器写操作会出现数据互相覆盖。解决统一走一个通道要么全用 DASMBTCP要么全用 OPC不要混搭。如果历史项目里已经混用了那就按“一个寄存器只能有一个写入通道”的原则拆分写入操作走 DASMBTCP 直连设备只读监控走 OPC或者反过来。这个原则要写进项目文档不然过几个月管理员换人又会有人为了省事加一条 OPC 通道。4. 验证通讯成功与否从日志到第三方工具的对照排查4.1 看 DAServer Manager 的日志重点不是看报错而是看报文DASMBTCP1.1 运行时的状态可以从 DAServer Manager 的运行时窗口里看到。窗口下方有实时日志会打出设备连接状态、读写请求的命令和返回码。很多人习惯只看红色报错其实更有价值的做法是看正常报文里的“Function Code”和寄存器地址确认驱动发出的报文是否和设备手册一致。如果日志里看到的功能码是 03读保持寄存器而你要读的其实是输入寄存器功能码 04那就是 Item 类型选错了。同理如果日志显示连接成功了但返回异常码 02非法数据地址说明 Item 里的地址超出设备寄存器范围要回头核对地址区间。日志是黑匣子的窗口报错只是表象报文内容和功能码才是根因。4.2 用 Modbus Poll 做对照实验区分设备端还是上位机的问题当 Intouch 显示坏值、但设备看起来正常时最有效的排查手段就是拿第三方 Modbus 调试工具做对照实验。用 Modbus Poll 连接同一台设备、读同一个寄存器地址如果 Poll 能读出正确数值说明 DASMBTCP 的配置有问题如果 Poll 也读不出来说明问题在设备端或网络链路。对照实验的操作步骤很简单Modbus Poll 里填设备 IP、端口 502、从站地址然后选功能码和起始地址读取结果一目了然。这个工具的好处是它不依赖 DASMBTCP 的任何配置是独立的排查视角。我习惯在项目验收前把所有关键点位都用 Poll 读一遍把结果记下来作为后期故障排查的基准数据。4.3 用 Python 模拟 Modbus TCP 主站验证设备端口是通的有些现场不方便装 Modbus Poll或者人员对工具的偏好不同也可以用 Python 脚本快速验证设备侧是否正常响应。下面的脚本用 pymodbus 库模拟主站去读取设备寄存器几分钟就能得出结论from pymodbus.client import ModbusTcpClient client ModbusTcpClient(192.168.1.10, port502, timeout3) if not client.connect(): print(连接失败先查网线和设备端口) else: # 功能码 3读保持寄存器从地址 0 开始读 10 个 response client.read_holding_registers(0, 10, slave1) if response.isError(): print(读寄存器错误检查地址范围和从站号) else: for i, value in enumerate(response.registers): print(f寄存器 {i}: {value}) client.close()这段脚本的核心逻辑是先建立 TCP 连接成功后用 read_holding_registers 读取设备保持寄存器的前 10 个值。脚本里三个关键参数目标 IP192.168.1.10、Modbus 从站号slave1、起始地址0。如果脚本能一次性读出一串数值说明设备端和网络链路没问题DASMBTCP 的配置就是排查重点。如果脚本报连接超时说明问题出在物理链路、IP 或端口上这时候去查 DASMBTCP 配置是浪费时间。4.4 在 Intouch 运行环境里快速试读一个点的技巧点位太多没法一个一个手动看但有的时候又不想等画面全部跑起来我常用的技巧是临时在 Intouch 的窗口里放一个按钮按钮的脚本里对目标点做一个赋值读取把读到的值显示在按钮标题上。这个做法不需要动整个画面两三分钟就能验证一个点的 Item 语法和地址是否正确。验证完的按钮可以保留也可以删掉不影响正式画面。这类临时验证脚本的写法不复杂核心就是“赋值给一个 I/O 标记名然后立刻弹出值”但要注意 Intouch 的脚本执行是异步的读值需要几秒钟的刷新周期别刚写完脚本就判断点位坏了等一个扫描周期再确认。5. 把 DASMBTCP 从旧机器迁到新机器六个核对项与一次成功迁移老项目换工控机是 DASMBTCP 使用中最容易翻车的场景。表面上看是拷一个安装包重装一遍的事实际上遗漏一个配置项系统就起不来。迁移前我一般会强制自己走一遍核对清单控制变量避免迁移后“设备连不上”和“驱动没装对”两类问题混在一起。第一步备份原机器的完整配置包括 DASMBTCP 安装目录下的自定义配置文件、DAServer Manager 导出的配置、Intouch 标记名字典里的 Access Name 结构。第二步确认新机器的操作系统版本和 DASMBTCP1.1 安装包版本老驱动对系统环境要求苛刻原系统是 32 位就别装 64 位版本硬扛。第三步安装 DASMBTCP 后先恢复配置再启动服务顺序不能反否则服务起来找不到 Device Group。第四步检查注册表项是否还原完整。第五步核对 Device Group 里的设备 IP 和端口确认新机器的网卡 IP 和原机器一致。第六步用 Modbus Poll 先验证设备端再用 Intouch 验证上位机端两边都通了才算迁移完成。我经历过的一次迁移就是第四步漏了注册表项导致服务启动后图形界面看不到任何 Device Group但设备侧明明是通的。后来重新导出原机注册表、补回驱动项一次性启动成功。自那以后我每次迁移 DASMBTCP 都强制把“原机配置备份、注册表项导出、设备端预验证”这三步走完再动新机器。迁移这种事没有后悔药备份做足了剩下都是时间问题。希望这些笔记能帮你在 DASMBTCP 上少走一段弯路。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑