Jump to content

Recommended Posts

Posted

Hello everybody!

 

I have a problem and I don't know how to solve it. I use ethernet communication between 2 Unistream PLCs. I use 1 PLC as MASTER and other for SLAVE. If I SET the MASTER output , SLAVE's input becomes SET. If I physically disconnect ethernet connection between them, SLAVE still gets "1" on it's input, even if the ethernet "connected bit" is "0". I would like that if the connection between them is lost, all SLAVE inputs become "0". I tried to reset them, when the ethernet "connected bit" becomes "0" but it doesn't work. 

Is there any way to solve this problem?

 

Thank you for your help!

 

Marko.

  • MVP 2023
Posted

I don't use UniLogic often enough to remember enough detail to answer your question definitively, but one universal solution is to incorporate a "heartbeat" function within your communications. If the heartbeat stops changing for the appropriate period of time, then reset your bits (or registers).

Posted

Once that register is set to a value it will continue to have that value until something else acts on it.

You have two choices; you can either clear the register on a timed basis, perhaps just before the other PLC sets it, or you can have a routine that 'pings' or keeps track of the communication between the two.   This can be in the form of a heart beat setup where one PLCs set a register to the a 1; the other sets sit a 0 and then if the heart beat stops you know the comms has gone down.   There are a ton of ways to go about it.  

Posted

Under the section "Global", in the "EIP Scanner Node Struct" is a "Connected Bit" which represents the state of ethernet communication. I tried to use it as an inverted contact and reset numeric inputs, but it doesnt work. When the connection is lost, "Connected bit" becomes "0", but I can't reset the IO inputs. I think I sould try to copy IO inputs from ethernet protocol to a new struct and try to reset this new struct.

Posnetekzaslona2023-12-18073828.jpg.00afdd200443c99f3a6a24fcb17f157a.jpg

Posted

Marko,

you can't reset an input....

an input is not like a self made bit.

Like you said, you have to copy the state of your inputs into another tag(struct) and reset your tag....

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
×
×
  • Create New...

Important Information

This site uses cookies. By clicking I accept, you agree to their use.