Heartbeat from B&R RIO to Control Logix: Modbus TCP via Prosoft MNETC module

ASF

Lifetime Supporting Member
Join Date
Jun 2012
Location
Australia
Posts
3,921
Hi all,

I have an application where there is a Control Logix PLC connecting to a B&R remote I/O station over Modbus TCP via a prosoft MNETC module. I'm not sure why they used the Modbus TCP network module instead of the Ethernet/IP one, and unfortunately changing it is not an option.

I've been tasked with configuring a heartbeat or something to monitor the connection status to this remote I/O. So far my only idea is to have the PLC "flash" a spare digital output, and read the actual output status of the module back via the MNETC, but that seems like a bit of a hack. Is there a more elegant way to monitor this connection status?
 
0x1041 is the address of a watchdog timer, in ms, in the X67BCJ321, if the PLC did a Modbus read of that regularly and the value kept changing, then could that be considered a heartbeat?
 
Update: I'm playing around with Automation Studio, and it appears that I can configure various status variables to be mapped to a PLC tag. I'm assuming this means I could e.g. assign a modbus address to the connection packet counter, which gives me a valid heartbeat to use.

I'm completely new to Automation Studio so not sure how to actually go about this. It should be mentioned that this remote I/O module has already been set up by a person who no longer works with the company, and nobody here knows exactly how he set it up. I'm told he simply used Modbus TCP Toolbox software, and I can connect to the device using this software, but I can't see anywhere in there where I might map the various I/O points (or other data) to modbus addresses. It's currently working - the I/O data is being read and written by the MNETC module, but I can't work out how to either (a) modify the mapping data with Modbus TCP Toolbox, or (b) connect to an online I/O adaptor with Automation Studio and do it there.

Is anyone able to give me some tips or pointers to get me moving?
 
0x1041 is the address of a watchdog timer, in ms, in the X67BCJ321, if the PLC did a Modbus read of that regularly and the value kept changing, then could that be considered a heartbeat?
Now that sound like exactly the sort of thing I'm after.

Next question...where did you find that information? For all the documents I've been trawling through, I've not yet found that!

Edit: okay, now I've found it. Amazing what you can find when you know what you're looking for!
 
Last edited:
So for reasons that are human related (as opposed to technical limitations) I can't use the heartbeat. But having found the heartbeat documentation, I also found the address for the "global telegram counter" - 0x10C1...0x10C2 which is for all intents and purposes another "heartbeat" counter. Updated the MNETC config to also read this address and hey presto, instant communication status monitoring!

Thanks for helping me find that critical piece of info to get me started, drbitboy :cheers:
 

Similar Topics

Hi everyone, I have a task at work that I'm hoping someone will be able to help me find a solution for. Here is the background info: I have a...
Replies
10
Views
418
Hi everyone I've created an FC that includes the blocks TCON, TDISCON, TSEND and TRCV. This block has to be as generic as possible across...
Replies
15
Views
1,525
In studio 5000 is there an easy way to do a Heartbeat between two Control Logix PLCs? Say you have Produced and Consumed from both is there even a...
Replies
8
Views
1,222
Good Morning! I need to monitor ethernet comms, between 2 Compact Logix PLC's. I have done this before with a simple pair of timers, toggling a...
Replies
7
Views
1,605
All, How would I implement a heartbeat mechanism from a client app that is using OPC to communicate to PLC (Siemens S7-1200, integrated OPC...
Replies
3
Views
1,588
Back
Top Bottom