Just to follow up with my findings now that this job is complete:
The Modbus TCP method worked well in the end. I have seen no issues with talking Profinet to the HMI and Modbus TCP to the Weight Transmitter out of the same port simultaneously. Comms seems to be quite steady and reliable.
Once I got it communicating with the simulator (as described above), the only thing I had to change to get it talking to the Weight Transmitter was the CONNECT_ID of the MB_CLIENT block. For some reason, it kept giving me an error saying that that connection ID was already in use, even when I deleted all other instances of modbus communications blocks. I tried values of 1 and 2; neither worked. But a value of 10 did. I ended up using 10 for my read and 20 for my write and that was that.
To be honest, it probably would have been more cost effective in the situation I started in to just buy the Profibus card as JRW suggested. I did burn a lot of time working out the Modbus setup, although this was in part due to the unusual way that the particular weight transmitter arranges it's data for Modbus. But the flip side of that is that I'm now confident to do Modbus TCP on the next project that comes along with a similar situation, and while I did burn a few hours on learning it, I think it was worth it for the benefits that will be had next time.
Anyway thanks everyone for your input, it's been invaluable! If you ever find yourself in Melbourne, I'll buy you a beer
The Modbus TCP method worked well in the end. I have seen no issues with talking Profinet to the HMI and Modbus TCP to the Weight Transmitter out of the same port simultaneously. Comms seems to be quite steady and reliable.
Once I got it communicating with the simulator (as described above), the only thing I had to change to get it talking to the Weight Transmitter was the CONNECT_ID of the MB_CLIENT block. For some reason, it kept giving me an error saying that that connection ID was already in use, even when I deleted all other instances of modbus communications blocks. I tried values of 1 and 2; neither worked. But a value of 10 did. I ended up using 10 for my read and 20 for my write and that was that.
To be honest, it probably would have been more cost effective in the situation I started in to just buy the Profibus card as JRW suggested. I did burn a lot of time working out the Modbus setup, although this was in part due to the unusual way that the particular weight transmitter arranges it's data for Modbus. But the flip side of that is that I'm now confident to do Modbus TCP on the next project that comes along with a similar situation, and while I did burn a few hours on learning it, I think it was worth it for the benefits that will be had next time.
Anyway thanks everyone for your input, it's been invaluable! If you ever find yourself in Melbourne, I'll buy you a beer