讨论

二次开发要做自定义表格,是不是得先把SDK啃透才能写?

平平安安
平平安安
2026/03/23 13:36

刚入行半年,现在跟一个码垛项目,客户要求在示教器那个HMI上加几张自定义表格,能手动输批号、规格,还能点保存写到本地CSV那种。板子是埃斯顿的,控制器型号是EC63,手册翻了半天感觉官方例程就那几个G代码解析的,跟我要的表格没啥关系。

我现在的思路是装那个EDS开发环境,用C#拖个DataGridView,再调API把数据回写到控制器变量里。但这步具体咋接我没数——是直接调他们家的EtherCAT变量服务,还是得自己写个Modbus TCP从控制器那边读出来?有没有搞过埃斯顿二次开发表格的兄弟给个大致流程,我好知道先啃哪块。

10 3

全部回复 (3)

laojie
laojie#1

埃斯顿的EC63我没单独搞过,但思路跟你说的不一样——别想着在HMI上直接动控制器变量,那条路慢而且版本一升级就废。我们厂里以前做类似批号追溯的东西,直接在示教器那个内置编辑器里写个小脚本,挂个表格控件,CSV落盘走控制器的FTP服务,速度比走EtherCAT快三倍不止。你先把EDS装上之后看那个FtpClient的例程,路径在示例工程里搜一下就有了。

2026/03/25 16:38
2801209588
2801209588#2

用Modbus TCP你确定能行?EC63的Modbus表是锁死的,用户自定义区就那么几个字节能存啥,10行表格都放不下吧。要存数据还是得上控制器自己的变量池,你先把EDS里的VariableService那个dll引用上再说。

2026/03/27 17:52
liu1991
liu1991#3

说真的,别一上来就啃SDK。客户要的那张表,字段是不是固定的?批号、规格一般也就五六列,加个时间戳。要是字段不经常变,你直接在HMI里用SQLite做本地库,示教器启动的时候挂个同步服务,间隔5秒把控制器里那几个关键变量拉过来缓存一下,写盘用单独的线程。我们做的食品包装线就这套路,半年没出过问题。

2026/04/13 22:39