You also can't make changes to a MSG instruction setup online AFAIK. For that reason, my experience has been that everybody sends a whole lot of "spare" data - e.g., you need 5 bits but send a whole 32 bit word anyway; you need 5 DINT's so you send an array of 20. I do this too with produced/consumed tags, so it's quite rare that I need to take things offline to do an edit. The only other trick is to set you "max consumers" on your produced tag high enough to allow for future usage, so you don't have to do a download to add another consumer down the track.
I think they're better for three main reasons:
- It avoids all the messing about with staging your MSG instructions, and all the multitude of tricks involved in making them work
- You can monitor the status of the connected PLC and make sure it's (a) connected and (b) in Run mode without having to set up heartbeats. Simpler, and faster to respond to a dropped connection
- The data is exchanged even if both PLC's aren't in run mode. I haven't found a really useful purpose for this yet, but it's cool anyways
I think they're better for three main reasons:
- It avoids all the messing about with staging your MSG instructions, and all the multitude of tricks involved in making them work
- You can monitor the status of the connected PLC and make sure it's (a) connected and (b) in Run mode without having to set up heartbeats. Simpler, and faster to respond to a dropped connection
- The data is exchanged even if both PLC's aren't in run mode. I haven't found a really useful purpose for this yet, but it's cool anyways