john_nohj

FX3G & FX3U-4AD

7 posts in this topic

Hello,

 

I am currently trying to use an FX3U-4AD analogue module with an FX3G-40M base unit. Programming in ST with GXWorks2.

I've been through the various manuals; The FX3U-4AD manual explains the analogue module buffer memory is addressed as U0\G10 for example, which would be fine on older software but I'm fairly new to GXWorks2 and it is done using D registers now??

The FX3G manual doesn't have a section for the FX3U-4AD, however it says the analogue value for the various other analogue modules are between D8260 - D8263 or D8280-D8283.

I have monitored this whole range of D values and none of them change from 0 when giving the unit an analogue input.

 

Can anyone explain where I'm going wrong?

Many thanks...

 

 

Share this post


Link to post
Share on other sites

How a card is addressed is not related to the programming tool. Those d registers are special registers (like SD on Q and iq) for adapters which plug directly into the main CPU in the case of FX3 series.

The card you are using plugs into the bus and its location is not fixed so it must be accessed via the correct buffer memory address exactly the same as in Gx developer.

Share this post


Link to post
Share on other sites
10 hours ago, john_nohj said:

The FX3G manual doesn't have a section for the FX3U-4AD, however it says the analogue value for the various other analogue modules are between D8260 - D8263 or D8280-D8283.

 

 

 

These addresses are if you are using the ADP modules that attach to the left side of the brick (FX processor). Their addresses are accessed through D registers depending on their mounting location. For using the FX3U-4AD, Special Function Modules attached to the right side, it is still in the U#/G# format.

The

;TO( ?BOOL_EN? , ?ANY16_s? , ?ANY16_n1? , ?ANY16_n2? , ?ANY16_n3? );

and

;FROM( ?BOOL_EN? , ?ANY16_n1? , ?ANY16_n2? , ?ANY16_n3? , ?ANY16_d? );

Structured Text instructions still work for these Special Function Modules.

Edited by Akahige

Share this post


Link to post
Share on other sites

Steve, I tried the link but it said document not found. I have a copy of the FX3 series Analogue Control Edition. Is that the document you were referring to?

Akahige, that has worked, thankyou. Although it seems strange to me that I have had to enter the values as shown below without assigning them to the relevant point:

FROM (TRUE, 0, 10, 1, iTTPosition);

With other blocks you have to use the assignment operator := ???

 

Anyway thanks all for your help.

Share this post


Link to post
Share on other sites

John_nohj

You are correct, by the looks of it you are reading this information from SFM#0, buffer memory location 10, 1 word and writing it into your PLCs Label iTTPosition. In function block form each address is entered individually in the fields provided with the block. And yes, I think that in FB format you would have to specify that SFM0 is a hex number and BM# is a decimal...I think. Someone please correct me on this.

The following picture is taken from the help files. If you put the cursor on the instruction in your ST program and press F1 a help window will populate with that instruction already loaded and with examples on how to execute it in the program.

From.png.e8aeb1d930a9f48bfeb726aa71c5abd

 

Edited by Akahige

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