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?
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
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
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
We can reduce this to
In each of the fan pictures, we need to specify co.val (.id of component)
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
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
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