No such object error

26 views
Skip to first unread message

Cheng Pang

unread,
Apr 30, 2009, 7:03:28 AM4/30/09
to fb...@googlegroups.com, Valeriy Vyatkin
Hi there:

I have recently encountered a very strange problem using the latest FBDK. The following Fig. 1 shows one composite function block which has a list of I/O of basic data types and Adapter Interfaces (AIs). There is no compilation error. However, when I try to run this FB along, an error message prompt out saying "No such object" and the cause is the "LB_FromPrevious" and "LB_FromFollowing" Boolean data input.


Fig. 1

The strange thing is that, I use this FB in a system configuration and there is nothing wrong with it as shown in Fig. 2.

Fig. 2

However, with the following configuration, FBDK complains again the "No such object" error. The cause is the data connections between DistributingStationModel_A.LB_ToFollowing and HandlingStationModel_A.LB_FromPrevious.

Fig. 3

There is no compilation error for any files, any both of the two FBs in Fig. 3 have the same "No such object error" when trying to run them along.

I can't see any reason cause the "No such object" error, I will further investigate the Java files but any help or experience about this error will be appreciated.

Thanks in advanced.

Regards,
Cheng

Jim Christensen

unread,
Apr 30, 2009, 10:52:14 AM4/30/09
to FBDK
It looks like the problem is when trying to connect to (rather than
just parameterizing) the LB_FromFollowing or LB_FromPrevious input. In
case #1, what is the command #83 that is causing the error response?
Turn the logging on to see.

This might be caused by a bad internal connection or an obsolete
component FB in the composite FB. I recommend recompiling and testing
all the component FBs of the composite FB, then recompiling and
testing the composite FB again. Even before you do that, delete all
the obsolete java and class files for those FB types that may be
hanging around under the lib folder.

- Jim C

On Apr 30, 7:03 am, Cheng Pang <cpan...@aucklanduni.ac.nz> wrote:
> Hi there:
> I have recently encountered a very strange problem using the latest FBDK. The following Fig. 1 shows one composite function block which has a list of I/O of basic data types and Adapter Interfaces (AIs). There is no compilation error. However, when I try to run this FB along, an error message prompt out saying "No such object" and the cause is the "LB_FromPrevious" and "LB_FromFollowing" Boolean data input.
> Fig. 1
> The strange thing is that, I use this FB in a system configuration and there is nothing wrong with it as shown in Fig. 2.
> Fig. 2
> However, with the following configuration, FBDK complains again the "No such object" error. The cause is the data connections between DistributingStationModel_A.LB_ToFollowing and HandlingStationModel_A.LB_FromPrevious.
> Fig. 3
> There is no compilation error for any files, any both of the two FBs in Fig. 3 have the same "No such object error" when trying to run them along.
> I can't see any reason cause the "No such object" error, I will further investigate the Java files but any help or experience about this error will be appreciated.
> Thanks in advanced.
> Regards,
> Cheng
>
>  moz-screenshot-1.jpg
> 54KViewDownload
>
>  moz-screenshot-2.jpg
> 48KViewDownload
>
>  moz-screenshot-3.jpg
> 47KViewDownload

Cheng Pang

unread,
Apr 30, 2009, 8:12:37 PM4/30/09
to fb...@googlegroups.com
Hi Jim:

I have tried to delete all the folders under lib and recompiled all the files but the problem still insists and I am sure there is no bad internal connection nor obsolete component FB, as LB_FromFollowing or LB_FromPrevious are not used at all inside the composite FB. Moreover, for some used data input for example, the HasStand input as shown below is working properly in system configuration but when running along the same "No such object" error prompts.


Fig. 1

I have tried to enable the logging function but the the cause is not meaningful to me.  For your convenience  I have created a simple testing system configuration. Please find the AIBug composite FB and the AI_Bug_SC system configuration in the attached zip file (please rename it to z.zip).

Fig.2 (a) AIBug interface, (b) AIBug content

When running the AIBug, FBDK prompts that the the first QI data input "No such object" however, as you can see from the content the QI is not used at all. Same happens to the system configuration:

Fig. 3

Any idea?

Regards,
Cheng
z.zi

James Christensen

unread,
May 1, 2009, 1:45:43 PM5/1/09
to fb...@googlegroups.com
The simple answer is: You can't run an FB with adapter inputs
(sockets) or outputs (plugs) in a stand-alone tester frame, because
there's no corresponding single, general-purpose GUI element that can
be connected to adapter I/O. This confuses the Tester.

I can get the same kind of error by adding a QI input to the
TEST_ADP_SKT block in the "doc" folder.

Just delete the plug and socket I/O on AIBug, recompile and restart,
and you will see that the Tester starts up OK.

The next version of the FBDK will disallow running such FBs in the
Tester, just like it disallows testing adapters this way.

- Jim C.

Cheng Pang

unread,
May 2, 2009, 5:26:24 PM5/2/09
to fb...@googlegroups.com
Hi Jim:

Thanks for your reply. Running FB with AIs in a stand-alone tester frame is not the issue. The issue for me is that in a system configuration I try to connect FBs with AIs and basic data I/Os as shown below:


I used the same AIBug composite FB and it compiled successfully, when I connected the basic data I/Os to some constants the system configuration can be run. However, when I connected them in the above way FBDK complaints that there is no such F.QO object. All the basic data I/Os are not used inside the composite FB at all and if I remove the AIs the system configuration runs agains, therefore I suspect there is some issue about AI in such usage.Any idea or advice will be appreciated.


Thanks in advanced.

Regards,
Cheng

Jim Christensen

unread,
May 7, 2009, 5:11:02 PM5/7/09
to FBDK
OK, I think it's fixed now. I've uploaded the current build of the
FBDK to fbdk_drop.zip in the Files section of this forum. You should
unzip it in a new folder, away from your existing code. Try out
TEST_ADP_SYS.sys in the src/test folder (the classes are already
compiled in the lib/test folder). You can also try out the
TEST_ADP_PLG.fbt and TEST_ADP_SKT.fbt types. Adapter documentation in
the "How To" help has also been updated.

The new runtime framework probably won't work with any types you have
compiled before, so you will have to re-generate and re-compile them.
Also, since I am right in the middle of code audit and JUnit testing,
there's no guarantee that all the bugs are out. In fact I can pretty
well guarantee that there are plenty of new bugs brought about by the
refactoring of the editor and runtime frameworks. But, at least the
adapters should work right!

Anyway, let me know of any new bugs you find and I will incorporate
them in my test plan.

Best regards,
Jim C

On May 2, 5:26 pm, Cheng Pang <cpan...@aucklanduni.ac.nz> wrote:
> Hi Jim:
> Thanks for your reply. Running FB with AIs in a stand-alone tester frame is not the issue. The issue for me is that in a system configuration I try to connect FBs with AIs and basic data I/Os as shown below:
> I used the same AIBug composite FB and it compiled successfully, when I connected the basic data I/Os to some constants the system configuration can be run. However, when I connected them in the above way FBDK complaints that there is no such F.QO object. All the basic data I/Os are not used inside the composite FB at all and if I remove the AIs the system configuration runs agains, therefore I suspect there is some issue about AI in such usage.Any idea or advice will be appreciated.
> Thanks in advanced.
> Regards,
> Cheng
> James Christensen wrote:The simple answer is: You can't run an FB with adapter inputs (sockets) or outputs (plugs) in a stand-alone tester frame, because there's no corresponding single, general-purpose GUI element that can be connected to adapter I/O. This confuses the Tester. I can get the same kind of error by adding a QI input to the TEST_ADP_SKT block in the "doc" folder. Just delete the plug and socket I/O on AIBug, recompile and restart, and you will see that the Tester starts up OK. The next version of the FBDK will disallow running such FBs in the Tester, just like it disallows testing adapters this way. - Jim C.
>
>  moz-screenshot-8.jpg
> 11KViewDownload
Reply all
Reply to author
Forward
0 new messages