bScott

QJ71E71-100 to QJ71E71-100 Ehternet Comms

13 posts in this topic

Hi new to the forums, but been reading for awhile now and hoping maybe someone knows what's happening as its puzzling me.

I am currently trying to communicate with two QJ71E71-100 via crossover cable. I have my program communicating but I have two problems with receiving.

Quote

 

The commands I use for reference to the problems below

[ZP.BUFSND U0 K1 D0 D10 M2] on the receive end [ZP.BUFRCV U0 K1 D10000 D11000 M100]

 

Sending with an eight decimal value wrote to D10 produces the below on the receiving QJ71E71

D11000=10, D11001= 1, D11002= 2, D11003= 3, D11004= 4, D11005= 5, D11006= 1, D11007= 2, D11008= 3, D11009= 4, D11010= 5, .... Repeated upward

Now if I increase my decimal value to 12 or upward on the Sending side, I get a strobe effected of data moving slowly upward in my D11000 registers

If this isn't enough information I could attach my example program to see if someone could point out where I'm going wrong, I appropriate any help.

 

Share this post


Link to post
Share on other sites

Hi,

Please attach an example program. What HW/SW are you using on the other side of the crossover cable?

1 person likes this

Share this post


Link to post
Share on other sites

Hi,

Thank you for your reply.

Software: GX Developer Version 8.91V

The cable is a regular Ethernet crossover cable

Please see attached for the program I have been using.

QJ71E71-100 Ethernet Module.zip

Share this post


Link to post
Share on other sites

Yes, but are you connected to a computer? HMI? What (what is receiving the telegrams)?

1 person likes this

Share this post


Link to post
Share on other sites

I'm sorry misunderstanding on my part.

I'm using two Q03UDECPU with two QJ71E71-100 talking to each other. In the attached file there are two projects one for the sending & one for receiving.

Share this post


Link to post
Share on other sites

I can't see anything wrong at first glance. Would it be possible to upload pictures of DeviceMonitor of both sides when you are experiencing the problem? I'm not sure I fully understood what you sent, what you expected to receive and what you actually receive...

Would be nice with a visual overview of the expected and actual sent/received data.

1 person likes this

Share this post


Link to post
Share on other sites

Please see attached 

The receive is currently repeating downward in the images attached no strobe currently with the value 10 in D10

D11 in the send and D11001 is a count these images were taken 2 minutes after each other.

Device Monitor - Send.JPG

Device Monitor - Receive.JPG

Edited by bScott

Share this post


Link to post
Share on other sites

You've probably already done it, but I just have to ask: Did you clear all the devices in the range say D11000 - D11015 just to start with "0"? Then we are sure that it's nothing "left behind"... Just clear them, then send a new telegram and see what happens.

1 person likes this

Share this post


Link to post
Share on other sites

I have cleared the D Registers before restarting both units and watched them populate as I have two programmers watching both the send and receive.

Share this post


Link to post
Share on other sites

I think I just figured out what is happening: You have an error in either sending or receiving side that makes the internal buffers fill up. What does the error page/log show you for the connection(s)?

1 person likes this

Share this post


Link to post
Share on other sites

I have a COM ERR led on the receiving ethernet module that could be the cause, where do I locate the error page/log your talking about.

*Edit*

I found the modules detailed information under "Diagnostics > System Monitor > Detailed Information" and have the Error code C1B1

Which says a solution of execute the open processing.

Thank you for your help and giving me a direction to move towards to solve this. I'll update the thread with how I get on.

Edited by bScott

Share this post


Link to post
Share on other sites

Thank you for your help I finally found the issue.

By sending a single shot of data across the network with more than 16 words I saw that the data wasn't repeating or filling up the internal buffers which led to the conclusion that it works on a slower pace.

After which I looked into the code and there was a loop in the sending that kept repeating the send signal continually thus filling up the buffers on the receiving end. I took the loop out and put it on a 1 second pulse for the time being and it works perfect. I can lower this down and configure the rest of the program and it should work wonderful.

Thank you kaare_t, with your advice it gave me a direction which led to the problem.

For anyone else who's looking at this problem, line 150 on the sending end take out the Set M1 on the first branch.

Share this post


Link to post
Share on other sites

No problem, I just pointed you a little on the way. Excellent news!

1 person likes this

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