上一周被拉到客户现场,聊GOT2000的数据记录,对方开口就是一句:“采样间隔设成1秒,一天也就86KB,SD卡容量有什么好担心的?”我说你先别急着下结论,86KB这个数字看着人畜无害,但你把点位数量、字长、CSV时间戳、文件切割逻辑全部算进去,再乘上一个月不导数据的在线时长,SD卡那点空间根本扛不住。而且这类记录功能里藏着好几个“配对”环节——软元件配对、采样间隔配对、触发条件配对、SD卡格式配对,任何一个没对上,都会出现“明明设置了却不出数据”或者“数据量突然爆炸”的玄学问题。
这篇文章我就围绕GOT2000数据记录,把“配对”这件事从头到尾讲透:从数据量怎么手算,到GT Designer3里怎么配置,再到现场怎么验证、踩了哪些坑。不管你是第一次接触数据记录,还是已经配过几台但经常被容量和文件问题困扰,这篇都值得你花十分钟完整看一遍。
1. “配对”到底配什么:先搞懂数据记录的完整链路
1.1 数据记录不是一个开关,是一条链路
很多人第一次用GOT2000数据记录时,习惯把这功能当成一个总开关:开了就有记录,关了就没记录。实际使用中麻烦恰恰出在这——它是一条完整的链路,每个环节都得对上。
简单拆一下,这条链路包括四个节点:
- 采集对象:你要记录什么,是PLC里的D寄存器、位软元件,还是GOT内部寄存器。这里决定数据从哪里来。
- 采样节拍:按固定时间间隔抓一次,还是在数值发生特定变化时抓一次。这里决定数据量密度。
- 存储介质:SD卡、USB存储器还是GOT内置存储。介质决定能存多少、多久存一次。
- 文件管理策略:一个文件写到多大切一刀、满了是停止还是覆盖、文件名怎么区分批次。这里决定你后续能不能轻松把数据导出来用。
我在现场排查过的“没有数据”案例里,十有八九不是GOT坏了,而是上述某一环根本没配对。比如有人设了触发软元件但PLC里这个软元件一直没接通,结果记录根本没启动;又比如SD卡格式不对,GOT虽能识别但写不进去。这些问题如果不按链路去查,你会觉得GOT在耍你,实际是逻辑链路断了。
1.2 标题里的“配对”指什么
标题里那句“你配对了吗”,我理解其实是在问三件事:
- 记录软元件和通道有没有配对。你要记录D0到D9共10个寄存器,但只在配置里加了D0一个点,后面的通道全是空的,记录文件里自然只有孤零零一列数据。
- 采样间隔和实际应用场景有没有配对。做趋势分析用1秒采样合理,做故障追溯用10毫秒采样可能才够;反过来,监控一个半天才变化一次的储罐温度,用1秒采样就是白白烧容量。
- 存储策略和现场运维节奏有没有配对。现场一个月才导一次数据,但SD卡容量只够写半个月,那就只能看到记录写到某一天戛然而止。
所以这篇博文的“配对”两个字,不是指某个隐藏的配置开关,而是指把GOT2000数据记录的每个环节,和你现场的真实需求一一对应起来。接下来我先从大家最关心的“一天烧多少容量”说起。
2. 数据量估算:1秒采样到底会吃掉多少存储空间
2.1 先学会手算数据量
标题里“采样间隔1秒,一天烧掉86KB”这个说法,我只能给个评语:这个数字过分乐观。真要算清楚,公式很简单:
每秒记录条数 = 1 ÷ 采样间隔(秒)
一天总记录条数 = 86400 ÷ 采样间隔(秒)
一天数据量(不含时间戳) = 一天总记录条数 × 单条记录字节数
单条记录字节数取决于你记录了几路信号、每路信号是16位还是32位。GOT记录一个16位整数,按二进制原始数据算约等于2字节;一个32位浮点数约4字节。我们用这个公式算几个常见组合,你对照自己现场配置就心里有数:
| 通道与数据格式 | 采样间隔 | 每天原始数据量 | 说明 |
|---|---|---|---|
| 1路16位整数 | 1秒 | 约168.75KB | 86400条 × 2字节 |
| 1路16位整数 | 2秒 | 约84.4KB | 接近标题里的86KB |
| 2路16位整数 | 1秒 | 约337.5KB | 86400条 × 4字节 |
| 1路32位浮点数 | 1秒 | 约337.5KB | 86400条 × 4字节 |
| 4路16位整数 | 1秒 | 约675KB | 86400条 × 8字节 |
| 10路16位整数 | 1秒 | 约1.65MB | 这是不少现场的真实配置 |
看到没有,标题里的86KB,对应的大概率是“1路16位信号 + 约2秒间隔”或者类似极轻量级配置。你要是按10路16位信号、1秒间隔去记录,一天就是1.65MB起步,一个月下来接近50MB。这还是没算时间戳的原始字节数,真实写进CSV文件更大。
所以我的建议是:别背“86KB”这种现成数字,你把公式记下来,按自己的路数和间隔算一遍,三分钟就知道SD卡够撑多久。
2.2 真正的大头:时间戳和CSV格式
上面算的还是“纯净数据”。实际保存到SD卡里的CSV文件,每一行通常都带日期和时间,这部分开销非常可观。
举个例子,一行CSV大概是这个模样:
2025-05-17 14:30:01, 256, 102.5, ON这一行文本随随便便就是25到40字节。前面算了原始2字节一条,现在变成30字节一条,直接被放大十几倍。你还是1路16位整数、1秒间隔,一天86400行,文件大小可以达到2MB甚至更多。这和标题里说的86KB,差了不是一个量级。
这也解释了另一个常见误解:为什么在GOT菜单里看SD卡剩余空间“烧得好快”,和我估算的不一样。因为系统里显示的是CSV文本文件大小,不是原始二进制数据量。规划容量时,建议直接按CSV行数乘一个安全系数来算,比如每行按40字节估算,这样留的余量比较充足。
2.3 从估算反推你的SD卡能用多久
有了日数据量,下一步就是算SD卡能用几天。公式更简单:
可用天数 = SD卡可用容量 ÷ 日数据量
假设现场实际是10路16位整数、1秒间隔,CSV文件大小约5MB/天。一张4GB的SD卡,实际可用约3.7GB(换算一下可以算出天),按5MB/天算能写740天?不对,我重新算:4GB=4096MB,3.7GB是十进制。4GB SD卡标称4 000 000 000字节,换算成MiB约3815MiB。如果5MB/天,能存约763天。但如果数据量是15MB/天,就只能撑254天。
实际运维中SD卡不是越满越好。我会建议把“设计可记录天数”控制在SD卡容量的50%以内,留一半给文件系统开销、突发扩容和现场忘了及时导数据的冗余。
提示:不同批次SD卡的实际可用容量有差异,格式化后以系统显示为准。另外FAT32单文件最大4GB,GOT的CSV文件一般会在接近1GB甚至更小时自动切割,所以单文件不会无限增大。
3. 实操配对第一步:记录软元件与通道配置
3.1 记录什么:软元件类型与通道规划
在GT Designer3里配置数据记录,第一步是把“要记录的信号”填进去。常见可记录对象有PLC侧寄存器D、GOT内部寄存器GD、位软元件M等。这里有一个特别重要的配对思路:你记录的通道数量和实际需要分析的信号数量,必须完全一致。
比如你需要在趋势图里看温度、压力、流量三个值,那数据记录里就应该至少配3路通道,分别对应D0、D2、D4。有些朋友在PLC里把温度放在D0,压力放在D1,但配置记录时只填了一个D0,结果CSV里永远只有温度和压力挤在同一个通道里,后面分析数据时根本分不清谁是谁。
通道规划我建议按“数据用途”分组,而不是按“寄存器地址”硬凑:
- 工艺趋势组:温度、压力、流量等连续变化量,用32位浮点或16位整数记录,间隔可以1到5秒。
- 设备状态组:电机运行、阀门开关、报警状态等开关量,用位软元件或字位记录,间隔要求不高。
- 故障追溯组:只在触发时记录,采样间隔尽量短,比如100毫秒,用于事故回放。
这样一个记录项对应一组用途,后续导出CSV、做数据分析都清爽。把所有点塞进一个记录项,文件虽然少,维护时最痛苦。
3.2 为什么推荐用GOT内部寄存器而不是直采PLC软元件
实际配置时,记录对象既可以直接选PLC的D寄存器,也可以选GOT内部寄存器GD。两者都能记录,但有个经验:如果记录频率较高、点数较多,优先考虑先把数据送到GD,再让数据记录功能去读GD。
理由很简单:GOT通过通信协议读PLC软元件是有通信周期的。你设1秒采样,但PLC侧通信扫描周期本身就要200毫秒,再加上触摸屏画面刷新、报警处理这些任务,实际采样时刻会抖动。而GD寄存器是GOT本机内存,数据记录功能读它几乎不增加通信负担,采样时序更稳定。
当然,这取决于你用的是直连还是网络连接。直连时影响小;网络连接或者PLC站数多时,用GD中转明显更稳。具体做法不复杂:在PLC程序里把要记录的数值定时传送到GOT内部寄存器区(GT Designer3里分配GD地址),数据记录功能监视GD就够了。这样就等于把“采集”和“记录”在物理上解耦了。
3.3 通道配置的常见错误
我在多个项目里见过下面三种高频错误,写出来各位对照一下:
- 数据类型不配对。PLC里存的是BCD码,记录设置里却按HEX解析,出来的数值和现场仪表完全对不上。配置前先确认数据类型是BIN还是BCD、16位还是32位。
- 重复记录同一地址。画面里监控用了D0,数据记录也填D0,备份工程时复制粘贴记录项,结果一个地址被记录了两遍,白白浪费一倍的存储和通信开销。
- 位软元件当字来记。记录开关量时,如果GOT把位软元件按字通道处理,你会看到0和1之外出现一些莫名其妙的值。开关量尽量用位通道,或者先映射到字寄存器再记录。
4. 实操配对第二步:采样方式、触发条件与生命周期
4.1 周期采样与变化采样怎么选
GOT2000数据记录通常提供两类采样思路:一类是按固定时间间隔抓数据,叫周期采样;另一类是按对象值的变化量触发记录,叫变化采样。
周期采样适合温度、压力、流量这类连续缓慢变化的信号。你要是分析一个温度从25度爬到80度要多久,固定间隔采样最直观。间隔选多少,取决于你分析精度和数据量之间的平衡。我一般先问现场:技术协议要求的趋势曲线分辨到秒还是分钟?如果1秒够,别用0.1秒。
变化采样适合只有开关动作才需要记录的状态量,比如某个报警点是ON还是OFF、阀门的开闭反馈。这类信号你拉一条时间轴去分析,其实只有翻转的瞬间才有意义。用变化采样,数据量可以砍掉一头,而且查故障时一眼就能看到翻转点。
实际项目里,我经常把两类采样拆成两个记录项:一个记录连续量用周期采样,一个记录开关量用变化采样。两个记录项互不干扰,容量消耗也更合理。
4.2 触发条件:什么时候开始记、什么时候停
很多新手配完数据记录发现SD卡里空空如也,大概率就是触发条件没配明白。触发条件是数据记录链路的“总闸门”。
常规配置有两种思路:
- 一直记录:GOT上电后就开始记录,直到关机或手动停止。适合24小时连续监测,不需要逻辑判断,最简单稳定。
- 条件触发:用软元件控制记录窗口。比如M0置ON开始记录,M0置OFF停止记录。适合只在设备启动阶段、故障阶段或测试阶段记录。
条件触发的玩法可以很灵活。比如把故障报警位作为触发源,正常生产不记录或者低频记录,一有报警就高频记录。这样既控制了容量,又抓住了关键片段。
需要特别提醒的是触发极性:你设定的是“OFF→ON开始记录”还是“ON状态下连续记录”,这两种行为完全不同。我在现场遇到过设定成上升沿触发的用户,PLC上电后M0已经处于ON,触发条件永远不满足,记录一直不启动。规避办法很简单:配置完后,用强制软元件的方式试一次触发,或者直接把触发源置ON看能不能立即产生文件。
4.3 记录生命周期设计:定时切割、容量覆盖
记录文件不能无限写下去。GOT2000一般支持按文件大小或时间自动切割,我建议根据你的分析工具来定:
- 按时间切割:每天一个文件,文件名带日期,方便归档。比如设定每天0点生成新CSV,运维人员每天把前一天的文件拷贝走。
- 按大小切割:单个文件写到设定大小就生成新文件。适合不关心自然日、只想控制单个文件打开速度的场景。
容量满了怎么办?如果SD卡已经写满,GOT的行为取决于你选择的文件管理策略。支持循环覆盖当然方便,但我个人的态度是:关键数据站点不该开自动覆盖,数据被覆盖掉找不回来的代价远大于一张SD卡。宁可设置“写满停止”,再配一个容量预报警提示,让运维及时导数据。
5. 存储介质与文件的最后配对:SD卡、命名与容量轮换
5.1 SD卡的选择与格式化要点
GOT2000对SD卡不是随便插一张就能用的。品牌型号、容量、文件系统格式都可能影响识别。我踩过最典型的一坑:拿一张64GB的SDXC卡插进去,GOT提示“未安装SD卡”。换成16GB的SDHC卡,FAT32格式,一把就过。
所以配对第一条:先确认你的GOT型号支持多大容量、什么格式的SD卡。老一些的机器可能只认2GB以下的SD卡,新机型通常支持SDHC。没有人会反对你插一张大容量卡,但前提是GOT认它。
格式化时注意文件系统。GOT常见要求FAT16或FAT32,不认exFAT。格式化这事别用Windows右键里的快速格式化就完事,建议在GOT上执行格式化,或者用专用工具检查簇大小。我在现场用Windows格式化后出现“能识别但写文件失败”的情况,后来在GOT菜单里重新格式化才解决。
5.2 文件命名与目录结构
文件命名这项,现场很少有人重视,但真到了要回溯数据时特别关键。GOT的CSV默认文件名往往没有那么直观,我建议你在文件设置里把命名规则改成包含日期或记录组别的方式。想象一下两种情况的区别:一种是每月导出的文件叫DATA000.CSV、DATA001.CSV,你得靠修改时间去猜哪段是哪段;另一种是文件叫TEMP_20250517_CSV,一看就知道是5月17日的温度记录。区别足够大吧。
配套的目录管理也很重要。SD卡里如果既有趋势数据、又有报警履历、还有配方备份,建议在SD卡里按用途分文件夹,GOT支持指定保存路径的话就把它规划好,不支持就定期在电脑侧重新归档。别让一年的记录文件全堆在根目录下,那样最后自己也找不到。
5.3 容量轮换与数据备份策略
数据记录最大的风险不是“没记录”,而是“记录了没备份”。我建议的运维节奏是:
- 每天或每班导出一次当日CSV文件,存到服务器或专用归档盘。
- 每周检查SD卡剩余空间,低于30%就整理导出一轮。
- 每月做一次全卡备份,然后清空SD卡并格式化,重新开始记录。
这套节奏看起来很基础,但能保证任何意外掉电、SD卡损坏发生时,损失最多是一两天的数据,而不是几个月的记录。数据记录功能做出来是为了追溯分析,数据都找不到了还追溯什么。
6. 完整设置流程:从GT Designer3到GOT现场验证
6.1 工程侧的设置步骤
下面以GT Designer3较新版本菜单习惯为例,给出一个通用配置流程。不同版本菜单措辞可能略有差异,但逻辑一致。
- 打开GT Designer3工程,触摸屏型号选择GOT2000系列对应机型。
- 菜单栏进入[工程] → [系统] → [数据记录],打开数据记录设置窗口。
- 新建一个记录项,例如命名“Temp_Record”。
- 在软元件设置里添加记录对象,以D0为例。再添加D1、D2等需要同时记录的信号。
- 设定每个信号的数据格式。确认PLC侧是16位整数还是32位浮点,是BIN还是BCD。
- 设定采样方式。选周期采样,时间设为1秒。
- 设定触发条件。如果希望开机就记,选无触发或按位软元件常ON;如果希望报警触发,填入对应报警软元件。
- 设定保存目标为SD卡,文件格式选CSV。
- 设定文件命名前缀和自动切割条件,建议按日期切割。
- 点击保存,编译工程并写入GOT。
光以上十步其实很快,重点在于每做一步都要问自己:这项配置和现场实际对应上了吗?触发源有没有在PLC里置位?数据格式是不是对的?采样间隔是否和工艺要求一致?
6.2 画面侧如何启动、停止与查看
工程下载到GOT后,记录功能默认按配置运行。如果你配了触发条件,需要确认触发源状态满足;如果你配的是开机即记录,GOT上电后就会开始。
GOT侧面菜单里通常能找到数据记录或日志相关的入口,这里可以查看当前记录状态、文件大小、已记录条数。建议现场操作时把这个入口截张图存在设备维护手册里,以后别人接手也方便。
启动和停止记录:如果配置了由软元件控制,在PLC侧改变软元件状态即可;如果GOT画面里放了控制按钮,也可以通过按钮操作。有一点很关键:停止记录后不要马上拔SD卡,等几秒让文件缓存写完,否则容易丢最后几条数据甚至损坏文件。
6.3 现场验证的三步检查法
每次配置完,我不会急着交付,都是按下面三步验证:
- 手动触发或等待记录运行一段时间,然后进GOT系统菜单看“数据记录”的计数是否在增长。数字在涨,说明采集和采样没问题。
- 通过GOT的SD卡文件浏览器找到CSV文件,尝试打开看前几行,确认列数、内容、时间戳和实际工艺值能对应上。这一步能发现绝大多数格式和通道配对问题。
- 拔下SD卡到电脑上复现一次,用Excel打开,确认编码、列分隔符、以及数据完整性。如果这里才发问题,再回到GT Designer3里去调。
这套验证只要十分钟,却能避免“上线半个月后才发现记录全是错的”这种尴尬。
7. 常见问题速查与避坑笔记
7.1 问题排查表
| 现象 | 可能原因 | 建议处理 |
|---|---|---|
| SD卡里没有生成记录文件 | 触发条件不满足、记录未启动、SD卡未被识别 | 检查触发软元件状态;GOT菜单查看SD卡识别状态;手动启动记录 |
| 有文件但记录条数不增长 | 采样间隔配置无效、触发被复位、GOT时间未同步导致文件覆盖 | 查看GOT系统时钟;确认触发持续有效;删除旧文件后重试 |
| CSV打开乱码 | 文件编码与打开工具不匹配 | 用文本编辑器确认编码,或调整GOT输出编码设置 |
| 数据值和现场表对不上 | 数据类型(BCD/BIN)、字长(16/32)选错 | 回到GT Designer3核对数据格式 |
| SD卡插上不识别 | 容量超出支持范围、文件系统不是FAT16/32 | 换兼容容量卡,在GOT上格式化 |
| 记录中断后不再恢复 | 触发条件被锁、自动启动未开 | 检查触发逻辑,配置开机自动记录 |
| 单文件过大打不开 | 没有设置文件切割 | 按时间或大小切割文件 |
7.2 三条我踩过的坑
先说第一个坑:在线状态下反复修改记录配置。某次调试时不想停线,直接在线改数据记录的软元件设置,结果GOT提示文件被占用,随后SD卡里的CSV文件块损坏,丢了半天数据。此后我坚持一个原则:改记录配置前先停止记录,改完再启动,最稳。
第二个坑:把信号全塞在同一个记录组里,导致CSV列数特别多。数据是都进去了,但Excel里一眼望去几十列,每次分析还要写脚本去挑列。正确做法还是按用途分组,趋势归趋势、报警归报警,分析时脑子清楚得多。
第三个坑是时间戳不准。GOT自己走时钟,如果长期断电、又没有时间同步,记录文件里的时间可能和实际差出好几分钟。追溯几次不明不白的问题后,我把GOT的时间同步配置和PLC侧对时安排上了。时间不准的数据,分析时等于没有价值,这个一定要配对好。
7.3 上线前的检查清单
最后给你一份我长期在用的清单,按着顺序走一遍再放行:
- [ ] 记录对象和通道数是否等于需要分析的信号数?
- [ ] 每个信号的数据类型、字长是否和PLC程序一致?
- [ ] 采样间隔是否满足工艺分析精度?
- [ ] 触发条件在PLC侧是否已实际置位?
- [ ] SD卡是否已被GOT识别,容量是否足够一个运维周期?
- [ ] 文件切割和命名规则是否便于归档?
- [ ] GOT时间和PLC时间是否同步?
- [ ] 是否有定期导出SD卡数据的运维安排?
这八项确认完,数据记录基本上就不会给你添乱。
最后再分享一个习惯:我每次配置完,都会做一次“短时小密度模拟记录”,比如用1秒间隔记录两个点,跑个几分钟,导出CSV确认数据格式无误,再把真实的采样间隔和点数改回去。这一来一回也就是十分钟的事,但比上线以后放了一周再发现问题省心太多了。数据记录这种东西,前期越谨慎,后期越自由。