An enhanced communication scheme for 4DIAC

Similar documents
Generic term for using the Ethernet standard in automation / industrial applications

Verifying the IEC Configuration and Assessing the Communication Network during Commissioning

How To Monitor And Test An Ethernet Network On A Computer Or Network Card

What communication protocols are used to discover Tesira servers on a network?

Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications

2. Research and Development on the Autonomic Operation. Control Infrastructure Technologies in the Cloud Computing Environment

CS 78 Computer Networks. Internet Protocol (IP) our focus. The Network Layer. Interplay between routing and forwarding

Virtual KNX/EIB devices in IP networks

New Products and New Features May, 2015

FOUNDATION Fieldbus High Speed Ethernet Control System

Lecture 4 Profibus. Urban Bilstrup Urban.Bilstrup@ide.hh.se

Three Key Design Considerations of IP Video Surveillance Systems

Resource Utilization of Middleware Components in Embedded Systems

FAQ: BroadLink Multi-homing Load Balancers

Contents. Load balancing and high availability

Planning BACnet networks

DATA COMMUNICATION BETWEEN PROGRAMMABLE LOGIC CONTROLLERS IN THE INDUSTRIAL DISTRIBUTION APPLICATIONS

Development of the FITELnet-G20 Metro Edge Router

Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application. Author: Fung, King Pong

Latency on a Switched Ethernet Network

Applications that Benefit from IPv6

Kepware Technologies Optimizing KEPServerEX V5 Projects

The IP Transmission Process. V1.4: Geoff Bennett

Chapter 3. Internet Applications and Network Programming

Linear Motion and Assembly Technologies Pneumatics Service. Industrial Ethernet: The key advantages of SERCOS III

ISIO 200. Binary Input/Output (I/O) Terminal with IEC Interface

Planning and Maintaining a Microsoft Windows Server Network Infrastructure

Redundancy in Serial-to-Ethernet Communications. White Paper

Introduction. The Inherent Unpredictability of IP Networks # $# #

A Survey Study on Monitoring Service for Grid

Computer Organization & Architecture Lecture #19

How To Understand The Concept Of Circuit Switching

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. G.Bianchi, G.Neglia, V.Mancuso

ESSENTIALS. Understanding Ethernet Switches and Routers. April 2011 VOLUME 3 ISSUE 1 A TECHNICAL SUPPLEMENT TO CONTROL NETWORK

Configuring DNS. Finding Feature Information

Quality of Service Management for Teleteaching Applications Using the MPEG-4/DMIF

Network performance in virtual infrastructures

Netfilter Failover. Connection Tracking State Replication. Krisztián Kovács

Business case for VoIP Readiness Network Assessment

CDMA-based network video surveillance System Solutions

CA CPT CICS Programmers Toolkit for TCP/IP r6.1

SCS100 CATVisor SNMP COMMANDER

Client Server Registration Protocol

Industrial Networks & Databases

Andrew McRae Megadata Pty Ltd.

NineStar Connect MASS MARKET INTERNET SERVICE POLICIES AND CUSTOMER INFORMATION. Policy Statement:

Industrial Communication Whitepaper. Principles of EtherNet/IP Communication

Using the AnyBus -X Gateway to Communicate between a DVT camera and a Profibus Master

Division of Informatics, University of Edinburgh

Communications and Computer Networks

FIREWALL CLEANUP WHITE PAPER

Database Replication with MySQL and PostgreSQL

Software Engineering 4C03 VoIP: The Next Telecommunication Frontier

DSX-Soft I/O Integration Software

Extending the Internet of Things to IPv6 with Software Defined Networking

The ABCs of Spanning Tree Protocol

Instructions for Access to Summary Traffic Data by GÉANT Partners and other Organisations

Component Based Rapid OPC Application Development Platform

SYMETRIX SOLUTIONS: TECH TIP August 2014

Quality of Service (QoS): Managing Bandwidth More Effectively on the Series 2600/2600-PWR and Series 2800 Switches

Tomorrow s IP-Based Access Control System on Today s Network Infrastructure using PCN IP-485 Technology

GoToMyPC Corporate Advanced Firewall Support Features

Smart Queue Management System Using GSM Technology

Database Replication with MySQL and PostgresSQL

Research of PROFIBUS PA s integration in PROFINET IO

Automated Virtual Cloud Management: The need of future

From Fieldbus to toreal Time Ethernet

Configuration Notes 0215

Titanium Schedule Client Import Guide

Web Traffic Capture Butler Street, Suite 200 Pittsburgh, PA (412)

The Environment Surrounding DNS. 3.1 The Latest DNS Trends. 3. Technology Trends

Voice over IP: RTP/RTCP The transport layer

Internet of things (IOT) applications covering industrial domain. Dev Bhattacharya

TCP/IP Protocol Suite. Marshal Miller Chris Chase

Using Cellular RTU Technology for Remote Monitoring and Control in Pipeline and Well Applications

NUTECH COMPUTER TRAINING INSTITUTE 1682 E. GUDE DRIVE #102, ROCKVILLE, MD WEB: TEL:

Application-Centric Analysis Helps Maximize the Value of Wireshark

Visual Programming of Logic, Motion, and Robotics

OpenCPN Garmin Radar Plugin

Configuring and Monitoring the Client Desktop Component

The best network information. COPA-DATA know-how: SNMP with zenon

Database Replication

NATIONAL CERTIFICATE (VOCATIONAL)

ELIXIR LOAD BALANCER 2

EXPERIMENTAL STUDY FOR QUALITY OF SERVICE IN VOICE OVER IP

CHAPTER 1 INTRODUCTION

First Semester Examinations 2011/12 INTERNET PRINCIPLES

Overview Safety over EtherCAT. EtherCAT Technology Group

How to put the DVR online

Complete Power-Line Narrow Band System for Urban- Wide Communication

IP-COM Automatic Call Distributor (ACD)

Red Condor Syslog Server Configurations

Enhance Service Delivery and Accelerate Financial Applications with Consolidated Market Data

TRACE PERFORMANCE TESTING APPROACH. Overview. Approach. Flow. Attributes

ITL BULLETIN FOR JANUARY 2011

Copyright 1

The ABCs of SNMP. Info Sheet. The ABC of SNMP INTRODUCTION. SNMP Versions

Transcription:

An enhanced communication scheme for 4DIAC Georgios Sfiris, Researcher Georgios Hassapis, Supervisor Professor Laboratory of Computer System Architecture Department of Electrical and Computer Engineering Aristotle University of Thessaloniki

An enhanced communication scheme for 4DIAC In this presentation two subjects will be dealt: The implementation of the protocol using IEC 61499 standard s Communication Function Blocks. An automated scheme for the insertion of PUBLISH and SUBSCRIBE Function Blocks for the FBDK UDP/IP protocol.

IEC 61499 Communication Framework protocol offers a Master/Slave communication scheme giving the advantage of deterministic operation and low bandwidth usage. But it is much more complex to implement than other simpler communication protocols, such as the UDP/IP protocol.

Protocol s #1 0 1 25 15 Slave #2 1 1 152 16 #3 1 1 56 17 #4 0 0 Each Slave has a data table in its memory containing data of four different data types.

Protocol Master Slave #1 Slave #2 s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 17 #4 0 0 s #1 1 12 #2 1 15 #3 0 256 #4 0 Slave #3 s #1 0 10 #2 1 15 #3 255 #4 288 In each network only one Master can exist, but several Slaves can be connected.

Protocol Master Slave #1 Slave #2 s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 17 #4 0 0 s #1 1 12 #2 1 15 #3 0 256 #4 0 Slave #3 s #1 0 10 #2 1 15 #3 255 #4 288 The Master will send requests to the Slaves

Protocol Slave #1 s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 17 #4 0 0 Master Slave #2 s #1 1 12 #2 1 15 #3 0 256 #4 0 Slave #3 s #1 0 10 #2 1 15 #3 255 #4 288 The Master will send requests to the Slaves asking for some particular data

Protocol s Slave #1 #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 17 #4 0 0 Master 25 152 56 Slave #2 s #1 1 12 #2 1 15 #3 0 256 #4 0 s Slave #3 #1 0 10 #2 1 15 #3 255 #4 288 The Master will send requests to the Slaves asking for some particular data and the Slaves will serve the request.

Protocol Slave #1 s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 17 #4 0 0 Master Slave #2 s #1 1 12 #2 1 15 #3 0 256 #4 0 Slave #3 s #1 0 10 #2 1 15 #3 255 #4 288 The Master will send requests to the Slaves asking for some particular data and the Slaves will serve the request.

Protocol s Slave #1 #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 17 #4 0 0 Master 255 288 Slave #2 s #1 1 12 #2 1 15 #3 0 256 #4 0 s Slave #3 #1 0 10 #2 1 15 #3 255 #4 288 The Master will send requests to the Slaves asking for some particular data and the Slaves will serve the request.

Protocol s Slave #1 #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 17 #4 0 0 Master 0 1 1 0 Slave #2 s #1 1 12 #2 1 15 #3 0 256 #4 0 s Slave #3 #1 0 10 #2 1 15 #3 255 #4 288 The Master will send requests to the Slaves asking for some particular data and the Slaves will serve the request.

Protocol s Slave #1 #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 17 #4 0 0 Master O. K. 0 1 1 0 Slave #2 s #1 1 0 12 #2 1 1 15 #3 0 1 256 #4 0 0 s Slave #3 #1 0 10 #2 1 15 #3 255 #4 288 The Master will send requests to the Slaves asking for some particular data and the Slaves will serve the request.

Protocol Master Slave #1 Slave #2 s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 17 #4 0 0 s #1 1 0 12 #2 1 1 15 #3 0 1 256 #4 0 0 Slave #3 s #1 0 10 #2 1 15 #3 255 #4 288 Slaves can only send messages to the network if they are asked by the Master.

Protocol s Slave #1 #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 17 #4 0 0 Master Client Servers Slave #2 s #1 1 0 12 #2 1 1 15 #3 0 1 256 #4 0 0 s Slave #3 #1 0 10 #2 1 15 #3 255 #4 288 Thus usually Masters are implemented as Clients making requests to Slaves implemented as Servers.

Protocol 25 s 48 READ Slave #1 #1 0 1 25 15 #2 1 1 152 16 WRITE #3 1 1 56 25 #4 0 0 48 Master 15 Slave #2 s #1 1 0 12 #2 1 1 15 #3 0 1 256 #4 0 0 s Slave #3 #1 0 10 #2 1 15 #3 255 #4 288 However the Master can only send a Read/Write request for Register data.

Protocol 0 s 1 #1 0 1 25 15 READ #2 1 1 152 16 #3 1 1 56 25 Slave #1 WRITE #4 0 0 48 Master Slave #2 s #1 1 0 12 #2 1 1 15 #3 0 1 256 #4 0 0 Slave #3 s #1 0 10 #2 1 15 #3 255 #4 288 However the Master can only send a Read/Write request for Register data.

Protocol in 4DIAC Trying to implement a Slave in IEC 61499 comes to the obvious solution of a single SERVER Function Block.

Protocol in 4DIAC But having a single SERVER FB means that all input and output of the device is done by that single SERVER FB.

Protocol in 4DIAC So we would like to add to that single SERVER FB all the inputs and outputs of our application.

Protocol in 4DIAC But then we would expect that device to receive only mixed Read/Write requests. This limits the data type to.

Protocol in 4DIAC s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 25 #4 0 0 48 Moreover in such implementation the data table would be implemented inside the IEC 61499 Application s Function Block network as a special Function Block.

Protocol in 4DIAC messages would enter the Function Block network as parameters in some string format.

Protocol in 4DIAC And finally the Application would interpret the parameters and connect the MODBUS_SERVER with the MODBUS_DATA_TABLE using a complex Function Block network.

Protocol in 4DIAC Not to mention that another complex Function Block network would connect the MODBUS_DATA_TABLE back to the MODBUS_SERVER to take care of the MODBUS_SERVER responses.

Protocol in 4DIAC All these add to the complexity of the implementation. So trying to implement a Slave in IEC 61499 using a single SERVER Function Block is very cumbersome and limiting. Instead PUBLISH and SUBSCRIBE Function Blocks can be used.

Protocol in 4DIAC

Protocol in 4DIAC In such case the Slave is implemented as a Service inside the Device.

Protocol in 4DIAC The Service will set a listening port for incoming requests

Protocol in 4DIAC s Register s Register s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 25 #4 0 0 48 The Service will set a listening port for incoming requests and allocate some memory for the data table.

Protocol in 4DIAC s Register s Register s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 25 #4 0 0 48 PUBLISH Function Blocks will send requests to the Slave Service to change some variables in the data table.

Protocol in 4DIAC s Register s Register s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 25 #4 0 0 48 SUBSCRIBE Function Blocks will listen to changes in the data table and will be informed by the Slave Service about such changes.

Protocol in 4DIAC s Register s Register s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 25 #4 0 0 48 Many PUBLISH and SUBSCRIBE Function Blocks can be associated to a single Slave Service and function simultaneously.

Protocol in 4DIAC s Register s Register s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 25 #4 0 0 48 On the other hand the Slave Service will serve requests from the Master independently of the IEC 61499 Application.

Protocol in 4DIAC The advantages of the PUBLISH/SUBSCRIBE scheme are: A much simpler implementation within the IEC 61499 Application. Support of all data types. Devices capable of serving both read and write requests. Ability to have many CFBs to interact with the Slave Service from many points within a IEC 61499 Application. Separation of IEC 61499 Application s and network s access of the data table. Elimination of IEC 61499 Application s interfere with the communication.

Protocol in 4DIAC On the other hand an IEC 61499 Application implementing a Master must be aware of the Slaves responses either because they contain data or to have knowledge of the write request s progress. So CLIENT Communication Function Blocks would fit perfect for the Master implementation.

Protocol in 4DIAC But implementing the Master with a single CLIENT FB comes to the same deadlock as the implementation of the Slave with a single SERVER FB.

Protocol in 4DIAC Instead multiple CLIENT FBs interacting with a single Master Service can be used.

Protocol in 4DIAC So the Master is implemented as a Service inside the Device.

Protocol in 4DIAC The Service will open a port for sending requests

Protocol in 4DIAC Request queue #1 #2 #3 #4 The Service will open a port for sending requests and create a queue to store requests registered by CLIENT Function Blocks.

Protocol in 4DIAC Request queue #1 CLIENT_0 #2 #3 #4 Each time a CLIENT Function Block receives a REQ event its request is appended to the Request queue of the Client Service.

Protocol in 4DIAC Request queue #1 CLIENT_0 #2 CLIENT_3 #3 #4 Each time a CLIENT Function Block receives a REQ event its request is appended to the Request queue of the Client Service.

Protocol in 4DIAC Request queue #1 CLIENT_0 #2 CLIENT_3 #3 CLIENT_2 #4 Each time a CLIENT Function Block receives a REQ event its request is appended to the Request queue of the Client Service.

Protocol in 4DIAC Request queue #1 CLIENT_0 #2 CLIENT_3 #3 CLIENT_2 #4 CLIENT_1 Each time a CLIENT Function Block receives a REQ event its request is appended to the Request queue of the Client Service.

Protocol in 4DIAC Request queue #1 CLIENT_0 #2 CLIENT_3 #3 CLIENT_2 #4 CLIENT_1 The Master can send only one request at a time so it picks the top of the Request queue and serves it.

Protocol in 4DIAC Request queue #1 CLIENT_0 #2 CLIENT_3 #3 CLIENT_2 #4 CLIENT_1 The top of the Request queue is picked.

Protocol in 4DIAC Request queue #1 CLIENT_0 #2 CLIENT_3 #3 CLIENT_2 #4 CLIENT_1 The top of the Request queue is picked. The request is sent.

Protocol in 4DIAC Request queue #1 CLIENT_0 #2 CLIENT_3 #3 CLIENT_2 #4 CLIENT_1 The top of the Request queue is picked. The request is sent. A response is received.

Protocol in 4DIAC Request queue #1 CLIENT_0 #2 CLIENT_3 #3 CLIENT_2 #4 CLIENT_1 The top of the Request queue is picked. The request is sent. A response is received. The corresponding CLIENT FB is informed.

Protocol in 4DIAC Request queue #1 CLIENT_3 #2 CLIENT_2 #3 CLIENT_1 #4 The top of the Request queue is picked. The request is sent. A response is received. The corresponding CLIENT FB is informed. The request is removed from the queue.

Protocol in 4DIAC Request queue #1 CLIENT_3 #2 CLIENT_2 #3 CLIENT_1 #4 The IEC 61499 Application must take care to avoid long delays or the endless increase of the queue by using either a freewheel cascading scheme

Protocol in 4DIAC Request queue #1 CLIENT_3 #2 CLIENT_2 #3 CLIENT_1 #4 The IEC 61499 Application must take care to avoid long delays or the endless increase of the queue by using either a freewheel cascading scheme or the most common cyclic polling scheme.

Protocol in 4DIAC The advantages of this multiple CLIENT scheme are: A more flexible implementation within the IEC 61499 Application. Support of all data types. Devices capable of sending both read and write requests. Ability to have many CFBs to send requests from many places within a IEC 61499 Application. Time management of the Master from within the IEC 61499 Application using a freewheel, cyclic polling or other schedule scheme.

Protocol in 4DIAC

Protocol in 4DIAC

Protocol in 4DIAC s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 25 #4 0 0 48

Protocol in 4DIAC s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 25 #4 0 0 48

Protocol in 4DIAC s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 25 #4 0 0 48

Protocol in 4DIAC s #1 0 1 25 15 #2 1 1 152 16 #3 1 1 56 25 #4 0 0 48

Protocol in 4DIAC The application of the protocol with IEC 61499 Function Blocks in the proposed way: is straightforward. allows multiple interaction points within the IEC 61499 Application. allows full exploitation of the s Master/Slave scheme. hides the exact details of communication protecting the inexperienced user.

Protocol in 4DIAC The proposed method of implementation can be used in other Master/Slave communication protocols as well giving a universal solution to their IEC 61499 or 4DIAC s integration. The increased complexity however calls for an automation option in the usage of communication protocols within the IEC 61499 Applications, something rather suggested by the standard itself.

Automated Communication Scheme Assume that we want two Function Blocks from different devices to communicate with each other.

Automated Communication Scheme Comm. protocol: FBDK UDP/IP Properties Multicast IP: 225.0.0.1 Port: 499 The IEC 61499 Application programmer should be able to just set some properties of the preferred communication protocol.

Automated Communication Scheme 1 225.0.0.1:499 1 225.0.0.1:499 Comm. protocol: FBDK UDP/IP Properties Multicast IP: 225.0.0.1 Port: 499 The development environment should offer an option to add and set the Communication Function Blocks automatically utilizing the programmers options.

Automated Communication Scheme To implement such feature for the FBDK UDP/IP protocol we would have to automatically add a pair of PUBLISH/SUBSCRIBE FBs for every device interconnection.

Automated Communication Scheme

Automated Communication Scheme For each incoming data we trace back the related outcoming event

Automated Communication Scheme For each incoming data we trace back the related outcoming event and append the outcoming data to that event s list. PROCESS_1.EO

Automated Communication Scheme For each incoming data we trace back the related outcoming event and append the outcoming data to that event s list. PROCESS_1.EO ADD.OUT

Automated Communication Scheme For each incoming data we trace back the related outcoming event and append the outcoming data to that event s list. PROCESS_1.EO ADD.OUT

Automated Communication Scheme For each incoming data we trace back the related outcoming event and append the outcoming data to that event s list. PROCESS_1.EO ADD.OUT SUB.OUT

Automated Communication Scheme The event list corresponds to a point of device interconnection in the Function Block network. PROCESS_1.EO ADD.OUT SUB.OUT

Automated Communication Scheme PROCESS_1.EO ADD.OUT SUB.OUT We use this list to add a PUBLISH/SUBSCRIBE pair.

Automated Communication Scheme PROCESS_1.EO ADD.OUT SUB.OUT We use this list to add a PUBLISH/SUBSCRIBE pair.

Automated Communication Scheme PROCESS_1.EO ADD.OUT SUB.OUT We use this list to add a PUBLISH/SUBSCRIBE pair.

Automated Communication Scheme PROCESS_1.EO ADD.OUT SUB.OUT Thus a single PUBLISH/SUBSCRIBE pair handles all transferred data related to the same event.

Automated Communication Scheme Overcoming some peculiarities the insertion of PUBLISH/SUBSCRIBE FBs can be automated for the FBDK UDP/IP protocol in a way that: allows all possible Function Block configurations guarantees data is received before related events merges all data transactions related to a single event to a single UDP transmission exploits the UDP advantage of having a single PUBLISH and multiple SUBSCRIBE FBs

Automated Communication Scheme However it is impossible for an IEC 61499 Application to exploit the multiple PUBLISH single SUBSCRIBE option of the UDP protocol in an automated manner.

Automated Communication Scheme This configuration is legitimate according to IEC 61499 standard and allows a single SUBSCRIBE FB to receive data from two different PUBLISH FBs.

Automated Communication Scheme However to allow such configuration to result automatically the original design wouldn t be a legitimate IEC 61499 configuration.

Automated Communication Scheme However to allow such configuration to result automatically the original design wouldn t be a legitimate IEC 61499 configuration.

Automated Communication Scheme 4DIAC s Integrated Development Environment gives a convenient way to support the proposed automated scheme. 4DIAC IDE provides two views of Function Block networks, one of the Application s network and one of each Device s network.

Automated Communication Scheme

Automated Communication Scheme Another view shows our system of devices. Here the user should be able to add a network segment and the properties of his preferred communication protocol.

Automated Communication Scheme Comm. protocol: FBDK UDP/IP Properties Multicast IP: 225.0.0.1 Port: 499-1000 Another view shows our system of devices. Here the user should be able to add a network segment and the properties of his preferred communication protocol. e.g. FBDK UDP/IP.

Automated Communication Scheme Comm. protocol: FBDK UDP/IP Properties Multicast IP: 225.0.0.1 Port: 499-1000 Another view shows our system of devices. Here the user should be able to add a network segment and the properties of his preferred communication protocol. e.g. FBDK UDP/IP. The CFBs would be added automatically to each device.

Automated Communication Scheme

Automated Communication Scheme

Automated Communication Scheme The proposed automated scheme for the FBDK UDP/IP protocol is fairly simple and poses few limitations. However this shouldn t be expected of other protocols that have a more complicated implementation. In particular an attempt to create such a scheme for the protocol would have to resolve the issue of having a single Master device to handle all communication between Slave devices.

Conclusions The resolution of the implementation of the protocol and the automated FBDK UDP/IP scheme comes to the conclusion that the IEC 61499 standard requires a new perspective to be acquired. Then more sophisticated solutions can arise to deal with the IEC 61499 implementation s particular problems.

Conclusions 4DIAC project on the other hand introduces a very efficient model for implementing, applying and using the IEC 61499 standard. Getting improved with each new feature it has the potential of becoming a powerful, easy to use tool for microcontroller programming.