Start a new topic

Error

hi there i have this error:

Error: too many instrucitons, (current:69410, limit:65534)


i take it i have filled the available space?

is there any way of increasing it?


thanks Joe 


there is no means of increasing this limit at the moment.  There probable is most certainly ways to decrease the number  of instructions you are using.  "Say the same using less instructions".


If you want to post your HMI file, perhaps I can take a look and suggest some of these means to decrease.

I have dun some bits which have helped a bit but please have a look

thanks

HMI
(5.28 MB)

Hey Joes


Just a few questions so that I get the gist.

Page 3/4 Ventilation P1/P2


-  in Fan Stages there are 9 columns and 10 rows

    - 3 state toggle for all 90 of these per page?

    - are the 9 per row 9 fans? or 1 fan per row with 9 steps?

- Vent1, Vent2, Cycle all test value 0 to 100?  +V 0 to 95?


Is Formula for m3/hr a calculation of on screen values or MCU report of actual value?


3 state toggle for all 90 of these per page?        "yes well 99 on P1 and 90 on P2"

are the 9 per row 9 fans? or 1 fan per row with 9 steps?          "9 fans"

Vent1, Vent2, Cycle all test value 0 to 100?  +V 0 to 95?          "yes"


Vent1, Vent2, Cycle all test value 0 to 100?  +V 0 to 95?          "it will be a calculation in the future"


any more question please ask 

Okay Joes


Here is just a couple of things that can reduce the instruction counts


But first a couple of things to make life easier


a) when you can, put background picture into the page background

In the attribute pane, pull down, page is always .id 0 and top of this list

  - change .sta from solid color to image

  - double click .pic and select your background

  - remove the p0 component

     (this will cause double pixel drawing one page color, two picture pixel)

     (Text components have 3 - page, p0 picture and text)

     (also helpful when doing multi-select not to have layers)


1) Create two or three hotspot place at top for now

    - each hotspot has press and release. 3 will give you 6 code holders

2) Create a new variable called co

    - we will use this to pass a .id value of the component


Now each fan stage has 13 lines of code + Send Component ID

- press currently cycles through from 0 to 2,

   - but doesn't address its state before the press.

  So we have a . an X and a T for the three states

  But we have to CUT attributes and code lines, so some changes


each of the Text Components t69 to t166 would be replaced by pictures

- when you compare the attribute list for Text and Picture Components

  Picture wins this hands down.

  4 pictures ~18x24 -  one period, one x, one T, and one blank

  we resize the pictures to avoid any overlap layering such as is happening

  in the text components


Now replacing the original release code and putting it into m0 press event

va0.val=va0.val+1%3

if(va0.val==0)

{

t166.txt="."

}

if(va0.val==1)

{

t166.txt="X"

}

if(va0.val==2)

{

t166.txt="T"

}


We can reduce this to

  b[co.val].pic=b[co.val].pic+1%3+6


In each of the fan pictures, we need to specify co.val (.id of component)

   co.val=69

   click m0,1


on page 3 Ventilation P1

  - this will reduce 99 fan combined code lines from 1287 to 199

  and as many attributes for each 99  Text - 99 Pictures. 


Backgound picture may need to be tweaked to these 4 pics but

functionally remains the same.


I will soon upload your HMI with these changes so you can take a look



Here is the modified HMI PC 0.0.1.HMI


It doesn't really matter if it is a Text or a Button

There is a Press and a Release


Pictures proved less attributes than Text

Hotspots have fewer attributes yet, but are not visual

A picture can show text, but statically

 - when your text is repetitive we can store it in fewer.


When the code is repetitive with a pattern

- it can be stored in one spot (I like hotspots)


I'll post soon what this change made in attribute count

HMI
(5.17 MB)

So here is the results of the two designs.

PC 0.0.HMI as provided when compiled had count of 64904

PC 0.0.1.HMI   modified when compiled had count of 36424

PC 0.0.2.HMI   modifying 11-20  a compiled count of 11019


There are 84 text components on these two pages

 - each with 12 lines of code but only 2 formulae

So this count could be reduced further

- but I would need to know if these columns truly need floating point.

  or if integer values would suffice

HMI
(5.07 MB)
@Patrick: this is awesome and instructive! I am learning a lot again - thanks! :)

yp, Patrick spend some good time on this ... 


but also again some kind of masterpiece to proofe and show, the better you know what you use, the more efficient your tasks be done ... and to know a tool right needs some time invest, that's nothing which can be done within a few hours ...


well what can i say top man :) thanks for that.

could you drop me an email

joestanford@hotmail.co.uk

Login or Signup to post a comment