ISISComputingGroup / IBEX

Top level repository for IBEX stories
5 stars 2 forks source link

Eurotherm: Occasional mismatched command #2318

Open DominicOram opened 7 years ago

DominicOram commented 7 years ago

There appears to be sporadic messages on the Eurotherm where some commands are not being correctly responded to. The next retry seems to be fine so this doesn't really break anything but it should be briefly looked into.

image

FreddieAkeroyd commented 7 years ago

It would be good to try this hardware with #2086

Both IMAT and IRIS are showing this issue, may be able to access IMAT eurotherm later in cycle


[2017-05-11 00:30:01] 2017/05/11 00:30:01.990460 L0 IN:IMAT:EUROTHRM_01:A02:AUTOTUNE: 7 bytes surplus input " <00>   0."

[2017-05-11 00:30:01] 2017/05/11 00:30:01.990498 L0 IN:IMAT:EUROTHRM_01:A02:AUTOTUNE: after 8 bytes: "<02>AT    0"

[2017-05-11 01:30:00] 2017/05/11 01:30:00.720033 L0 IN:IMAT:EUROTHRM_01:A01:RBV: Input "<02>SP12.30<00><14>84.000" mismatch after 1 byte

[2017-05-11 01:30:00] 2017/05/11 01:30:00.720076 L0 IN:IMAT:EUROTHRM_01:A01:RBV: got "SP12.30<00><14>84.000" where "PV" was expected

[2017-05-11 02:30:01] 2017/05/11 02:30:01.750411 L0 IN:IMAT:EUROTHRM_01:A02:MAX_OUTPUT: 9 bytes surplus input "<00>@B 100.0"

[2017-05-11 02:30:01] 2017/05/11 02:30:01.750450 L0 IN:IMAT:EUROTHRM_01:A02:MAX_OUTPUT: after 8 bytes: "<02>HO 100."

[2017-05-11 07:56:17] 2017/05/11 07:56:17.619914 L0 IN:IMAT:EUROTHRM_01:A03:OUTPUT: Input "  <00><10><00>" does not match format "%#f"

[2017-05-11 10:30:00] 2017/05/11 10:30:00.497834 L0 IN:IMAT:EUROTHRM_01:A02:SP:RBV: 4 bytes surplus input " 0c<12>"

[2017-05-11 10:30:00] 2017/05/11 10:30:00.497852 L0 IN:IMAT:EUROTHRM_01:A02:SP:RBV: after 7 bytes: "<02>SP10.0"

[2017-05-11 13:17:44] 2017/05/11 13:17:44.478761 L0 IN:IMAT:EUROTHRM_01:A03:OUTPUT: 3 bytes surplus input "<0e><04><02>"

[2017-05-11 13:17:44] 2017/05/11 13:17:44.478803 L0 IN:IMAT:EUROTHRM_01:A03:OUTPUT: after 7 bytes: "<02>OP   0"
KathrynBaker commented 7 years ago

Have seen similar on MUONFE as well

KathrynBaker commented 7 years ago

Please note, the errors on MUONFE were with both Danfysiks and Genesys PSUs not Eurotherms, but did show the same kind of mismatch errors.

KathrynBaker commented 7 years ago

e.g.

[2017-05-16 13:35:47] IN:MUONFE:DFKPS_06:POL: Input "026" does not match format "%{+|-}"

[2017-05-16 13:35:49] IN:MUONFE:DFKPS_06:RAW: No reply from device within 1000 ms

[2017-05-16 13:35:50] IN:MUONFE:DFKPS_06:VRAW: No reply from device within 1000 ms

[2017-05-16 13:35:50] IN:MUONFE:DFKPS_06:POL: Input "01478" does not match format "%{+|-}"

[2017-05-16 13:36:54] IN:MUONFE:GENESYS_04:1:POWER: Input "3.880000" does not match format "%{OFF|ON}"

Note that it always recovered happily before long

ChrisM-S commented 7 years ago

If the device is returning the right data and characters, but in chunks from its internal buffering, it's possible that only part of a valid command is getting processed when the UART in the MOXA flags that it has received something - and then the other half arrives (maybe with a bit of subsequent data even). I've had this problem with buffered serial input. I think it was actually with a similar input processing thing from the dark ages called "Expect/TCL" (we used to use it in a testing framework for Open GENIE - @FreddieAkeroyd will remember ;-). It may come down to turning the timeouts up a bit and possibly ensuring all characters can be read into the buffer up to a terminator before processing the line.

Tom-Willemsen commented 1 year ago

+1 NIMROD eurotherms - seems pretty consistently every 2 hours.

Example logs

EUROTHRM_01-20230207.log EUROTHRM_01-20230209.log EUROTHRM_01-20230208.log

FreddieAkeroyd commented 1 year ago

See also #3218