ACL – An Introduction Brian Hendricks. What Does ACL Stand For, Anyway? Originally, Accelerator Command Language Also, ACNET Command Language Sometimes,

Slides:



Advertisements
Similar presentations
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
Advertisements

Java Script Session1 INTRODUCTION.
Objectives Understand the software development lifecycle Perform calculations Use decision structures Perform data validation Use logical operators Use.
The Web Warrior Guide to Web Design Technologies
Introduction to Unix – CS 21 Lecture 11. Lecture Overview Shell Programming Variable Discussion Command line parameters Arithmetic Discussion Control.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 14 Web Database Programming Using PHP.
Working with JavaScript. 2 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page Working with Variables.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
XP 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial 10.
Guide To UNIX Using Linux Third Edition
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Understanding the Mainline Logical Flow Through a Program (continued)
Introduction To Form Builder
Guide To UNIX Using Linux Third Edition
Introduction to Unix (CA263) Introduction to Shell Script Programming By Tariq Ibn Aziz.
CIS101 Introduction to Computing Week 09 Spring 2004.
Console Application Programming Brian Hendricks. Getting Started On the web –New user help adcon.fnal.gov/controls/clib/new_user.html –Library help adcon.fnal.gov/controls/libraries.html.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
PHP: Hypertext Processor Fred Durao
A First Program Using C#
ACNET Alarms Brian Hendricks October 18, Alarm Types analog – simple comparison to minimum and maximum values single set of limits digital – nominal.
CS346 - Javascript 1, 21 Module 1 Introduction to JavaScript CS346.
Introduction to Shell Script Programming
Diagnostic and Hardware Index Page Application Survey Brian Hendricks.
SYST Web Technologies SYST Web Technologies Lesson 6 – Intro to JavaScript.
WEEK 3 AND 4 USING CLIENT-SIDE SCRIPTS TO ENHANCE WEB APPLICATIONS.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
CMPS 211 JavaScript Topic 1 JavaScript Syntax. 2Outline Goals and Objectives Goals and Objectives Chapter Headlines Chapter Headlines Introduction Introduction.
Introduction to PHP A user navigates in her browser to a page that ends with a.php extension The request is sent to a web server, which directs the request.
PHP - Basic Language Constructs CSCI 297 Scripting Languages - Day Two.
Oracle Data Integrator Procedures, Advanced Workflows.
Date: File:PRO1_12E.1 SIMATIC S7 Siemens AG All rights reserved. Information and Training Center Knowledge for Automation Troubleshooting.
CIS-165 C++ Programming I CIS-165 C++ Programming I Bergen Community College Prof. Faisal Aljamal.
UBI >> Contents Chapter 2 Software Development tools Code Composer Essentials v3: Code Debugging Texas Instruments Incorporated University of Beira Interior.
Copyright © 2010 Certification Partners, LLC -- All Rights Reserved Perl Specialist.
1 ACL – An Introduction Brian Hendricks March 16, 2012 Accelerator Controls Seminar Series (Part Trois)
Centric features In this presentation… –macro capabilities more sophisticated functionality –advanced macro features Inspector Debugging error trapping.
Introduction to Visual Basic Programming. Introduction Simple Program: Printing a Line of Text Another Simple Program: Adding Integers Memory Concepts.
JavaScript, Fourth Edition
Copyright © 2003 ProsoftTraining. All rights reserved. Perl Fundamentals.
Chapter Six Introduction to Shell Script Programming.
Visual Basic for Application - Microsoft Access 2003 Programming applications using Objects.
IT ELECTIVE 2.  Web server Can refer to either the hardware (the computer) or the software (the computer application) that helps to deliver content that.
Lesson 3-Touring Utilities and System Features. Overview Employing fundamental utilities. Linux terminal sessions. Managing input and output. Using special.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
By Mr. Muhammad Pervez Akhtar
Debugging tools in Flash CIS 126. Debugging Flash provides several tools for testing ActionScript in your SWF files. –The Debugger, lets you find errors.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 14 Web Database Programming Using PHP.
Javascript Basic Concepts Presentation By: Er. Sunny Chanday Lecturer CSE/IT RBIENT.
Execution ways of program References: www. en.wikipedia.org/wiki/Integrated_development_environment  You can execute or run a simple java program with.
PHP Tutorial. What is PHP PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages.
 CONACT UC:  Magnific training   
CHAPTER 3 COMPLETING THE PROBLEM- SOLVING PROCESS AND GETTING STARTED WITH C++ An Introduction to Programming with C++ Fifth Edition.
PROGRAMMING USING PYTHON LANGUAGE ASSIGNMENT 1. INSTALLATION OF RASPBERRY NOOB First prepare the SD card provided in the kit by loading an Operating System.
1 Chapter 6: Creating Oracle Data Block Forms. 2 Forms  Application with a graphical user interface that looks like a paper form  Used to insert, update,
Debugging using By: Samuel Ashby. What is debugging?  A bug is an error in either a program or the hardware itself.  Debugging is first locating and.
PHP using MySQL Database for Web Development (part II)
Web Database Programming Using PHP
“Under the hood”: Angry Birds Maze
JavaScript is a programming language designed for Web pages.
Web Database Programming Using PHP
Chapter 19 JavaScript.
Objectives Insert a script element Write JavaScript comments
Tonga Institute of Higher Education
Web DB Programming: PHP
JavaScript Basics What is JavaScript?
Presentation transcript:

ACL – An Introduction Brian Hendricks

What Does ACL Stand For, Anyway? Originally, Accelerator Command Language Also, ACNET Command Language Sometimes, ACNET Control Language (not by me)

What is ACL? “Simple” script language –borrows concepts from other languages Interpreted, not compiled –runtime compilation available Supports ACNET device notation Implemented in ASCII text files and database text files Built into CLIB

What is ACL Used For? Lex SA (script object) –originally to provide control –also supports display scripts Sequencer –eliminates the need for most new commands Parameter page (also parameter window) –supports complicated settings, etc. Command line interface (general use)

How Can I Use ACL? Call it from your program using CLIB interface Command line interface (type in ‘acl’) Program tools IDE (‘ACL Edit/Run’) Parameter page and parameter window Web – ACL code here}

Language Components Commands –roughly 100 Variables –expire when the current script ends Symbols –expire when the calling program ends –names start with a dollar sign Operators Device expressions

ACL Commands Device oriented –read, list, show, set, on, off, turn, reset, positive, negative, toggle, delta_set, increment, decrement, compare, copy, download, restore, fill, ramp, enable, disable, bypass, activate, deactivate, search, logger_get Program control –loop, endloop, exitloop, while, endwhile, continue, if, elseif, else, endif, exit, on_error, gosub, return, retry, break Special support –camac, gpib, timer_event, trigger, step_motor

ACL Commands (continued) Input/output –print, output, input Environmental control –timeout, ftd, data_event, data_source System information –setting_log, alarm_log, event_log, state_log, node_info, node, event_info, mdat_info, program_info, user_info, error_text

ACL Commands (continued) Variable control –declare, resize run –runs other programs including other ACL scripts wait –pauses the script for a period of time or until a clock event or state event occurs

ACL Operators Arithmetic –+, -, *, /, ^, %, >>, <<, plus, minus, times Logical –&&, ||, and, or,.xor. Comparison –, =, =, ==, equals

ACL Special Operators is (isnot) – device status –on, off, ready, tripped, remote, local, positive negative, ramping, dc, good, alarming, enabled, disabled, bypassed, active, inactive, defined, undefined has (doesnt_have) – database attribute –reading, setting, status, control, analog_alarm, digital_alarm, reset_control, on_control, off_control, positive_control, negative_control, on_status, ready_status, remote_status, polarity_status

Device Expressions Property specification –: and ? -> reading, _ -> setting, | -> basic status, & -> basic -> analog alarm, $ -> digital alarm Array notation [begin_index:end_index] –T:SBDASS[0:36] or T:SBDASS[] Length/offset notation {offset:length} –T:SBDASS{0:148}

Device Modifiers src – data source –dp (default), db, sr:{file}, sda:{file}:{case}:{set}, dl:{date}:{node} scaling type –scaled (default), raw, primary ftd=(FTD string}

Device Field Specifiers Only used for alarm properties Normal dot notation Examples –min, max, nominal, mask, limit_data_type, etc. –read M:OUTTMP.min

Device Display Types ascii – display reading as ASCII text state_text – display as state text bit_status – display basic status with bit descriptions node – display reading as an ACNET node value acnet_error – display reading as an ACNET error value

Device List Specifiers name={string} (uses standard SQL wildcards) node={node name} type={device type string or number} family={family device} file={file name} Many more…

Substitution Options Substitute devices –G:DEVnnn –used anywhere a device expression can be used Substitute strings –stringnnn –literal string substitution

ACL’s Special Characters Comment –‘#’ and the dreaded ‘!’ –‘!’ can also be used in ‘!=‘ and ‘!exists(variable)’ –comments text to end of line End of line – ‘;’ –allows multiple commands per line Line continuation – ‘\’ –better than Windows’ ‘^’ Execute an ACL file –

Example 1 ! Conditionally turn on a device if G:DEV00 is off turn G:DEV00 on endif

Example 2 ! Turn Booster low level RF curves off turn B:BIAS2 off! sends off command to old bias curve turn B:BIASON off! sends off to the new DSP bias curve turn B:APGC off! sends off to the anode program curve turn B:CIGC off! sends off to the cascode curve negative B:VDFSM1! switches polarity to (-) for DC operation ! for the frequency curve on DSP VXI

Example 3 ! Test a C460 module for the copy time to G(I) bug while (1 = 1)! loop forever wait/event/delay=1000 5! wait for event 05 plus 1 second print "Event detected!“ camac/select/node=ncamac/crate=2/slot=13! select module camac/fa=26:10! restore G(I) table endwhile

Help for ACL Command line interface –‘help’ for general help –‘help {command}’ for command help Program Tools interface –‘ACL Help’ for general help –‘ACL Command Help’ for command help Web document – Me

Other ACL Tools ACL database file editor (D136) –place to edit scripts used in Lex SA –requires special permission to write files ACL file launcher –supports launching a predefined ACL script (S69) ACL spawn –supports asynchronous execution of ACL scripts

Summary Utilized in many environments –Sequencer –Lex SA –testing (new damper, CAMAC debugging, front end debugging) –examining the control system Empowers end users Has grown to meet the needs of those users