News:

  • May 29, 2026, 02:38:29 PM

Login with username, password and session length

Author Topic: "Invalid Instruction" on download  (Read 32741 times)

plcnut

  • Hero Member
  • *****
  • Posts: 814
    • premiersi.com
"Invalid Instruction" on download
« on: February 06, 2013, 11:35:03 AM »
Here is a portion of the log file:

"S1356, Wed Feb 06 10:27:42 2013, System content changed by Default User (Program/Documentation)
S1357, Wed Feb 06 10:27:44 2013, Invalid instruction 0x83024709 at 5447.
S1358, Wed Feb 06 10:27:44 2013, Program validation failed! Reverted to old program"

I get the error when I try to download but not when I accept the program. I don't know which instruction is the problem nor how to find it, because I cannot find where to do a search by address.
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6157
  • Yes Pinky, Do-more will control the world!
Re: "Invalid Instruction" on download
« Reply #1 on: February 06, 2013, 11:49:10 AM »
That's a bug. You should never see that...ever.

It's apparently in a MEMCOPY instruction, and it is likely that Designer is allowing you to do something that the controller thinks is invalid. Please send us your program.
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

plcnut

  • Hero Member
  • *****
  • Posts: 814
    • premiersi.com
Re: "Invalid Instruction" on download
« Reply #2 on: February 06, 2013, 11:54:43 AM »
I just re-did  series of 24 memcopy instructions (I added a pointer for indirect addressing for the source).
I will see if I can use a mover instead...
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

plcnut

  • Hero Member
  • *****
  • Posts: 814
    • premiersi.com
Re: "Invalid Instruction" on download
« Reply #3 on: February 06, 2013, 12:00:33 PM »
It looks like the MOVER will work for me... now to finish re-writing...
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6157
  • Yes Pinky, Do-more will control the world!
Re: "Invalid Instruction" on download
« Reply #4 on: February 06, 2013, 12:02:04 PM »
I'm very sorry. We are still finding a few small bugs...and for some strange reason you have found roughly half of them. ;)
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

plcnut

  • Hero Member
  • *****
  • Posts: 814
    • premiersi.com
Re: "Invalid Instruction" on download
« Reply #5 on: February 06, 2013, 12:12:07 PM »
My current memory configuration is over 226,000 bytes, and there is still a ways to go. This system is very data intensive. I think my brain is getting a lot more of a workout than the Domore is though :)
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6157
  • Yes Pinky, Do-more will control the world!
Re: "Invalid Instruction" on download
« Reply #6 on: February 06, 2013, 09:21:52 PM »
Looking at the instruction validation, the only way it might have failed is if one parameter was bit and the other was not. I was not able to get it to let me create something wrong. I would really love to know how you did so...we'd really like to fix this.
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

plcnut

  • Hero Member
  • *****
  • Posts: 814
    • premiersi.com
Re: "Invalid Instruction" on download
« Reply #7 on: February 07, 2013, 06:09:07 AM »
I'm working on replicating it...
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

plcnut

  • Hero Member
  • *****
  • Posts: 814
    • premiersi.com
Re: "Invalid Instruction" on download
« Reply #8 on: February 07, 2013, 06:26:46 AM »
Here is an example that will do it:

FYI: I had this rung in a working TASK, but all of the source fields were a fixed address, when I went though and added the indirect addressing to the source field is when the error showed up.
I noticed though, that I can leave them all static, and change just the first one to an indirect, and it will download.
« Last Edit: February 07, 2013, 06:41:05 AM by plcnut »
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

plcnut

  • Hero Member
  • *****
  • Posts: 814
    • premiersi.com
Re: "Invalid Instruction" on download
« Reply #9 on: February 07, 2013, 07:29:31 AM »
I've been able to narrow it down to the MEMCOPY with the indirect bits as the source and the C bits as the output,
All you need to make it happen is this:

MEMCOPY:
source: C[V1]
number: 10
destination: C10
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3607
  • Darth Ladder
Re: "Invalid Instruction" on download
« Reply #10 on: February 07, 2013, 10:27:33 AM »
I've been able to narrow it down to the MEMCOPY with the indirect bits as the source and the C bits as the output,
All you need to make it happen is this:

MEMCOPY:
source: C[V1]
number: 10
destination: C10

Does MEMCOPY allow the source and destination ranges to overlap?  I would think that it should.  If it doesn't like that, though, and if V1 is assumed to == 0 for the purposes of checking it (can't really check when the address is indirect, so maybe it just assumes 0), then it would view it as an overlap.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

plcnut

  • Hero Member
  • *****
  • Posts: 814
    • premiersi.com
Re: "Invalid Instruction" on download
« Reply #11 on: February 07, 2013, 10:31:39 AM »
I've been able to narrow it down to the MEMCOPY with the indirect bits as the source and the C bits as the output,
All you need to make it happen is this:

MEMCOPY:
source: C[V1]
number: 10
destination: C10

Does MEMCOPY allow the source and destination ranges to overlap?  I would think that it should.  If it doesn't like that, though, and if V1 is assumed to == 0 for the purposes of checking it (can't really check when the address is indirect, so maybe it just assumes 0), then it would view it as an overlap.

In the actual program I'm using 2 separate memory areas of the controller, Going from a user bit array to C bits.
Circumstances don't determine who we are, they only reveal it.

~Jason Wolthuis
Premier Systems Integration, LLC
http://premiersi.com

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6157
  • Yes Pinky, Do-more will control the world!
Re: "Invalid Instruction" on download
« Reply #12 on: February 07, 2013, 10:35:20 AM »
It's definitely a problem with the controller's instruction validation. What you did should be legal and the test to verify whether both source and destination are bits or not bits if failing. Haven't looked into it yet, but I'm sure it is super simple.

This is obviously a test case that slipped through the cracks. We'll fix the test case and well as the controller, and make sure this particular one doesn't happen again. That's not to say that their aren't 10 more waiting in the wings though... ::)
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO