Sign In to Follow Application
View All Documents & Correspondence

A Modbus Master For Tcp/Ip Communication Using Multi Drop Type Polling To Get Data From Multiple Modbus Slaves

Abstract: A Modbus Master system for TCP/IP communication using multi-drop type data polling between a Master station and multiple slave stations, through a single task, said system comprises: first table defining means adapted to define entries in said first table using said system, said entries being in relation to type of task being selected from Serial task or TCP/IP task; selection means to select TCP/IP task(s) from said first defined table; task creation means adapted to create and define a single task for all of said selected tasks; second table defining means adapted to define number of sockets (logical connections) adapted to be used by said system and further adapted to logically link said single task to said defined sockets; third table defining means adapted to define data points and map a plurality of slave station identities to said defined sockets; thereby allowing dynamic allocation of said sockets in correspondence with said slave stations to be polled by said master station using a single task. A method using said system is also disclosed.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
27 February 2012
Publication Number
35/2013
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application

Applicants

CROMPTON GREAVES LIMITED
CG HOUSE, DR.ANNIE BESANT ROAD, WORLI, MUMBAI-400 030, MAHARASHTRA, INDIA.

Inventors

1. BIDWAIK SATISH KUMAR
CROMPTON GREAVES LIMITED, DISTRIBUTION AUTOMATION RESEARCH CENTRE, "ARYABHATTA", GLOBAL R&D, KANJURMARG(E), MUMBAI-400 042

Specification

FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
As amended by the Patents (Amendment) Act, 2005
AND
The Patents Rules, 2003
As amended by the Patents (Amendment) Rules, 2005
COMPLETE SPECIFICATION
(See section 10 and rule 13)
TITLE OF THE INVENTION
A Modbus Master for TCP/IP communication using multi-drop type polling to get data from multiple Modbus Slaves.
APPLICANTS (S)
Crompton Greaves Limited, CG House, Dr Annie Besant Road, Worli, Mumbai 400 030, Maharashtra, India, an Indian Company
INVENTOR (S)
Bidwaik Satish Kumar of Crompton Greaves Limited, Distribution Automation Research Centre, "ARYABHATTA", Global R&D, Kanjurmarg (E), Mumbai-400 042 ; an Indian National.
PREAMBLE TO THE DESCRIPTION:
The following specification particularly describes the nature of this invention and the manner in which it is to be performed:

FIELD OF THE INVENTION:
The invention relates to the field of communication systems and information systems for real time embedded products / systems.
Particularly, this invention relates to communication systems between a remote terminal unit and a remotely located processing.means.
More particularly, this invention relates to an improved communication system.
Specifically, this invention relates to a Modbus system for supporting communication / polling between a Master station and multiple slave stations through single task.
More specifically, this invention relates to a Modbus Master for TCP/IP communication using multi-drop type data polling to get data from multiple Modbus Slaves.
BACKGROUND OF THE INVENTION:
In the field of remote telemetry, on-site equipment are monitored and sensed by a remote terminal unit (RTU). Typically, a RTU provides for automatic transmission and measurement of data from remote sources by wire, radio or other means. This data is relayed to a processing means which is also remotely located. This relaying of data may also be made possible by wire, radio or other means.

For the purposes of this specification, a master station is understood to include a Modbus master device or equipment.
For the purposes of this specification, a slave station is understood to include a Modbus slave device or equipment.
The processing means may be a SCADA (Supervisory Control And Data Acquisition) means. The processing means is the master station. There may be a plurality of master stations which receive information and data from various RTUs. The RTUs are the slave stations and may receive signals or polling signals from the master station in order to control on-site equipment or to poll the RTUs.
CG Automation System's XCell Real Time System (RTS) provides an RTU (Remote Terminal Unit) platform that is industry standard protocol conversion, I/O data gathering, and control and automation functionality. CG Automation system's XCell hardware is available with very flexible and scalable architecture. XCell hardware uses Real Time Operating System (RTOS) for real time performance.
There is a need to improve TCP/IP communication handling for a Modbus Master Protocol architecture, system, and method for polling data from device supporting Modbus Slave(s).
In the system of the prior art, there are multiple slave stations configures to communicate with a master station. The interface for communication is by means of a system comprising the following three tables:
1) Gen(eral) Table;
2) RTU Table; and
3) Map(ping) Table.

1) Gen(eral) Table:
This is referred to as the Gen Table. In Modbus master station, this table is used to define communication port parameters. Based on these parameters, the master station communicates with the slave stations. A standard XCell system allows three instances of the master protocol per cell (for com 2 to 4) and therefore, upto three rows can be defined for serial ports. In addition to the serial ports for each TCP/IP IED, a separate Gen record should be defined.
2)RTUTable:
This is referred to as the RTU Table. This table is used to define the slave devices with which the Master station communicated. A standard Xcell system allows a maximum of 32 slave stations per serial port.
3) Map(ping) Table:
This is referred to as the Map Table. This table specifies configuration of data points to be polled in terms of Data point type, function code, address, range, associated Gen table entry and the like.
According to the prior art, the master station was adapted to configure multiple slave stations to communicate with, or poll data from. There were entries in Gen table needed. According to the number of entries in Gen Table, the number of tasks was created for handling communication with the defined slave stations. This was limiting the number of slaves to be polled.
Since the XCell system created total number of tasks based on the number of entries in the Gen Table, it was creating number of tasks equal to number of TCP/IP slaves to be polled.

Therefore, in this type of implementation, just as many tasks were created as TCP/IP slave stations were to be polled by a master station.
For example, if one had to poll data from 20 TCP/IP Slave stations, then there should have been an entry in Gen table with respect to each TCP/IP Slave stations and based on it, 20 tasks were created to handle communication with 20 TCP/IP Slave stations. This situation leads to performance related problem for CPR-041 (XCell Processor card), and it hangs because it gets overloaded with too many tasks to handle.
CPU usage percentage goes up to 99%. This means that the processor is fully busy in processing and handling multiple tasks. This type of situation gives rise to bottleneck situations when one tries to poll maximum possible data points from TCP/IP Slave stations, or when one is using multiple name blocks on the same CPR-041 (which is very common practice).
OBJECTS OF THE INVENTION:
An object of the invention is to provide multi-drop capability in case of TCP/IP communications, while polling data from multiple TCP/IP Slave stations.
Another object of the invention is to provide a system which provides dynamic allocation of TCP/IP sockets and their handling.
Yet another object of the invention is to provision multiple TCP/IP Slave stations polled through a single task (with respect to master station).

Still another object of the invention is to obviate limitation in terms of numbers of TCP/IP Slave stations (because of limited tasks).
An additional object of the invention is to provide a single task for handling communication with multiple TCP/IP slave stations, so that it optimizes processor usage.
Another additional object of the invention is to provide a system and method for poiiing TCP/IP Slave stations such that it demonstrates flexibility similar to Modbus Serial communication in RS-485 mode.
Yet another additional object of the invention is to provide a system and method for polling TCP/IP Slave stations such that processor resource can be utilized by some other name block to add more protocols or data points for taking full advantage of installed XCell RTU unit.
SUMMARY OF THE INVENTION:
According to this invention, there is provided a Modbus Master for TCP/IP communication using multi-drop type data polling between a Master station and multiple slave stations, through a single task, said system comprises:
a. first table defining means adapted to define entries in said first table using said
system, said entries being in relation to type of task being selected from Serial
task or TCP/IP task;
b. selection means to select TCP/IP task(s) from said first defined table;

c. task creation means adapted to create and define a single task for all of said
selected tasks;
d. second table defining means adapted to define number of sockets (logical
connections) adapted to be used by said system and further adapted to logically
link said single task to said defined sockets;
e. third table defining means adapted to define data points to be polled from slave
stations and map a plurality of slave station identities to said defined sockets;
thereby allowing dynamic allocation of said sockets in correspondence with said slave stations to be polled by said master station using a single task.
Typically, said first table defining means is a Gen Table defining means.
Typically, said second table defining means is a RTU Table defining means.
Typically, said third table defining means is a Map Table defining means.
Typically, said third table defining means is a Map Table defining means adapted to map data points and a plurality of slave station identities to said defined sockets, said mapping taking place in accordance with parameters relating to predetermined routing or polling data.
Typically, said third table defining means is a Map Table defining means adapted to map data points and a plurality of IP addresses of slave stations to said defined sockets, said mapping taking place in accordance with parameters relating to predetermined routing or polling data.

Typically, said system comprises dynamic socket creating means adapted to dynamically creates required number of TCP/IP sockets to handle connection with TCP/IP slave stations.
Typically, said system is a multi-drop capable system for TCP/IP communications, while polling data from multiple TCP/IP slave stations.
According to this invention, there is also provided a method using a Modbus Master for TCP/IP communication using multi-drop type data polling between a Master station and multiple slave stations, through a single task, said method comprises the steps of: i. defining entries in said first table using said system, said entries being in
relation to type of task being selected from Serial task or TCP/IP task; ii. selecting TCP/IP task(s) from said first defined table; iii. creating and defining a single task for all of said selected tasks; iv. defining number of sockets (logical connections) adapted to be used by said
system and further adapted to logically link said single task to said defined
sockets; v. defining data points and mapping a plurality of slave station identities to said
defined sockets; thereby allowing dynamic allocation of said sockets in correspondence with said slave stations to be polled by said master station using a single task.
Typically, said step of defining entries in said first table includes the step of defining entries in a Gen table.
Typically, said step of defining number of sockets (logical connections) includes the step of defining number of sockets (logical connections) in an RTU table.

Typically, said step of defining data points and mapping a plurality of slave station identities to said defined sockets includes the step of defining and mapping a plurality of slave station identities to said defined sockets in a Map table.
Typically, said step of defining data points and mapping a plurality of slave station identities to said defined sockets includes the step of defining in accordance with parameters relating to pre-determined routing or polling data.
Typically, said step of defining data points and mapping a plurality of slave station identities to said defined sockets includes the step of mapping in accordance with parameters relating to pre-determined routing or polling data.
Typically, said method includes the step of dynamically creating required number of TCP/IP sockets to handle connection with TCP/IP slave stations.
Typically, said method is a multi-drop capable method for TCP/IP communications, while polling data from multiple TCP/IP slave stations.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS:
Figure 1 illustrates a Modbus system for supporting communication / polling between a Master station and multiple slave stations.
The invention will now be described in relation to the accompanying drawings, in which:

Figure 2 illustrates a Modbus system for TCP/IP communication using multi-drop type data polling;
Figure 3 illustrates a schematic snapshot of a Gen Table;
Figure 4 illustrates a schematic snapshot of an RTU Table; and
Figure 5 illustrates a schematic snapshot of a Map Table.
DETAILED DESCRIPTION OF THE ACCOMPANYING DRAWINGS:
Figure 1 illustrates a Modbus system for supporting communication / polling between a Master station and multiple slave stations.
According to the prior art, the master station (MS) was adapted to configure multiple slave stations (SS) to communicate with, or poll data from in TCP/IP mode. There were entries in Gen table needed. According to the number of entries in Gen Table, the number of tasks (Tl, T2, T3, Tn) was created for handling communication with the defined slave stations. Each task corresponded to creating of a socket (SI, S2, S3, Sn) for communication with corresponding slave stations (SSI, SS2, SS3, SSn) in a one-to-one fashion. This was limiting the number of slaves to be polled.
Slave stations may receive data from various embodiments, devices, equipment; according to which it is configured. The Master station, in turn, polls the data over a TCP/IP medium in order to fetch data as and when required. For handling data,

master station creates tasks which in turn create sockets for polling respective slave stations.
In the prior art, number of entries of slave stations which require to be polled by the master station are created in a Gen table. The Gen table also indicates number of tasks which correspond to the number of entries in a one-to-one fashion. Further, the number of tasks reflected from Gen table has one-to-one relationship with number of sockets (logical connections), because in prior art IP Address was part of Gen table entry. Still further, reference of the RTU table is reflected in a Map table in a corresponding one-to-one relationship with number of physical entries of defined slave stations to be polled.
The prior art system and method was limiting the number of TCP/IP Slaves to be polled, because more the tasks, more the resources were needed for execution. With the prior art system and method, the processor cards resource usage was going up to 100%, which was not good from protocol communications and reliability point of view.
According to this invention, there is provided a Modbus Master system for TCP/IP communication using multi-drop type data polling from MODBUS TCP/IP Slaves. Typically, there is provided a Modbus system for supporting communication / polling between a Master station and multiple slave stations, through a single task.
Figure 2 illustrates a schematic of the block diagram of the system.
In accordance with an embodiment of this invention, there is provided a Gen table defining means adapted to define entries in a Gen table used by the system. Figure

3 illustrates a schematic snapshot of a Gen Table. A number of entries are defined here and its type in relation to Serial Task or TCP/IP task is defined here. This invention pertains to TCP/IP tasks and hence, further discussion in this specification shall pertain to TCP/IP communication and tasks only. For all the number of plurality of entries, a single TCP/IP task (T) is created by the Gen table defining means. Reference numeral 10 illustrates the identification of Ethernet port for TCP/IP communication and consequent generation of Task (T).
In accordance with another embodiment of this invention, there is provided a RTU table defining means adapted to define number of sockets (logical connections) used by the system. Figure 4 illustrates a schematic snapshot of an RTU Table. The single task that was created is linked to the sockets in a logical manner. Reference numeral 20 illustrates the socket identities generated.
In accordance with yet another embodiment of this invention, there is provided a Map table defining means adapted to map various data points and plurality of slave station identities to the number of sockets created in the RTU table defining means. Figure 4 illustrates a schematic snapshot of a Map Table. This mapping takes place in accordance with parameters relating to pre-determined routing or polling data. Reference numeral 30 illustrates the IP addresses of slave stations in relation to socket identities (20) generated in RTU table.
Under the system and method of this invention, multiple sockets and protocol control blocks were dynamically created as per configurations and handled by the single task, unlike in prior art systems, wherein individual tasks were created to handle communication with individual slaves. The slave station IP Address is moved from Gen Table to RTU table. Now new Gen Table indicates only

communication type as TCP/IP to communicate with Modbus TCP/IP Slave station(s). There is only one task for handling TCP/IP communication. This task reads values of Slave station IP Addresses from RTU table and dynamically creates required number of TCP/IP sockets to handle connection with TCP/IP Slave stations.
Within this task, multiple socket connections for slaves, are created and retained in their socket descriptors, for keeping connections live. Now based on RTU reference tag in Map Table, specific data points are polled from specific slave stations, because RTU reference tag acts as key to identify which slave station is to be polled for that data point. So, every time the same TCP/IP socket is used, it is dynamically allocated and assigned to a specific slave station.
In other words, it can be said that the system is adapted to dynamically create number of TCP/IP sockets and is further adapted to bind each of these sockets to individual unique TCP/IP slave station for communication (for polling data points - send receive data/commands).
According to an exemplary embodiment, the system was tested with configuration to poll 25 TCP/IP Slave stations. CPU usage percentage does not exceed 12%, which means that processor can handle more tasks relating to some other Name Blocks. Here, single task is polling multiple slave stations based on configuration in RTU table.
Hence, according to this invention, a single entry in Gen table for TCP/IP port configuration is made. This provides multi-drop capability in case of TCP/IP communications, while polling data from multiple TCP/IP Slave stations. Based on

number of TCP/IP Slave stations, to be polled, dynamic allocation of TCP/IP sockets and their handling is made. This achieves polling of multiple TCP/IP Slave stations through a Single task.
The advantages of the system and method of this invention lie in:
A. obviating the limitation in terms of numbers of TCP/IP Slave stations
(because of limited tasks in prior art);
B. provisioning single task for handling communication with multiple TCP/IP
slave stations, so that it optimizes processor usage;
C. demonstrating flexibility similar to Modbus Serial communication in RS-
485 mode by polling TCP/IP slave stations using a single task; and
D. utilizing processor resource by some other name block to add more protocols
or data points for taking full advantage of installed XCell RTU unit.
While this detailed description has disclosed certain specific embodiments of the present invention for illustrative purposes, various modifications will be apparent to those skilled in the art which do not constitute departures from the spirit and scope of the invention as defined in the following claims, and it is to be distinctly understood that the foregoing descriptive matter is to be interpreted merely as illustrative of the invention and not as a limitation.

We claim,
1. A Modbus Master for TCP/IP communication using multi-drop type data
polling between a Master station and multiple slave stations, through a
single task, said system comprising:
a. first table defining means adapted to define entries in said first table
using said system, said entries being in relation to type of task being
selected from Serial task or TCP/IP task;
b. selection means to select TCP/IP task(s) from said first defined table;
c. task creation means adapted to create and define a single task for all of
said selected tasks;
d. second table defining means adapted to define number of sockets
(logical connections) adapted to be used by said system and further
adapted to logically link said single task to said defined sockets;
e. third table defining means adapted to define data points to be polled
from slave stations and map a plurality of slave station identities to said
defined sockets;
thereby allowing dynamic allocation of said sockets in correspondence with said slave stations to be polled by said master station using a single task.
2. A system as claimed in claim 1 wherein, said first table defining means is a Gen Table defining means.
3. A system as claimed in claim 1 wherein, said second table defining means is a RTU Table defining means.

4. A system as claimed in claim 1 wherein, said third table defining means is a Map Table defining means.
5. A system as claimed in claim 1 wherein, said third table defining means is a Map Table defining means adapted to map data points and plurality of slave station identities to said defined sockets, said mapping taking place in accordance with parameters relating to pre-determined routing or polling data.
6. A system as claimed in claim 1 wherein, said third table defining means is a Map Table defining means adapted to map data points and plurality of IP addresses of slave stations to said defined sockets, said mapping taking place in accordance with parameters relating to pre-determined routing or polling data.
7. A system as claimed in claim 1 wherein, said system comprising dynamic socket creating means adapted to dynamically creates required number of TCP/IP sockets to handle connection with TCP/IP slave stations.
8. A system as claimed in claim 1 wherein, said system is a multi-drop capable system for TCP/IP communications, while polling data from multiple TCP/IP slave stations.
9. A method using a Modbus Master for TCP/IP communication using multidrop type data polling between a Master station and multiple slave stations, through a single task, said method comprising the steps of:
i. defining entries in said first table using said system, said entries being in relation to type of task being selected from Serial task or TCP/IP task;

ii. selecting TCP/IP task(s) from said first defined table; iii. creating and defining a single task for all of said selected tasks; iv. defining number of sockets (logical connections) adapted to be used by
said system and further adapted to logically link said single task to said
defined sockets; v. defining data points and mapping a plurality of slave station identities
to said defined sockets;
thereby allowing dynamic allocation of said sockets in correspondence
with said slave stations to be polled by said master station using a single
task.
10. A method as claimed in claim 9 wherein, said step of defining entries in said first table includes the step of defining entries in a Gen table.
11. A method as claimed in claim 9 wherein, said step of defining number of sockets (logical connections) includes the step of defining number of sockets (logical connections) in an RTU table.
12. A method as claimed in claim 9 wherein, said step of defining data points and mapping a plurality of slave station identities to said defined sockets includes the step of defining and mapping a plurality of slave station identities to said defined sockets in a Map table.
13. A method as claimed in claim 9 wherein, said step of defining data points and mapping a plurality of slave station identities to said defined sockets includes the step of defining in accordance with parameters relating to predetermined routing or polling data.

14. A method as claimed in claim 9 wherein, said step of defining data points and mapping a plurality of slave station identities to said defined sockets includes the step of mapping in accordance with parameters relating to predetermined routing or polling data.
15. A method as claimed in claim 9 wherein, said method includes the step of dynamically creating required number of TCP/IP sockets to handle connection with TCP/IP slave stations.
16. A method as claimed in claim 9 wherein, said method being a multi-drop capable method for TCP/IP communications, while polling data from multiple TCP/IP slave stations.

Documents

Application Documents

# Name Date
1 ABSTRACT1.jpg 2018-08-11
2 532-MUM-2012-FORM 3.pdf 2018-08-11
3 532-MUM-2012-FORM 26(2-4-2012).pdf 2018-08-11
4 532-MUM-2012-FORM 2.pdf 2018-08-11
5 532-MUM-2012-FORM 2(TITLE PAGE).pdf 2018-08-11
6 532-MUM-2012-FORM 1.pdf 2018-08-11
7 532-MUM-2012-FORM 1(16-3-2012).pdf 2018-08-11
8 532-MUM-2012-DRAWING.pdf 2018-08-11
9 532-MUM-2012-DESCRIPTION(COMPLETE).pdf 2018-08-11
10 532-MUM-2012-CORRESPONDENCE.pdf 2018-08-11
11 532-MUM-2012-CORRESPONDENCE(2-4-2012).pdf 2018-08-11
12 532-MUM-2012-CORRESPONDENCE(16-3-2012).pdf 2018-08-11
13 532-MUM-2012-CLAIMS.pdf 2018-08-11
14 532-MUM-2012-ABSTRACT.pdf 2018-08-11