- •Introduction
- •1 Quick Start
- •Overview of the Example
- •Create a Project and Adding a Drive
- •Editing the Program
- •Building and Downloading the Program
- •Monitoring Operation of the Program
- •Importing sm-Applications Lite syptLite Programs
- •Upgrading from the dpl Toolkit
- •Loading a dpl File from disk
- •Uploading a dpl File from a Target Node
- •Starting sypt
- •Configuration Editor
- •Menu Bar
- •Toolbars
- •View toolbar for the Hardware Architecture view
- •Status Bar
- •Hardware Architecture View
- •Link Architecture View
- •Cyclic Data View
- •Specifying Workbench Options
- •Dpl Editor
- •SyptLite
- •Watch Window
- •Menu Bar
- •Managing Projects
- •Creating Projects
- •Opening Projects
- •Saving Projects
- •Viewing Project Properties
- •Cloning Projects
- •Closing Projects
- •Printing Projects
- •Defining a Project Header
- •Inserting Nodes
- •Selecting Nodes
- •Editing the Properties of Nodes
- •Editing Node Descriptions
- •Deleting Nodes
- •Cutting, Copying, and Pasting Nodes
- •Rearranging Nodes
- •Networks
- •Unreachable Nodes
- •Inserting Networks
- •Selecting Networks
- •Deleting Networks
- •Editing the Properties of Networks
- •Pc Communications Settings
- •Rearranging Networks
- •Splitting Network Rails
- •Merging Network Rails
- •Cyclic Data Links
- •Inserting Data Links
- •Inserting Broadcast Links
- •Defining Cyclic Data
- •Viewing Cyclic Data
- •Selecting Links
- •Rearranging Links
- •Deleting Data Links
- •Editing Source/Destination Node Descriptions
- •Annotations
- •Inserting Annotations
- •Editing the Contents of Annotations
- •Formatting Text in Annotations
- •Deleting Annotations
- •Dpl Programs
- •Creating Programs
- •Opening and Closing Programs
- •Saving Programs
- •Editing Programs
- •Specifying the Floating-Point Model
- •Inserting Sections
- •Inserting Diagrams
- •Inserting Variables, Parameters or Numbers
- •Inserting Function Block Calls
- •Inserting Files
- •Inserting the Date and Time
- •Selecting Items in Programs
- •Cutting, Copying, and Pasting Items
- •Finding and Replacing Text
- •Go to a Source Line
- •Editing Diagram Titles
- •Editing/ Viewing the Properties of Programs
- •Printing Programs
- •Templates
- •Dpl Syntax Templates
- •Defining a Template
- •Dpl Templates Dialog
- •Defining a Template Category
- •Deleting a Template/ Changing a Template Name
- •Deleting a Category/ Changing a Category Name
- •Template Shortcut keys
- •Inserting a Template into a Program
- •Creating a Library
- •Specifying Function Block Properties
- •Library Folder Structure
- •Viewing Library Properties
- •Library Manager
- •Referencing and Using a Library
- •Removing a Reference To a Library
- •Exporting a Library
- •Importing a Library
- •Switching the Configuration Editor Online
- •Switching the Configuration Editor Offline
- •Node Detection and Indications
- •Successfully Detected Nodes
- •New Node
- •Nodes Not Found
- •Cyclic Data Mismatches
- •Cyclic Master and Trip Indications
- •Refreshing the View of Nodes While Online
- •Adding Detected Nodes
- •Deleting Target User Programs
- •Building Applications
- •Showing Build Errors
- •Downloading Node Programs
- •Uploading Node Programs
- •_______________________________________________________________________________________________ Accessing Diagnostic Information for Nodes
- •Accessing Identification Information for Nodes
- •Monitoring the Values of Variables and Parameters
- •Watching Values in the dpl Editor
- •Setting Up a Watch List
- •Opening and Closing Watch Lists
- •Saving Watch Lists
- •Adding Variables and Parameters to a Watch List
- •Selecting Watch List Items
- •Cutting, Copying, and Pasting Watch List Items
- •Removing Items from a Watch List
- •Editing the Properties of Watch List Items
- •Rearranging the Order of Watch List Items
- •Changing the Values of Variables or Parameters
- •Controlling Program Execution
- •Stopping and Starting Programs
- •Pausing and Resuming Programs
- •Stopping and Stepping Tasks
- •Running Tasks
- •Using Breakpoints
- •Switching dpl Programs to Editing Mode
- •Resetting Node Programs
- •Resetting Drives
- •Abs - Absolute
- •Ansiread - ansi Master Command
- •Ansireadn - ansi Master Command
- •Ansireply - ansi Master Command (ud70 and md29)
- •Ansireply - ansi Master Command (sm-Applications)
- •Ansiwrite - ansi Master Command
- •Ansiwriten - ansi Master Command
- •ApcSetRunMode
- •ApcReset
- •ApcGetOutputSpeed
- •ApcGetOutputSpeedRpmx10
- •ApcSelectAbsoluteMode
- •ApcSelectRelativeMode
- •ApcReadPar
- •ApcSetPositionResetOffset
- •ApcResetSourcesOnDisable
- •ApcDoNotResetSourcesOnDisable
- •ApcSetReferenceSource
- •ApcSetFeedbackSource
- •ApcSetNumOfTurnsBits
- •ApcEnableRefSourceMarker
- •ApcDisableRefSourceMarker
- •ApcEnableFbckSourceMarker
- •ApcDisableFbckSourceMarker
- •ApcResetRefSourceMarkerFlag
- •ApcResetFbckSourceMarkerFlag
- •ApcResetRefSourceFreezeFlag
- •ApcResetFbckSourceFreezeFlag
- •ApcInvertRefSource
- •ApcDoNotInvertRefSource
- •ApcInvertFbckSource
- •ApcDoNotInvertFbckSource
- •ApcSetReferencePosition
- •ApcSetFeedbackPosition
- •ApcGetReferenceStatus
- •ApcGetFeedbackStatus
- •ApcSelectReference
- •ApcSelectActionOnFreeze
- •ApcSetStopMode
- •ApcSetPositionSetPoint
- •ApcSetSpeedSetPoint
- •ApccamInitialise
- •ApccamInitialise1
- •ApccamInitialise2
- •ApccamInitialise3
- •ApcSetCamStartIndex
- •ApcSetCamSize
- •ApcSetCamDeltaSegLimit
- •ApcSetCamInterpolationMode
- •ApcSetCamOutRatioNumerator
- •ApcSetCamOutRatioDenominator
- •ApcSelectCamAbsoluteReset
- •ApcSelectCamZeroReset
- •ApcSetCamAbsResetIndex
- •ApcSetCamAbsResetPositionInSeg
- •ApcEnableCamSingleShot
- •ApcDisableCamSingleShot
- •ApcSetDigLockMode
- •ApcSetDigLockRatioNumerator
- •ApcSetDigLockRatioDenominator
- •ApcSetDigLockLockingSpeed
- •ApcSetDigLockLockingPosition
- •ApcSetSpeedOffset
- •ApcSetPositionOffset
- •ApcDisableRigidLock
- •ApcEnableProfile
- •ApcDisableProfile
- •ApcSetProfileAccelRate
- •ApcSetProfileDecelRate
- •ApcSetProfileMaxSpeedClamp
- •ApcSetPGain
- •ApcSetPGainSpeedClamp
- •ApcEnableExternalRefSpeed
- •ApcDisableExternalRefSpeed
- •ApcSetExternalRefSpeed
- •ApcEnableExternalRefPosition
- •ApcDisableExternalRefPosition
- •ApcSetExternalRefPosition
- •ApcSetOutputRatioNumerator
- •ApcSetOutputRatioDenominator
- •ApcSetupOutputChannel
- •ApcEnableOutputChannel
- •ApcDisableOutputChannel
- •ApcWriteOutputChannel
- •ApcToUserPosition
- •ApcToUserVelocity
- •ApcToUserAcceleration
- •Arrayget - Get Array Element
- •Arrayset - Set array element
- •Arraysort
- •Arraystat
- •Assram - Associate an array with a file
- •Autosync - ctNet Sync Master Redundancy
- •Autosyncerror
- •Average - Running Average
- •Bcd2bin - Binary-coded Decimal to Binary Conversion
- •Bin2bcd - Binary to Binary-coded Decimal Conversion
- •Bcd2seg - Binary-coded Decimal to Seven-segment Display Data
- •Blkdef - Block Parameter Write
- •Bridge - rs485 Serial Protocol Function
- •Cambox - cam function generator
- •Cambox2 - cam function generator
- •Cambox/cambox2 - cam information
- •Caminit - cam Table Initialise
- •CanConfigEvent
- •CanGetNodeAddr
- •CanReady
- •CanSetup
- •CanStatus
- •CanStatusAll
- •Checknode - Check Existence of Node on ctNet
- •CloseSmartCard
- •Cmodexfer
- •Cmp - Comparison Block
- •Condparw - Conditional Parameter Write
- •ConvertBackwards
- •ConvertForwards
- •Cos - Cosine Function
- •Crc16 - Cyclic Redundancy Check
- •Ctd - Down Counter
- •Ctu - Up Counter
- •Ctud - Up/ Down Counter
- •Ctnetdiagnostics
- •CtSyncDisableOutputChannel
- •CtSyncEnableOutputChannel
- •CtSyncGetSlaveReferences
- •CtSyncSetMasterReferences
- •CtSyncSetupOutputChannel
- •CtSyncWriteOutputChannel
- •Datastuff
- •Decoder4/decoder8
- •Digsel8 - Digital Select Block
- •IDMux/ fDMux / iDMux8 - De-multiplexers
- •Dterm - Differentiator Block
- •Editfastlink/editslowlink - ctNet Cyclic Link Editing
- •Egb / egb2
- •EnableCanTrips
- •Encoder4/encoder8 - Binary Encoder Blocks
- •Exp - Exponential Function
- •Filter - First-order Digital Filter
- •Float - Integer to Floating Point Conversion
- •Float32
- •Getchar - Read rs485 Port
- •GetNextSmartCardFile
- •GetParAttr
- •GetSamplesPerSec
- •GetTaskId
- •Home1 - Homing function
- •Home2 - Homing function
- •HiLoDet - Max and min value detection
- •Int - Floating Point to Integer Conversion
- •ITerm - Integrator Block
- •IWindow
- •ILimit/ fLimit
- •ILimit2/ fLimit2
- •IInvert/fInvert
- •Ln - Natural Logarithm
- •LinInt - Linear Interpolation
- •Modexfer
- •Mpot - Motorised Pot
- •Muldivrm
- •IMux / fMux / iMux2 / fMux2 / iMux8 - Multiplexers
- •Nand4 - Four-input nand Gate
- •Neg - Inverts Input
- •Netreply
- •Netstatus
- •Nor4 - Four-input nor Gate
- •OpenReadSmartCard
- •OpenWriteSmartCard
- •Or4 - Four-input or Gate
- •IOs/ fOs - Offset-Scale
- •Pfixread - Fixed Precision (3 dps) Parameter Read
- •Pfixread6 - Fixed Precision (6 dps) Parameter Read
- •Pfixwrite - Fixed Precision (3 dps) Parameter Write
- •Pfixwrite6 - Fixed Precision (6 dps) Parameter Write
- •Pid - pid Block
- •Posloop - Position Loop Controller
- •Posloop2 - Position Loop Controller
- •Precisiontimer
- •Pt - Pulse Timer
- •Ptd - Pulse Timer
- •Putblock
- •PutBottomWord
- •Putchar - Write Character to rs485 Port
- •Putkey - Write Character to Port
- •PutTopWord
- •RamLength
- •Ramp - Linear Ramp
- •Readnet
- •Readnetb
- •ReadReadOnlyBit
- •ReadSmartCardByte
- •Reg - Registration Block
- •ResetCanTimer
- •Rs/sr : Event Memory Latches
- •RtuReadRegs
- •RtuReadParas
- •RtuReadInputRegs
- •RtuPresetRegs
- •RtuPresetParas
- •RtuMasterReply
- •RtuMasterStatus
- •Runtime
- •Scheduleevent
- •SetConverterDenominator
- •SetConverterNumerator
- •SetCtnSync
- •SetRamLength
- •SetUserId
- •Shiftlr
- •SignedBottomWord
- •SignedTopWord
- •Sin - Sine Function
- •ISo/fSo : Scale-Offset
- •Splitter
- •SpGateway - ctNet to fieldbus gateway
- •Sq1int/ Sq2int - Square Interpolation
- •Sqr - Square Root Function
- •Sramp - s-Ramp Profile Generator Function
- •Ssramp - s-Ramp Profile Generator Function
- •Stuff2 / stuff4 / stuff8 - Bit Stuffers
- •Tan - Tan Function
- •Tcyclic - Cyclic Timer
- •ToffRet
- •Trl - Triggered Latch Function
- •UnAssram
- •UnsignedBottomWord
- •UnsignedTopWord
- •UserToApcAcceleration
- •UserToApcPosition
- •UserToApcVelocity
- •Vel2pos - Velocity Profile Integrator
- •Writenet
- •Writenetb
- •Wrnet - ctNet Write Command
- •Wrnetb - ctNet Block Parameter Write Command
- •WriteReadOnlyBit
- •WriteSmartCardByte
- •Xor4 - Four-input xor Gate
- •SmartCard Example Program
- •Supported Languages
- •Variables, Parameters, Constants and Data Types
- •Variables
- •Bit Access For Variables
- •Predefined Variables
- •Parameters
- •Plc Registers
- •Data Types
- •Constants
- •Numbers
- •Variable and Parameter Scope
- •Aliases
- •Program Structure
- •Subroutines
- •User-Defined Function Blocks (udfBs)
- •Calling udfBs
- •Udfb Argument Restrictions
- •Udfb Instances
- •Udfb Code Sections
- •Dpl (Drive Programming Language) Reference
- •Directives
- •Operators
- •Conditional Operators
- •Comments
- •Constructs
- •Variable Assignment
- •If ... Then
- •For Loop
- •Function Block Call
- •Ld/ fb Elements
- •Ld/ fb Coil Types
- •Ld/ fb Contact Types
- •Ld/ fb Order of Execution
- •Qld (Quick Ladder Diagram) Reference
- •Qld Elements
- •Qld Coil Types
- •Qld Contact Types
- •Advanced Position Controller
- •Programming Hints and Tips
- •Copyright
Comments
Comments can be used to document the purpose of a program. They have no affect on the run-time operation of the program.
In DPL comments begin with either // or ; and continue to the end of the line. The following code fragment shows examples of comments.
See Also
Notes/ Description Section
DPL (Drive Programming Language) Reference
________________________________________________________________________________
Constructs
This section defines the DPL constructs such as assignment statements and loops.
In DPL the end of a text line is used as the statement delimiter. This means that it is not possible to place two statements on one line. For example:
A% = 1
B% = 23
is valid and will compile, but:
A% = 1 B% = 23
is invalid and will not compile.
For more information, see:
Variable Assignment
Array Element Assignment
Parameter Assignment
#INT Parameter Assignment
Parameter Pointer Assignment
DO WHILE Loop
EXIT
IF ... THEN
FOR Loop
Function Block Call
GOTO
SELECT
Subroutine Call
________________________________________________________________________________
Variable Assignment
A variable assignment construct copies an expression value into a non-array variable.
Target/ Language Restrictions
None.
See Also
Constructs
Array Element Assignment
________________________________________________________________________________
Array Element Assignment
An array element assignment construct copies an expression value into a single element in an array variable.
Target/ Language Restrictions
None.
See Also
Constructs
Variable Assignment
Parameter Assignment
A parameter assignment construct copies an expression value into a parameter
Target/ Language Restrictions
None.
See Also
Constructs
Variable Assignment
Parameters
#INT Parameter Assignment
________________________________________________________________________________
#INT Parameter Assignment
A #INT (or cast) parameter assignment construct copies an integer expression value into a parameter. The actual value written into the parameter depends on the number of decimal places defined for the parameter.
Target/ Language Restrictions
None.
See Also
Constructs
Variable Assignment
Parameter Assignment
Parameters
Parameter Pointer Assignment
A Parameter Pointer assignment construct copies an integer expression value into a parameter indexed by an integer variable.
The value of Variable% is used to identify a parameter. The value should be in the format MMPP, e.g 121 specifies parameter #1.21.
Example
Target/ Language Restrictions
None.
See Also
Constructs
Variable Assignment
Parameter Assignment
#INT Parameter Assignment
Parameters
________________________________________________________________________________
DO WHILE Loop
This construct performs a loop while a condition is true. These are three syntaxes for the WHILE loop.
Syntax 1 evaluates the condition first before any statements are executed. If the condition is false, the statements are not executed. If the condition is true the statements are executed and will continue to be executed as long as the condition is true.
Syntax 2 executes the statements once regardless of whether the condition is true. The statements will then continue to be executed until the condition becomes false.
Syntax 3 loops while the condition is true.
Target/ Language Restrictions
None.
See Also
Constructs
________________________________________________________________________________
EXIT
The EXIT statement is a flow-control statement which causes execution of a task to finish.
Note: |
If the task is a real-time task (CLOCK, POS0 etc), the task will continue to be scheduled at its defined rate. |
Example
Target/ Language Restrictions
None.
See Also
Constructs
IF ... THEN
_______________________________________________________________________________