Closed prjemian closed 4 years ago
Snooping the status broadcasts with a simple python program, the attached file shows the data block of a raw status packet and a similar packet as interpreted according to the manufacturer's specifications.
In the notes.txt
file above, there are 125 instances of \xff\xfe
, the source of this information is the controller. These values are unexpected.
Not sure why but until we understand the source of the unexpected values, remove them at least from the GUI view.
Could move them to a different screen and see if they remain a problem with other CS800 controllers besides this specific one.
These are the status PVs currently reported with unexpected values (0xfffe
for all but the first, StatusGasError, which shows 0xffff
):
ParamID | ParamName | PV |
---|---|---|
1052 | StatusGasError | ERROR |
1060 | StatusGasFlow | GASFLOW |
1064 | StatusLinePressure | BACKPRESS |
1203 | AutoFillLNLevel | LEVEL |
2010 | StatusColdheadTemp | COLDHEADTEMP |
2011 | StatusShieldTemp | SHIELDTEMP |
2012 | StatusVacuumGauge | VACGAUGE |
2013 | StatusNozzleTemp | NOZZLETEMP |
2014 | StatusSampleHeat | SAMPLEHEAT |
2015 | StatusColdheadHeat | COLDHEADHEAT |
2016 | StatusShieldHeat | SHIELDHEAT |
2017 | StatusNozzleHeat | NOZZLEHEAT |
2030 | StatusSampleHolderTemp | SAMHOLDTEMP |
2031 | StatusCryostatTemp | CRYOSTATTEMP |
2032 | StatusSampleHolderPresent | SAMHOLDPRES |
2034 | StatusElapsed | ELAPSED |
2035 | StatusSuctSetTemp | SUCTSETTEMP |
2036 | StatusNozzleSetTemp | NOZZLESETTEMP |
These two parameters are not reported in the device's status message at this time:
ParamID | ParamName | PV |
---|---|---|
2041 | StatusCollarTemp | COLLARTEMP |
2042 | StatusVacuumSensor | VACSENSOR |
And, for what it is worth, these parameters are available in the status packet and have values not equal to 0xffff
or 0xfffe
:
ParamID | ParamName |
---|---|
1005 | DeviceConnectedPeripherals |
1006 | DeviceSmartMode |
1010 | StartUpGasSensor |
1011 | StartUpEvapSensor |
1012 | StartUpGasHeat |
1013 | StartUpEvapHeat |
1014 | StartUpSuctSensor |
1015 | StartUpFlowCtrl |
1017 | StartUpDeviceMatch |
1018 | StartUpSuctHeat |
1019 | StartUpTestSensor |
1020 | SetUpRGas |
1021 | SetUpSCGas |
1022 | SetUpREvap |
1023 | SetUpSCEvap |
1024 | SetUpRSuct |
1025 | SetUpSCSuct |
1026 | SetUpTestR |
1029 | SetUpColdheadNumber |
1030 | SetUpCommissionDate |
1031 | SetUpHours |
1032 | SetUpInitialTemp |
1034 | SetUpShutdownInfo |
1040 | LiveAdcChannel1 |
1041 | LiveAdcChannel2 |
1042 | LiveAdcChannel3 |
1043 | LiveAdcChannel4 |
1044 | LiveAdcHeater1 |
1045 | LiveAdcHeater2 |
1046 | LiveAdcHeater3 |
1069 | StatusAveGasHeat |
1070 | StatusSuctHeat |
1071 | StatusSuspended |
1072 | CommsCommandsReceived |
1073 | CommsCommandsMissed |
1080 | ShutdownInfoLastCode |
1081 | ShutdownInfoLastRunTime |
1082 | ShutdownInfoErrorCode |
1083 | ShutdownInfoErrorRunTime |
1084 | ShutdownInfoErrorSampleTemp |
1085 | ShutdownInfoErrorSetTemp |
1086 | ShutdownInfoErrorEvapTemp |
1087 | ShutdownInfoErrorSuctTemp |
1088 | ShutdownInfoErrorGasHeat |
1089 | ShutdownInfoErrorEvapHeat |
1090 | ShutdownInfoErrorSuctHeat |
1091 | ShutdownInfoErrorGasFlow |
1092 | ShutdownInfoErrorBackPressure |
1093 | ShutdownInfoErrorADC1 |
1094 | ShutdownInfoErrorADC2 |
1095 | ShutdownInfoErrorADC3 |
1096 | ShutdownInfoErrorADC4 |
1100 | FlowBlockFlowRate |
1101 | FlowBlockBackPressure |
1103 | FlowBlockValveOpening |
1104 | FlowBlockFirmware |
1105 | FlowBlockSerial |
1300 | EthernetDHCPConfig |
1304 | EthernetSubnetMask2 |
1305 | EthernetDefaultGateway1 |
1306 | EthernetDefaultGateway2 |
1311 | EthernetMACAddress1 |
1312 | EthernetMACAddress2 |
1313 | EthernetMACAddress3 |
1314 | EthernetFirmware |
1601 | FrontPanelFirmware |
1603 | FrontPanelUnits |
1604 | FrontPanelFavouriteTemp |
1605 | FrontPanelFavouriteRate |
1606 | FrontPanelShutdownTimer |
1700 | AuxPicFirmware |
2037 | StatusStatusMask1 |
2038 | StatusStatusMask2 |
2039 | StatusStatusMask3 |
2040 | StatusStatusMask4 |
These are the status parameters available in EPICS that do not have apparently wrong (either 0xffff
or 0xfffe
) values:
ParamID | ParamName | PV |
---|---|---|
1000 | DeviceType | DEVICETYPE |
1001 | DeviceSubType | DEVICESUBTYPE |
1002 | DeviceMinTemp | DEVICEMINTEMP |
1003 | DeviceMaxTemp | DEVICEMAXTEMP |
1004 | DeviceH8Firmware | VER |
1028 | SetUpControllerNumber | CTRLNUM |
1050 | StatusGasSetPoint | SETPOINT |
1051 | StatusGasTemp | TEMP |
1053 | StatusRunMode | RUNMODE |
1054 | StatusPhaseId | PHASE |
1055 | StatusRampRate | RAMPRATE |
1056 | StatusTargetTemp | TARGETTEMP |
1057 | StatusEvapTemp | EVAPTEMP |
1058 | StatusSuctTemp | SUCTTEMP |
1059 | StatusRemaining | REMAINING |
1061 | StatusGasHeat | GASHEAT |
1062 | StatusEvapHeat | EVAPHEAT |
1063 | StatusAveSuctHeat | SUCTHEAT |
1065 | StatusAlarmCode | ALARMI |
1066 | StatusRunTime | RUNTIME |
1067 | StatusEvapAdjust | EVAPADJUST |
1068 | StatusTurboMode | TURBOMODE |
Watching closely when controller is holding at 100K, the value of StatusGasError
fluctuates near 0, so ERROR should be interpreted as a signed 16-bit integer.
Better to calculate the ERROR
PV as difference: SETPOINT - TEMP
The controller is showing many wrong values from the status broadcast. Stream protocol problem or unexpected value from controller in status broadcast?