Engineerforlife42 Posted March 3 Report Posted March 3 I have 3 identical programs I wrote years ago, and my knowledge is limited with Omron PLCs, mostly work with AB or Siemens. These 3 programs have been working for about 7 years, and my customer reached out with a snip showing me the MV on their PIDAT was displaying "NaN"? This confuses me because this tag (REAL) is only written to by the PIDAT block. Same logic in all 3 programs and only have this issue in one of them? Further, its worked fine for 7 years until now? I don't know if the customer did something to the program, but I have inquired. I cannot find anything in any documentation pertaining to this and since we don't work with Omron like at all other than this job, I don't have any vendor support to lean on. Has anyone in this group seen this or know how to troubleshoot this issue?
Crossbow Posted March 3 Report Posted March 3 NaN means Not A Number, which means the value is not a valid floating point value.
Engineerforlife42 Posted March 3 Author Report Posted March 3 I guess I am just confused how the PIDAT would all of a sudden write something that is not a number to that REAL tag. There doesn't seem to be any documentation explaining how that could happen or what could cause that.
Crossbow Posted March 3 Report Posted March 3 Does it actually output a Real value? I'm not familiar with the PID block.
Engineerforlife42 Posted March 3 Author Report Posted March 3 As far as I understand the structure, the PIDAT writes to the MV (Manipulated Variable) tag and it is required by the software to be a REAL according to the help menu. If you are familiar with PID blocks in AB logic for example, this I believe is like the Control Variable in those PIDs. see attachments
IO_Rack Posted March 4 Report Posted March 4 Is this tag being written to outside of the PIDAT instruction? Possibly for manual control? It can be accessed by "PIDAT_instruction_name.MV" or by it's assigned tag name.
Engineerforlife42 Posted March 4 Author Report Posted March 4 It looks like it is in an Inline ST, but i don't believe it is being written to any other location.
Str8jCkt Posted March 4 Report Posted March 4 @Engineerforlife42 Just throwing it out, but I would start by checking the values that are in OprSetParams MV can be assigned values from some of the parameters depending on state (ManResetVal, MVTrackVal, StopMV, ErrorMV) IF any of those values are set as NULL or possibly outside their valid range, then it is possible the assigned value in MV could show up as NaN
Engineerforlife42 Posted March 4 Author Report Posted March 4 Ok thank you all. I also got some instruction from Omron to do a controller Clear All Memory and see if that clears it up. They think maybe the PIDAT after 7 years is corrupted. Will update if these things don't resolve and I am still stuck. I believe the settings on those tags are good, but I am confirming.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now