Speed command of a synchronous AC servomotor using a Modicon M340 PLC



Similar documents
Technical Training Module ( 30 Days)

Modicon M340 Peripheral Remote I/O Adapter BMX PRA 0100 User Manual

PLC Support Software at Jefferson Lab

SHORT TRAINING COURSES

How to make a diagnostic on TeSysT to start the network?

Connecting UniOP to Telemecanique PLC s

QuickPanel Control DeviceNet Master Communications Card (IC754DVNM01) Quick Start Guide. Thursday September 20, 2007

Optimize your simple machines... Modicon M218 Selection Guide

S and STEP 7 Basic V10.5

Multizone Application >3. MSR300 System. No Software configurable? GuardPLC. Enet RECOMMENDED PRODUCTS. Time Delay MSR138

L5354 ControlNet Communications Interface

Straton and Zenon for Advantech ADAM Copalp integrates the straton runtime into the ADAM-5550 device from Advantech

PLC SW and Programming. Nagy István, BMF BGK MEI

Programmable Logic Controller PLC

Automation platform Modicon M340 Simply the natural choice

Industrial Automation Training Academy. PLC, HMI & Drives Training Programs Duration: 6 Months (180 ~ 240 Hours)

DATA COMMUNICATION BETWEEN PROGRAMMABLE LOGIC CONTROLLERS IN THE INDUSTRIAL DISTRIBUTION APPLICATIONS

How can I. Develop a time stamping application in PlantStruxure? Develop your project. Time Stamping solutions. System Technical Guide

Automation platform. Modicon M340 Simply the natural choice

1 Application Description Objective Goals... 3

DeviceNet Bus Software Help for Programming an Allen Bradley Control System

How to read this guide

Configuring Allen-Brandly ControlLogix PLC with Moxa MGate 5105-MB-EIP. 1 Application Description Objective Goals...

SCADAPack E ISaGRAF 3 User Manual

Modbus Communications for PanelView Terminals

IMPORTANT PRODUCT INFORMATION

Automation software Concept V2.6 The flexible IEC development environment to optimize PLC performance

TSX ETY 110 Module 8

Machine Automation Controller NJ-series. Startup Guide. for Motion Control W514-E1-01

PROFINET IO Diagnostics 1

Profibus DP Network with DeltaV/EMERSON Digital Automation System and Ponto Series Remote I/O

Application Note AN-SERV-006

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

DeviceNet Communication Manual

straton Universal control and strong connections. embedded field bus controller soft-plc scada logic

PROFINET the Industrial Ethernet standard. Siemens AG Alle Rechte vorbehalten.

Candle Plant process automation based on ABB 800xA Distributed Control Systems

FUNDAMENTALS OF ROBOTICS

The Answer to the 14 Most Frequently Asked Modbus Questions

EXPERIMENT 2 TRAFFIC LIGHT CONTROL SYSTEM FOR AN INTERSECTION USING S7-300 PLC

An overview of Computerised Numeric Control (C.N.C.) and Programmable Logic Control (P.L.C.) in machine automation

EasyC. Programming Tips

ATV71 and ATV32 on Ethernet/IP with M340 and NOC0401 configured on Unity V6.0. Assemblies 20 70

Programmable set for Ethernet Modbus/TCP in IP67 TI-BL67-PG-EN-2

OPC COMMUNICATION IN REAL TIME

Programming Logic controllers

RPDO 1 TPDO 1 TPDO 5 TPDO 6 TPDO 7 TPDO 8

Square D Model 6 Motor Control Centers

CANtrol EC Modular Control System Powerful and versatile

Instruction Manual Service Program ULTRA-PROG-IR

IEC The Fast Guide to Open Control Software

Open Automation Project Overview

TwinCAT NC Configuration

Training Document for Comprehensive Automation Solutions Totally Integrated Automation (T I A) MODULE A5 Programming the CPU 314C-2DP

Copley Camming User Guide

PLCs and SCADA Systems

FOR IMMEDIATE RELEASE

NJ SQL Best Practices

ION Tips and Tricks. Q&A Session PowerLogic ION Users Conference 2009

How can I manage all automation software tasks in one engineering environment?

Semaphore T BOX Applications in Data Center Facilities

Kevin Kochirka, ABB Turbine Automation, June 29, Flexible turbine control retrofits Webinar

Development of a Programmable Logic Controller Training Unit for Engineering Technology Curriculum

BECKHOFF. Application Notes. BC9000: Getting Started Guide. For additional documentation, please visit.

<Picture Image sample>

NJ Programming Best Practices

Configuring PROFINET

Web Designer for Modicon M340, Premium and Quantum

Training Document for Comprehensive Automation Solutions Totally Integrated Automation (T I A) MODULE C2. High Level Programming with S7-SCL

Application Note. EtherCAT Master Architecture. Applicable Products: Yaskawa Servodrives with CANopen over EtherCAT

SIMATIC NET. CP AS-Interface Master B C. Preface Contents. Technical Description and Installation Instructions Interface to the User Program

Remote I/O Network Determinism

CB15/CB155. PROFIBUS Module

Modbus and ION Technology

4511 MODBUS RTU. Configuration Manual. HART transparent driver. No. 9107MCM100(1328)

MicroMag3 3-Axis Magnetic Sensor Module

(Cat. No SI) Product Data

Series Six Plus Programmable Controller

Bellplast S.R.L. Informe del Dpto. Técnico

Fig 3. PLC Relay Output

Outline Servo Control

How To Program A Microsoft Cx-One (Microsoft) Microsoft Microsoft Pc (Microsatellite) Microsatellite (Microsimulated) (Microphones) (Powergen) (Programmer) (Cx-

SCADA and Monitoring for Solar Energy Plant

SoMachine. Getting & Setting Real Time Clock SysTime Library Guide 04/ EIO SoMachine

Designing an efficient Programmable Logic Controller using Programmable System On Chip

Series: IDAM Servo Drive E Digital Motor Drive - DMD

The product. SIMAC a machine simulator. Plan. Presentation of the simulation. Simulation, why? What : SIMAC product. Page 1 SIMAC

Industrial Process Automation (Exercise)

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

8.4 PLC Program Viewer

MODBUS. Table Of Contents

Modicon M580 The next generation controller for PlantStruxure architecture

Machine Struxure. Yves Eknadissian Product Manager Automation. 1 februari 2011 N-B-C - Nieuwegein

Configuring PCAN-Explorer to Monitor Data Traffic on a CANopen Network

Paralleling Switchgear

SAFphire Application Notes

Redundant PROFIBUS DP network with S7-400H System and Ponto PO5063V5 Remote

APNT#1168 Modbus - Establishing Communications Hints

Standard diagnostic and configuration interface for Beckhoff Industrial PCs

Inwall Room Temperature Unit

Transcription:

Speed command of a synchronous AC servomotor using a Modicon M340 PLC zvan Drghici Petroleum-Gas University, Mechanical and Electrical Engineering Faculty, Automatics and Industrial Informatics Specialty e-mail: draghicir@gmail.com Abstract The paper s purpose is to describe the development of a speed command application for a Modicon M340 PLC. The application was built using the Unity Pro XL dedicated software. This new and modern way of dealing with this kind of problems is very intuitive and easy to understand. Thus, it can be taught in school, thereby preparing the students for the labor market s requirements which are very high in this field. Key words: speed command, PLC, Modicon M340. 1. Introduction The aim of this paper is to create an application for a Schneider Modicon M340 PLC that will command the speed of a synchronous AC servomotor. The ma in c haracteristic of s ynchronous AC servomotors is the r elationship between t he frequency of the supply voltage and the speed of the servomotor. Thus, the frequency is directly proportional w ith t he s peed. So, in order to command the sp eed of t he motor, it is needed to control the frequency of the supply voltage. This is realized with a servo drive that is connected to the motor and commanded by the PLC, like in Figure 1. R S T CSF PLC M Fig. 1 Classical speed command scheme

2. Experimental details For the development of the application, a Schneider Modicon M340 PLC was used. This PLC is composed of the following modules: P34 2030 Processor, XBP 0600 Rack, DDM 16025 Relay Input Module, ART 0414 Analog Input Module, EHC 0200 Counter Module. For th is appli cation, b esides t he processor, only the D DM an d EHC modules were used. T he command of the mot or is realized u sing a Lexium05 servo dr ive t hat communicates with t he PLC through a CANopen link. Fig. 2 The experimental stand used for developing the application Through the application, the us er will comm and the speed of a synchronous AC servo motor. He ha s the p ossibility t o s et a desired value f or the s peed of t he mot or using a potentiometer. The set point speed will be shown on a Magelis Human Machine Interface. On the same HMI, some other val ues ar e prompted: the actual speed of the motor a nd the number of round s th e motor has p erformed. T he actual velocity and the nu mber of rounds ar e m easured using an optical sensors system. Also, the motor can be started or stopped using a switch on the stand and the s ense of rotation ca n b e modified b y p ressing a button on t he s tand. The pr ogram wa s developed using the PLC s dedicated software, Unity Pro XL. For the development of t he application, I followed the next steps: first I h ad to configure the hardware using the Unity Pro Software, then I had to declare and configure the CANopen Bus, also with Unity Pro, afterwards I had to configure the axes and the servo drive and in the end I programmed t he appl ication using the Motion Function Block Li brary of the Unity Pr o software. T his provi des a si mplified access t o the basic f unctions of t he servo d rive. T hus, motion c ontrol variables c an b e c reated a nd a xes c ontrolled just by u sing motion c ontrol elementary function blocks.

2.1 Hardware configuration 2.1.1 Procedure for creating a project When creating a pro ject i t i s im portant to choose the correct h ardware that wil l run the application. So, whe n prompted by the Unity Pro software, the BMX P34 2030 pr ocessor was selected. Forwards, all the other modules, that were p resented earlier, were a dded to t he P LC Bus. In the end, the architecture that was created in the project, matched the architecture of the experimental stand. Fig. 3 Setup of the PLC in Unity Pro 2.1.2 Master Task Configuration In Unity Pro a program can be constructed from: A Master task (MAST) A Fast task (FAST) Sections, that are assigned to one of the defined tasks Subroutines sections (SR) The Master task (MAST) represents the main task of the application program. It i s obligatory and created by default. It is made up of sections and subroutines. Each section of the master task is pr ogrammed in the following lang uages: Ladder D iagram (LD), F unction Block Diagram (FBD), Instruction List (IL), Structured Text (ST) or Sequential Function Chart (SFC). There are two types of master task execution: Cyclic (default selection) Periodic (1 to 255 ms) For this application I selected a cyclic execution.

2.1.3 CANopen Bus Configuration CANopen is a c ommunication protocol and device profile specification for embedded systems used i n automation. Or iginally deve loped for onbo ard automobile systems, the CAN communication bus is now used in many fields, including: transport, mobile devices, industrial control, etc. The CANopen structure consists of a bus master and other slave devices. The master manages the initialization of the slaves, the communication errors and the statuses of the slaves. Bus ope ration is point t o point. At any time, each device can send a r equest on the bus and the affected devices answer. 2.1.3.1 Configuration of the CANopen Bus Master In order to configure the Bus master (the PLC), the CANopen port of the CPU must be set up. In the Unity Pro Project Browser, under the configuration directory, the PLC bus can b e found. After accessing the CANopen port, in the Bus parameters area, the transmission speed was set at 500K Baud. In the Task area, the MAST task was selected. Fig. 4 CANopen Master configuration screen 2.1.3.2 Configuration of the CANopen Slave The CANopen slave is the Lexium 05 servo drive. It receives the set point from the PLC through the CANopen connection. To configure the slave, the CANopen tab in the Unity Pro Project Browser must be accessed. Here, a new slave device must b e entered. F rom the shown list, I se lected the Lexiu05_MFB. The topological address given to the device was 2.

Fig. 5 CANopen slave configuration screen 2.1.3.3 Axis Creation and Configuration This creation allows to simplify the management and programming of an axis using Unity Pro. I used the Motion directory in the Project Browser to declare an axis. Using the configuration panel, the following parameters of the axis were set up: Name: AXE_MOT Available drive: Lexium05 Network type: CANopen Compatible address: \3.2\0.0.0\ Reference of the servo drive: LXM05AD10 Axis reference variable name: AXE_MOT CANopen handler variable name: Can_Handler_1 For each axis creation, four variables are created: A Can_Handler-type variable, Can_Handler_1, which can be renamed using the axis directory. It is named after the CANopen manager variable. It must be used in the program as the instance of the CAN HANDLER MFB function block. An Axis_Ref-type variable, AXE_MOT, which can be renamed using the axis directory. It must be specified in the input parameter for each MFB block used by the axis. It contains all the data needed by the MFBs to work with an axis (logical status, mapping, messaging status, etc.) A byte table type variable (ARRAY[...] OF B YTE) named by default Recipe_x (where x is a value) but which can be renamed using the R ecipe_x directory. In the application its name is Recipe_1. It is named after the recipe variable which can be seen in the Recipe_x properties of the axis.

An unsigned integer type variable (ARRAY[.] OF UINT) named AxisParamDesc_x (where x is a value) and which may not be renamed. In the application, x=0. This variable is named after the parameter description variable which can be seen in the Recipe_1 properties of the axis. 2.1.3.4 Configuring the Lexium 05 A user interface is integrated in the Lexium 05. With this interface, it is possible to: Put the device online Configure the device Carry out diagnostics Using the integrated human-machine interface I configured the following parameters : CANopen address: \3.2\0.0.0\ Speed: 500K Baud 2.2 Software configuration 2.2.1 Declaration of Variables In a ddition to t he va riables a ssociated with t he axis when it is created i n the Motion d irectory, other variables must be declared. They must be assigned to: Input or output parameters of the MFB blocks Input or output parameters of the other modules of the PLC used in this application Other parameters that are used for calculations during the application 2.2.2 Programming Just after declaration and parameter setting of the hardware, motion programming is the second development phase of the application. Axis programming is divided up into: Declaration of variables Structured programming in several sections The table below presents a summary of the program sections that I created:

Section name Language Description INIT ST This section c hecks if t he C ANopen link i s operational, in itializes the communication with the servo d rive, a nd reads the values from the potentiometer and from the optical sensors. Speed_Control ST This section starts the motor, takes t he s et p oint from the potentiometer and transmits it to the servo drive as the speed the motor has to reach. For pr ogramming the sections, out o f t he five programming la nguages pr esented e arlier, the Structured Text mode was chosen because of the similar ity with other programming languages thought in school (like C++). 2.2.2.1 The INIT Section To check if the CANopen communication and that the software and physical configurations are consistent, the CAN_Handler MFB is used. This function must be structured at each UC cycle. CAN_HANDLER(AXIS:=Axis, NETOP:=NetworkOperational, AXISRD=>AxisReady, ERRID=>ErrorId) I used the following parameters: AXIS=AXE_MOT AXISREADY =CAN_HANDLER_1_RDY ERRORID = CAN_HANDLER_1_ERRID Another par t o f this sect ion i s us ed to acquisi tion v alues from the potenti ometer and from the optical sensors through the BMX EHC0200 module. 2.2.2.2 The Speed_Control Section In this section, there are three functions that command the servo drive. The MC_RESET function which is us ed to initialize the function blocks and t o acknowledge servo drive faults. MC_RESET(AXIS:=Axis, EXEC:=Execute, ERR=>Error, DO=>Done, B=>Busy, ERRID=>ErrorId); On an Execute rising edge, the parameters are taken into account and the function is executed. In this case, the function is executed when the PushButton0 is not activated. The MC_POWER function is used to disable or enable the servo drive. MC_POWER(AXIS:=Axis, ENB:=Enable, ERR=>Error, ST=>Status, ERRID=>ErrorId); For the AXIS parameter, the AXE_MOT variable is used and this function is executed when the SwitchButton0 is pressed. After calling these functions, the speed set point from the potentiometer is read.

Cons_Speed:= Val_Pot ; The program allows the user to c hange the sense of rotation of the motor. This can be done by pressing PushButton1. The next function that is used in the program is MC_MOVE_VELOCITY. MC_MOVEVELOCITY(AXIS:=Axis, EXEC:=Execute, V:=Velocity, I:=Invert, ERR=>Error, IV=>InVelocity, B=>Busy, AB=>CommandAborted, ERRID=>ErrorId); The MC_MOVEVELOCITY function is used to execute an endless move command at a given speed. The AXIS parameter is AXE_MOT, the EXEC parameter is attributed to the Speed_Chg variable (that determines a change in the set point speed), the V parameter is the set point speed and I is the sense of rotation. 2.2.2.3 Programming the HMI I also had to develop a application for the Magelis Human Machine Interface. The program was developed using the Vijeo Designer software. The HMI allows the user to visualize the set point speed and to monitor the actual velocity and the number of rounds the motor has performed. Fig. 6 Screen of the Magelis Human Machine Interface 3. Conclusions Following the ste ps t hat we re m entioned in the Introduction, I developed an application fo r commanding the sp eed of a synchronous AC mo tor. With this program, the us er can pe rform the following tasks: turn ON or OFF the motor using the SwitchButton0, set a desired speed for the motor with the potentiometer, change the sense of rotation by pressing the PushButton1 and read t he a ctual s peed a nd t he nu mber of r ounds the mot or has performed w ith t he h elp of t he optical sensors. With today s PLCs it is simple and quick to build an application with a complex purpose, like commanding a servomotor. Using t he fa cilities offered b y t he U nity P ro s oftware, the ta sk of p rogramming t he P LC becomes much easier. The MFB f unction b lock library is a powerful t ool in p rogramming applications that control and command servomotors. This way of programming is intuitive and simple to unde rstand. T he weak point in using the MF B library is t hat t he user isn t all ow to access the control algorithm. This application also has an educational purpose. It demonstrates that PLC programming can be taught in school, thus contributing to the professional development of the students.

4. References 1. gureanu, R. Maini electrice speciale pentru sisteme automate. Editura Tehnic. 2. Unity Pro XL Help 3. Unity Pro Startup Guide 4. Unity Pro Programming Guide Comanda unui motor sincron folosind un PLC Modicon M340 Rezumat Scopul acestei lucrri este de a descrie dezvoltarea unei aplicaii de comand a vitezei unui motor sincron folosind un PLC Modicon M340. Programul s-a realizat folosit softwareul dedicat Unity Pro XL. Aceast metod modern de a rezolva astfel de probleme este intuitivi uor de îneles. Astfel, poate fi predat studenilor, pregtindu-i în acest mod pentru cerinele pieei de munc, pia care are nevoie de specialiti cu cunotine în acest domeniu.