11/15/2012 10:51 PM | |
Posts: 28 Rating: (1) |
Perhaps there is a work-around that wouldn't involve moving UDTs. I have stripped out my program to include only the relevant areas of the problem. I will try to explain. Basically, there is a block where I call MotorType01 twice. Each call I give it a different "pump" with the same UDT. Inside the MotorType01 block is a runtime counter. I test the counter for out-of-service time by triggering the bit in a watch table. If you only allow one and only one FC at a time to run, then your counter will go up appropriately. If both run, then the values add in unison and the time value is overwritten by the first UDT - this is our major problem. We are suspicious that this method doesn't work because the UDT isupdated withthe first function call before entering the second call. Our solution was to create a dummy UDT it writes to as an out UDT and simply move it to the original UDT upon completion in order to prevent cross-talking. Any ideas on what's causing this problem? AttachmentC:\Users\csaharkh\Desktop\CJS_11152012.zip (475 Downloads) |
Last edited by: Chemical CJS at: 11/15/2012 11:38 PMLast edited by: Chemical CJS at: 11/15/2012 10:54 PM |
|
Follow us on