no put something like this in your button and have an LED next to it, I.e. pick LED ranges 1500 or higher.
in the button put
If GetUserLED(1500) Then 'User Led 1500 that is right next to the button
SetUserLED(1500,0)
Else
SetUserLED(1500,1)
End If
do this for each button output you want, and increment up the user leds by 1 per button.
Then goto edit brain, start a brain, pick as your input your start range of your User leds, i.e. 1500 do a NOP lobe, that terminates to the Modbus address, and config # that corresponds to you output side goint to the PLC. NOTE: IF you using Bit of word, you will need to remember to track which bit per LED output rung you use, unless you send an entire word per output. In the ADC PLC, if your Brining in Bit or Word, you will need to remember what bit effected what bit of word for your inputs on the PLC rungs. If your Bringing in Entire words, then you will need complete Bregister with a .0 on the end if you want to use the discreates in user variable memory. Other wise you will have to look up the control bits register, just remember if your using bit of word out from mach, you can control the Control bits in sequence. If your using entire words then you will skip Control bits in blocks of 20 in octal.
Scott