- 各位大神,请教大家一个问题,我这边想用MCGS的触摸屏用tcpip的协议通讯 ab 1766系列plc,读取数据! 试了好几个协议都不行,通讯不了,读取不出来! 大神们有好的建议给指导下吗
- 各位大师傅想问一下我一个永磁电供水突然停电,水泵反转会不会烧坏变频器,或电机谢谢
- 2800转和1400转电机配安川变频器参数有哪些不同 这个电箱,我用1400转的电机,一点问题都没有,很正常 但是换成 电机 如图后 就不行 设置是50hz, 实际上只有hz17
- 三菱FX5U报错代码:H21A0 文件指定异常, 初始化内存,清除PLC数据 都不行
- 请教5000中一个INT数据如何拆分成两个SINT?仪表需要把采集到的INT数据的高低字节分开,网上搜可以使用.H或.L,试了下不行,大家都怎么处理这种情况的?
大神们问一下昆仑通态导出数据为啥序号是随机的
联系人:admin
电话/手机:联系客服
发布时间:2025-08-11 22:17
浏览:2585次




















































用户上传的第一张图展示了MCGS工作台界面,实时数据库标签页中定义了很多数据对象,包括InputTime、各种数据点等。第二张图显示的导出结果表格出现了序号不按顺序排列的情况,特别是“库号”列的值看起来很混乱。
这个问题其实挺典型的。很多工控软件在数据导出时都可能出现类似情况。我注意到几个关键点:
导出表格中“库号”列的值既有数字又有汉字,完全不按时间顺序排列
时间戳显示15-08-09这样的格式,可能是年份显示不全
大量数据值为0,说明可能还在调试阶段
用户可能是现场工程师,正在配置数据采集系统,需要导出数据做分析或报表。ta可能比较着急,因为从截图看数据记录还不完整,应该是在调试阶段就发现了这个问题。
从技术角度看,序号随机可能有几个原因:
数据记录本身是按时间顺序写入的,但导出时默认用了对象ID排序
用户可能没有选择正确的排序选项
数据库索引可能出现异常
如果启用了分时存储,不同时段的数据可能混在一起
解决方案上,首先建议在导出时选择按时间戳排序。这在MCGS的导出设置里应该能找到。如果不行,可以尝试在实时数据库中重建索引。另外也要检查时区设置,因为15-08-09这样的年份显示明显有问题。
用户没提到但值得考虑的是存储类型设置。如果用户启用了“变化存储”模式,那么只有数值变化时才会记录,这可能导致时间戳不连续。建议改为定时存储会更规律。
最后注意到用户数据中多次出现“姜艳丽”这个名字,可能是操作员姓名。这说明系统可能配置了多用户登录记录功能,这个功能有时会影响数据存储顺序。
根据您提供的昆仑通态(MCGS)软件截图和导出的Excel数据表(如"库号"列出现随机序号),结合软件工作机制分析,序号随机问题通常由以下原因导致:
根本原因分析
默认排序规则未指定MCGS导出数据时,若未主动设置排序字段(如时间戳),系统会按数据对象的内部存储顺序(如变量ID、内存地址等物理顺序)导出,导致序号不连续。
截图证据:
您的Excel中“库号”列出现非连续值(0, 15-08-09..., 25-08-09...);
“时间”列虽有序但关联的其他数据列(如“数据1”)却为0,说明导出时未绑定主键字段。
实时数据库的“组对象”配置问题
若数据存储在组对象中(如您截图中“InputTime”被标记为“组对象”),组内变量按独立单元记录,导出时若未启用“按记录时间排序”,会导致组间顺序混乱。
排查建议:检查“实时数据库”内组对象的属性,确认是否勾选 “按时间顺序存储” (路径:选中组对象 → 右侧“组对象成员” → 属性设置)。
时间戳格式异常(如年份缩写)截图中的时间格式 15-08-09(应为 2025-08-09)可能因导出时未完整解析年份,导致排序识别为 15(2015)、25(2025)等乱序值。
解决方案
方法1:强制按时间字段排序导出
在MCGS数据导出界面操作:
进入 “数据导出”功能模块(通常位于“工具”或“报表”菜单);
在 “排序设置” 中:
主排序字段 → 选择 时间变量(如 InputTime);
排序方式 → 勾选 “升序”(从最早到最新);
重新导出数据,Excel序号将严格按时序排列。
方法2:修正组对象存储逻辑
打开 “实时数据库” → 定位组对象(如 InputTime);
右键 “对象属性” → 进入 “存盘设置” 选项卡;
勾选 “按时间顺序存储记录” 并保存;
重启MCGS运行环境,使新配置生效。
方法3:校准时间戳格式
在Excel中手动修正时间列格式:
全选时间列 → 右键 “设置单元格格式”;
选择 “日期” → 类型选 “yyyy-mm-dd hh:mm:ss”;
用公式补全年份(例:若 A2为 15-08-09 08:28,输入 ="20"&A2并下拉填充);
按修正后的时间列排序整个表格。