Raalen

Serial communication issue Fx3GE plc with FX3G 232-BD adapter

7 posts in this topic

I am trying to setup a Fx3G 232 BD on a Fx3GE plc and i am getting a serial communication error 2 on the plc diagnostic of Gx works 2.

The 232-BD is connected to a Cardinal 185 Scale head that's attached to a load cell. I have setup the parameters and matched the data for the two but I am still getting error code 3801.

 

Share this post


Link to post
Share on other sites

3801 Parity, overrun or framing error The transfer data is abnormal.

Check the transfer specifications set using parameters, and execute communication again.

Looks like you still have a mismatch

Share this post


Link to post
Share on other sites

Thank you, I got it to communicate but now I am trying to figure out how to use the RS serial communication using Structured text and there seems to be a lack of resources from Mitsubishi. Does anyone know how to send and receive data to a cardinal scale head using the Fx3G 232- BD adapter on a FX3GE plc? 

Share this post


Link to post
Share on other sites

The line of code I have so far is: (RS (ScaleWeight, D6000, K5, K10, D6010)) and i am using channel 2 for this since I have the hmi connected through ethernet on channel 1.

I read in the manual that i should be using channel 1 for the Fx 232-BD adapter so could that also be a potential issue preventing the scale to communicate with the plc? 

Share this post


Link to post
Share on other sites

Channel 2 is fine you just need to use the right devices when using the RS2 instruction.

 

Capture.JPG

Capture1.JPG

 

Capture.JPG

Edited by Gambit

Share this post


Link to post
Share on other sites

OK. I am having trouble getting an accurate transmission from the Cardinal Scale head. I set up my code like this outside the main loop:

D6000 := (H05);
ScaleWeight := 1;
IF M8002 THEN
     M8423 := FALSE;
END_IF;
     RS2 (ScaleWeight, D6000, 1, 17, K2, D6020);

And like this inside the loop :

    IF NOT M8423 THEN 
            M8422 := TRUE;
            ELSE 
                M8423 := FALSE;

    END_IF

 The problem is when i monitor the code while its running on the plc, the D6020 register is receiving random values that alternate.Am i missing a flag or bit device to make it work properly?

Share this post


Link to post
Share on other sites

Got it working, had to insert a delay in order to receive the desired value from the scale.

 

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