MVI56E Modbus issue

krakenfan69

Lifetime Supporting Member
Join Date
Nov 2011
Location
Alberta
Posts
227
Hi guys. Was hoping someone could help me understand the mapping on an MVI56E module. I have a 1756-L72 processor and am able to read the info from a Profire 2100 but I can't stop remotely and if the unit goes down I can't seem to restart it. I'm struggleing to find the actual mapping of where it is sending the start/stop command to. I can't seem to prove it's sending "4321" to Modbus register 40100 to stop the unit.) I've read through the manual for the MVI card but it's a bit daunting for my first MVI experience. Is there a simple answer as to how to find out where it's sending it?


Thanks for any help,

Kraken Fan #69
 
Are you using a MVI56E-MNET module? Are you using server commands or client commands?

Since you mentioned holding registers, I will assume you are using a server setup. The way these modules are setup is that they have an internal database of 5000 registers (16 bit each). Your module configuration determines where the different types of Modbus address are held within the 5000 registers.

So if you look at the configuration file for your module, under the MNET server heading you will see Output Offset (modbus addresses 1-10000), Bit Input Offset (modbus 10001-30000), Holding Register Offset (modbus 40001 and higher), and Word Input Offset (modbus 30001-40000).

So if your holding register offset is set to 200, and you believe there is a value of 4321 to the card on modbus register 40100, you would need to look at register 299 of the 5000 registers in the module. Of course, there is a lot of other details that would make this function correctly or not, but that is the most straightforward answer I can provide without more details.
 
It's an MVI56E-MCM Module. It was developed by someone else I'm just the lucky soul who gets to commission it so I'm pretty uncertain on a lot of the settings as I have never worked with one before. Sorry to be so vague.

Thanks for the reply.
 
In that case, ignore most everything I said above.

Have you looked at the manual? If you are using the add on instruction and the standard memory layout, I would think you would be able to find the correct location. The module works similarly to what I described previously. There is an internal module database; you specify which portions of the database are transferred to and from the controller (PLC), and there are register offsets which you define for the different types of modbus registers.
http://www.prosoft-technology.com/content/download/2903/22381/version/4/file/MVI56E_MCMMCMXT_user_manual.pdf
 
You also need to read the manual on the end device and how their modbus register is arranged. I assume that programmer had a cross-reference all neatly typed up somewhere, right? (we can dream...)

That's really the first step in troubleshooting it, IMO. Start with the device modbus map then trace it back to prosoft then PLC. I found the profire mudbus info rather easily by googling so get that. Sounds like some of the status works so I suspect it's just that some of the command address is mis-mapped.

ETA: I see you already done of the steps. Now I would get a modbus client simulator on your computer and see if the command comes through.

ETA2: MVI module programming is just text, you can post it here.
 
Last edited:
Yeah, reads like stereo instructions. On my third pass through it. I'll get there. Was just hoping something would make it click in my head.

EDIT: I have the Profire manual as well. I agree it seems like an address isn't lined up somewhere I just can't "see" it yet.

Thanks again.
 
Last edited:
So i got this working. The logic that was in place was trying to send data through Local:2 Data 3 some such. Prosoft does not recommend this and in my case it didn't anyway. There also was no write command configured to actually execute the start or stop. I had to configure port2.writecommand (or something like that) with an internal address and to the node and Modbus address I was trying to reach for the Profire 2100. Then I used the Start button from the HMI to trigger a MOV to send 1234 into that write address. I did the same with the stop button and 4321 getting MOVed. It was then able to start and stop from the HMI screen. The unit however was continuously getting whichever command was last sent as this value was still in the writecommand address. The unit now would get to temp and cut out the burners and be in the ready state but is still seeing the start command and it caused the unit to drop out the run status (through the internal relay in the Profire panel) causing an alarm and callout. Worse, if you pused Stop on the local panel and placed the unit in manual it was still seeing the start command and in 5 secods or so the unit would start up again! Even though you had hit the local stop!! I fixed this by adding a NEQ in the logic that if the Writecommand value was ever NEQ to 0 for 10 secs then it MOVes a 0 to the Writecommand address. It works fine now from all angles and can be locally or remotely started or stopped and hits temp and goes into ready with no alarms.
There is a register that monitors the command execution and if all are executing fine I believe it is a 0. It may be more elegant to monitor this bit and if it goes to a 0 after the write is executed then MOV a 0 to the Writecommand. I will look further into this and update the post if I find anything on it.

I though I would update this in the hopes it may help someone else who has to do this or sees this sort of erratic behavior on a Profire 2100. Thanks again to all who posted and offered suggestions it definitely shined a light down the correct path for me.

Kraken Fan #69
 

Similar Topics

Hi all. I just received my brand new Prosoft Modbus modules and I'm playing with one in a L82 rack. I managed to set it up well enough so I...
Replies
4
Views
327
Hey everyone, I am upgrading Modbus from MVI-56MCM to MVI56E-MCMR? Do I need to change in IO Configuration? I don't know if it is Master or...
Replies
4
Views
1,325
Hello, I am pulling my hair out trying to setup Modbus Master Read/Write Commands on a Prosoft MVI56E-MCM attached to a Clogixs 1756-L82E PLC. It...
Replies
1
Views
1,541
Hi, I'm having some issues getting my PLC to talk with a meter and genset controller over Modbus. The PLC is a ControlLogix 5572 with 2 Prosoft...
Replies
4
Views
4,680
I am having difficulties setting up MVI56E-MNET card to send and receive data from/to my touch screen via Controllogix 1756-L73S processor. Info...
Replies
7
Views
2,582
Back
Top Bottom