PDA software (Plant Design & Allocation)
PDA software (Plant Design & Allocation) can be used in control system design stage and is useful in delivering plant wiring and termination diagrams. PDA software can be used in conjunction with ABB Control Builder to simplify the coding task. Its functionality includes defining
- Control structure
- Process objects (can be imported from Excel Sheet)
- Signals (can be imported from Excel Sheet)
- Signal lib (ready, availability, local start/stop, local/remote, …)
- Assigning signal lib to process objects and generating signals
- Allocating signals to the physical channels
- Assigning process objects to the signals
- Assigning CAD library (ELCAD) by ASCII files
- Generating circuit diagrams
Multiuser functionality of PDA saves time and efforts by providing access to its database for engineering team all at the same time.
Remote IO configuration (Profibus) vs. direct IO connection (Module Bus)
Various I/O systems can be connected to the AC 800M controller, either directly (S800 I/O) or via PROFIBUS. S800 I/O is a distributed and modular I/O system that communicates with controllers over PROFIBUS-DP (remote) or via Module Bus (direct).
It is recommend not to use the Module Bus for connecting IO’s to the AC 800M controller. The reason is the Module Bus IO scanning is controlled by the main processor (CPU) of the PLC. Therefore IO scan time will increase the CPU load.
In addition there will be more restriction in locating the controller in control panel if using the Module Bus (to connect IO’s). Using remote IO’s gives more flexibility in panel design. Maximum 15 IO station (remote IO) per controller is recommended to keep efficiency.
Control Module vs. Function Blocks
The IEC 61131-3 standard does not fully support all requirements for object oriented programs. Some vendors of programmable controller have therefore extended their systems with extra functionality. For example the engineering tool “Control Builder Professional” from ABB provides an extension called “control modules”.
Before you start to design a control application you should decide whether to use traditional sequence program with function blocks, or an object-oriented solution based on control modules. The choice depends on both application size and the need for reusable program objects.
A very important difference between function blocks and control modules is that the control module code blocks are executed in an order based on optimal data flow, as determined by the compiler. Control modules are only executed once per scan (or not at all). The automatic program starting of control modules eliminates program errors due to incorrect execution order. Control modules often generate a more effective code than function blocks.
Definition of “structure” in ABB 800xA core system
Structures are the graphical representation of the relations that exist between different objects. Since there are usually a number of different types of relations between objects, an object can be part of more than one structure. In plant explorer there are a number of structures representing the same plant, so that each object can be part of different structures.
OPC Server / MMS Server
OLE for Process Control (OPC), which stands for Object Linking and Embedding (OLE) for Process Control, specifies the communication of real-time plant data between control devices from different manufacturers. In 800xA ABB control system, OPC (also called Connectivity Server) is connecting controllers to the core system (Aspect Server). The OPC has below functionalities.
- Data access
- Alarm and event (time stamping)
- Historical data access
The higher limit for variables defined in OPC server is 60000 per second. All of servers which access data from OPC server are his clients (Aspect server, information server, and batch server). Only connectivity (OPC) server can be more than one in an 800xA ABB control network. Other servers can be only redundant. The program coded in Control Builder will first be saved in Aspect Server and then will be downloaded to controllers via Connectivity Server.
MMS is an abbreviation for Manufacturing Message Specification, which specifies the message used for industrial communication; manufacturing, process, robotics, etc. This is the application layer used within MAP (Manufacturing Advance Protocol), a specification for open communication based on the OSI model.
MMS server is like a layer between OPC server and controllers. Transfer occurs via MMS server to exchange information between controllers and to download the application program from the “Control Builder” to the controllers (PLC’s).
Quota memory is used by controller during warm restart. The quota memory must be larger than the size of memory been occupied by application program to avoid any interrupt in code execution during downloading program into the controller.
Below variable attributes are defined in 800xA control system
- No attribute, after each restart it will get the initial value
- Retain, last value will be retained in warm restart. The variable will get the initial value after cold restart.
- Cold retain, last value will be retained for both warm/cold restarts.
- Hidden, the variable is hidden to OPC and cannot be OPC variable.
While programming an application in 800xA ABB control system (using software “Control Builder”), It is recommended to create a new library (application) in the “Library” section of project structure, and then connect it to the “Application” section allocated to the node (PLC).
Code modifications are time consuming and costly during the plant commissioning. Modifications on main application connected to the PLC must be minimized to avoid PLC down times and to avoid interruption in PLC online monitoring. New revision of application program can be created in library without changing the current application connected to the node (PLC). Once all modifications have been implemented and the new revision of application program is ready for commissioning, the old application would be disconnected from the node (PLC) and the new application would be connected to the node (PLC). Minimum PLC interruption would be achieved by implementing this technique. Programmer can easily switch between the libraries (applications created as library) with different versions. It is recommended to assign a library for each controller (node).
The copy/past functions, which are not possible to be used in the main “Application” area, can easily be used in the library environment.
Control Builder would retain the functionality of connecting to the running PLC and going online while creating a new revision of application in library. The reason is the new application in library (under-modification application) has not yet been connected to the node (PLC). Therefore, there is no discrepancy between application downloaded (running) in PLC and application assigned to the node in Control Builder. If programmer does not use this technique, and implements modifications directly on the main application (or connected library to the node), Control Builder has to download the under-modification program into the PLC each time going online.
Master/Slave definition in ABB control network
Master/Slave is defined only for time synchronization in 800xA ABB control network. The base equipment for time synchronizing is Master. Master can be a controller, OPC server or any other node in control network. Other nodes apart from Master will be defined as Slaves. Definition of master/slave in PROFIBUS is different.
- Try to keep existing IO allocation in migration projects
- IO’s of standby equipment shall not be allocated in the same IO system (i.e. same IO module)
- Do not mix voltage levels in a same board
- Allocate all the signals in a multi-core cable as a group together