mouldermike

hardware/software prob GX Dev

10 posts in this topic

Hi. I have a 36 station moulding machine that I have refurbished and have put an FX3U plc on using GX developer (self taught newbie). Everything works OK so far but I have a problem that I need some help with. The machine is a carousel that indexes round 36 times with moulding programmes that differ on each station. The station identification is carried out by means of six proxy switches mounted on the floor picking up bolts in different positions on each station to give different combinations of signals, eg 1, 1+2,1+2+3, and so on. I'm trying to work out how to get these different combinations of inputs to work to give each station a unique id for the programme. I've been trying to do it by giving each combination of outputs from the switches a coil. The problem I'm having is that a combination of 1+2+3 also makes 1, and 1+2 live at the same time. I'm missing something obvious here as this is an industry standard method and operated on the old Siemens kit that originally ran this machine - we haven't changed the hardware layout at all. Any ideas as the best way to do this? Mike

Share this post


Link to post
Share on other sites
Hi, You could take a look at the 'DECO' instruction - this will take your proxy configuration and fire a bit according to the value read from proxies - ie if proxies 1 & 3 are on this represents '5' in binary, the DECO instruction would decode this and turn bit '5' on in chosen destination store (say 'M' stores), you could then use these bits to action your program. Steve

Share this post


Link to post
Share on other sites
Thanks for that Steve - I'm ploughing through my manuals and as soon as I've worked out how to do that I'll give it a go. Cheers Mike

Share this post


Link to post
Share on other sites
This may help M8000 -----] [----------------------------------------------------[DECO X0 M100 K6] DECO = FNC41 in programming Manual X0 = start of proxy inputs M100 = Start of decoded bits Can be D, M, S, Y bits K6 = number of proxy inputs Example - Proxies on inputs X0 & X2 are on - X1,X3,X4 & X5 are off (binary 5 ) this will decode to turn bit M105 on Proxies on inputs X1 & X3 are on - X0,X2,X4 & X5 are off (binary 9 ) this will decode to turn bit M109 on Steve

Share this post


Link to post
Share on other sites
What Steven suggested will probably work, but the "something obvious" that you're missing is this: --||--------|/|-------|/|----- X1 X2 X3 --||--------||-------|/|----- X1 X2 X3 --||--------||-------||----- X1 X2 X3 Edited by Vasa

Share this post


Link to post
Share on other sites
Brilliant - I'll try it next week - thanks for your help Cheers Mike

Share this post


Link to post
Share on other sites
Hi That is in fact pretty much what I've done as an interim solution to get me going - and it does work. It's not very elegant - with 36 stations and only 6 proxies some of the lines have loads of nc contacts. The other thing is that I've written the programme without knowing how HMI programming works and I'm anxious that when I get an HMI I can use all of this - as the machine operator will need to be able to do stuff with all this. FYI the machine makes moulded foam tennis balls in a range of sizes simultaneously - each size on a different group of stations, which can change on a daily basis (colour can also change but that's another story).Thanks for your help and interest. Mike

Share this post


Link to post
Share on other sites
well, instead of six contacts, you can either do comparison using single instruction such as [LD= k2X0 k1] check if it is one [LD= k2X0 k2] check if it is two [LD= k2X0 k3] check if it is three etc. note, if you have not seen such notation before (ie. k2X0 ) it basically tells how many nibbles are grouped together and what is the address of first one... K1X0 means X0,X1,X2,X3 (one nibble is 4 bits) K3M100 means three nibbles starting with M100 or if you like: M100, M101, M102, ...M111 (three nibbles is 3x4=12 bits) already mentioned alternative is just using DECO instruction (it will "hot code" bunch of bits, only one of them will be active) m8000 ---| |-----------------[DECO k2X0 M400 k6] note this clears 2^6 bits starting with M400 and then only one of them is set. then when X0..X5 have value 0, only bit M400 is on then when X0..X5 have value 1, only bit M401 is on etc. then in your program instead of six contacts, you just use one and make sure it is labelled correctly....

Share this post


Link to post
Share on other sites

you should state your PLC model. i have not touched Mitsubishi in years and don't have software installed any more but... should be no problem:

just clear block of memory and use indexed addressing to set one bit on. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now