creating preset settings in cx programmer

Bobobodopalus

Member
Join Date
Feb 2020
Location
Surrey
Posts
89
Hi all

I was being really clever and suggested i add a list of preset settings to a line which every1 seemed thrilled with. however the amount of tedium has just dawned on me.

im hoping theres a better way to go about this.

the main idea is that we have a line controlled from a cj2m which has around 150 changeable settings including things like conveyor speeds, pump filling times.. waiting times etc..

i have done this in smaller scale before where we had changeable pumps, when pump 1 was connected i used the MOV function to load pump 1's data into the correct words.

and in NB designer i had layered multiple number input boxes each displaying only when its own pump was connected.

any ideas would be great
 
You can use indirect addressing to move the data.
Can you organize the data into several blocks and use indirect addressing to move the information to the correct location?

Just a thought.
Regards,
 
hmmm im not sure if this saves time.
i would select preset one on a word switch in NB designers d500 preset 1 = 0
then if d500=0 MOV the preset 1 data to the location i want it.


if i use indirect addressing i would still be in the same boat right? but instead of moving the data im moving the indirect address?


ideally i could do with something that would move d100-d150 to d600-650 or something along those lines, at least through my noob eyes
 
would this work with the XFER function?
if that works the only downside left would be having to make 10 versions of everything on NB designer.




Edit: do you know how this works if i use a number input directed at d100 and then have a indirect address moved into d100, does the number input see the indirect address location or the indirect addresses value?
 
Last edited:
just found out about the use index function on NB designer which will allow me to change the location it is looking at by a set amount, so i can set up all of the input on HMI to look at d400-500 and have them all use index d399, then i can set d399 to be 0,100,200 etc and then d500-600,d600-700 will display, etc then for the plc side i can use XFER to move values in d400-d500, d500-d600 etc to d100-200.


am i right in thinking this? or is this logic flawed?
 
I do not know CX, but it would be quite simple
so for example you have 5 recipes each of 150 words.
so:
Recipe Storage areas
0 = D000 - D149
1 = D150 - D299
2 = D300 - D449
3 = D450 - D699
4 = D700 - D849
Recipe Selection Variable = D860 (0-4) (5 recipes)
Running recipe = D900 - D1049
On a trigger (ones hot) Multiply D860 by 150 and store it in D861 (Index or pointer)
on same one shot Do a block Move D0[Index], 150, D900
As I said I do not know CX but in Mitsubishi the index register is Z0
see pic.
This will transfer recipe variables in blocks of 150 To D900 - 1049)
Not sure how you indirectly address in CX but you should get the idea.

Recipe.png
 
yes this is almost the same as what i was getting at in my latest ramblings(although yours is much better explained), it seems like a decent way of doing it
 
I have done this many times, usually I have a drop down list on a HMI so selecting a particular recipe the variable gives a value from 0- whatever and I use that to generate the pointer.
 
yes i've used a drop down on NB designer before it gives values 0-7 or whatever,i've made some recipe stuff before but i only did it for a few things last time though so i just moved the bits i needed and didnt look into doing it on a wider array.
thank you
 
for anyone in the future this is how i did it
drop down menu that changes word d2998 0-9 in this instance
LyYhFXj

https://imgur.com/a/LyYhFXj

then using the use index function on the number input i directed it to word d2999 and used d3001 onwards as my data area
https://imgur.com/a/SkyX44S
SkyX44S



finally i used a multiplier to times the drop down value by 200, and use XFER to move the new data locations to their real locations when in use.
https://imgur.com/a/0eJltnQ

0eJltnQ
 
Last edited:

Similar Topics

The idea here is to provide for a brief rapid influx of message codes while preventing sequentially repeating the same message. i.e. if two...
Replies
23
Views
694
Hello everyone, In a factory where we installed Citect 7.20 the computer began to show the first signs of end of life. They never considered...
Replies
0
Views
75
Hi everyone, I'm a last year student at the university in Ghent, and for my thesis i need to write a TwinCAT program that writes data to a .daq...
Replies
0
Views
144
When I go to create a new module in Studio 5000 I can't enter any information for the IP Address or change any other fields. Is there any fix to...
Replies
1
Views
255
Hello I am kind of new to the Rockwell world, i've mainly worked with Siemens and Schneider untill now. I am to make a HMI application running...
Replies
7
Views
1,069
Back
Top Bottom