牛11月09日反馈东区存在以下问题,由于在现场未来得及处理。11月10日反馈西区亦存在此问题。经排查此问题已存在相当长一段时间(最长为9月底即存在)。
1、读报错Value: [[org.jinterop.dcom.core.VariantBody$EMPTY@212c0aff]], Timestamp: Mon Jan 01 08:00:00 CST 1601, Quality: 0, ErrorCode: c0040001,不能自恢复,其它可以自恢复。
2、写亦有失败,是否均与1中读报错有关待查,既1中读报错时肯定写失败
3、OPC_E_INVALIDHANDLE 0xC0040001 The value of the handle is invalid. Note: a client should never pass an invalid handle to a server. If this error o
ccurs, it is due to a programming error in the client or possibly in the server.
4、重启可解决,少数点有此问题,第三方工具正常
5、短时读不到报错Value: [[org.jinterop.dcom.core.VariantBody$EMPTY@7e2f16bd]], Timestamp: Fri Nov 10 15:28:27 CST 2023, Quality: 8, ErrorCode: e004823e
Value: [[org.jinterop.dcom.core.VariantBody$EMPTY@212c0aff]], Timestamp: Tue Nov 14 14:04:52 CST 2023, Quality: 8, ErrorCode: e2450006
Value: [[org.jinterop.dcom.core.VariantBody$EMPTY@212c0aff]], Timestamp: Sat Nov 11 16:34:51 CST 2023, Quality: 8, ErrorCode: e2450001
6、写失败西区K-F3-3-CO2.PresentValue writefailed时,第三方工具也写失败报错E0048150(此时读正常)
7、多个写时若其中一个点如6中情形,则整批写均会失败(此时读正常),补救措施待考虑(退化到单点写则会非常慢,报错找出不可写点不放批量里或者不去写为佳)
经验教训:
1、因钉钉消息太多无法肉眼排查且无错误明细详情信息,故完全依赖钉钉报警发现问题不可取。拟通过定期执行cat opcda.log |grep writefailed(docker logs -f --tail 10000 opcda |grep ErrorCode -b2)查看异常情况;