
adccommunitymod (AutomationDirect) asked a question.
Created Date: September 04,2014
Created By: nhermanson
**** This post has been imported from our legacy forum. Information in this post may be outdated and links contained in the post may no longer work.****
I want to use a click to act as a remote I/O for a project that is using a Productivity 3000. I'm a little confused in the P3K software as to where to tell it what tags I want to read. I am using inputs X001-X004 and X101-X116. I'm thinking I need to set "Slave Modbus Starting Address " to 1 in order to start reading X001 (modbus 100001. But the registers I'm reading are not in sequential order (skip modbus 100005-100032) Do I need to run two different MRX commands to read the seperate "groups of inputs. " Or should I convert the X inputs to a C in the click ladder and then poll those values in the P3K software. Does that make sense? I see it working either way, but is one way better than the other? Speed is not uber important.
Created Date: September 04,2014
Created by: bcarlton
In the Click 'Address Picker ' click 'display Modbus Addresses ' in the lower right.
I would use two reads. You can map the individual bits read to the appropriate tags.
Created Date: September 05,2014
Created by: ControlsGuy
It looks as if you could read the entire range of interest in 8 or so 16-bit words. I think I'd just read the entire range every time and just refer to the bits of interest on the P3K end. Less overhead on the Modbus transactions.
I'm writing an AB Ethernet driver at the moment, and if a given range is even 10% used, it's quicker on the wire to do it in a single poll than multiple smaller polls, even if most of what you get you don't care about.
Created Date: September 05,2014
Created by: bcarlton
I'm concerned that the in-between addresses may not even exist and he may get an error with a single read. But just try it and see.
Created Date: September 05,2014
Created by: ControlsGuy
I considered that (and like I said I know nothing about Clicks), but if it's like a DLx, all the valid I/O addresses exist in memory whether there's I/O present or not. I'm pretty sure a DLx would respond to a query about X0-X137 even if not all of the range had physical I/O installed.
As you noted, he'll just have to try it and see what works.
EDIT: The exception to that might be a controller where a given address is impossible. For example, an 05 has X0-X7, and an expansion module, if used, starts at X100. I don't know if you could use X40 in logic or how an 05 would respond to a Modbus query for X0-X117. I was thinking of the 205 case, where the entire range is potentially valid.
Created Date: September 05,2014
Created by: nhermanson
I just looked at the address book in the software. Addresses 100017-100032 do not exist in the address picker. I'll try it with all and see. The p3k software does not require me to match a tag up with each address, so I'll try leaving them blank.
I'm still playing around with the status tags to make sure that it is actually communicating successfully.
Created Date: September 05,2014
Created by: nhermanson
Am I going about this the right way?
Here's a little background in what I'm trying to accomplish.
I have a Productivity 3000 with a remote base as my main plc on my on farm grain handling facility. I have 2 Cmore displays attached to via ethernet.
I'm trying to remotely monitor some digital inputs and temperatures. I had a click laying around for the digital inputs and a icp/das thermocouple data acquisition module. I thought I would wire both via a multidrop RS-485 connection to the P3K's remote rack serial port(I already had wires in a conduit between the two).
I just had that thought that if I wired them directly to the cmore display and entered the modbus addresses I wanted, then I wouldn't have to go through settting up the modbus read/write commands in the P3K. However, these inputs are off a grain dryer that will only operate about 3-4 weeks a year, while the rest of the system will operate continually. I set it up in the ladder to only run the read/write commands while the dryer is powered up so I don't get lost comms warnings when it is off.
Is there any way to cycle the connection on the cmore with a pushbutton?
Created Date: September 05,2014
Created by: bcarlton
Create a separate screen for the information concerning the grain dryer. Only go there when the dryer is running.
Created Date: September 12,2014
Created by: kewakl
I considered that (and like I said I know nothing about Clicks), but if it's like a DLx, all the valid I/O addresses exist in memory whether there's I/O present or not. I'm pretty sure a DLx would respond to a query about X0-X137 even if not all of the range had physical I/O installed.
As you noted, he'll just have to try it and see what works.
EDIT: The exception to that might be a controller where a given address is impossible. For example, an 05 has X0-X7, and an expansion module, if used, starts at X100. I don't know if you could use X40 in logic or how an 05 would respond to a Modbus query for X0-X117. I was thinking of the 205 case, where the entire range is potentially valid.
If this becomes a problem, the Click can copy VALID input words to data registers (D) and the PAC could read the data registers instead. It is a Click, so I/O is rather limited.
Created Date: September 04,2014
Created by: nhermanson
I want to use a click to act as a remote I/O for a project that is using a Productivity 3000.
I'm a little confused in the P3K software as to where to tell it what tags I want to read. I am using inputs X001-X004 and X101-X116.
I'm thinking I need to set "Slave Modbus Starting Address " to 1 in order to start reading X001 (modbus 100001. But the registers I'm reading are not in sequential order (skip modbus 100005-100032)
Do I need to run two different MRX commands to read the seperate "groups of inputs. "
Or should I convert the X inputs to a C in the click ladder and then poll those values in the P3K software.
Does that make sense? I see it working either way, but is one way better than the other? Speed is not uber important.