QUOTE (lostcontrol @ Sep 30 2009, 07:34 PM)

Ok,
When you define if each node is a master or slave, you are also defining the slave address?
I haven't looked up how the serial setup function sets the parameters since you last posted on this, and your comments don't lead to what each address is allocated for.
Anyway, correct me if I am wrong, you are using the method in the image I have attached?
If so, then in rung 7 of your xx_UPGRADE program, you use set_master_plc (H2.09) to determine if the unit is a master or slave?
Then, if this is a slave (H2.09 = Off), then the state of the inputs are reflected to the master. If the unit is a master, then the inputs are reflected to the slave(s)?
So, if this is all correct, then again in rung 7, and this PLC is a the master, you are trying to turn on the outputs received from the slave (3110.00 - 3110.15), this is where I think the logic race is happening..
Again, if this is all correct, then you need to replace the outputs that are in the range 3110.00 - 3110.15, to 3100.00 - 3100.15.
Does this make sense?
The basic concept is:
The master writes to 3100-3109 in all slaves,
Slave 0 writes to 3110 in all other units, including master
Slave 1 writes to 3120 in all other units, including master
This is all in the manual, page 356. I have added an example on the last rung after the END instruction in the attached file.
At the least, this is how I would approach it, I do not have any hardware to test this, so am not providing any guarantees that this is correct.
Click to view attachmenti see what you are doing a bit smarter than what i come up with but it will still logic race as mine does after the end instruction you have the output 3109.00 as a output to broadcast to all the other nodes if the program were in the master node.
if that program were in any other node it would still have that coil in it for the master node but it wont be operated so it reads the network 3109.00 and then scans down to the master part of the program and will turn off again as the coil for the master part output of the program in the slave node wont be on (turn the coil off locally).
this is what i beleve is happening in my case.
if you output 3109.00 from the master but read it as 3509.00 (for example) in the other nodes this would not happen but you cant do that.
as you could turn on 3109.00 on the slave and not effect the transmission from the master broadcast on 3109.00 but recieved on 3509.00.
im not trying to operate my adress 3109.00 locally but it is in the program for the use by the specific master node and will be turned off in all others locally.
how i see it is that the program will read the input in the slave (from the master) then it will scan through the program and get to the master part and turn it off again.
correct me if i am wrong but effectivly i have 2 coils in the program (theritically) one being network operated and one being local both having the 3109.00.