News:

  • May 05, 2026, 07:38:38 PM

Login with username, password and session length

Author Topic: MRX/MWX through ECOMM100  (Read 29709 times)

davidbgtx

  • Hero Member
  • *****
  • Posts: 215
  • Host be the Most
MRX/MWX through ECOMM100
« on: October 01, 2015, 10:28:12 AM »
Put an ECOMM100 in my Do-More rack to program do-more through and talk to HMI and other Modbus/TCP connections on the LAN (WINPLC's, Kepware).
Using Do-More internal port for communicating to remote rack. I can't get MRX or MWX to work on the LAN (to my WINPLC's). MRX/MWX works fine to WINPLC's if the Do-More internal port is connected to the LAN.
So can you not use MRX/MWX "through" the ECOMM100?

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6154
  • Yes Pinky, Do-more will control the world!
Re: MRX/MWX through ECOMM100
« Reply #1 on: October 01, 2015, 10:36:25 AM »
Not directly. You can get the ECOM100 to do Modbus comms through DLRX/WX, but you have to configure it in the ECOM100 peer table.

We really wanted to do it directly, but the Do-more instruction was somewhat incompatible with the way the ECOM100 did Modbus.
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

davidbgtx

  • Hero Member
  • *****
  • Posts: 215
  • Host be the Most
Re: MRX/MWX through ECOMM100
« Reply #2 on: October 06, 2015, 09:28:36 AM »
Have set up peer link table for the ecomm100 (in the client rack). I have been able to read data from another do-more (server no ecomm) by using publish in the server and DLRX in the client (see ecomm 1 pic), that works. I can't read control relays on the server, always get error bit (see ECOMM 2 pic). Can you provide the DLRX statement I need in the client to read C60 from the server? Do I need a publish c60 statement in the server?

As a side question - why is V0 the correct address for MHR1?
« Last Edit: October 06, 2015, 09:38:18 AM by davidbgtx »

Greg

  • HostTech
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 702
  • Hmmm...
    • Host Engineering, Inc.
Re: MRX/MWX through ECOMM100
« Reply #3 on: October 06, 2015, 12:45:11 PM »
In order to do this you have to realize that the ECOM100 was designed for working with the memory of a DL-PLC, not a Do-more. So, to utilize the ECOM100 as a Modbus TCP master you have to use the DLRX/DLWX and put the correct type of Type & Offset (octal) in the MRX/MWX instruction to invoke the correct Modbus Function Code and Modbus memory addresses. This is outlined in this PDF document:

http://www.hosteng.com/FAQFiles/ECOM100%20Server%20Client%20Mapping%20%28Do-more%29.pdf

Notice in that document that if you use a DLRX with an address of V0 in the client, then this will get translated by the ECOM100 as an FC03 (Read Holding Registers) with an offset of Holding Register 1. Thus when that telegram reaches the Ethernet port on your Do-more PLC that is a server, it will read MHR1 (Modbus Holding Register 1).

The client will only be able to access M-memory in your server Do-more. It cannot access C60. To access C60 you will have to use the PUBLISH in your server to move C60 to somewhere in M-memory and then correspondingly, use the map as shown in the above PDF document and enter the correct Type & Offset in your DLRX instruction in your client to get it.

Hope this helps!
There are two types of people in the world; those that can extrapolate from incomplete data sets.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3607
  • Darth Ladder
Re: MRX/MWX through ECOMM100
« Reply #4 on: October 07, 2015, 02:08:21 AM »
This was one of ADC's most bizarre decisions (Using DL octal addressing for Modbus comm transactions)

Even if both client and master are in fact DL's, if you're using Modbus to connect them, why would you not want to use Modbus terminology and addressing to do so?  And THEN if the server device is non-DL, it begins to feel truly ridiculous.
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6154
  • Yes Pinky, Do-more will control the world!
Re: MRX/MWX through ECOMM100
« Reply #5 on: October 07, 2015, 03:02:05 AM »
This was one of ADC's most bizarre decisions (Using DL octal addressing for Modbus comm transactions)

Even if both client and master are in fact DL's, if you're using Modbus to connect them, why would you not want to use Modbus terminology and addressing to do so?  And THEN if the server device is non-DL, it begins to feel truly ridiculous.

From the perspective of the ECOM as a client, the answer is pretty simple: there is no CPU side Modbus support, Modbus is patched in through the original DCM's RX/WX DL to DL interface. As for other implementations throughout the line, I don't have any insight.

We did try to improve on that with Do-more, but I think our approach is somewhat unique in the market.
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

davidbgtx

  • Hero Member
  • *****
  • Posts: 215
  • Host be the Most
Re: MRX/MWX through ECOMM100
« Reply #6 on: October 07, 2015, 08:42:05 AM »
Quote
The client will only be able to access M-memory in your server Do-more. It cannot access C60. To access C60 you will have to use the PUBLISH in your server to move C60 to somewhere in M-memory and then correspondingly, use the map as shown in the above PDF document and enter the correct Type & Offset in your DLRX instruction in your client to get it.

Hope this helps!

Can't publish a "C", however I was able to use MOVER (C60 to MHRxx) and then in the client DLRX the V(MHRxx) to a V, and it worked. So with a bottle of aspirin and your help, I can make this work, Thanks.

The whole reason for this was to segregate some of my traffic by putting the ECOM100 in the DO-More Client rack, beginning to wonder if it's worth the effort, maybe I'll investigate a managed switch/s with vlan.
 Thanks again
« Last Edit: October 07, 2015, 09:40:42 AM by Greg »

BobO

  • Host Moderator
  • Hero Member
  • *****
  • Posts: 6154
  • Yes Pinky, Do-more will control the world!
Re: MRX/MWX through ECOMM100
« Reply #7 on: October 07, 2015, 08:51:03 AM »
You should be able to PUBLISH C memory as a BYTE, WORD, or DWORD cast, but MOVER works fine too.
"It has recently come to our attention that users spend 95% of their time using 5% of the available features. That might be relevant." -BobO

ADC Product Engineer

  • Hero Member
  • *****
  • Posts: 270
Re: MRX/MWX through ECOMM100
« Reply #8 on: October 07, 2015, 08:59:14 AM »
This was one of ADC's most bizarre decisions (Using DL octal addressing for Modbus comm transactions)

Even if both client and master are in fact DL's, if you're using Modbus to connect them, why would you not want to use Modbus terminology and addressing to do so?  And THEN if the server device is non-DL, it begins to feel truly ridiculous.

This was never an ADC decision.  I don't know that I can explain exactly why MODBUS uses Octal since it was done such a very, very long time ago.  Let's put it this way, the oldest 405 CPU supports MODBUS.  It was introduced around 1990.

I would say that why RX/WX instructions use Octal for MODBUS is a mystery lost to the annals of time. ;D

franji1

  • Bit Weenie
  • Host Moderator
  • Hero Member
  • *****
  • Posts: 3806
    • Host Engineering
Re: MRX/MWX through ECOMM100
« Reply #9 on: October 07, 2015, 10:33:58 AM »
ADC/Koyo did address it in their implementation of the DirectLOGIC MRX/MWX instructions for the 260 and 06 CPUs built-in serial ports.  The 06 even supports MRX/MWX in its DCM module.  However, DirectSOFT's MRX/MWX instructions do not work for ECOMs in DL world.

Do-more's native Modbus MRX/MWX instructions work for built-in serial, built-in Ethernet, and SERIO modules, but not ECOM100 module.  At least you can do the DL Hack of the Modbus Hack when using Modbus via ECOM100 in Do-more ;D.

davidbgtx

  • Hero Member
  • *****
  • Posts: 215
  • Host be the Most
Re: MRX/MWX through ECOMM100
« Reply #10 on: October 07, 2015, 10:46:01 AM »
You should be able to PUBLISH C memory as a BYTE, WORD, or DWORD cast, but MOVER works fine too.

See Publish C pic, this is what I get when I try publish C to anything

Publish to MC pic, this is what I get if I try to publish anything to a MC

Probably I'm doing something wrong

b_carlton

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 606
    • thePLCguy
Re: MRX/MWX through ECOMM100
« Reply #11 on: October 07, 2015, 11:00:00 AM »
Try 'C0:W' to grab 16 bits at a time as a word. The 'Modbus' registers only include the 'Input' and 'Holding' register, not the discrete - single bit - registers.
An output is a PLC's way of getting its inputs to change.

davidbgtx

  • Hero Member
  • *****
  • Posts: 215
  • Host be the Most
Re: MRX/MWX through ECOMM100
« Reply #12 on: October 07, 2015, 11:15:55 AM »
Try 'C0:W' to grab 16 bits at a time as a word. The 'Modbus' registers only include the 'Input' and 'Holding' register, not the discrete - single bit - registers.

That works, thanks.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3607
  • Darth Ladder
Re: MRX/MWX through ECOMM100
« Reply #13 on: October 07, 2015, 11:31:05 AM »
This was never an ADC decision.  I don't know that I can explain exactly why MODBUS uses Octal since it was done such a very, very long time ago.  Let's put it this way, the oldest 405 CPU supports MODBUS.  It was introduced around 1990.

I would say that why RX/WX instructions use Octal for MODBUS is a mystery lost to the annals of time. ;D

And not just octal, but you have to include the "V" as well!  Strange.  I know what you mean; I'm so much happier with today's hardware (from all PLC manufacturers) than 1985 era stuff.  Life is good now!

Thank you for the background!  :)
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.

Controls Guy

  • Internal Dev
  • Hero Member
  • ****
  • Posts: 3607
  • Darth Ladder
Re: MRX/MWX through ECOMM100
« Reply #14 on: October 07, 2015, 11:35:47 AM »
Do-more's native Modbus MRX/MWX instructions work for built-in serial, built-in Ethernet, and SERIO modules, but not ECOM100 module.  At least you can do the DL Hack of the Modbus Hack when using Modbus via ECOM100 in Do-more ;D.

I've only used the native port so far as Modbus client on Do-More, and I MUCH prefer the way it is now.  Much cleaner, much more comfortable for someone familiar with Modbus.  Do-More rocks!
I retract my earlier statement that half of all politicians are crooks.  Half of all politicians are NOT crooks.  There.