mouldermike Posted June 15, 2013 Report Posted June 15, 2013 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
nehpets Posted June 15, 2013 Report Posted June 15, 2013 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
mouldermike Posted June 18, 2013 Author Report Posted June 18, 2013 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
nehpets Posted June 18, 2013 Report Posted June 18, 2013 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
Vasa Posted June 19, 2013 Report Posted June 19, 2013 (edited) 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 June 19, 2013 by Vasa
mouldermike Posted June 23, 2013 Author Report Posted June 23, 2013 Brilliant - I'll try it next week - thanks for your help Cheers Mike
mouldermike Posted June 23, 2013 Author Report Posted June 23, 2013 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
panic mode Posted June 24, 2013 Report Posted June 24, 2013 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....
panic mode Posted December 5, 2018 Report Posted December 5, 2018 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now