Hardware and Software Architecture for Embedded ... - Springer Link

1 downloads 0 Views 317KB Size Report
transmission of data between master and slaves. Hardware and software architecture for the proposed system is developed using the ARM processors and the ...
Hardware and Software Architecture for Embedded Distributed Control System Using Adaptive Hybrid Communication Channel Pramod U. Chavan, M. Murugan and Pratibha P. Chavan

Abstract The paper addresses the design and development of an embedded distributed control system using heterogeneous communication channel. This design provides the fail proof communication using two completely different communication channels, viz; wired communication using RS 485 and wireless communication using Xbee. The system consists of a master unit and multiple slave units. The control of system lies with the master, which decides the type and time duration of the protocol to be used. Appropriate switching algorithm has been applied for auto-switching between communication protocols to achieve continuous transmission of data between master and slaves. Hardware and software architecture for the proposed system is developed using the ARM processors and the Visual Basic (VB) software for proper query response and controlling actions respectively. Keywords Distributed system architecture Event triggered Heterogeneous





Control system



Master-slave



1 Introduction The Distributed Control System (DCS) is a broad concept in which controllers are not central but distributed over a network. These controllers, in turn, control the sub-system components of the network, thus providing a distributed control. The controllers are interconnected to each other using wired and/or wireless P.U. Chavan (&) Department of ETCE, Sathyabama University, Chennai, TN, India e-mail: [email protected] M. Murugan Department of E&CE, SRM’s Valliammai Engineering College, Chennai, TN, India e-mail: [email protected] P.U. Chavan  P.P. Chavan Department of E&TC, K J College of Engineering & Management Research, Pune, India e-mail: [email protected] © Springer Science+Business Media Singapore 2016 R.K. Choudhary et al. (eds.), Advanced Computing and Communication Technologies, Advances in Intelligent Systems and Computing 452, DOI 10.1007/978-981-10-1023-1_51

513

514

P.U. Chavan et al.

communication channel [1, 2] for the purpose of monitoring and control. These communication protocols define various computer or electrical buses to connect the processors to the input/output modules and to the system. These buses also act as a bridge between the distributed controllers and the central controller. Depending on the type of DCS, wired or wireless buses can be used to implement the system. The processors act as a middleware between the modules by receiving the information from input modules and sending it to the output modules. With the increasing market needs, a number of DCS have been implemented using new technologies. This work aims at the development of a layered software architecture [3, 4] for the distributed control system (DCS). It consists of single master and multiple slaves. The computer system is used as a master unit or server unit and multiple embedded controllers as slave units or client units. The master unit is equipped with server software and connectivity to the multiple slaves. It is used for information processing, sensing and controlling of slave units. The Slave/Client units are equipped with hardware interfaces called modules. These modules are different input and output components of robotic system. Each module is providing certain services for its functionality and diagnostic features to the unit. These services provide hardware abstraction to the requester and also isolate diagnostic features from the module’s functionality. Each unit provides services to the other units or a master unit to execute certain task on a distributed system. Different units or a master unit can access individual module services via a communication network. As robotic component based DCS are complex in nature, software architecture [5] is necessary to tackle complexity issue which provides the foundation to analyze the behavior of the software system before building the system. This helps early identification of pitfalls in design of complex robotic systems. Architecture also suggests modularity [6] in the design which helps us to find similar functionalities by reducing the design time, cost and risk of mistakes.

2 Related Work The evolution of the distributed control system took place in early 1980s with the centralized control as base. Then number of DCS with various wired and wireless model came into existence. The traditional DCS was only used for process control and could not provide flexible multi-operation techniques. The shortcomings of traditional DCS were eliminated using the programmable PLC interrelated DCS. Later the hybrid architecture DCS provides parallel computing and sequencing of commands. The open architecture DCS had the advantages of much less shut down as compared to the other DCS. The problems of collision of packets persisted consistently. The Predictive Distributed Control model which operated on Distributed Control Function (DCF) succeeded enough in avoiding this problem.

Hardware and Software Architecture for Embedded Distributed …

515

Joint layer design based DCS then became prominent providing more stable parameters for distributed control [7]. The competition for providing multi vendor capability to DCS increased substantially in the years ahead. In the presented work, authors have implemented a master slave protocol where the controlling actions are performed by the master with the help of the user. Thus the slaves are informed about the events to be performed. The system is based on the timing controls and an event based message, where specific actions are performed using either timing based actions or event driven actions. In timing based action e.g. timeout is given for a reply from the slaves after which the master takes proper action. In an event driven system, in case of failure of any communication channel, switching algorithm will automatically switch the system to alternate channel being used. This provides fail proof communication for the system to be more reliable [7]. Each slave is having its own wireless and wired communication medium in the form of Xbee [8, 9] as wireless medium and RS485 [10] as wired. Synchronization between all modules of the system exists which makes the system more intelligent and adaptive as per the runtime requirement.

3 Hardware Architecture It consists of the master unit as Laptop/PC. The master is connected to RS 485 bus using USB to RS 485 convertor and the Xbee module using USB to serial converter. RS-485 [10] is an electrical-only standard defines the electrical characteristics of drivers and receivers. It is used to implement a balanced multipoint transmission line. The communication between units is established using one or two pairs of wires. The Xbee [9] is used for wireless communication in star topology to fulfill the needs of low power consumption. Figure 1 shows the hardware architecture of DCS. It consists of three slave units as Robotic Arm, IR Counter and Load cell designed using ARM processor. The Robotic Arm is constructed using three DC motors for arm like movement and pick and place functions. The IR counter counts number of objects moving on a conveyor belt. The Load cell continuously gives weight readings of object using analog to digital converter and signal conditioning circuit.

4 Layered Software Architecture In the proposed system, layered functionality is implemented in the software architecture [1]. Figure 2 shows the layered software architecture.

516

P.U. Chavan et al.

Fig. 1 Hardware architecture of DCS

Fig. 2 Layered software architecture

Application Layer Presentation Layer Inter Unit Communication Layer Unit Logic Abstraction Layer Inter Module Communication layer Module Logic Abstraction Layer Hardware Abstraction Layer

4.1

Hardware Abstraction Layer

Each hardware interface such as DC motor, IR sensor and Load cell connected to a system is treated as a module. Hardware abstraction layer implements necessary software routines to interact with these hardware modules.

Hardware and Software Architecture for Embedded Distributed … Fig. 3 Module implementation

517 Module Identification Device Identification Module Data User Function Diagnostic Function

4.2

Module Logic Abstraction Layer

This layer provides the diagnostic features as well as services provided by each module. It also provides the encryption of these features when they are executed in the user mode. Figure 3 shows the module implementation.

4.3

Inter Module Communication Layer

The communication between the two modules is achieved using this layer. In this layer, the request from each module is placed in the form of memory queues so that every module can avail of the services offered by other modules.

4.4

Unit Logic Abstraction Layer

It consists of service tables which show the services provided by the various modules inside a unit. It also provides the unit level diagnostic features for the security purpose. Figure 4 shows the unit implementation.

4.5

Inter Unit Communication Layer

This layer provides communication between the different units of the system by means of wired as well as wireless communication paths or channels. As the system Fig. 4 Unit implementation

Unit Type Unit Address Number Unit Data User Services Diagnostic Services

518

P.U. Chavan et al.

consists of master slave protocol, any kind of service is initiated by the master. Thus, slaves are required to request the needed service to the master. As a result of such communication, system benefits in terms of: Multiple addressing, Communication acknowledgement, Data collision avoidance, Error detection and Media/Topology conversion.

4.6

Presentation Layer

The presentation layer provides API’s to use the services provided by different units. This layer simplifies the complex communication interfaces to the end user. Thus when end user calls a particular API, presentation layer will send the required communication packets for designated unit and acknowledge its response. This layer maintains a record of all services provided by the different units.

4.7

Application Layer

In application layer, a user can execute different algorithms or a task by utilizing different API’s provided by the presentation layer. The application can be run in diagnostic mode or user mode by providing proper validation.

5 Experimentation and Result The system consists of three slave units implemented using ARM7 (LPC 2148) processor as Robotic Arm, IR sensor and Load cell. To operate these units independently and/or simultaneously, slave ID is given to each unit. For each unit, two serial interrupts are sequentially scanned to match the slave ID. Once the slave ID is matched, corresponding slave unit receives the commands from the master unit and operate the robotic modules. On matching the slave ID of Robotic Arm, user can operate different motors connected as per the requirement. The IR counter and/or Load cell sends the corresponding count and/or Load cell data to master unit to display. The communication channel between master and slaves is initiated and established as per the requirement as wired or wireless. If one channel fails, the system automatically switches over to another channel without any interruption. In earlier implementation [1], DCS has been built using wireless communication channel. The limitation of system or slave fail is eliminated using two completely different communication channels. The channel auto switching characteristics are improved as compared to the implementation using AVR controller [2].

Hardware and Software Architecture for Embedded Distributed …

519

Fig. 5 DCS hardware implementation

Fig. 6 DCS software implementation

Figures 5 and 6 shows the hardware and software implementation of DCS. Software is implemented using VB. Three slave systems are shown, in which Robotic Arm controlling is achieved by rotating motors. The Load cell is showing the weight of the object and IR counter is counting the number of objects moved on the conveyor belt. For communication between master and slave units, initially, user needs to select particular channel. If the selected channel fails, the system will automatically switch over to the alternate channel without any interruption.

520

P.U. Chavan et al.

6 Conclusion The authors have presented the design and development of the hardware and software architecture for the distributed control of a modular control system. The system consists of master and slave units communicated via wired and/or wireless media. The master is equipped with the server software developed in VB and is used to send query messages to locate and identify slaves. Upon getting response from the slaves, the master is ready to take controlling action if any. The results show that the slaves are actively synchronized with the master for response and control. The results also show that the developed system is intelligent enough to switch over between two communication channels. Thus, providing fail proof communication over shorter as well as longer distance i.e. within the operating regions of communication channel. The authors suggest that the developed system can be improved and enhanced in terms of key issues like platform independency, hardware modularity, code maintainability, testability and diagnostic and debugs features.

References 1. Chavan, P.U., Murugan, M., Singh, A., Unnikkannan, V.: Hybrid architecture of intelligent wireless distributed control system (IWDCS). Int. J. Appl. Eng. Res. ISSN 10(9), 0973–4562 (2015) 2. Chavan, P.U., Murugan, M., Kumar, S., Patel, P., Yadav, P.: Embedded distributed control system using wired and wireless communication channel. Int. J. Appl. Eng. Res. ISSN 10(9), 0973–4562 (2015) 3. Chavan, P.U., Murugan, M., Chavan, P.P.: A review on software architecture styles with layered robotic software architecture. In: International Conference on Computing, Communication, Control and Automation Conference (ICCUBEA), Pune, Maharashtra, Feb 2015 4. Choi, J., et al.: A layered middleware architecture for automated robot services. Int. J. Distrib. Sensor Netw. Article ID 201063, 10pp., 2014 5. Iñigo-Blasco, P., et al.: Robotics software frameworks for multi-agent robotic systems development. Int. J. Robot. Auton. Syst. 60: 803–821 (2012) 6. Moubarak, P., Ben-Tzvi, P.: Modular and reconfigurable mobile robotics. Int. J. Robot. Auton. Syst. 60, 1648–1663 (2012) 7. Matthias, R., Bihlmaier, A., Worn, H.: Robustness, scalability and flexibility: key-features in modular self-reconfigurable mobile robotics. In: 2012 IEEE international conference on multisensor fusion and integration for intelligent systems (MFI) Hamburg, Germany, pp. 457–463, 13–15 Sept 2012 8. Fuzi, M.F.M., Ibrahim, A.F., Ismail, M.H., Halim, N.S.A.: HOME FADS: a dedicated fire alert detection system using Zig Bee wireless network. In: IEEE 5th Control and System Graduate Research Colloquium (ICSGRC), pp. 53–58 (2014) 9. Huang, Y., Pang, A., Hsiu, P., Zhuang, W., Liu, P.: Distributed throughput optimization for ZigBee cluster-tree networks. In: IEEE Transactions on Parallel and Distributed Systems, vol. 23, no. 3, March 2012 10. Wang, Y., Mao, W., Li, J., Zhang, P., Wang, X.: A distributed rectifier testing system based on RS-485. In: 5th IEEE Conference on Industrial Electronics and Applications (ICIEA), pp. 779–781, 15–17 June 2010