Forums.MrPLC.com: Modbus speed for 13 slaves - Forums.MrPLC.com

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Modbus speed for 13 slaves Modbus speed for 13 slaves Rate Topic: -----

#1
User is offline   lchamarthi 

  • Sparky
  • PipPipPip
  • Group: MrPLC Member
  • Posts: 155
  • Joined: 18-January 06
  • Location:India
  • Interests:Automation in Omron, Reading and listening to Music
  • Country:India
    India
Hi,
I am using Modbus PMCR Instruction to communicate with 13 slaves. Each PMCR is having 50bytes of data transfer (Receive+send using Function code 17). I have kept all times in protocol macro as minimum as possible 0.1ms each and maintaining 38.4K baudrate.
Whether this baudrate would be OK to transfer without any problem and how will come to correct times to set in macro?

Another question is now with a counter I am polling 13. To send a data to any perticular selected slave is taking 2sec time. I am thinking to reduce this time. How could i improve? My aim is to make 0.5sec and whether is possible?

somebody could help me?
0

#2
User is offline   lostcontrol 

  • Sparky
  • PipPipPip
  • Group: MrPLC Member
  • Posts: 413
  • Joined: 27-May 09
  • Country:New Zealand
    New Zealand

View Postlchamarthi, on Nov 18 2009, 05:10 AM, said:

Hi,
I am using Modbus PMCR Instruction to communicate with 13 slaves. Each PMCR is having 50bytes of data transfer (Receive+send using Function code 17). I have kept all times in protocol macro as minimum as possible 0.1ms each and maintaining 38.4K baudrate.
Whether this baudrate would be OK to transfer without any problem and how will come to correct times to set in macro?

Another question is now with a counter I am polling 13. To send a data to any perticular selected slave is taking 2sec time. I am thinking to reduce this time. How could i improve? My aim is to make 0.5sec and whether is possible?

somebody could help me?


Reduce the poll size, and split the read/write functions up, ie. don't use function 17. Then look at only writing to the slave when the data required to be written data has changed, this will reduce the cycle time a bit.

Have you looked at PMCR's modbus example's in the downloads section, this should help to get you underway with the write on COS.

Another question, why so many bytes? What are the slaves?
0

#3
User is offline   lchamarthi 

  • Sparky
  • PipPipPip
  • Group: MrPLC Member
  • Posts: 155
  • Joined: 18-January 06
  • Location:India
  • Interests:Automation in Omron, Reading and listening to Music
  • Country:India
    India

View Postlostcontrol, on Nov 18 2009, 11:28 AM, said:

View Postlchamarthi, on Nov 18 2009, 05:10 AM, said:

Hi,
I am using Modbus PMCR Instruction to communicate with 13 slaves. Each PMCR is having 50bytes of data transfer (Receive+send using Function code 17). I have kept all times in protocol macro as minimum as possible 0.1ms each and maintaining 38.4K baudrate.
Whether this baudrate would be OK to transfer without any problem and how will come to correct times to set in macro?

Another question is now with a counter I am polling 13. To send a data to any perticular selected slave is taking 2sec time. I am thinking to reduce this time. How could i improve? My aim is to make 0.5sec and whether is possible?

somebody could help me?


Reduce the poll size, and split the read/write functions up, ie. don't use function 17. Then look at only writing to the slave when the data required to be written data has changed, this will reduce the cycle time a bit.

Have you looked at PMCR's modbus example's in the downloads section, this should help to get you underway with the write on COS.

Another question, why so many bytes? What are the slaves?


The slave is a embedded card, which is connected to field IO rather than to Omron IO card. so over modbus, i am reading & writing status of inputs and outputs. Such i have 15 cards to communicate.
Earlier i made read and write separately (13 for read + 13 for write) with 26 counter which was taking more time nealry 3sec. But i was continiously polling with that also and I don't know how to write only when data is changed. So later i changed to 17 code to reduce the poll size.

I am also attaching the ladder code. could you tell me how would i do that. Could you please guide me....

Attached File(s)


This post has been edited by lchamarthi: 19 November 2009 - 07:13 AM

0

#4
User is offline   lostcontrol 

  • Sparky
  • PipPipPip
  • Group: MrPLC Member
  • Posts: 413
  • Joined: 27-May 09
  • Country:New Zealand
    New Zealand
Can you post your original program that had separate read/writes? It will be easier to modify that for COS write, as opposed to the one you have attached. Also, post the CX-Protocol file, there may be something that can be done in that as well..

This post has been edited by lostcontrol: 19 November 2009 - 01:04 PM

0

#5
User is offline   lchamarthi 

  • Sparky
  • PipPipPip
  • Group: MrPLC Member
  • Posts: 155
  • Joined: 18-January 06
  • Location:India
  • Interests:Automation in Omron, Reading and listening to Music
  • Country:India
    India

View Postlostcontrol, on Nov 19 2009, 02:02 PM, said:

Can you post your original program that had separate read/writes? It will be easier to modify that for COS write, as opposed to the one you have attached. Also, post the CX-Protocol file, there may be something that can be done in that as well..


Please find my original code for separate read and write using Function code 8 and 4 in second section. Also find Read& write in one PMCR using F17 in first section and both in same cxp file. Also the protocols i have attached for F17 and read ,write separately.
It will be a great help if you could reply me as soon as possible.

Attached File(s)


This post has been edited by lchamarthi: 01 December 2009 - 03:43 AM

0

#6
User is offline   lostcontrol 

  • Sparky
  • PipPipPip
  • Group: MrPLC Member
  • Posts: 413
  • Joined: 27-May 09
  • Country:New Zealand
    New Zealand

View Postlchamarthi, on Dec 1 2009, 03:29 AM, said:

The slave is a embedded card, which is connected to field IO rather than to Omron IO card. so over modbus


What is this embedded I/O card?

In all reality, I would be surprised if you would get much faster than 1.5 sec for all 13 slaves, if that is what you are getting now?

If more deterministic updates are required, then it may be worth seriously looking at another solution, such as devicenet/ethernet/componet etc.

Typically modbus serial for that many slaves, I would expect at least 1-2 sec's, depending on the slave device.

Has the manufacturer of this embedded card achieved faster updates than what you are achieving with the same amount of slaves? If not, then I doubt that you
will be able to do much better.

Sure, we can look at the protocols and send on demand, but if all 13 are required to be written at the same time, we are back to the beginning, how will this
affect your process?
0

#7
User is offline   PMCR 

  • Expert
  • Group: MrPLC Admin
  • Posts: 592
  • Joined: 09-December 04
  • Gender:Male
  • Location:Pennsylvania
  • Country:United States
    United States
To determine the actual time per device, I think you will need to do a data trace, so we can see what is going on.
Trace A202.00, 1634.15, W10.00 (assuming node 1 is active).
Tell me what your scan time is for the PLC.
Do the data trace with a resolution of every scan, save the file, attach.
Do the data trace with a resolution of 10 ms, save the file, attach.
Trigger on the trailing edge of A202.00.

Data Trace in structions are here if you have not used it. http://forums.mrplc.com/index.php?autocom=...mp;showfile=822

Also, do some Traces in CX Protocol to make sure there are no problems there.
PMCR data trace instructions attached.

Attached File  PMCR_Data_Trace.pdf (222.06K)
Number of downloads: 256
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users