问题自查手册

一、连接

1、modbus数据采集配置注意事项:
(1)地址域不能错误,否则会导致一个连接下所有点位读取出现异常(包括配置正确的)!
(2)地址偏移问题:大部分设备地址从0开始编号,个别设备地址从1开始编号,在IOT系统填写属性地址时需要在被提供的原始地址上+1。(如客户提供原始地址40000,IOT系统属性地址写40001)
路径:【边缘连接服务】->【边缘设备管理】->【设备管理】->【属性】
(3)字符串类型的属性,一定要配置字符串长度,否则属性采集会报错
2、kepware连接失败的原因:
个别设备采集间隔配置有误,采集间隔过短占用大量线程,连接耗时过长导致超时连接失败;为避免此类问题系统默认在连接中打开自动降级、独立线程
3、自动降级作用:如果某个属性设置50ms采集间隔但未采集成功,会自动调大采集间隔去采集,降低用户误操作将采集间隔配置过小产生线程占用的影响。
独立线程作用:所有与该连接绑定的设备,采集点位将采用独立线程。
路径:【边缘连接服务】-【边缘连接管理】-【连接管理】-【新增/修改连接】
4、IOT创建连接失败,连接测试失败,提示报错如下图,但kepware可以正常连接plc,应如何排查?
答复:(1)确认连接地址是否正确,端口是否正确
(2)服务器能否ping通PLC
(3)确认Kepware是否跟IOT连接用的相同类型协议
(4)确认kepware连接plc时填写的地址与端口是什么
(5)kepware与IOT是否在同一服务器同个网络环境下,若kepware与IOT不在同个服务器,网络环境不一致,则kepware能正常连接plc无参考意义。

二、物模型

1、设备通过继承物模型创建,物模型属性更改后,设备属性为什么不会同步修改?
答复:需要在物模型属性界面同步更新至指定设备中。
2、物模型属性、报警、服务不支持批量删除,需要手动删除

三、设备属性

1、设备连接正常,设备属性值显示“地址错误”
答复:代表属性地址有误,需输入与连接类型一致的地址
2、设备连接正常,设备属性值显示“服务错误”(“服务错误”表示地址格式是合法的)
答复:查数据地址plc是否完成初始化
3、导入设备属性报“导入属性失败”
答复:查nginx文件上传附件大小限制;建议多次分批导入,不要一次性大量导入属性,导致等待时间过长
4、设备导入报“网关超时,导入设备失败”,过一会后设备成功导入
答复:查nginx api 超时时间配置;导入设备时建议拆多个文件导入;目前api超时时间已经调整为5分钟,一般不会出现网关超时报错
5、设备连接一切正常,属性历史值偶尔为空
原因:页面显示的为实时值,若plc值为空,则页面值显示空(字符串有可能出现空值,其他类型数据类型为空可能有问题)
6、西门子I Q M V几类数据地址是否支持?
答复:已支持
7、设备连接正常,但周期采集的属性无历史值
答复(1)查日志,connection服务是否有停掉,若connection服务有掉线情况可进一步排查服务掉线原因
(2)查RabbitMQ是否有消息堆积
(3)查data-storage服务是否掉线
8、连接正常,plc有值,但IOT页面不显示实时值
原因:若mq有问题导致数据丢失,则无法通过mq同步到connection,同步失败属性列表页面不显示实时值。
9、查看属性历史数据,为什么有的属性打开页面后有默认时间段,有的属性打开页面时间段为空?
有默认时间段
无默认时间段
答复:若采集方式为周期采集,默认显示当前时间前一小时历史数据;
若采集方式为值改变,后端未采集到数据,则时间范围显示空;后端采集到数据,则查询100条数据回填到开始/结束时间。
10、设备名称、设备编码限制:
①设备名称不能包含“/”“\”;
②设备编码只允许包含数字、字母、下划线、中横线、小数点、#,且不能纯数字;
③设备名称、设备编码不能重复
11、值改变的扫描间隔含义:若设置1000毫秒,则每1000毫秒扫描一次点位,若值发生改变则存储下来。
建议值改变的属性扫描间隔批量设置成相同的,可降低plc负载提高效率。比如变化较快的属性点可以统一设置成500毫秒,200毫秒等,变化不快的属性点可统一设置成1000毫秒或更长。尽量避免某个属性扫描间隔与其他属性不同的情况,会占用较多线程。
无论是周期采集还是值改变,时间间隔不能随便配!建议统一时间间隔!
12、属性表达式配置方法
答复:整数型和浮点型数据支持配置表达式
(1)纯数字且无运算符,如3,256,则页面实时值一直显示该数字
(2)纯数字且有运算符,支持加减乘除,如表达式输入25+8,则页面实时值一直显示33
(3)包含属性标识符,支持加减乘除,如pressure+20,pressure-10,pressure*4,pressure/1000,pressure+ liquid_level。
注意:属性标识符要严格大小写!!!只支持同设备下多个属性的加减乘除计算,不支持跨设备属性
(4)属性取位公式

四、数据引擎

1、数据引擎存储到数据库需注意的问题:
(1)数据库表不能有特殊字符
(2)数据库表会自动初始化name、id、timestamp字段,
(3)实现自增的方式:int数据类型,勾选主键即可实现自增
2、数据存储类组件(如mysql服务)配置页,是否自动修改数据表结构作用?
答复:若上层的设备数据字段跟表的字段不一致,将变更表结构。若表结构字段已经提前维护好,与设备数据字段保持一致,则无需勾选。
3、设备输出组件,提示“输出的固定值不能为空”
原因:需先点击“√”再点击“提交

五、接口

1、历史数据接口:根据传入的equipmentID,fieldName查询单一属性历史值
(1)参数是否可以不传开始时间?
答复:可以
(2)limit设置为2,为何返回4条数据?
:后面两条为插入的属性采集状态,属性历史值查询数量只有2条
2、下图两种接口订阅方式的区别
答复:第一个接口只有点位变化才会读取,第二个接口一个设备下某个点位发生变化,这个设备下的所有点位都会读取

六、页面报错/服务掉线

1、用户无法登入IOT系统
答复:查auth权限服务是否正常启动,配置正确的情况重启服务即可正常登入
2、正常登入系统,打开二级菜单页报错,类似下图
答复:查IOT“系统监控”菜单中的【服务监控】、【中间件监控】是否有离线服务,正常情况下所有服务应全部在线
3、服务异常掉线原因有哪些?
原因:若重启后服务恢复正常,可能是服务内存溢出造成,建议重新调整服务内存。可在【系统监控】-【服务监控】,修改对应服务最大内存。提交后即自动重启该服务。
4、如何减少内存溢出造成服务掉线影响?
可以为各个微服务内存配置阈值报警,若内存达到报警值则指定用户将收到报警邮件。具体操作步骤详见 如何配置服务内存溢出报警
5、收到服务离线报警邮件,但查询服务日志后显示服务未发生掉线,原因是什么?
答复:由于网络波动可能导致监控服务请求其他服务健康信息失败,监控认为服务离线,因此发送邮件

七、数据发布

1、connection服务异常掉线之后,mq订阅断掉,IOT是否会将消息放入mq导致消息堆积?
答复:connection服务停掉,不会有多余消息出来。因为是connection服务负责采集之后向mq放消息
2、一部分属性数据发布变更到mq新的交换机,原有交换机绑定的队列均未解绑,新交换机缺失绑定队列,导致无法订阅属性数据
答复:若用nacos做配置中心,nacos交换机名称未修改,只在本地修改交换机名称无法生效。
3、RabbitMQ队列要有消费者,避免消息堆积太多!!

八、监控与权限

1、如何查看各服务版本号?
答复:可在【系统监控】-【服务监控】中查看各服务版本号。服务版本号的第二位为产品版本编号,第三位为服务版本编号
2、如何查iot新建用户的默认密码是多少?
答复:密码有hash值限制无法查到,必须自己记住;
如果需要查看默认密码,可以通过查看h-visions.auth.password项配置值;如果密码仍然存在问题,可以使用swagger界面(如果开启的话)或者控制台调用/user/resetPassword/{userId}命令重置密码
3、如何为用户只配置设备的查看权限,无设备编辑权限?
2024-05-08
0