Grimm

GX IEC Developer

23 posts in this topic

Hello everyone. 

This is my first time programming Mitsubishi PLC (FX3G), and especially on SFC. Im used to Siemens and Festo PLC programming and this is something new and more powerful. So im trying to create an automation project for an electric wire rope hoist. Till now i have done the main program features like what the program has to do and have set most of the conditions, programmed 3 analog signal registers for the axel postioning (X,Y,Z) and 4th for optical sensor register, used to mesure size of the segments. And this is the issue i have ran into, so the segments i want to create have to be based on cords of X,Y,Z. 

So the idea i have but im unable to put it right in the program.

This is just a quick scatch.
//These ones are programmed and are funcional
Defines//
d1=X;
d2=Y;
d3=Z;
d4=Size;
d5=High; //Is the highest registered segment and ,has priority over others

//This is what im willing to create using SFC blocks.
//Registering and saving all of the segments based on position and fullness of specified segemnt, for comparing later on.
//(d1-d1) ment to work like (d1=100 to d1=150) and (d2=100 to d2=150) to describe the size of area and the location.
Seg1=[d1-d1,d2-d2,d4]; 
Seg2=[d1-d1,d2-d2,d4]; 
Seg3=[d1-d1,d2-d2,d4];
Seg4=[d1-d1,d2-d2,d4];
Seg5=[d1-d1,d2-d2,d4];
Seg6=[d1-d1,d2-d2,d4];
Seg7=[d1-d1,d2-d2,d4];
Seg8=[d1-d1,d2-d2,d4];
Seg9=[d1-d1,d2-d2,d4];
Seg10=[d1-d1,d2-d2,d4];
Seg11=[d1-d1,d2-d2,d4];
Seg12=[d1-d1,d2-d2,d4];

MoveToDrop=(d1,d2,d3);
IfDrop=(d1,d2,d3);
GetSegmentID=(d1,d2,d4)=(Seg1,Seg2,Seg3,Seg4,Seg5,Seg6,Seg7,Seg8,Seg9,Seg10,Seg11,Seg12); //Calls the location to show where its headed or to get position.
MoveToSegement=(d1,d2,d3,d4)
HighestSegment=(d5)

 

Edited by Grimm

Share this post


Link to post
Share on other sites

First of all I suggest to use GX Works 2 as GX IEC Developer is no longer in use

Share this post


Link to post
Share on other sites
20 minutes ago, Gambit said:

First of all I suggest to use GX Works 2 as GX IEC Developer is no longer in use

Well at first I started to make it on GX Works 2 but cant recall why i stopped and switched to GX IEC Dev. Tho this has been a month of work, and are you sure that there is no point of continuing the project on GX IEC Dev?

Share this post


Link to post
Share on other sites

Well you can but software development has stopped on GX IEC Developer.

Besides you can import the GX IEC project into GX Works 2.
You might even considering importing it into GX Works 3 and using an FX5 as this is the new standard has more functions and cheaper than a FX3U.
 

Share this post


Link to post
Share on other sites
15 hours ago, Gambit said:

Well you can but software development has stopped on GX IEC Developer.

Besides you can import the GX IEC project into GX Works 2.
You might even considering importing it into GX Works 3 and using an FX5 as this is the new standard has more functions and cheaper than a FX3U.
 

Now i recall why IEC Dev, as u told that GXW 3 should be used for programming the FX5 PLC which is more flexible and cheeper than FX3G, that was our plan at start too. But as i didnt have the GXW 3 a that point I used GXW 2 hopin that i will be able to transfer the project later to GXW 3 and use it on FX5. But it did turn out its not possible to transfer the project to GXW 3 and the only solution GXW3 provided was to run it on GXW 2. And a week later we made changes to another automative system and got a spare FX3G by that, we changed the plan to program it on IEC Dev. But so how am able to transfer the IEC Dev project to GXW 2 ? And yeah FX5 does not support SFC.

Edited by Grimm

Share this post


Link to post
Share on other sites

In GX Works 2  Project => Open other Data => Open other project.

In GX Works 3  Project => Open other Format file => GX IEC Developer Format

Yes the FX5 doesn't support SFC but does have. Standard Ethernet,  analog in and out. RS485. Modbus TCP/IP server, Webserver, support CC-Lnik IE Field basic etc. 

Edited by Gambit

Share this post


Link to post
Share on other sites

In GX Works 2  Project => Open other Data => Open other project.

In GX Works 3  Project => Open other Format file => GX IEC Developer Format

Yes the FX5 doesn't support SFC but does have. Standard Ethernet,  analog in and out. RS485. Modbus TCP/IP server, Webserver, support CC-Lnik IE Field basic etc. 

Thanks for the info.

When im trying to import the program into GXW 2, I recive a warning saying that there is an SFC program in GX Dev project. Well it has to be SFC so now what ? I cant import an SFC program into GXW2?

Edited by Grimm

Share this post


Link to post
Share on other sites

The problem is that there SFC method of IEC is different then the one from GX Works which is the same as GX Developer.
Which can't be imported. Have you checked GX Works 3 this one might convert the old type.?

 

 

 

Share this post


Link to post
Share on other sites
8 minutes ago, Gambit said:

The problem is that there SFC method of IEC is different then the one from GX Works which is the same as GX Developer.
Which can't be imported. Have you checked GX Works 3 this one might convert the old type.?

 

 

 

Not yet, but im aiming for it by looking for the cd with the additional installer for the IEC Dev file support.

Share this post


Link to post
Share on other sites

It's not an extra installer you need to update to the latest version. Juts download the update from the Mitsubishi site

Share this post


Link to post
Share on other sites

Well its updated to latest version but there is like an exe file that enables the file transfer really not an actual installer.  

 

PS. Didn't have to struggle all this way just had to read. GXW3 has Precausions list where the first thing mentioned is that SFCs wont be imported.

Edited by Grimm

Share this post


Link to post
Share on other sites

So lets get back to the point of Segment creation on IEC Develpoer... How may I do it ?

Share this post


Link to post
Share on other sites

Aight well thanks for the help anyways. Decided to make the segment system without range, as it would probably cause issues when reaching the location, by pickin up other segment resources. Made it through a counter pointing to specific points where the segment center points are located at, meanwhile gathering info about the amount of resources at the segment. Just need to decide how to make the movement system, based on cords or free movement on requirement.

Share this post


Link to post
Share on other sites

Looks like you have a clear view of what you want to do. So what you need help with?

 

Share this post


Link to post
Share on other sites

Umm with this... C9002:Error during Label Calculation. and F0073: Too few operands. Best part about these 2 is that when i am requesting to allocate the problem location, nothing happens.

Share this post


Link to post
Share on other sites

You do not have enough  System variabels. It’s under tools i believe or extra

 

Share this post


Link to post
Share on other sites
16 minutes ago, Gambit said:

You do not have enough  System variabels. It’s under tools i believe or extra

 

A lot appreciated, already spent 2 hours to figure this out but no info on web or anywhere, so yeah gonna start testing the program right about now.

PS: Was under Extras. Had 2047 out of 2047 Labels reduced label amount by 1 and all seems to work now.

Edited by Grimm

Share this post


Link to post
Share on other sites

Does IEC DEV have a fcuntion,  like GET_G (Get_Gratest)?  Or anything similar to that?

Example:

//(In)   
D1=700;
D2=730;
D3=710;
D4=790;
D5=750;
//(Func)
CMP:
D1=D2/D2=D3/D3=D4/D4=D5;
D1=D3/D2=D4/D3=D5;
D1=D4/D2=D5;
D1=D5
//(Out)
D4=790;

Because only thing i found GT_E which is used for greater than but well i need an INT input and INT output and comparison between inputs not 1 specific input.

Edited by Grimm

Share this post


Link to post
Share on other sites

But it still requires a value, witch is compared to other values. I need a function which compares all values and on output gives the highest one.

Share this post


Link to post
Share on other sites
7 minutes ago, Grimm said:

But it still requires a value, witch is compared to other values. I need a function which compares all values and on output gives the highest one.

Doesn't matter just use the same device as the start of Table.
The Device with the maximum value of the table is still stored in D+4

Edited by Gambit

Share this post


Link to post
Share on other sites

How may I access Addresses for ARRAY_OF_DUT ? In help you get  menu that shows the function blocks variables, and i need this really badly but have no clue how to open this menu.

Share this post


Link to post
Share on other sites

What do you mean ? where to define the addresses in the global var list ?

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