做步科触摸屏编程这活儿有阵子了,从第一次上手DTools时的一脸懵,到后来能闭着眼把通讯、报警、配方捋顺,中间踩的坑确实不少。今天把这段经验整理出来,从硬件选型讲到编程实操,再讲到现场调试那些机器说明书上不会写的东西,希望对刚接触步科HMI的朋友有帮助,也欢迎老手一起交流。
1. 认识步科触摸屏:从硬件选型到软件环境的搭建
1.1 步科HMI的产品定位与常见型号
步科(Kinco)在国产触摸屏里算是一线品牌,尤其在小型自动化设备、包装机械、纺织机械、数控机床这些领域出现频率很高。相比威纶通、昆仑通态这些竞品,步科最突出的特点是性价比高,同等尺寸和功能配置下,价格一般比台系品牌便宜一截,而且步科的售后响应和中文资料做得比较到位,对于国内设备厂商来说非常友好。
步科触摸屏目前主流的是MT系列,从4.3寸到15寸都有覆盖,常见的像MT4414TE、MT4512TE、MT4522T、MT4532TE等。选型时我一般重点看三个参数:屏幕尺寸、通讯口类型、是否支持以太网。比如MT4414TE是4.3寸,带串口,适合做小型设备的人机界面;MT4522T是7寸,带以太网口,需要和上位机或者多台PLC通讯时就很方便。另外还有带CANopen、带总线接口的型号,主要用在运动控制场景,比如搭配步科的伺服和运动控制器。
我的建议是,如果项目预算允许,尽量选带以太网口的型号。原因很简单,现在很多PLC都支持网口编程和通讯,以太网通讯的抗干扰能力比串口强,而且在现场调试时通过网线就能下载程序,比反复插拔串口线省心得多。
1.2 DTools编程软件的安装与工程结构
步科的触摸屏编程软件叫Kinco DTools,目前常用的是DTools V2.x版本,软件可以从官网下载,安装过程比较傻瓜,基本上一直点下一步就行。需要注意两点:
- 安装路径尽量不要带中文和空格,否则某些版本在编译时可能报路径错误;
- 打开工程前先把杀毒软件退出,或者把软件安装目录加入白名单,不然编译生成的文件可能被杀毒软件误删。
DTools的界面风格和威纶通的EBPro有点像,左侧是工程树,中间是画面编辑区,右侧是属性栏。一个完整的工程文件包含以下核心部分:
| 工程组件 | 作用 |
|---|---|
| 设备连接配置 | 定义触摸屏与PLC的通讯方式和参数 |
| 画面(窗口) | 人机交互界面,可以创建多个窗口页 |
| 变量/标签库 | 定义PLC地址与HMI内部地址的映射关系 |
| 报警管理 | 配置报警触发条件和显示方式 |
| 配方管理 | 管理多组参数数据 |
| 数据记录 | 采集和存储历史数据 |
刚开始接触时,别急着画画面,先把工程树的结构搞清楚。我见过不少新手在画面上折腾半天,结果发现通讯没配置,变量全部无效,等于白干。
1.3 什么时候选步科,什么时候不选
虽然我是步科用户,但我不想无脑吹。选型这件事,必须结合项目实际情况来判断。步科适合以下几类场景:
- 项目预算有限,需要控制设备整体成本;
- 现场以串口通讯为主,比如接三菱FX系列、台达PLC;
- 设备画面相对简单,不需要太多复杂的功能和动画效果;
- 需要快速交货,步科的供货周期比较稳定。
但如果项目要求特别炫酷的画面、大容量历史数据库、或者需要和多家品牌的PLC同时高速通讯,那我建议考虑威纶通的高端系列或者西门子的精智面板。不是说步科做不到,而是那些场景下成熟案例更多的方案,后期会省心很多。工具没有绝对的好坏,只有适不适合你的需求。
2. 从新建设备到画面设计:一个完整项目的实际流程
2.1 新建工程与设备连接的配置逻辑
打开DTools,第一步是新建工程,弹出对话框中需要选择触摸屏型号。这里有个容易踩的坑:型号选错之后,后期虽然能改,但画面和变量可能会丢失,所以新建时一定要核对机身型号标签。
选好型号后,进入工程主界面,第一件事不是画画面,而是配置设备连接。在工程树中找到“设备”或“连接”节点,双击打开配置窗口。这里的选择逻辑是:
- 选择PLC品牌和型号:比如接三菱FX3U,就选Mitsubishi FX3U/FX3UC系列;
- 选择通讯口:COM1还是COM2,要和触摸屏背面的实际接线对应;
- 设置通讯参数:波特率、数据位、校验位、停止位,这些必须和PLC侧的设置完全一致。
以最常见的Modbus RTU通讯为例,参数通常设置为9600或19200波特率、8数据位、1停止位、无校验(或偶校验)。这个看起来简单,但实际现场出问题最多的就是通讯参数不一致。PLC侧是19200、偶校验、7数据位,触摸屏侧设置了9600、无校验、8数据位,结果就是上位机收不到任何数据。
2.2 画面设计的基础:按钮、指示灯与数值显示
设备连接配置完成后,就可以开始画面设计。DTools的控件库在右侧工具栏中,常用的有按钮(位按钮/宏按钮/画面切换按钮)、指示灯、数值显示、数值输入、文本显示、报警显示等。
画一个典型的启动/停止控制画面,步骤大致如下:
- 双击画面进入编辑区,先放一张背景图或者设置背景色;
- 拖入两个“位按钮”,一个是“启动”,一个是“停止”;
- 在属性栏中设置按钮关联的PLC地址,比如M0和M1;
- 设置按钮的文字显示和操作方式(按下置位、松开复位,还是切换模式);
- 再拖入一个“指示灯”,关联到运行输出地址,比如M10,当M10为ON时灯变绿;
- 最后拖入“数值显示”控件,关联到某个数据寄存器地址,比如D100,用于显示当前设备的生产数量。
这里有一个非常关键的操作点:所有控件关联的地址都必须在变量库中先定义好,或者直接通过控件属性绑定地址。DTools支持直接填写绝对地址,但我强烈建议先在变量库中定义变量,再在控件中引用变量。这样做的好处是后续如果地址变了,只需要改变量库里的定义,而不用满画面去找控件一个个改。
2.3 项目开发过程中容易被忽视的细节
关于画面的布局和交互,我总结了几条实测用下来的经验:
- 按钮的尺寸不要小于40×40像素,太小的按钮操作工戴着手套按不准,现场会骂人的;
- 涉及误操作可能造成危险的按钮,一定要设置“确认窗口”或“按下保持”模式,比如急停复位、参数清零这类操作,必须让操作工二次确认;
- 数值输入控件要设置上下限,防止现场人员误输入了离谱的参数,直接导致设备异常;
- 注意不同画面的切换逻辑,常用功能尽量在一级页面完成,菜单嵌套不要超过三级,否则操作工会嫌麻烦而直接不点赞。
有一次我调试一台包装机,画面做了五级菜单,结果操作工根本不进子页面,全靠主页面上的几个按钮盲操作。后来我把常用参数全部提到了首页,才真正解决了实际使用问题。触摸屏编程不只是技术活,还要懂点人机工程学。
3. 通信与变量映射:触摸屏和PLC之间的数据链路
3.1 不同PLC品牌与通讯驱动的适配
步科DTools内置了非常丰富的PLC驱动,常见品牌基本都覆盖到了:三菱FX/Q系列、西门子S7-200/S7-300/S7-1200/S7-1500、欧姆龙CP/CJ系列、台达DVP系列、基恩士KV系列、松下FP系列,当然还有Modbus RTU/TCP这种通用协议。
选驱动时有两点要注意:
- 尽量选和PLC型号最匹配的专用驱动,不要直接选Modbus通用协议。因为专用驱动在地址映射上做了优化,读写效率更高,而且能直接用PLC原生的数据块地址,比如三菱的D、M、X、Y,不用自己去算Modbus寄存器地址。
- 在新建设备时,仔细核对PLC的CPU固件版本和通讯协议版本。比如西门子S7-1200的固件版本不同,支持的通讯方式可能略有差异,DTools中可能会要求选择相应的版本号。
3.2 Modbus RTU的串口接线与参数设置
再看一个实际场景:触摸屏作为Modbus主机,读取一个第三方设备(比如变频器或温控器)的寄存器数据。这种情况下,触摸屏往往接在RS485总线上,和变频器等设备通过一根双绞线串联。
RS485接线时有个重要坑点是A、B端子不要接反。很多设备的通讯端口标的是“+”和“-”,不同品牌的标注方式不一致,有的“+”对应A,有的“+”对应B。现场调试时如果通讯不上,第一反应应该是用万用表量一下线序,或者把A、B对调再试一次。
DTools中新建一个Modbus设备时,需要配置:
| 参数 | 推荐值 | 备注 |
|---|---|---|
| 波特率 | 9600或19200 | 要与从站设备一致 |
| 数据位 | 8 | Modbus默认8位 |
| 停止位 | 1 | 看从站要求 |
| 校验位 | 无或偶校验 | 老设备多为偶校验 |
| 从站地址 | 1~247 | 原来设备设定的地址 |
| 通讯超时 | 100~500ms | 值太小容易误报 |
Modbus地址的映射是新手最容易晕的地方。以Modbus RTU协议为例,保持寄存器(Holding Register)的地址范围是40001到49999,如果PLC或设备手册上写要读取的寄存器地址是40010,那在DTools的Modbus设备变量中通常填写地址10或40010,具体要看软件是按“PLC地址”还是按“协议地址”来解析。这个细节不同版本可能不一样,建议先在软件中用“数值显示”控件监视一个已知数值的寄存器,确认地址的对应关系后再大量配置变量。
3.3 变量类型与数据类型的一致性问题
变量地址配对了,但如果数据类型选错了,同样会显示乱码或错误数值。DTools中常用的变量类型包括:
- Bit(位):用于开关量,比如M0、Y0、继电器线圈;
- Short(16位有符号):-32768到32767,对应三菱D寄存器;
- UShort(16位无符号):0到65535,用于显示计数等正值;
- Long(32位有符号):对应连续两个16位寄存器;
- Float(32位浮点数):对应PLC中的浮点数据,注意字节顺序问题。
字节顺序(Byte Order)是个典型坑点。同样是32位浮点数,三菱PLC默认的高低位排列方式和西门子PLC可能不一样,Modbus协议中还分大端、小端、字交换等排列方式。DTools的变量属性中一般有“字节顺序”或“字顺序”的选项,现场看到数值显示不对时,比如本该显示25.0却显示一个巨大或极小的数,十有八九就是这个顺序没配对。从高位字到低位字的四种组合都试一遍,马上就能找到正确的排列方式。
4. 报警、配方与数据记录:让设备更贴近实际生产需要
4.1 报警系统的设计思路
设备出问题时,操作工第一反应是看触摸屏上有没有报警信息。报警设计得好不好,直接影响故障响应效率。
DTools的报警功能分为“报警”和“实时报警”两种形式。我的做法是分三层来搞:
- 第一层:实时报警条,放在主画面顶部,扫描到任何报警变量为TRUE时就滚动态显示,作用是最快让操作人员知道“设备出问题了”;
- 第二层:报警汇总页面,用“报警显示”控件把所有当前未确认的报警列出来,显示报警时间、报警内容和状态;
- 第三层:报警历史页面,通过“报警历史”控件查看已经确认过的历史报警,用于后续分析故障根源。
报警信息本身可以做成文本常量,也可以做成带参数的动态信息。比如报警文本可以写成“#地址值”,这样当报警触发时,控件会自动把当前地址的值填入文本中,像“变频器过载,当前电流:35.2A”这样,方便现场判断。
有个经验是,报警触发条件不建议直接在HMI侧做,而是尽量在PLC程序里写逻辑,把报警结果作为一个M点或M区传到HMI上。这样做的好处是,HMI断电重启后报警状态不会丢,PLC侧的程序逻辑也更清晰,而且以后如果要换触摸屏品牌,报警逻辑不受影响。
4.2 配方管理与参数批量下发
配方功能在需要频繁切换产品参数的设备上非常实用,比如灌装机、包装机,切换产品时需要一次性调整温度、速度、压力等多组参数。在没有配方功能的触摸屏上,操作工得手动把参数一个一个敲进去,费时费力还容易出错。
DTools的配方功能使用逻辑是:先把需要下发的所有变量(比如D100~D120)归类到一组配方数据中,然后为这组数据创建多个配方记录(配方1、配方2、配方3……),每个配方记录存储一组具体的参数值。操作工在配方页面选择某个配方号,点击“上传”(从触摸屏写入PLC)或者“下载”(从PLC读出到触摸屏做修改),就能快速完成批次换型。
配方设计时有一个细节要特别注意:配方存储在触摸屏的Flash或者U盘中,和PLC的断电保持区无关。所以配方上传到PLC之前,最好确认PLC侧对应的数据寄存器在断电后是否需要保持。如果PLC断电后这些寄存器会清零,那配方写入后还必须额外触发PLC的数据保持保存动作。
4.3 数据记录与趋势曲线的应用
需要关注生产过程中的温度曲线、压力波动等情况时,HMI的趋势图功能就派上用场了。DTools支持“实时趋势”和“历史趋势”两种:
- 实时趋势:控件直接关联变量,实时刷新曲线,类似一个简易示波器;
- 历史趋势:数据先写入触摸屏的存储区,后面再以曲线形式调出回放。
我建议用数据记录功能做长期存储时,要注意存储容量和采样周期的平衡。假设触摸屏的存储空间是64MB,采样周期是1秒,每5分钟存一条记录,一条记录包含时间戳和8个变量值,大概占用几十个字节,这样算下来能存挺长时间。但如果采样周期改成1秒,记录间隔太密,存储空间很快就会被写满,覆盖旧数据后就无法回溯前面的异常了。
实际项目中我一般是采样周期设1秒,存储触发条件是“值变化超过设定死区”或者“报警触发时”,这样既能保证异常时数据完整,又不会让无用数据占满内存。具体到某型号触摸屏的存储上限,建议在选型时查看对应的内存参数。
5. 编译下载与现场调试:最容易踩坑的环节
5.1 从编译到下载的常见错误排查
在DTools中写完画面和变量后,点击“编译”,软件会生成下载文件。编译过程的报错,多数是以下几种:
- 地址重复或超出范围:变量定义的地址超出了所选PLC型号的地址范围,比如三菱FX3U的D寄存器范围是D0~D7999,如果填了D8000就会报错。不过D8000附近有些是特殊寄存器,实际项目中要避开。
- 控件引用了未定义的变量:删除了某个变量,但画面上还在用,编译就会提示“变量不存在”。
- 画面编号重复或跳号:有些固件版本对画面编号有要求,删画面时如果不连续,可能出现编译不通过,检查工程树的画面列表即可。
- 文字编码不支持:个别老型号触摸屏不支持生僻汉字,编译时提示编码错误,需要把文本改成常用字或者在工程设置里改字体。
编译通过后,就是下载。步科触摸屏下载程序有两种常见方式:
- 串口下载:通过编程线连接触摸屏的COM口和电脑的COM口(或USB转串口)。下载前触摸屏需要进入下载模式,一般是上电瞬间按住屏幕某个角,或者系统设置里有“进入下载模式”的选项。不同型号操作方式不一样,说明书上会写。
- 网口下载:通过以太网线连接触摸屏和电脑,在DTools的下载设置中填入触摸屏的IP地址即可。注意电脑和触摸屏的IP要在一个网段,比如触摸屏是192.168.1.10,电脑就设为192.168.1.20。网口下载前建议先把触摸屏的IP地址确认好,否则下载时根本搜不到目标设备。
5.2 触摸屏与电脑通讯不成功的排查路径
这里我总结了一套自己的排查流程,遇到通信失败问题时按照这个顺序来,基本能解决九成以上的问题:
- 确认编程线类型对不对。步科有些型号用USB线直连,有些用串口线,还有的需要专用的下载线,线序和芯片方案不同。如果电脑识别不到USB转串口设备,先装驱动,Win10系统一般会自动识别,老系统可能需要手动装CH340或FT232驱动。
- 确认触摸屏进入了下载模式。很多次通讯失败的原因是触摸屏还停在正常运行画面,根本没有进入等待下载的状态。
- 确认电脑的设备管理器中COM口号正确。USB转串口线每次插入的COM口号可能不一样,在DTools的下载设置里要选对当前实际识别的COM号。
- 确认波特率设置正确。下载通讯速率如果设备间不匹配,会导致握手失败,一般在触摸屏系统设置里能看到当前的下载波特率。
- 试试换一根线或者换一个USB口。工业现场USB口供电可能不稳定,前置USB口尤其容易出现通讯时断时续。
5.3 现场电磁干扰与通讯异常的处理
现场调试时,触摸屏通讯不稳定不一定是配置的问题,很可能是电磁干扰导致的。最常见的表现是:设备一启动,触摸屏上的数据就开始跳动或者显示通讯超时,设备一停,画面又恢复正常了。
遇到这种情况,我的处理顺序是:
- 检查接地:触摸屏和PLC的电源地、通讯线屏蔽层是否可靠接地。很多设备厂家为了省事,把屏蔽层悬空了,这在变频器多的现场就是灾难;
- 检查通讯线的布线:RS485线不要和动力线走在同一个线槽里,不要和变频器输出线近距离平行走线。如果实在避不开,就用带屏蔽的双绞线,并且屏蔽层单端接地;
- 加磁环:在通讯线两端靠近设备的地方套上抗干扰磁环,能有效衰减高频干扰;
- 降低波特率:把通讯波特率从19200降到9600,牺牲一点速度换取稳定性,在干扰不强的时候很有效;
- 加隔离器:如果以上方法都不行,可以考虑在触摸屏和PLC之间加RS485隔离器,让两侧电气隔离,从根本上切断干扰路径。
有次在现场,触摸屏连三菱FX3U,一启动伺服电机,数值显示区域就疯狂跳变。排查了参数设置没问题,线也重新接过,最后是给触摸屏的24V电源单独加了滤波器,再把通讯线换成屏蔽双绞线并接地,问题才彻底解决。工业现场的通讯问题,很多时候不是软件配置问题,而是硬件环境问题。
5.4 备份工程与屏幕文件的管理习惯
最后再说一个看起来不起眼但很重要的习惯:及时备份工程文件,并在触摸屏中保存一份可以上载的源文件。
步科触摸屏支持把工程源文件下载到触摸屏存储区,后续调试人员通过上位机软件可以将源文件上载回电脑。这个功能在某些项目验收时非常有帮助,能避免因为人员流动导致工程丢失后完全无法维护的情况。
我的习惯是:
- 工程文件名带上版本号和日期,比如“包装机控制_V1.2_20250115.kinco”;
- 每改完一个功能模块就编译一次并下载一次,不要改一堆再一次性下载,出了问题很难定位是哪次改动造成的;
- 现场调试完,把最终的工程文件同时保存在公司内部服务器、U盘和触摸屏中。
另外,步科DTools在编译工程时会自动生成备份文件,这些备份文件也不要随便删,关键时刻真的能救回一个不知道被谁改了哪里而崩溃掉的工程。
根据我个人的经验,步科触摸屏这个系列的上手难度其实不高,基础功能学个两三天就能干活。真正拉开差距的地方在于对通讯的理解、对现场环境的判断和数据管理习惯的养成。上面写的这些,都是我在项目里实际遇到过并且解决过的问题,希望能给正在搞步科HMI编程的朋友一些参考。如果你在调试中遇到别的有意思的坑,也欢迎拿出来聊,那些“从坑里爬出来”的经验,往往才是这行最值钱的东西。