10-17-2022 03:17 PM
Hello Guys,
Have you tried sending Global NIO from PLC anytime which is connected to MES,
because when I tried to do this Iam getting below error from MES,
content of MES telegram :
<result returnCode="-1">MES detected an error.</result>
<trace>
<trace level="error" code="700200103" text="The following variables could not be found within the current event data: resHead.nioBits. " source="" />
The reason why is this error appear is because the value sent by PLC for Global NIO bit is "2147483648", where as MES expects the max value only until "2147483647" (Tested), for the data type DINT, everything is as per standards in PLC and MES.
PLC considers the value as unsigned int where in MES as signed int.
Does anybody have similar experience ? Do we have a standard fix for this problem from the MES side ?
We are facing this problem in some of our exsisting machines.
10-17-2022 04:22 PM
I currently have the same problem. You only get this error if you declare the NioBits / NokBits variable as DWORD.
The OpconXml standard requires DINT, therefore there will be no change or easy solution on MES site.
On the other hand the PartCounter and NokCounter add-ons in Control plus require a DWORD.
Currently there is no other option than using two variables (NokBitsPlc : DWORD, NokBitsMes : DINT) or never use the highest bit.
But I am also investigating this topic to have a better solution.
10-18-2022 01:45 PM
Yes and this is not solved by the MES end Even If I configure the nio bits as DWORD in MES.
Below is the error response:-😑
<?xml version="1.0" encoding="utf-8" standalone="yes"?><root><header eventId="0" eventName="partProcessed" version="1.0" eventSwitch="40" timeStamp="2022-10-18T11:42:21.7370200+02:00" contentType="3"><location lineNo="116" statNo="20" statIdx="1" fuNo="1" workPos="6" toolPos="0" application="PLC" processName="" processNo="0" /></header><event><result returnCode="-1">MES detected an error.</result><trace><trace level="error" code="700004022" text="DC ReturnCode: 102
Description: Value was either too large or too small for an Int32." source="DataCollectorAccess" /></trace></event><body /></root>
You can see in response "Value was either too large or too small for an Int32", Some where its still defined as INT by the compiler,
I am writing here because need official solution for this issue, otherwise what is the purpose of declaring the GLOBAL_NIO bit inside PLC, which we all are using since ages.
11-02-2022 06:21 PM
11-15-2022 11:34 AM - edited 11-15-2022 11:40 AM
Hello Steffen, Thank you for your answer.😉
So considering your point number 1, Do we have any update coming sooner which will be fixing this problem ?
also your statement in Point number3,
"If there is no NOK bit set the rework stations can not handle these NOK parts. The rework client only has access to the NOK bits, not to the result data. Without any NOK bit, the part can not be reworked (because the operator does not know the NOK reason)"
We normally do not configure rework application with NIO bits, we just use the process numbers for rework, and Handling Rework with NIO bits is complicated and misleading if the PLC program not handled correctly, and the effort is more.