Hi Mark,
I took a look at your code, and for the most part, it looks very
good. There are only two things that I can see that may be
causing some issues. The first and most obvious is that you are
not using your error inputs and outputs at all. If you take a
look at any example program, the pink error cluster is wired through
all the VIs. This is always good practice, because the error
message returned from these VIs usually can point us in the right
direction of getting the error solved. If you do not wire this
through, the error may be lost completely. There may even be an
error message occurring in this program that we are not seeing that
could help us figure out why your device is not responding.
The other point of interest that I saw was in the inputs to the Convert
for DeviceNet Write.vi. The DNetDataIn input is left blank, which
is fine, except that you also have a byte offset of 1 as an
input. DNet Data is in an array format, and this VI will take
other data and convert it into DNet data, placing it in the data array
wherever you specify in the byte offset. Since you have nothing
wired into the DNetDataIn, then it starts with an array of all
0's. The byte offset is 1, so it skips over the first byte (at
index 0) and then places your data starting at byte index 1. This
may be the way your device is expecting the data, but if you want that
data to be at the front of the data array, then you need to wire a 0
into the byte offset. Otherwise, the data being sent out starts
with 0's.
Hope this helps!
john m
Applications Engineer