Reference Mitsubishi PDF
Reference Mitsubishi PDF
4th edition
Copyright 01/1998
Printed in Germany
Article number: 43597-D (Reference Manual)
Contents – I
CHAPT. 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 – 1
1.1 This Manual ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 – 1
1.2 The Beginner’s Manual... . . . . . . . . . . . . . . . . . . . . . . . . . .1–1
1.3 If you are not yet familiar with Windows... . . . . . . . . . . . . . . . . . . 1 – 1
1.4 If you are not yet completely familiar
with the IEC 1131.3 standard ... . . . . . . . . . . . . . . . . . . . . . . . . 1 – 1
1.5 If you are already acquainted with IEC 1131.3
and want to get to work right away ... . . . . . . . . . . . . . . . . . . . . 1 – 2
1.6 If you need more information
on programmable logic controllers ... . . . . . . . . . . . . . . . . . . . . 1 – 2
1.7 If you need help on programming instructions
when you are developing your programs ... . . . . . . . . . . . . . . . . . 1 – 2
1.8 If you get stuck ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 – 2
1.9 Typographic Conventions and Visual Cues . . . . . . . . . . . . . . . . . . 1 – 3
CHAPT. 2: Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 1
2.1 Hardware requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 1
2.1.1 Minimum hardware configuration . . . . . . . . . . . . . . . . . . . 2–1
2.1.2 Recommended enhancements . . . . . . . . . . . . . . . . . . . . 2–1
2.1.3 Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . 2–1
2.1.4 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1
2.1.5 Filling out the registration card . . . . . . . . . . . . . . . . . . . . 2–2
2.2 Installing MELSEC MEDOC plus . . . . . . . . . . . . . . . . . . . . . . . 2 – 2
2.3 Starting MELSEC MEDOC plus . . . . . . . . . . . . . . . . . . . . . . . . 2 – 3
2.4 Quitting MELSEC MEDOC plus . . . . . . . . . . . . . . . . . . . . . . . . 2 – 3
2.5 Bringing MMplus into the Foreground . . . . . . . . . . . . . . . . . . . . 2 – 3
2.6 Novell and 32-bit file access . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 3
2.7 The MMP.INI Program Initialisation File . . . . . . . . . . . . . . . . . . . . 2 – 4
2.7.1 Format of the MMP.INI File . . . . . . . . . . . . . . . . . . . . . . 2 – 4
2.7.2 Editing MMP.INI Entries . . . . . . . . . . . . . . . . . . . . . . . . 2 – 8
2.8 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 9
2.8.1 Page Documentation . . . . . . . . . . . . . . . . . . . . . . . . 2–9
2.8.2 Zoom Header/Body . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 10
2.8.3 Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 11
2.8.4 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 12
2.8.5 Graphic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 13
2.8.6 Cross Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 14
2.8.7 Compiler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 15
2.8.8 Monitor Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 16
2.9 Connecting the programmable logic controller (PLC) to the computer . . . . 2 – 17
2.9.1 Connecting FX series controllers . . . . . . . . . . . . . . . . . . . 2 – 18
2.9.2 Connecting FX0/FX0N/FX0S/FX2N series controllers . . . . . . . . 2 – 19
2.9.3 Connecting A/Q series controllers . . . . . . . . . . . . . . . . . . 2 – 20
2.10 Connecting a printer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 24
CHAPT. 6: Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 – 1
6.1 The Structure of MELSEC MEDOC plus Programs . . . . . . . . . . . . . .6–1
6.2 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–2
6.2.1 Event-triggered Tasks . . . . . . . . . . . . . . . . . . . . . . . . .6–2
6.2.2 Event-triggered tasks with Timer/Output Control
(MC-MCR execution) . . . . . . . . . . . . . . . . . . . . . . . . .6–3
6.2.3 Interval-triggered Tasks . . . . . . . . . . . . . . . . . . . . . . . .6–5
6.2.4 Priority-controlled Tasks . . . . . . . . . . . . . . . . . . . . . . .6–5
6.3 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 – 6
6.3.1 Global and Local Variables . . . . . . . . . . . . . . . . . . . . . .6–6
6.3.2 Variable declarations . . . . . . . . . . . . . . . . . . . . . . . . .6–6
6.3.3 Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6–7
6.3.4 Identifiers and Absolute Addresses . . . . . . . . . . . . . . . . . .6–7
6.3.5 Initial Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 – 11
6.3.6 Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 – 11
6.3.7 Autoextern option . . . . . . . . . . . . . . . . . . . . . . . . . 6 – 12
6.3.8 Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 – 12
6.4 Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . 6 – 14
6.4.1 Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 – 14
6.4.2 Text Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 – 15
6.4.3 Graphical Editors . . . . . . . . . . . . . . . . . . . . . . . . . . 6 – 16
6.4.4 Sequential Function Chart (SFC) . . . . . . . . . . . . . . . . . . 6 – 17
6.5 Programming in Sequential Function Chart Language . . . . . . . . . . . 6 – 20
6.5.1 Sequential Function Chart language Program Structure . . . . . . 6 – 20
6.5.2 Sequence rules and examples . . . . . . . . . . . . . . . . . . . 6 – 21
6.5.3 Editing elements in the SFC language . . . . . . . . . . . . . . . 6 – 25
6.5.4 Zoom functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 – 25
6.5.5 Assigning Actions to Steps . . . . . . . . . . . . . . . . . . . . . 6 – 26
6.5.6 Assigning Transition Conditions . . . . . . . . . . . . . . . . . . 6 – 27
6.5.7 Comments in Sequential Function Chart Language . . . . . . . . . 6 – 28
6.5.8 Sequence errors . . . . . . . . . . . . . . . . . . . . . . . . . . 6 – 29
7.4 Exporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 – 17
7.4.1 Exporting an MM+ project into an ASCII file . . . . . . . . . . . . 7 – 17
7.4.2 Export to EPROM . . . . . . . . . . . . . . . . . . . . . . . . . . 7 – 17
7.5 Importing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 – 18
7.5.1 Importing MM+ ASCII files . . . . . . . . . . . . . . . . . . . . . 7 – 18
7.5.2 Importing MELSEC MEDOC print files . . . . . . . . . . . . . . . 7 – 20
7.5.3 Symbolic Upload . . . . . . . . . . . . . . . . . . . . . . . . . . 7 – 22
7.5.4 MELSEC Upload . . . . . . . . . . . . . . . . . . . . . . . . . . 7 – 23
7.5.5 Absolute Label . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 – 24
APPENDIX
CHAPT. A: Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A – 1
CHAPT. C: Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C – 1
C.1 General Tool Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C – 1
C.2 Instruction List Editor Tool Icons . . . . . . . . . . . . . . . . . . . . . . C–2
C.3 Ladder Diagram and Function Block Diagram Editor Tool Icons . . . . . . . C – 3
C.4 Sequential Function Chart Editor Tool Icons . . . . . . . . . . . . . . . . C–4
C.5 Project Navigator Window Tool Icons . . . . . . . . . . . . . . . . . . . . C – 5
C.6 Online (Monitor Mode) Tool Icons . . . . . . . . . . . . . . . . . . . . . C – 6
INDEX
1 Introduction
Note: This symbol draws your attention to particularly important hints and
information.
WARNING: Always pay particular attention to the warnings identified with this
symbol, as they refer to serious dangers such as the possibility that you may lose
data or damage the hardware system if you do not follow the instructions.
2 Installation
2.1.4 Copyright
IMPORTANT NOTICE: This software is protected by copyright. By opening the
distribution disks package you automatically accept the terms and conditions
of the License Agreement. You are only permitted to make one single copy of
the original distribution disks for your own backup and archiving purposes.
Or:
2.8 Options
The options are configured in the Extras - Options menu.
Navigator Zoom
e Expand Double-clicking on entries in the POU Pool displays/hides lower levels in
the hierarchy.
e Open Header/Body Double-clicking on entries in the POU Pool opens the
corresponding header and body.
FBD/LD Zoom
e Open Header Double-clicking on a function block in a graphical editor opens the
corresponding header.
e Open Body/Header Double-clicking on a function block in a graphical editor
opens the corresponding header and body.
2.8.3 Editing
Declaration Editor
e Auto Extern The declaration table of the global variables has a column called
Auto Extern. All global variables identified as Auto Extern are automatically copied
to the headers of all existing and newly-created POUs.
e Copy Comment and Type Fields See Incremental New Declarations.
e Incremental New Declarations When this option is enabled the contents of the
previous lines are copied automatically when new lines are inserted in the
declaration tables. The designators and addresses are automatically incremented by
1. If you also want the system to copy the contents of the type and comment
fields you must also enable the Copy Comment and Type Fields check box.
FBD/LD
e Declare New Identifiers When you overwrite a dummy variable in a graphical
editor with a variable identifier name that has not yet been declared the Variable
Selection (Mode NewVar) dialog box will be displayed automatically so that you
can enter the declaration for the new variable.
e Pin Overwrite When you create a connection to an empty variable connection in
a graphical editor the empty variable will be overwritten.
e Automatic Input/Output Box The system will automatically create the input and
output variables when you insert a function block in a graphical editor.
e Automatic ENO BoxThe system will automatically create the ENO output variable
when you insert a function block in a graphical editor. If the ENO output variable
is not needed this option has to be disabled.
Online Toolbar
Enables the display of the additional toolbar for online operations when the program
is in online mode (➞ page 8-14 and Appendix C).
2.8.4 General
Stop Check By
e Errors Stop the check operation when the number of errors found exceeds the
maximum limit specified here.
Range: 0 - 2,000
e Warnings Stop the check operation when the number of warnings exceeds the
maximum limit specified here.
Range: 0 - 2,000
2.8.5 Graphic
e Vertical Grid Height of Line Segment Vertical length of line segments in the
ladder diagram editor, in grid points.
Range: 0 - 100 grid points
Default: 3
e Number of Graphic Macros Number of additional graphic macros available.
Graphic macros 1 through 5 are always available.
Range: 5 - 25
e Generate *.SCT files while checking a project Activates generation of the SCT
files during project checks.
e Automatically link the *.SCT files to the *.scx file Activates automatic linking
of the SCT files to the SCX file.
2.8.7 Compiler
The MAC transparent mode enables data transmission by modem between the
personal computer and the PLC. More information see page 7-9.
The options for selecting the connection type and setting the corresponding
parameters can be found in the Online menu under Transfer Setup - Ports
(➞ Chapter 7).
a) Connection via the CPU interface with the SC-09 interface converter
Connect the 9-pin D-shell connector to the computer. If your computer port has a
25-pin connector you will also need a 9/25-pin adapter. Connect the 25-pin D-shell
connector to the FX controller.
MELSEC
MEDOC
plus
MELSEC FX
SC-09
SC-09
b) Connection via the CPU interface with the FX-232AW serial interface
You will need two additional cables for connecting the FX-232AW module:
FX-422CAB for connecting the FX controller to the FX-232AW
F2-232CAB or FX-232CAB for connecting the FX-232AW to the personal computer
If your computer port has a 9-pin connector you will also need a 25/9-pin adapter as
both of these cables (F2-232CAB, FX-232CAB) are fitted with 25-pin D-shell connectors
at the PC end.
MELSEC
MEDOC
plus
F2-232CAB FX-232AW MELSEC FX
FX-232CAB
FX-422CAB
a) Connection via the CPU interface with the SC09 interface converter
Connect the 9-pin D-shell connector to the computer. If your computer port has a
25-pin connector you will also need a 9/25-pin adapter. Connect the 8-pin min-DIN
connector to the FX0/FX0N controller. This connector is delivered together with the
SC-09.
MELSEC
MEDOC
plus
MELSEC FX0/FX0N
SC-09
FX0S/FX2N
b) Connection via the CPU interface with the FX-232AW serial interface
You need three additional cables for connecting the systems with the FX-232AW
module:
The FX-422CAB and the FX-20PCADP cables for connecting the FX0/FX0N
controller to the FX-232AW
The F2-232CAB or FX-232CAB cable for connecting the FX-232AW to the personal
computer
If your computer port has a 9-pin connector you will also need a 25/9-pin adapter, as
both these cables (F2-232CAB, FX-232CAB) have 25-pin D-shell connectors at the
computer end.
MELSEC
MEDOC
plus
MELSEC FX0/FX0N
F2-232CAB FX-232AW FX0S/FX2N
FX-232CAB FX-422CAB FX-20PCADP
a) Connection via the CPU interface with the SC-09 interface converter
Connect the 9-pin D-shell connector of the SC-09 to the computer. If your computer’s
port has a 25-pin connector you will also need a 25/9-pin adapter. Connect the 25-pin
D-shell connector to the computer’s parallel port.
MELSEC
MEDOC
plus A/QCPU
SC-09
SC-09
MELSEC
MEDOC
plus ACPU AJ71C**
RS232
Note: See the computer link module manuals for full details on their settings.
1 1
2 3 3 3 2 3
3 2 2 2 3 2
7 7 5 7 5 5
6 6 6 6 6 6
8 8 1 8 1 1
20 20 4 20 4 4
4 4 7 4 7 7
5 5 8 5 8 8
MELSEC
MEDOC
plus ACPU AJ71AP21
MELSECNET
MELSECNET/II
Optical Cable
A7BDE-J71AP21
Note: See A7BDE manuals for full details on installation and settings.
MELSEC
MEDOC
plus ACPU AJ71E71
Ethernet
Cheapernet
Note: See Ethernet manuals for full details on Ethernet mdoule settings.
Please note that the Ethernet modules will only work together properly with
MELSEC MEDOC plus if its version “E” (or higher) is used.
You find the version number directly on the Ethernet modules.
The illustration below shows the screen after loading a project. In this example, the
PLC configuration, a header and a body have all been opened in separate windows.
2
3
4
N M L K J
B
A
C
F
A Press the key corresponding to the underlined letter in the menu name.
B Menu commands followed by a triangle symbol branch to a submenu with
additional command options, which is displayed as a pop-up menu box.
C Depending on what you are doing, not all menu commands are available at all
points in MM+. Menu commands displayed in light grey are currently unavailable.
D Menu commands followed by three periods open dialog boxes in which additional
entries and selections must be made.
E In some cases, key combinations can be used to activate commands directly,
without opening the corresponding menu. When available, these key combinations
are shown after the command in the menu.
F A check mark in front of a menu option shows that this option is currently
activated. To deactivate an activated option, simply select it again. The check mark
disappears, indicating that the option is now inactive.
This expands the next level of the hierarchy in the Project Navigator window. These
levels can, in turn, also contain hidden lower levels.
Some of the lower levels in the Project Navigator
window are expanded.
Note: There are two possible responses when you double-click on a POU name,
depending on the settings in the MMP.INI file and in the menu Extras - Options -
Zoom Header/Body - Navigator Zoom (➞ Chapter 2).
- Show/hide header and body in the Project Navigator window
- Open Header and body
Note: In the Sequential Function Chart editor you can activate and deactivate
additional comments for steps with the menu View - Extended Information
(➞ page 6-28).
Options e CpuType: Display the PLC CPU for which the project is configured
e Editor Info: Display the POU name and the number of variable entries in the
header
e Free Memory: Display the amount of free memory (in bytes)
e Online: Display online status
e Conn Status: Display active connection to the PLC system
! PLC Status must be ON for this option !
e Error Status: Display error/no error PLC operation status
! PLC Status must be ON for this option !
e Path: Display path on which the current project is stored
e Security Level: Display current security level
e Clock: Display time
e System Resources: Display free Windows system resources (in %)
e Messages: Display description of the tool beneath the mouse pointer
The Project Navigator window is displayed on the left of the screen. The object
windows are arranged vertically. The size of the object windows depends on how
many windows are currently open.
The Project Navigator window and all open object windows are overlapped across the
screen so that all the title bars are visible, starting at the top left corner.
Icon R Window
Click on the icon you wish to open and then select Restore, or simply double-click on
the icon.
Window R Full-size window
Click on the Maximise icon (C in the upper left corner of the window title bar), or
select the Maximise command in the control menu.
Full-size window R Previous window size
Click on the Restore button (the button with both up and down arrows in the upper
left corner of the window title bar), or select the Restore command in the control
menu.
Icon R Full-size window
Click on the icon and select the Maximise command.
Full-size window R Icon
Select the command in the control menu.
Note: You can find a list of all the key combinations for working with windows in
the Appendix.
Note: You can find a list of all the key combinations for working with windows in
the Appendix.
The check mark ✓ in front of the menu command in the menu View identifies
options that are currently enabled. When you deactivate an option the check mark is
no longer displayed.
The instructions below are primarily for working with the mouse, but special keyboard
key combinations are also included. All the key combinations for working with tables
and the editors are listed in the Appendix of this manual.
Note: For full details on using the mouse in Windows please refer to Windows
Fundamentals section in the Windows User’s Guide.
b Select the editing command you wish to execute in the Edit menu.
Or:
Press the corresponding key combination:
Cut bX
Copy bC
Delete c
IMPORTANT: Deletions are performed directly, without prompting for
confirmation. If you inadvertently delete something you can restore the deleted data
by selecting the Undo command in the Edit menu. However, please note that this
only works if you execute Undo directly after performing the deletion!
Find in:
This option enables you to search and replace in
e the entire project (All objects)
e individual objects selected in the Project Navigator
e the current editor only
− POU names
Find options:
e Match whole word only Search the entire word only
e Match case Search and replace operation for text exactly as entered, with
upper/or lower case characters
e Search in comments Activating this option extends the search and replace
operation to comment texts
Important note: You can replace function blocks in the graphical editors but no
check is performed. Also, the replace procedure cannot be reversed; the only way to
restore the project to its original state is by not saving it and reloading the old
version from the disk.
To open the table object window, double-click on the corresponding object in the
Project Navigator window. If the object window of a body is already open you can
open its header by selecting the Open Header command in the Object menu.
1 2 3
7 6
You cannot change the number or the arrangement of the columns. When you
activate a new table only line 0 is shown, in which you can enter the first variable.
Note: You can also copy all the entries from the global variables list to the header of
a POU by using the clipboard. When you do this, the data fields are automatically
placed in the correct columns.
Continuous range: Hold down the j key and click on the last line of the range
to be selected.
Or:
Hold down the j key and extend the selection to the lines above or below the
first selected line with the w or y keys.
Selecting groups of individual lines: Hold down the b key and click on the lines
you wish to select.
The selected lines are highlighted in the display.
3.10.2 Automatic copying of the contents of the preceding line into the new line
(Autoincrement)
When a new line is entered in a declaration table the contents of the preceding line
are automatically copied to the new fields. Identifiers and addresses are automatically
incremented by 1.
This function is only available when the Incremental New Declarations option in the
Extras - Options - Editing - Declaration Editor menu is enabled.
If you also wish to include the contents of the Type and Comment fields you must also
activate the Copy Comment and Type Fields option.
Libraries
e <ALL> All data types (incl. Libraries)
e <Project> All data types in the project
e Manufacturer_Lib Reserved for functions to be added later
e Standard_Lib Reserved for functions to be added later
Type Class
Data type class
e Simple Types Simple data types
e Data Unit Types Structured data types (DUT)
e Function Blocks Function blocks
Types
All existing data types, depends on the selections in the previous list fields.
1 2
3.11.1 Networks
In the Sequential Function Chart, Ladder Diagram and Function Block Diagram
languages, the PLC program is always divided into a number of logical program units
referred to as ‘networks’. These networks can be given network labels which can be
used as destinations for jump (goto) instructions.
IMPORTANT: In the graphical editors (Ladder Diagram and Function Block Diagram)
you can only program a maximum of one circuit in each network.
Or:
a Insert new networks directly in the Network List.
Note: In MELSEC networks you can only use MELSEC programming instructions; you
cannot use the IEC instructions. Also, you can only insert MELSEC networks in
Instruction List programs (➞ Appendix E).
Note: Network labels and titles can also be entered directly in the Network List.
Network labels can be used as jump destinations in your PLC program, using the JMP
operator in the Instruction List language, and with the jump instruction in the Ladder
Diagram and Function Block Diagram languages.
Remember that every network label uses one system label and that the total number
of system labels is limited to a maximum of 256. Since system labels are also needed
for other elements in MM+ (➞ page 5-19), you should only define labels to networks
to which you actually intend to perform a jump.
Managing networks
The Network List is a powerful tool that gives you a clear overview of each POU’s
networks, enabling you to manage them easily and efficiently.
e Paste:
The network in the clipboard is inserted in the Network List and the body,
directly before the currently selected network.
e Delete:
Deletes the currently selected network without copying it to the clipboard. If
you accidentally delete a network you can recover it by clicking on the Undo
button. However, please note that Undo only works if you execute it
immediately after performing the Delete command!
e Undo:
Undoes the effects of the last command.
e Redo:
Undoes the effects of the last Undo command.
e Find:
Allows you to find specific network labels in your program. Please note that the
search is case-sensitive and wildcard characters (? and *) are not supported.
e Close:
Closes the dialog box, accepting any changes made.
Note: The standard Windows key combinations for Delete, Cut, Copy and Paste are
not supported in this dialog box! You can only perform these operations with the
buttons in the box. However, the key combinations are supported for editing labels
and titles.
5 4
3 4 5 6 G H
L K
3.13.1 Options
In the menu Options - Extras you can specify options which make handling
operations in the graphic editors easier.
FBD/LD
e Declare New Identifiers When you overwrite a dummy variable in a graphical
editor with a variable identifier name that has not yet been declared the Variable
Selection (Mode NewVar) dialog box will be displayed automatically so that you
can enter the declaration for the new variable.
e Pin Overwrite When you create a connection to an empty variable connection in
a graphical editor the empty variable will be overwritten.
e Automatic Input/Output Box The system will automatically create the input and
output variables when you insert a function block in a graphical editor.
e Automatic ENO Box The system will automatically create the ENO output variable
when you insert a function block in a graphical editor. If the ENO output variable
is not needed this option has to be disabled.
e Line / Arrow (toggle function) Toggles between select mode and interconnect
mode.
e AutoConnect Makes positioning and moving graphical elements simpler. When
elements are moved the connection lines are redrawn automatically (➞ page 3-41 )
Mouse
Purpose
Pointer
Select Mode
Interconnect Mode
e VarInput Pin (FBD only) Insert input variable (same as Tools - Input Variable)
e Contact (LD only) Insert input contact (same as Tools - Contact)
e VarOutput Pin (FBD only) Insert output variable (same as Tools - Output
Variable)
e Coil (LD only) Insert output coil (same as Tools - Coil)
e FUN/FB Opens Function Block Selection dialog box for programming instruction
selection
e Last 5 function blocks list The last 5 function blocks inserted in the LD or FBD
editors can be reused directly by selecting them from the list at the bottom of the
context menu.
Or:
Selecting elements out of sequence: While holding down the j key, select the
elements one after another by positioning the mouse pointer over them with the
cursor keys and pressing k.
Selecting elements in sequence: Position the pointer outside the area to be
marked. While holding down the k key, use the cursor keys to drag the dotted
rectangle around the program elements you wish to select.
3.13.5 AutoConnect
The AutoConnect function can be activated in the Tools menu or the context menu .
The AutoConnect mode makes moving and connecting graphical elements much
easier. When you move the elements the connecting lines are stretched and rerouted
automatically, so that you do not need to edit the lines by hand. To connect elements
in the AutoConnect mode you simply click on the start and end points and the lines
are drawn automatically.
The mouse pointer has the following forms in AutoConnect mode:
Mouse
Purpose
Pointer
Select Mode + AutoConnect
If there is an anchor point on the connection line the lines will only be modified up to
the position of the first anchor point. The lines on the other side of the anchor point
and the anchor point itself all remain unchanged (➞ page 3-45 ).
An error message will be displayed if you try to move an element to a position that
MM+ cannot calculate. You can then abort the move operation.
The Undo function is available as well.
Recalculate Line
The menu command Recalculate Line in the Tools menu helps to recalculate lines
which have already been drawn.
In the normal Interconnect Mode (AutoConnect is disabled) a connection with several
lines has been created.
The positions of the connection points are dictated by the grid raster.
If you click on a position where no black connection dots are displayed the operation
will be aborted automatically, thus preventing the inadvertent creation of connection
lines without connected ends.
Anchor points
Double-clicking on a potential connection point creates an anchor point. Anchor
points are indicated by small black squares.
When you move elements in the editing window the positions of the anchor points
remain unchanged.
Anchor point
3.13.6 Variables
The variable is inserted. You must now assign the variable name.
Note: Most programming instructions have a specific number of input variables.
However, in some cases (e.g. ADD_E) the number of input variables can be
increased. With these instructions the Number of Pins field is activated in the
programming instruction dialog box. Enter the required number (max. 28) in this
field. Note that the EN input is not included in the total. For example, if you enter 5
connections for the ADD_E function the resulting Block will have 5 real connections
for the addition operation and one EN input.
A one EN input
2
B and 5 addition connections
Increment
Decrement
Position the mouse pointer on the lower border of the function block. When the
pointer changes to a double arrow press the left button and drag down
(increment) or up (decrement).
Incrementing
If the Automatic Input/Output Box option in Extras - Options - Editing is activated
empty dummy variables are automatically inserted when you increment the number of
variable pins.
Decrementing
The input variables will be deleted if they are still empty, i.e. if no variable has yet
been assigned to them.
However, if variables have already been assigned to them they will not be deleted.
How to insert input and output variables in the graphical editors automatically
a Activate the Automatic Input/Output Box option in Extras - Options - Editing.
When this option is activated the input and output variables are automatically
inserted when you add a function block in the graphical editors. The dummy
identifier ? (question mark) is inserted in the variable name field.
Deleting variables
a Select the variable’s connecting line.
b Press c.
Or:
a Select the question mark dummy or the variable name.
b Press c.
c Press the | key.
Note: You don’t need to delete the variables at the connecting pins before inserting
lines in AutoConnect mode. They are overwritten automatically.
Text editors:
Menu: Tools - List Operators/Operands
m key
Right mouse key
The Function Block Selection dialog box is displayed. It remains open, active and
visible until it is explicitly closed. It is also closed automatically when you close the
current body or activate another window on the screen.
Libraries
e <ALL> All programming instructions available for the PLC currently selected.
e <Project> Functions and function blocks created by the user (depends on the
selection in the Operator_Type field)
e Manufacturer_Lib All programming instructions in the manufacturer library
e Standard_Lib All programming instructions in the standard library
Operator Type
e All Types IEC operators, functions and function blocks
e Operators IEC operators
e Functions Functions
e Function Blocks Function blocks
Number of Pins
This field is activated when the instruction allows you to change the number of input
contacts (input pins).
Operators
All available programming instructions (depends on the selections in the previous
fields). If you enter the first letters of an instruction manually the highlight
automatically jumps to the first instruction beginning with that letter or letter
combination.
APPLY button
e Graphical editors When you move the mouse pointer over the editing window it
changes to a pointer with a function block symbol. Simply click at the position
where you wish to insert the instruction.
e Text editors Enters the selected programming instruction in the editor window.
3.15 Variables
Then:
e In the Task Information dialog box: Event (F2 key only)
e In both graphical and text editors:
- Tools - List Operators/Operands menu
- m key
- Right mouse button
The Variable Selection dialog box is then displayed. This dialog remains open and
visible on the screen and does not need to be closed when you perform other editing
actions in the program body.
Libraries
e <ALL> All of the project’s variables
e <Header> All local variables in the header of the currently open POU
e <Global Vars> All global variables
e Manufacturer_Lib Reserved for functions to be added later
e Standard_Lib Reserved for functions to be added later
Type
Depends on the selections in the Libraries and Type Class list fields:
e Simple Types Simple data types: ANY, ANY_BIT ...
e Data Unit Types Structured data types (DUT)
e Function Blocks Function blocks
Default settings:
- Graphic editor: Data type of formal parameter, contact/coil: BOOL
- Transition in SFC: BOOL
Type Class
e Simple Types Simple data types
e Data Unit Types Structured data types (DUT)
e Function Blocks Function blocks
Selecting a function block variable
Variables
Depends on the selections in the preceding list fields: All existing variables
When you enter the first letters of the variable name the highlight will automatically
jump to the first variable with this letter or letter combination.
APPLY button
Enters the selected variable into the selected variable dummy name in the editor
(same effect as double-clicking).
NEW ON button
Selecting this button expands the dialog box, displaying an additional area for the
declaration of new variables. The dialog box title changes to Variable Selection
(Mode NewVar).
The expanded dialog box fields enable you to declare new variables of the type
defined by the selections in the Library, Type and Type Class fields. The entries are
the same as those in the variable declaration tables.
You can also declare instances, in the same way as in the declaration tables.
DEFINE button
Selecting this button confirms and accepts all your entries for the new variable. The
button is inactive (greyed out) if your entries are incorrect or incomplete.
The new variable is automatically added to the corresponding declaration table.
IEC 1131-3
This field displays all the available IEC information for the selected variable.
TO HEADER button
Copies all selected global variables to the header of the current POU.
4.1 Projects
The project is the object at the top of the hierarchical structure used in MM+. In IEC
1131.3 terms, a project is comparable with a resource. In MELSEC MEDOC plus it
corresponds to one PLC system.
A project consists of considerably more than just one file. When you create a new
project, MM+ creates a separate subdirectory with the name of the project. All the
files used by the project are always stored in this directory.
These objects are displayed in the Project Navigator window, which is automatically
displayed when you open a project. The project name is displayed as the first entry in
this window.
The Project Navigator window is the ‘control centre’ or ‘starting point’ for all
operations performed on these objects. The relationships between the original objects
are reflected in the hierarchical structure of the Project Navigator tree.
The entries after ‘Body’ specify the programming language in which the PLC program
in the body is written:
[IL] : Instruction List
[LD] : Ladder Diagram
[FBD] : Function Block Diagram
[SFC] : Sequential Function Chart
[MELSEC IL] : MELSEC Instruction List
Action_Pool (SFC only) : All the POU’s Actions
Note: To be able to call a function block you must create an ‘instance’ of it, in a
process known as ‘instancing’ or ‘instantiation’ (➞ Chapter 6) .
Standard Library
The Standard Library is for information purposes only. It contains the following
elements:
DUT_Pool : Irrelevant for programming purposes
Global_Vars : Irrelevant for programming purposes
POU_Pool : The POU_Pool contains the standard IEC programming instructions
supported in MM+. You can view the variable declarations in the
header, but you cannot edit them.
Note: The SLIB.LIB contains the contents of the Standard Library in packed format.
Manufacturer Library
The Manufacturer Library is also for information purposes only. It contains the
following elements:
DUT_Pool : Editable
Global_Vars : Editable
POU_Pool : The POU_Pool contains all the ‘Adapted’ MELSEC programming
instructions with nomenclature modified for the IEC editors (➞
‘Programming Instructions’ in the appendix). You can view the
variable declarations in the header but you cannot edit them.
Note: In contrast to the Standard Library, which cannot be changed, you can make
additions to all the pools and the global variables in the Manufacturer Library. For
example, you can create a permanent list of all the variables in the Manufacturer
Library that is then loaded automatically with every new project. The global variables
then do not have to be redefined; they are available for declaration in every POU.
Note: The file MLIB.LIB contains the contents of the Manufacturer Library in packed
format.
User Libraries
A user library gives you the possibility of creating functions and program segments
which can be used on a supra-project basis. The program segments are grouped in a
library and can be used in any project. Following updating, changes made to the
library can be applied to other projects.
A user library can contain all the objects that are also available in a project: Global
Variables List, Data Unit Types, Arrays and Program Organisation Units. You can assign
a password to protect the know-how in the library.
The name of the user library file has the file extension SUL.
Note: The SC.INI initialisation file contains the LIBRARIES section, where you can
make directory settings (➞ chapter 2).
b Click on the Browse Lib. button. The Select Library Path dialog window appears.
c Choose the directory in which the library is to be stored.
d Enter a new name for the library.
e Confirm with OK.
The entries are transferred to the Install/Create User Library dialog window,
where they can also be changed.
f Confirm the library entries with OK.
The new library appears in the Navigator, along with the Standard Library and the
Manufacturer Library.
b Select the CPU for which you are programming from the list box.
c Confirm your selection with OK.
The dialog box New Project is displayed.
d Select a directory for your project or type in the path in the Project Path field. If
you wish, you can also enter a directory that does not yet exist; MM+ will then
create it for you automatically.
e Enter the name of the project at the end of the project path.
The project name can be a maximum of eight
characters long.
MELSEC mode
If you click on the MELSEC button, MM+ automatically creates the following two
objects:
One program organisation unit, and
One task with this POU
When creating a project for an A3CPU you can activate the Option Use Sub.
MM+ creates then another two objects (one POU and one task) for the SUB
program.
IEC mode
If you click on the Standard button in the Wizard dialog box no objects are created.
Note: If you do not wish to use the Wizard’s support you can deactivate it by
editing the Wizard setting in the SC.INI file (➞ Chapter 2).
Note: Please note that you cannot open and edit more than one project at a time.
Recover: This option restores all the project’s data so that nothing is lost. The
system restores the exact editing status of the project at the point the unplanned
termination happened.
Use Backup: Loads the status of the project as it was the last time you loaded it
for editing. All changes made between then and the unplanned termination are
lost. An additional backup copy of the project is generated and stored in the file
*.SAV.
When you open an existing project that was closed correctly MM+ loads *.PRO and
creates *.BAK. Here too, all the entries and editing changes you make are stored in
the PRO file. The BAK file stores the status of the project at the point it was loaded.
As you can imagine, when you select Recover, the system loads the PRO file in
which all the editing changes up to the termination point are stored.
By the same token, selecting Use Backup loads the BAK file. This means that if you
first created the project in the editing session in which the termination occurred the
BAK file will be empty!!! If you loaded an existing project in the last editing session
the BAK file contains the status of the project from the point when you began the
editing session. Whenever a *.BAK file is loaded an automatic additional backup
copy of the project is generated and stored in the file *.SAV.
Saving under a new project name: Select Save As in the Project menu. Select
the desired subdirectory and assign a new project name.
When you save the project the backup file is updated automatically.
General Options
Name: Name of the selected object
Size: Size of the selected object in
bytes
ATTENTION: The system will allow you to change the programming language of a
POU, but if you do this you will lose all the code in the body! A message will be
diplayed.
e Confirm your entry by re-entering the same new password in the Reenter
Password field.
f Click on the Change button to enter the password.
A message will be displayed telling you whether the system has accepted the old and
new passwords.
Note: If the project has security level 5 and the object has already been assigned
security level 6 you cannot change the security level of the object in this dialog box.
Security levels that cannot be selected are displayed in light grey. To change the
security level of such objects you must first change the level of the project; for
instance, in this example, you would have to change the project security level to 6.
This is only possible if you know the password of this security level, of course.
Selecting individual options with the check boxes: Select the check boxes by
clicking with the mouse or pressing the k key.
c Select the Print button. Selecting Close exits the dialog box without saving your
selections.
Selecting the Setup button opens the Print Setup dialog box, in which you can
set the parameters of the default printer or select another printer.
e Start the printout with the OK button.
e Generate *.SCT files while checking a project Activates generation of the SCT
files during project checks.
e Automatically link the *.SCT files to the *.scx file Activates automatic linking
of the SCT files to the SCX file.
Query
e Variable name
e Namespace Object name; e.g. Program Organisation Unit, Global Variable List
e Datatype e.g. BOOL, INT
e Scope Class; e.g. VAR, VAR_GLOBAL
e Address parameter Variable address
e Button: Search Start the search. The result of the search is presented in the
windows.
e hits number of matches found
Declares/References
Depending on the element that is marked in the left-hand window after a search,
further details are listed in the right-hand window and in the Variable Info List. You
can set further search filters for these details.
Filters
e Namespace Object name
e Access Tells you how the variable is accessed in the projects.
5 PLC Parameters
Program Size
e Maximum Shows the maximum program size memory capacity in program steps.
e Used Shows the amount of memory used by the program in program steps. This
value is only displayed after the project has been compiled.
File Register
If you wish to use file registers in Q series CPUs you have to define the number you
wish to use here first.
e Amount Specify the number of file registers you wish to use (units: k points). The
Q CPU can handle a maximum of 1,024 addresses (i.e. 1MB). However, since a few
addresses are also used for making the file registers available you can only actually
use a maximum of 1,018 addresses.
e Drive Specify the number of the drive corresponding to the external memory card
you wish to use for the file registers. Valid entries: Drive numbers 1-4.
e Latch Relays / Link Relays Device range for the memory-resident latch and link
relays. The parameter values must be entered in hexadecimal format.
e Timers Device range for the 10 ms and 100 ms timers
e Counters Counter device range
e Data/Link Registers Register device range
e Extended Timers Device range for extended timers
e Extended Counters Device range for extended counters
The following table shows the correspondences between the devices in the A series
and the Q series:
MELSEC A Devices MELSEC Q Devices
Accumulators A0 and A1 Diagnostics link registers SD718 and SD719
Link registers B
Counters C
Data registers D0 - D8191
Special registers D9000 - D9255 Diagnostics link registers SD1000 - SD1255
Annunciators F
Hexadecimal constants H
Interrupt pointers I
Constants K
Latch relays L0 - L8191
Internal Relays M0 - M8191
Special relays M9000 - M9255 Diagnostics link relays SM1000 - SM1255
Nesting N
Pointers P
File registers R
Step relays S0 - S8191
Timers T (low-speed 100ms)
Timer T (high-speed 10ms)
Accumulator (retentative) timers T Accumulator timers ST
Index registers V, V1, V2, ..... Index registers Z7, Z8, Z9 ...
Link registers W
Input relays X
Output relays Y
Index registers Z, Z1, Z2, ... Index registers Z0, Z1, Z2, ...
RAD
Input format (10 = decimal, 16 = hexadecimal)
Devices
Enter the number of devices you wish to use in your project in this column. The device
types with no entry fields have a fixed range which cannot be changed by the user:
− Input relays X = 8K
− Output relays Y = 8K
− Diagnostics link relays SB = 2K
− Step relays S = 8K
− Diagnostics link registers SW = 2K
e Start Address (Normal Timers) This field is used to set the device head numbers
(start addresses) for the timers. You can only enter values divisible by 8.
e Watchdog Timer Setting Time value in ms for the Watchdog Timer
e Interrupt Counter Head No Device head numbers for the counters connected
to the active interrupts.
e Start Address (Extended Timers) ! Only relevant for AnA/AnU CPUs !
This field is used to set the starting addresses of the extended timers. You can only
enter values divisible by 16.
e Range Settings ! Only relevant for AnA/AnU CPUs !
Number of extended timers and counters.
e Init Device Timer ! Only relevant for AnA/AnU CPUs !
Register type and head number (start address) of the setpoint value registers used
for the extended timers (➞ Chapter 6).
e Init Device Counter ! Only relevant for AnA/AnU CPUs !
Register type and head number (start address) of the setpoint value registers for
the extended counters (➞ Chapter 6).
e I/O Slot Number of the base unit slot in which the module is installed
e I/O Type Module type: Input, Output or Special Function Module
e I/O Range Number of addresses allocated in the base unit
e Module Type List of the MITSUBISHI modules that can be used. Depends on the
settings made in I/O Type and I/O Range.
I/O Config
e Slot List All slots (max. 64)
e Slot Selected slot
e Type Input module, output module, special function module or spare slot
e Items Number of addresses occupied by the slot
e 1stXY Starting address of the module in units of 16 addresses
e Type Name List of supported MITSUBISHI modules
Base Settings
e Extension List 1 base unit and up to a maximum of 7 extension units
e Base Name Designation of the base unit
e Power Supply Designation of the power supply
e Extension Cable Designation of the extension cable
e Control Input These fields are used for entering the inputs (X) used for
controlling the PLC’s operating mode.
Run The PLC is set to RUN mode as soon as this input is on.
Pause When this input is on the PLC is switched to PAUSE mode.
Relay M9040 must be set for this to be possible.
e Display Comment Enable or disable the comment display on the AnA and A3M
CPUs.
e Behaviour on System Error These option buttons set CPU response to the
following error situations:
– Fuse failure
– Calculation error
– I/O module error
– Special function module error
e Output Mode at Stop to Run Behaviour of the PLC CPU after a system stop and
restart of the process.
Previous State Resume process
Recalculate State Recalculate
Error Check
Enables you to activate/deactivate the following error checking functions:
− Battery
− Fuse
− I/O modules
WDT Setting
Setting for the watchdog timer.
Range: 10 - 2,000ms in units of 10ms
# of Free Slots
Enter the number of addresses occupied by a free slot in this field.
Range: 0 - 64 in units of 16
Constant Scan
Enter the constant scan cycle period here.
Range: 5 - 2,000ms in units of 5ms
System Interrupt
These fields enable you to specify the counters you wish to allocate to the system
interrupt signals. A total of 32 interrupts are available (I0 - I31).
e 1st Int Counter The first interrupt counter can be an address from the following
counter range:
C0 - [sum of all counters minus 48]
Example:
Assuming you have set 1K of addresses for the counters in the Device Settings
dialog box you have 1,024 counter addresses available (C0 - C1023).
A possible entry for the first interrupt counter would thus be:
C0 - 1024 minus 48, which gives you
C0 - C976
e I28 / I29 / I30 / I31 Const Interval You can set constant interrupt intervals for
interrupts I28 - I31.
Range: 5 - 1,000ms in units of 5ms
Timer Interval
Used to set the intervals for the high-speed and low-speed timers. The timers will then
act as high-speed or low-speed timers when they are activated by the appropriate
instructions in the PLC program.
Low-speed timer instructions: TIMER (IEC editor), OUT (MELSEC editor)
High-speed timer instructions: TIMER_H (IEC editor), OUT_H (MELSEC editor)
Low-speed timer range: 10 - 1,000ms in units of 10ms
High-speed timer range: 1 - 100ms in units of 1ms
e Input Control Defines the processing mode for the input values. The option to be
chosen depends on the PLC CPU in the system.
Direct Direct mode processing
Buffered Process I/O image processing (refresh mode)
e Output Control Defines the processing mode for the output values. The option
to be chosen depends on the PLC CPU in the system.
Direct Direct mode processing
Buffered Process I/O image processing (refresh mode)
Interrupt Counter Settings
The interrupt signals are allocated to counters. The counter addresses/device
numbers begin with C224 (Int 0). The end address is C252, which is assigned to
Int 31.
e All Assigns all interrupts to their corresponding counters.
e IModul Assigns all the interrupt addresses of special function modules AI61 and
A1SI61 to their corresponding counter device numbers (Int 0 – Int 15,
C224 – C239).
e ISlot Interrupts Int 16 – Int 23 are generated by special function modules.
e Periodic Interrupts Int 29 – Int 31 are periodic interrupts that are generated by the
PLC CPU at millisecond intervals.
Int 29 40 ms (C250)
Int 30 20 ms (C251)
Int 31 10 ms (C252)
e None Disables all interrupt allocations.
e Word Range These fields are used to enter the range used by the Code
Generator for temporary 16 and 32 bit variables. These variables are needed for
Function Blocks and the nodes of multiple output connections. You can specify
whether the temporary variables are to be stored in D, R or W registers.
e Bit Range The same applies for the Bit Range as for the Word Range, except that
the Bit Range is the range used for the temporary values for bit devices.
e System Timers The system timers are used for Task management.
Interval-triggered Tasks are handled by the System Timers.
e System Counters Range to be used for internal counters
e System Labels Used for specifying the range to be used for the system labels.
The system labels (pointers) are system variables that MM+ needs for internal
management of the project. A maximum of 256 system labels are supported. One
system label is needed for each of the following elements:
- Every instance of a function block (➞ page 6-36, 6-41)
- Every user-defined function (➞ page 6-30)
- Every event-triggered task (➞ page 6-2)
- Every network label (➞ page 3-28)
- PLS_M, PLF_M, ALT_M with further instructions (➞ page 2-15)
e Step Flags The Step Flags are need for Step Ladder programming and are only
relevant for the FX series of controllers.
e Used Ranges button Displays a list of all devices and address ranges used for
system variables.
NB: Timers only function as accumulator timers when they are activated by the
appropriate instructions in the PLC program, e.g. OUT_ST.
e System Counters Range to be used for internal counters
e System Labels Used for specifying the range to be used for the system labels. The
system labels (pointers) are system variables that MM+ needs for internal
management of the project. A maximum of 256 system labels are supported. One
system label is needed for each of the following elements:
- Every instance of a function block (➞ page 6-36, 6-41)
- Every user-defined function (➞ page 6-30)
- Every event-triggered task (➞ page 6-2)
- Every network label (➞ page 3-28)
- PLS_M, ALT_M with further instructions (➞ page 2-15)
e Step Flags Range to be used for step flags
e Used Ranges button Displays a list of all devices and address ranges used for
system variables.
5.11 MELSECNET/MINI
e Error Code Register with which the error code refresh is to be performed
e At fault The status of data transmission in the event of a communication error.
The following entries are possible:
TEST Output of a test string
OFF Transmission of a 00 string to the remote I/O station
HOLD Sends data to the remote I/O station shortly before communication
6 Programming
POU 1
Program POU 1
DUT 1 Program
POU 2
Function POU 3
DUT 2
Program
POU 3
Program POU 4
DUT 3
Program
POU 4
Program
POU 8
VAR_EXTERNAL
Function
6.2 Tasks
The Task Pool is the ‘control centre’ for the execution of your programs. You must
define at least one task for the project in the Task Pool. In turn, each task contains
one or more PRG (program) type POUs. Each POU can only be defined once in any
one task in the Task Pool. The tasks in the Task Pool are polled cyclically.
Note: You cannot directly manage either function blocks or their instances in tasks.
The execution of tasks is controlled by the following three parameters:
Event
Interval
Priority
Relays: The task is executed when the corresponding relay is set (e.g.: M100).
I/Os: The task is executed if the status conditions of the corresponding inputs or
outputs are satisfied (e.g.: X0).
Note: Every event-triggered task is allocated one system label (➞ page 5-19).
The following table explains how this option influences the processing of the task.
If X10 is not set the PLC program If X100 is not set the PLC program
branches to the end of the task. branches to the end of the task.
Behaviour when The program branches to the end of The statuses of the devices are reset:
event is not active the task but some of the device - Timer: Count value reset to 0,
statuses are preserved: contacts remain off
- Timers: continue to run - Retentative timers and counters:
- Retentative/accumulator timers count value and input contact
and counters: status preserved, output contact is
status preserved reset
- Devices in OUT instructions: - Devices in OUT instructions:
status preserved outputs are reset
- Devices in SET, RST, SFT
instructions: current status
preserved
6.3 Variables
Global Variables
Global variables have fixed hardware addresses (absolute addresses). These absolute
addresses refer to a specific memory location for the variable in the CPU or a physical
input or output. Global variables are defined for the entire project and they can be
referenced as VAR_EXTERNAL in function block and program POUs. They make it
possible to exchange data between all the sub-programs that go to make up the
project.
Local Variables
Local variables (VAR) are only accessible within the one specific program organisation
unit (POU) in which they are declared. Thus, they cannot be used for exchanging data
between POUs.
Note: All variables that need to be referenced via fixed hardware addresses (e.g.
relays, registers and I/Os) should be declared as global variables. The great
advantage of this approach is that you can then use the symbolic names instead of
the hardware addresses to reference them in your program. This greatly improves the
readability of your programs, making them much easier to update and maintain. For
example, if input X0 triggers the Emergency-Off control routine, a reference to the
symbolic name ‘Emerg_Off’ is much easier to understand than a reference to input
X0.
6.3.3 Class
The class keyword assigns the variable a specific property that defines how it is to be
used in the project.
Use in POUs:
Class Meaning
PRG FUN FB
VAR X X X Variable that is only used within the POU
Local variable with unchangeable initial
VAR_CONSTANT X X X
value used within the POU
Variable passed from outside that cannot be
VAR_INPUT - X X
altered within the POU
VAR_OUTPUT - - X Variable passed (output) by the POU
Local variable passed from outside and
VAR_IN_OUT - - X passes (output) by the POU, can be altered
within the POU
VAR_EXTERNAL X - X Global variable used in the POU header
Global variable with unchangeable initial
VAR_EXTERNAL_CONSTANT X - X
value used in the POU header
Global variable declared in the Global
VAR_GLOBAL X - X
Variable List
Global variable with unchangeable initial
VAR_GLOBAL_CONSTANT X - X
value declared in the Global Variable List
You can use either the IEC syntax (IEC-Addr.) or the MITSUBISHI syntax (MIT-Addr.) to
assign the absolute addresses. Two address columns are available.
As soon as you have entered an address in one of these columns, the other address
also appears. You can enter either of the two address formats in both columns. If, for
instance, you enter a MITSUBISHI address in the IEC column, MM+ identifies it
immediately, places it in the correct column and produces the matching IEC address in
the other column.
Use upper case letters only and no spaces or mathematical operator characters
(e.g. +, -, *) in addresses.
When you define global variables you must specify the hardware addresses for each
individual variable. The address declarations are shown in the table below.
MITSUBISHI IEC
Size 5 Range Example
Address Address
X X0 ↔ %IX0
X1F ↔ %IX31 3
%I X
X37 ↔ %IX31 4
X7FFF ↔ %IX32767 5
Y Y0 ↔ %QX0
Y1F ↔ %QX31 3
%Q X
Y37 ↔ %QX31 4
Y7FFF ↔ %QX32767 5
D D450 ↔ %MW0.450
%M W, D 0 D501+
D502 ↔ %MD0.501
D0.5 ↔ %MX0.0.5
%M X5 0
D100.F ↔ %MX0.100.15
W 35 W35F ↔ %MW1.863
%M W, D 1 W301+
W302 ↔ %MD1.769
W35F.5 ↔ %MX1.863.5
%M X5 1
W35F.F ↔ %MX1.863.15
R 35 R450 ↔ %MW2.450
%M W, D 2 R501+
R502 ↔ %MD2.501
R450.5 ↔ %MX2.450.5
%M X5 2
R450.F ↔ %MX2.450.15
M / L / S 12 M0 ↔ %MX0.0
%M X 0
M1024 ↔ %MX0.1024
B 35 %M X 1 B3F ↔ %MX1.63
S 2 %M X 2 S10 ↔ %MX2.10
T Contact 7 %M X 3 TS10 ↔ %MX3.10
T Value %M W 3 TN40 ↔ %MW3.40
MITSUBISHI IEC
Size 5 Range Example
Address Address
C Contact %M X 4 CS10 ↔ %MX4.10
C Value CN10 ↔ %MW4.10
%M W, D 4
CN210 ↔ %MD4.210 4
T Coil %M X 5 TC20 ↔ %MX5.20
C Coil %M X 6 CC20 ↔ %MX6.20
A3 A0 ↔ %MW5.0
%M W,D 5 A0+
A1 ↔ %MD5.0
V23 V1 ↔ %MW6.1
%M W,D 6 V2+
Z2 ↔ %MD6.2
Z %M W 7 Z2 ↔ %MW7.2
Z2.5 ↔ %MX7.2.5
%M X5 7
Z2.F ↔ %MX7.2.15
F %M X 7 F20 ↔ %MX7.20
L5 %M X 8 L30 ↔ %MX8.30
V5 %M X 9 V47 ↔ %MX9.47
N Not permitted in IEC
P Cf. network label
I Only allowed in event-triggered tasks
K K0 ↔ 0
H 16# HFF ↔ 16#FF
SM 5 %M X 10 SM1024 ↔ %MX10.1024
SD 5 %M W, D 10 SD450 ↔ %MW10.450
SD45.5 ↔ %MX10.45.5
%M X 10
SD45.F ↔ %MX10.45.15
SB 5 %M X 11 SB3F ↔ %MX11.63
SW 5 %M W, D 11 SW35F ↔ %MW11.863
SW5F.5 ↔ %MX11.95.5
%M X 11
SW5F.F ↔ %MX11.95.15
ZR 5 ZR327 ↔ %MW12.327
ZR40501 +
ZR40502 ↔$!C %MD12.40501
%M W, D 12 5,5,0,
255,25
5,255
ZR27.5 ↔ %MX12.27.5
%M X 12
ZR27.F ↔ %MX12.27.15
ST Contact 5 7 %M X 13 STS10 ↔ %MX8.10
ST Value 5 %M W 13 STN40 ↔ %MW8.40
MITSUBISHI IEC
Size 5 Range Example
Address Address
U \G 5 U1\G8 ↔ %MW14.1.8
%M W, D 14 U2\G10 +
U2\G11 ↔ %MD14.2.10
U1\G8.5 ↔ %MX14.1.8.5
%M X 14
U1\G8.F ↔ %MX14.1.8.15
ST Coil 5 %M X 15 STC20 ↔ %MX9.20
J \X 5 %I X 16 J1\X1F ↔ %IX16.1.31
J \Y 5 %Q X 16 J1\Y1F ↔ %QX16.1.31
J \B 5 %M X 16. .1 J2\B1F ↔ %MX16.2.1.31
J \SB 5 %M X 16. .1 J2\SB1F ↔ %MX16.2.11.31
J \W 5 J1\W35F ↔ %MW16.1.1.863
%M W, D 16. .1 J1\W301 +
J1\W302 ↔ %MD16.1.1.769
J1\W5F.5 ↔ %MX16.1.1.95.5
%M X 16. .1
J1\W5F.F ↔ %MX16.1.1.95.15
J \SW 5 J1\SW35F ↔ %MW16.1.11.863
J1\SW301 +
J1\SW302 ↔$ %MD16.1.11.769
%M W, D 16. .11 !C5,5
,0,255
,255,2
55
J1\SW5F.5 ↔ %MX16.1.11.95.5
%M X 16. .11
J1\SW5F.F ↔ %MX16.1.11.95.15
BL 5 %M W 17 BL319 ↔ %MW17.319
TR 5 %M X 18 TR511 ↔ %MX18.511
DX 5 %I X 1 DX1F ↔ %IX1.31
DY 5 %Q X 1 DY1F ↔ %QX1.31
FX 5 Not needed in IEC
corresponds to VAR_INPUT
FY 5 Not needed in IEC
corresponds to VAR_OUTPUT or
function result
FD 5 Not needed in IEC
corresponds to VAR_OUTPUT,
VAR_INOUT or function result
J5 Not permitted in IEC
U5 Not permitted in IEC
Table notes
A M, L and S devices are not compatible to old MEDOC projects. The system does
not check whether latch relay devices L (e.g. L100) are within the latch range of
the relay devices M. Memory-buffered M relays are not displayed as L latch relays.
L and S relays are handled differently in the Q series.
B In the A series CPUs the step status devices S are treated in the same way as M
relay devices. For example, this means that M100 and S100 are identical.
In the F and Q series CPUs the S devices are treated as step status devices
C Applies for A series controllers only
D Applies for F series controllers only
E Applies for Q series controllers only
F The size prefix is optional, i.e. the entries %IX10 and %I10 are effectively identical.
Prefixes:
X Bit device
W Word device
D Double word device
G The following types of MITSUBISHI devices are used for timers and counters:
STS, TS, CS Contact (Timer, Counter)
STC, TC, CC Coil (Timer, Counter)
STN, TN, CN, T, C Value (Timer, Counter)
6.3.6 Comment
You can add a comment up to 64 characters long for each variable.
A You can set the default value for the number of characters in string variables with
the option Extras - Options - General - Default String Length (characters).
The STRING datatype is only available for MELSEC Q series.
Data unit types (DUT) are structured, derived data types containing a collection of
variables which can be of different data types (➞ page 6-45).
ANY
WORD
DWORD
ANY_REAL ANY_INT
REAL INT
DINT
ANY_16 ANY_32
6.4.1 Networks
Programming is done in ‘networks’ in all programming languages except Sequential
Function Chart (SFC). You can define multiple networks, each of which is identified
with a network label. It is then possible to switch from one network to another within
the PLC program by using jump instructions in the program code. For a detailed
description of this please refer to chapter 3.
Network labels can have a maximum of eight characters and must always be
terminated with a colon (:). You can also assign a title to each network. These
network titles can be descriptive names up to 22 characters long, and using them
makes handling large projects with many networks a great deal easier.
Note: Remember that every network label uses one system label and that the total
number of system labels is limited to a maximum of 256. Since system labels are also
needed for other elements in MM+ (➞ page 5-19), you should only define labels to
networks to which you actually intend to perform a jump.
Note: The difference between programming in the MELSEC editor (with execution
condition) and in the IEC editor (with accumulator) is described in the Beginner’s
Manual (➞ Chapter 3).
Initial Step
An SFC sequence always begins with an initial step. The initial step does not have to
be at the beginning, however – it can also be placed at another point in the sequence.
Note: The initial step is always the first step that is executed in an SFC program,
even if it is not placed at the physical beginning of the sequence.
Jumps
Jumps are executed with exit and entry steps (jumps and jump destinations). Each
entry step (i.e. the jump destination) is always directly followed by an action. You can
thus only insert an entry step when the action which is to follow it is selected. The exit
step must always be programmed after a transition, as it replaces the action that
would normally come in this position. This means that no further actions or transitions
can follow an exit step, which is thus also the final instance within its SFC sequence.
The relationship between the exit and entry steps is established by using the same
label (name) for both of them.
When you program a jump instruction pressing m displays a list of all the labels (i.e.
potential jump destinations) that have already been defined. You can then simply
select the appropriate label from the list and confirm to enter it.
Note: You will find examples of the sequencing rules described here on the
following pages.
The following basic rules of thumb will help you with writing your first SFC programs:
Each step must always be followed by a transition, each transition by a step.
The only exceptions to this rule are exit and entry steps (jumps and jump
destinations). Both of them ‘replace’ steps, and they must thus always be
programmed directly after transitions.
Entry steps (jump destinations) must logically always be followed by a step that
can be executed.
An exit step (jump) must always be programmed after a transition that is not
followed by a step.
Selective branches can only be inserted before transitions.
Since a selective branch polls a variety of conditions before executing a step these
conditions must be placed in transitions directly after the branch.
Parallel branches can only be inserted after transitions.
This is because a parallel branch has the effect that two or more steps are
performed simultaneously after a common transition.
STEP_1
Example:
The transition from STEP_1 to STEP_2 is only executed if STEP_1 has been
executed and transition condition TRAN_1 evaluates true.
TRAN_1
STEP_2
Example:
The transition from STEP_1 to STEP_3 only takes place when
TRAN_2 STEP_1 has been executed and transition condition TRAN_1
TRAN_1 evaluates true. The transition from STEP_2 to STEP_3 only
takes place when STEP_2 has been executed and TRAN_2
evaluates true.
STEP_3
STEP_2 STEP_3
STEP_3
Empty branches
This is a special form of selective branching in which
one or more alternative branches contain no steps.
STEP_1
Example:
If and only if TRAN_1 is false and TRAN_4 is true
the transition runs from STEP_1 to STEP_4, skipping
TRAN_4 STEP_2 and STEP_3.
TRAN_1
STEP_2
TRAN_2
STEP_3
TRAN_3
STEP_4
TRAN_2
STEP_3
TRAN_3 TRAN_4
LABEL_2 B
STEP_4
C Convergence
D
D Step and Transition
I Convergence
H
I
d Select the required action and confirm with OK. The name is then displayed in the
Action Association field.
e Press ^ to close the dialog box.
The selection of actions from the Action Name List as described in step c is for the
association of programs already stored in the Action Pool. If no actions have yet been
created a message is displayed when you press m.
The action associated with a step does not have to be a program; you can also
associate steps with direct operands, effectively defining the operand as an action.
Note: Steps that have already been associated with actions are shown shaded in the
editor.
Entering comments
a Activate the Extended Information option in the View menu to increase the size
of the step display in SFC language.
b Select the step in the sequence for which you wish to enter a comment. Take care
to only mark the step itself and not its name.
c Activate the Edit Step Comment option in the Tools menu or press je to
display the comment entry dialog box.
d Enter the text of your comment.
e Press be to insert the comment text into the box representing the step.
f You can suppress the comment text display by deactivating the Extended
Information option in the View menu.
See also the Comment option in Extras - Options - Zoom Header/Body -
Step Zoom Into (chapter 2).
T_2 T_3
S_4 S_5
T_4 T_5
S_6 S_7
T_6 T_7
An ‘inaccessible’ sequence
This sequence suffers from a similar problem. In this
S_1 case, T_6 is completely inaccessible when the
sequence containing steps S_5 and S_7 is executed.
T_6 can only be polled if both S_6 and S_7 are active.
T_1 S_6 can never be active, however, because T_4 can
only be polled and execute its transition when S_2 and
S_4 are active.
S_2 S_3
T_2 T_3
S_4 S_5
T_4 T_5
S_6 S_7
T_6
The two main characteristics of functions are that they output exactly one data
element when they are processed and that they always deliver the same output values
in response to the same input values. Functions do not have any memory, and
although they can contain more than one data element (arrays) they can only output
one data element. Functions are thus independent program blocks; they have the
same functionality as normal programming instructions, and can be replaced and used
in other program sections at will.
Note: Each user-defined function uses one system label, irrespective of how often
the function is called (➞ page 5-19).
6.6.2 Declarations
The first step in creating a function block is to declare it as a program organisation
unit.
Header
In the header you must declare all the variables used in the function. Function
variables can be either of the type VAR, VAR_INPUT or VAR_CONSTANT. The function
itself can be one of the data types (BOOL, INT, DINT, WORD, DWORD, TIME, REAL).
The variables declared in the header are also referred to as formal parameters.
Body
The body contains the program code to be performed on the variables declared in the
header. The result of the function must be explicitly assigned to the function name.
Note: The procedure for creating a new function is described in Chapter 4 (‘How to
create new objects’).
Formal
parameters
The result is
assigned to
the function
name
When you call a function in Instruction List language you must first load the first
parameter into the accumulator with the Load instruction (LD). The next program line
then contains the references to the function’s name, as the operator, and to the other
variables declared in the header. When this statement is executed actual parameters –
i.e. specific values – are passed to the remaining formal parameters defined in the
header. The result of the function is stored in the accumulator.
The value 10 is loaded into the accumulator. This is then
followed by the function call FUN_1. The value in the
accumulator is added to Factor_A and multiplied by
Factor_B. The result is stored both in D100 and the
accumulator.
Note: Please note that you must always assign the values to the variables in the
correct order as dictated by the syntax!
b Press b and l. The parameters are inserted automatically, with dummy variable
question marks and the data type in the actual parameter positions.
LD ?STRING
INSERT ?STRING,
?INT
ST ?STRING
c Overwrite the dummy variable names with a direct address or a variable name.
Function blocks can have one or more outputs and can produce one or more different
output values for the same input values. The results are stored after the function block
has been processed, and these values are used the next time the function block is
called. Function blocks must be instantiated before they can be called in a POU.
6.7.2 Declaration
The first step in creating a function block is to declare it as a program organisation
unit.
Header
All the variables used in the function block’s code must be declared in the header.
Variables in function blocks can be of the types VAR, VAR_IN_OUT, VAR_INPUT,
VAR_OUTPUT, VAR_CONSTANT, VAR_EXTERNAL or VAR_EXTERNAL_CONSTANT. The
result of the function can be one of the data types (BOOL, INT, DINT, WORD,
DWORD, TIME, REAL).
Body
The body contains the program code to be performed on the variables declared in the
header. Direct programming of hardware addresses is not permitted.
EXAMPLE
The function block COUNTER stores the duration of a process. The header contains
declarations of three output variables (Hours, Minutes, Seconds), one input variable
(Process) and one global variable (SecClck) that addresses relay M9032, which
switches once per second.
Note: The procedure for creating a new function block is described in Chapter 4
(‘How to create new objects’).
6.7.3 Instantiation
Function blocks cannot be called directly, they must be called as ‘instances’. When a
function block is ‘instantiated’ an instance, or copy, of it is created in the header
declaration table of the POU in question. The instance is declared as a variable VAR,
for which any identifier can be used. The ‘Type’ is the name of the function block.
Note: You can make multiple instances of one function block. However, remember
that each instance you create uses up one system label (➞ page 5-19).
EXAMPLE
In this example, the COUNTER function block programmed above is instantiated in the
MAIN program POU as PROCESS_TIME.
EXAMPLE
The instance name of the function block is PROCESS_TIME. In this example, the actual
parameters X0, D1, D2 and D3 are assigned to the formal parameters ‘Process’,
‘Seconds’, ‘Minutes’ and ‘Hours’.
CAL Process_Time(Process:=X0, Seconds:=D1, Minutes:=D2, Hours:=D3)
EXAMPLE
The instance name of the function block is PROCESS_TIME. In this example, the
actual parameters X0, D100, D200 and D300 are assigned to the formal parameters
‘Process’, ‘Seconds’, ‘Minutes’ and ‘Hours’.
LD X0
ST Process
LD D100
ST Seconds
LD D200
ST Minutes
LD D300
ST Hours
CAL Process_Time()
d Press b and l. The parameters are inserted automatically. The names of the
internal function block variables are entered as the formal parameters. Dummy
variable question marks and the data type are displayed in the actual parameter
positions.
CAL FB_INST(IN1:=?BOOL,
IN2:=?BOOL,
IN3:=?BOOL)
e Overwrite the dummy names with either a direct address or a variable name. Tip:
If you select the dummy name (?BOOL) and press m you can select the variable
directly from the list displayed. Select Apply to enter the variable.
CAL FB_INST(IN1:=X1,
IN2:=VAR_EIN1,
IN3:=VAR_EIN2)
Formal Actual
parameters parameters
Macrocode execution
Standard execution: The function block is called via a system label
Macrocode execution: The function block is expanded internally
A To set the system labels parameter select the PLC_Config entry in the Project
Navigator window and then click on the System Variables button (➞ page 5-19).
Sytem labels 1 System label No system labels 1 System label 1 System label No system labels
(no macro) (macro) (no macro) (EN/ENO and jump) (macro and MC/MCR)
Behaviour of: The function block is The function block is The function block is The function block is The statuses of the
always executed. The always executed. The only executed if the only executed if the devices are reset:
- Timers timers, counters and timers, counters and EN input is set. This EN input is set. This - Timer: Count value
- Counters outputs are thus outputs are thus means that the means that the reset to 0,
- Outputs controlled by the controlled by the timers, counters and timers, counters and contacts remain off
program. program. outputs retain their outputs retain their - Retentative timers
status from the last status from the last and counters:
execution. Timers execution. Timers count value and
continue to run. The continue to run. The input contact
status of counters, status of counters, status preserved,
accumulator/retentative accumulator/retentative output contact is
timers and outputs in timers and outputs in reset
OUT instructions is OUT instructions is - Devices in OUT
preserved. preserved. instructions:
outputs are reset
- Devices in SET, RST,
SFT instructions:
current status
preserved
c Declare this instance as VAR_EXTERNAL in the header of the POU (in our example:
INSERT) where the instance is to be inserted.
d Call up the function block in the body, and allocate to it the name of the instance.
6.8.1 Declaration
Data unit types must be defined in the DUT_Pool.
All the variables in the DUT structure must be declared in a special declaration table.
After this you must then create one or more instances of the data unit type in the
global variables declaration table.
EXAMPLE
The following example shows the creation of a data unit type called SiloType. The
variable collection of SiloType contains two variables of the type INT and one
variable of the type BOOL.
a Enter the following lines in the declaration table for the data unit type:
Silo1 and Silo 2 are the names of the variable of data type SiloType. Since
the elements in type SiloType can have different data types the address assignment
is handled automatically by the PLC, and no default initial values are shown.
EXAMPLE
You have created a Data Unit type called SiloType. Two variables of the type
SiloType, Silo1 and Silo2, have now been declared in the global variables list.
The structure of both is identical, so to reference the individual variables of each DUT
you only needs to prefix their names with the name of the respective global variable.
In Silo1 the values for the temperature and volume variables are determined by the
contents of registers D0 and D1, in Silo2 by D10 and D11. In Silo1 the Emergency
Off (EmergOFF variable) switch is controlled by the status of input X0, in Silo2 by
input X1.
Instruction List:
SILO1 SILO2
LD D0 LD D10
ST Silo1.Temperatur ST Silo2.Temperature
LD D1 LD D11
ST Silo1.Volume ST Silo2.Volume
LD X0 LD X1
ST Silo1.EmergOff ST Silo2.EmergOff
In the Ladder Diagram version of the example a function block of the type
‘Monitoring’ has been programmed for assigning the register values and the Boolean
input to the elements of the DUTs. Two separate instances (Silo_1 and Silo_2) of
this function block were then created for the two silos.
Calling the Control_Use function block and passing the data unit type directly as an
output parameter
The function block Control is called in the program organisation unit
Control_Use, creating the instance Silo_FB_1.
The input variables of the function block obtain their values from devices D0, D1
and X0.
The output variables of Silo_Output are passed to the data unit type
Silo_DUT_1.
6.9.1 Declaration
Arrays are declared in the header of the program POU. They can be declared as Local
or global variables.
EXAMPLE
This example shows the definition of a one-dimensional array called ArrSingle with
three elements of the type INT, and a two-dimensional array called ArrDouble with
three elements of the type INT in the first dimension and five elements of the type INT
in the second dimension.
a Open the header of a POU.
b Add a new line to the table with the following entries:
e VAR: Definition of the array as a local variable in the program organisation unit
‘P_3’.
e VAR_EXTERNAL: This array is defined as a global variable and referenced in the
header of program POU ‘P_3’ as an external (global) variable.
e ArrSingle / ArrDouble: Names of the arrays.
e ARRAY [0..2] OF INT: The one-dimensional array has three elements (0 – 2) of
the type integer (INT)
e ARRAY [0..2, 0..4] OF INT: This array is two-dimensional. The second dimension
is separated by a comma between the braces. In this example the first dimension
of ArrDouble has three elements (0 – 2) and the second dimension has five
elements (0 – 4).
e 3(0): Number of elements (3) with the default value 0 (0)
e 15(0) Number of elements (3 x 5 = 15) with the default value 0 (0)
6.9.2 Calling
Instruction List:
One-dimensional arrays
LD Actual parameter
ST ‘Array Name’[‘Element’]
Two-dimensional arrays
LD Actual parameter
ST ‘Array Name’[‘Element of 1st Dimension’, ‘Element of 2nd Dimension’]
EXAMPLE
A two-dimensional array called ArrDouble has been defined with three elements in
the first dimension and five elements in the second dimension.
The data registers D0 and D1 are assigned to the following elements:
D0: Position 1 in the first dimension I, position 2 in the second dimension II
D1: Position 2 in the first dimension I, position 3 in the second dimension II
II
4
3 D1
ArrDouble
2 D0
I
0 1 2
Instruction List:
LD D0
ST ArrDouble[1,2]
LD D1
ST ArrDouble[2,3]
Note: The use of the various functions is illustrated below using a timer as an
example. Counters are used in exactly the same way.
TIMER_M
The TIMER_M function both passes the setpoint value and starts the timer TC (TCoil).
The setpoint value is passed to TValue. With normal timers the setpoint value is passed
directly. With extended timers the passed setpoint value is assigned to the timer and
the setpoint value register (see below).
TIMER_START_M
Starts timer TC256
Defining the reference value registers for extended timers and counters
You must always define and set a number of parameters when you use timers or
counters. The dialog box shown below when you select the T/C Range button in the
PLC_Parameter window of the Project Navigator:
A B C D
System timer
- 100 msec
- 10 msec
- retentive
System counter
b Define the necessary system range in the System Timers or System Counters fields.
This disables access to these addresses by other applications using direct
addressing. Please note that the three timer function blocks must use three
separate system timer ranges. The settings for the system timers must match the
general timer settings (PLC_Config – Timer/Counter Ranges).
Timer start address
Instantiation
The use of these new function blocks is illustrated below using a 10 ms timer as an
example.
a Declare the following variables in the header:
TIMER_XYZ is the instance of
function block
TIMER_10_FB_M T imer start
address
The timer function block has the following input and output variables:
Designation
in the Meaning
Function
Coil Coil Activation condition for the timer process
Preset Setpoint value
ValueIn Initial value (Normally: 0)
➜ Note
ValueOut Actual value
Status Output contact The output contact is set when execution of the
function block is complete.
c Assign the instance names defined in the header to the function block and
allocate the necessary input and output variables.
Note: If you do not need one of the parameters for your application, e.g. ValueIn in
the example, you can simply leave the contact unassigned. In this case, no program
code will be generated.
B E
C E
D D
A Direct connection of the EN input to the power bar at the left (LD only). The EN
input is then always on and the instruction is always executed. When ADD_E is
used like this it will produce exactly the same result as ADD without the EN input.
B Link the EN input to a Boolean input variable. The instruction is then only exectued
when Variable_1 is active.
C Connect the Boolean result of a an operation to the EN input. The instruction is
then only executed when the result of the operation is TRUE.
D Connect the EN input to the ENO output of the preceding instruction. The three
instructions are then only executed when Variable_1 is active.
E The ENO output does not have to be connected; it can be left unconnected if it is
not needed.
M4 = 0 (FALSE):
− The function is not executed.
− No new value is written to D56. The value stored in D56 remains unchanged, it is
not reset.
Text editors
Syntax of the operators and operands
Number of operands
Recursions
Jumps
Comments
7.2 Compiling
The compilation process translates the project written in MELSEC MEDOC plus into
code that the PLC CPU can execute. This translation process must be performed
before downloading the program to the PLC system.
Already compiled
IMPORTANT: Please note that only those Program POUs that you have included in
your tasks are checked and compiled!
b Select the correct port for your configuration, then select the Setup button.
c After making your entries in the Setup and Transfer Setup dialog boxes, confirm
with OK.
e PC Port You can select one of the serial ports COM1 through COM6 for the
PC Port setting.
e MELSECNET Access Host, Master, Local or Net 10 Station
If the PLC is installed in a local station you must also enter the station number.
If the PLC is installed in a station in MELSECNET 10 you must also enter the
network number and the station number.
Note: Q Series CPUs can only communicate with MM+ via the CPU port (cables:
SC-05, SC-08, SC-09). Support for communication with the Q series via computer link
module, Ethernet and MELSECNET will be implemented in a later version of MM+.
e PC Port You can select one of the serial ports COM1 through COM6 for the
PC Port setting.
e MELSECNET Access Host, Master, Local or Net 10 Station
If the PLC is installed in a local station you must also enter the station number.
If the PLC is installed in a station in MELSECNET 10 you must also enter the
network number and the station number.
e Baud Rate Data transfer speed (300 – 19,200 Baud)
e Parity Communications parity (none, even or odd)
e Data Bits Number of data bits (7 or 8)
e Stop Bits Number of stop bits (1 or 2)
e Checksum Calculation Use checksumming to check for communication errors
e Message Wait Time Time for identification of the carrier signal in units of
10 ms
Important: The following DIP switches must be set on the Ethernet modules
AJ71E71 and A1SJ71E71-B2/B5 in order to enable MELSEC MEDOC plus to interact
with the PLC.
A1SJ71E71-B2
DIP switch AJ71E71
A1SJ71E71-B5
1 OFF OFF
2 ON ON
3 OFF ON
4 OFF OFF
5 OFF -
6 OFF -
7 ON -
8 OFF -
e Station No.: The station number must be set if a station other than the host
station is defined MELSECNETLocal: Station numbers 1 - 64 MELSECNET/10:
Loop system: network number and station number 1 - 64 Bus system: network
number and station number 1 - 31 MELSECNET/B Local: Station numbers 1 - 31
MELSEC
MEDOC MAC control PLC
plus unit
ACPU AJ71C**
Default data
transmission settings:
Data transmission settings must Baud rate: 9,600
be identical on these devices. Parity: odd
Data bits: 8
Stop bits: 1
Important: Always make sure MM+, the two modems and the MAC control
unit have the same data transmission settings.
Important: Let us assume that you have set certain data transmission settings in
transparent mode which are different from the default. If you decide to disable
transparent mode at a later stage, without resetting the default values, MM+ will
notice this and present a warning. You can now either re-enable transparent mode
or reset the data transmission settings to the default values.
Default: MAC transparent mode remains turned off. Data transmission settings are
reset to default values.
Set MAC mode: MAC transparent mode is set again. Data transmission settings
remain as set.
Modem settings
a Set the desired data transmission settings on the sending and receiving modems.
You can use any terminal program (e.g. Windows Terminal) to set the modem
settings.
b Receiving modem: set “Auto Answer On” (Hayes-compatible modem: ATS0=0).
Files
e Internal RAM Files stored in internal RAM (Drive 0)
e IC Card A (RAM/ROM) Files in the RAM or ROM of the first memory card
(Drives 1 and 2)
e IC Card B (RAM/ROM) Files in the RAM or ROM of the second memory card
(Drives 3 and 4)
Note: Full details on the file structure used by the MELSEC Q series CPUs can be
found in the CPU manuals.
Important notes:
You should only ever make changes to one contiguous program range in the PLC at a
time, and the range should not be too large. If you want to be absolutely sure that
you are not modifying excessively large sections it is advisable to use Online Change
Mode, as this mode only permits you to make changes to one network at a time.
After every change made to a network the system automatically performs a program
compare and transfers the modification directly to the PLC. This approach ensures
maximum program consistency and security.
In FX0 CPUs you can only change counters and timers when the PLC is in RUN mode.
The file structure used in the CPUs of the MELSEC Q series makes it necessary to
define an additional program range (in units of steps) for online changes when you
are using these controllers.
7.4 Exporting
When you perform an import/export both the PLC program data and all the
parameter settings are now imported and exported.
7.5 Importing
When you perform an import/export both the PLC program data and all the
parameter settings are now imported and exported.
MM+ provides a number of data import functions, which are listed briefly below.
Importing Programs from Files
Import an MM+ ASCII file
(Project - Other - Import) (Object - Import)
MELSEC Upload: Upload the project from the PLC CPU in a MELSEC network
(Project - Transfer - PLC to MEDOC (MELSEC))
Options e MELSEC Program Import only the program code lines of the Instruction List.
e MELSEC Symbolic Names Import only the Name List. The entries from the list
are inserted both in the global variables declaration table and in the header of the
POU. Comments after relays and data registers are converted into symbolic names
and imported as comments. When this conversion is performed spaces, quotes
and periods are either deleted or replaced with underline characters in accordance
with the IEC standard.
The translation of the symbolic names can result in duplicate names for some
variables. If this happens the following dialog box is displayed:
The first two entries show the name of the existing variable and the name that the
program proposes to use to overwrite this variable.
Buttons e Replace Replace the old variable name with the new one.
e Repl. all Replace all existing variable names with new names. If you select this
button the program will replace all subsequent variables without prompting.
e Skip Skip this variable name without replacing it. The name is also not added to
the Variable List.
e Skip all Skip all variables with duplicate names and do not add any of them to
the Variable List. If you select this button the program will skip all subsequent
duplicate variables without prompting.
Absolute labels can also be assigned by the user, but you must be very careful to use
the correct syntax. Only addresses with the format P – underline – address are
interpreted as absolute labels.
P_20 Reference to pointer P20 (absolute label)
P20 Reference to a free pointer P** (not an absolute label)
Note: The labels with the format LAB_20 generated when you import MELSEC
MEDOC print files are not absolute labels!
8.1 Debugging
The functions in the Debug menu make it possible to perform precise troubleshooting
and error analysis on your progress. In addition to standard aids such as breakpoints
and step program execution mode you can also perform a very detailed analysis of
program behaviour with the Sampling Trace and Status Latch functions.
8.1.1 Breakpoints
You can set exactly one breakpoint in any POU within a task. Program execution will
then stop at this point. You can also delete breakpoints and reset them at other points
in the program. Breakpoints allow you to perform checks at precise program execution
points.
In networks the breakpoint is always set at the beginning of the selected network.
Note: You can only set breakpoints in a compiled project, and the POU in which you
set the breakpoint must be integrated in a task.
The PLC must be switched to Step Run mode for Step mode execution to be possible.
IMPORTANT: In the IEC editors the code is optimised for the PLC CPU selected. This
means that Step mode program behaviour is different from that in MELSEC
Instruction List. In the MELSEC editor the position highlight jumps from one program
line to the next. In the IEC editors program lines or even entire networks can be
skipped.
e Device ON Program execution is stopped as soon as the signal on the bit device
is on.
e Device OFF Program execution is stopped when there is no signal on the bit
device.
Special relay M9009 is used to register the presence of a set error flag.
Special register D9009 stores the first set address of the error flag.
Special register D9124: F0 – F127 are programmed in the MELSEC network with
the OUT function.
The text for the error messages must be stored in the error file USER_ERR.TXT in the
current project’s directory.
8.2.4 Scan
The Scan command in the Debug menu provides a statistical display of the scan time
performance of the program in the PLC CPU.
The program execution cycle periods can vary depending on status conditions, e.g.
whether inputs are polled during the cycle or not. The PLC CPU logs the following
scan times:
e Actual Scan Time The current program cycle time (special register D9018 in the A
series; D8010 in the FX series)
e Minimal Scan Time The last minimum scan time saved (special register D9017 in
the A series; D8011 in the FX series)
e Maximal Scan Time The last maximum scan time saved (special register D9019 in
the A series; D8012 in the FX series)
The leftmost column of the table B contains the first of a consecutive sequence of
devices. Each series of devices is displayed across a table line C; the numbers of the
devices following the first device are obtained by adding the values shown at the
heads of the column A. The values of the devices are contained in the individual table
cells D.
The current display mode E of the selected cell is shown underlined. The display
mode is set in the pop-up menu (right mouse button).
Commands can be accessed by clicking on the buttons F or with the pop-up menu,
which can by displayed by clicking with the right mouse button or pressing ju.
8.3.2 Buttons
e Read from PLC Reads the values of word and bit devices (registers) from the PLC.
You can choose to read either the entire table or a selected table range.
e Write to PLC Writes the table values to the PLC’s word and bit devices (registers).
You can write either the entire table or a selected table range.
Selected Devices: Read/write only the devices selected in
the table.
e Read from File Loads an external file stored in Excel 4.0 format.
e Write to File Writes the MM+ device table data to an external file in Excel 4.0
format.
IMPORTANT: The device table settings are not stored with the MM+ project. They
are lost irrevocably when you close the Device Edit window. If you want to access
the data again later you should always save the table to a file before closing the edit
window.
e Cut Copies the contents of selected cells to the clipboard and deletes them from
the table (bX)
e Copy Copies the contents of selected cells to the clipboard (bC)
e Paste Pastes the content of the clipboard to the table (bV)
e Paste Text Opens a dialog box in which you can enter ASCII text to paste to the
table. ASCII characters are only displayed in the table in the ASC display mode. You
cannot enter more characters than the selected device can store. A data register
can only store two ASCII characters, for example. You can enter more characters by
selecting several cells (i.e. a series of registers) and entering ASCII text.
e Insert Devices Displays this dialog box:
Device: List of the available devices for
selection.
e Delete Devices Deletes the selected device or device range. A prompt is displayed
asking for confirmation before the delete operation is executed.
e Find Device Searches for specific devices. You can select the search direction.
e Find Value You can also search for a specific value in a device register. Again, you
can specify the search direction.
e Replace Value Search and replace function for replacing device register values.
e Display Mode Displays this dialog box:
e Options Displays the following dialog box in which you can set the basic options
for the table structure:
Number of Columns
Automatic: 8 rows for octal registers, 10 rows for decimal registers, 16 rows for hex
registers
Input Number: You can enter a value between 1 an 255.
Number of Rows
Maximum Number (16383): Sets the rows to the maximum of 16,383 rows.
Input Number: You can enter a value between 1 and 16,383.
Use Colors
When this check box is selected the table is displayed using different colors.
Additional Safety Inquiry
When this check box is selected the system displays an additional prompt asking
for confirmation for some critical operations.
The devices are inserted in the table. Initially, all the devices are given a default
value of 0.
Devices D12 – D16
have been inserted
in the table.
D12 – D16
X5 – X9
BIN: 1 space
OKT: 4 spaces
DEZ: No spaces
HEX: 2 spaces
ASC: 3 spaces
Note: Setting the correct number format (i.e. the right display mode) is absolutely
essential when you add new devices in an Excel table that you plan to reload in MM+
later!
To be able to use the Status Latch, you must first read and latch the data.
MM+ supports three different monitoring modes:
Program Monitor
Entry Data Monitor
Header Monitor
Link Monitor (see page 5-12)
Note: When a monitoring mode is activated all off MM+’s editing functions are
disabled.
b Open and select the body of the POU that you wish to switch to monitoring
mode.
c Select Start Monitoring in the Online menu.
In addition to Program POUs you can also use the Program Monitor for function
blocks and functions. When you activate monitoring for the operand status of
function blocks MM+ first prompts you to specify the Instance of the function block
for which you wish to activate the Program Monitor.
In the body of the program there is a
signal on the inputs and outputs of
Log_Add_1, which is an instance of
function block FB_1.
8.4.4 The Entry Data Monitor (EDM) and the Header Monitor
The Entry Data Monitor can be used to group objects from the open project in order
to obtain a display of their current status. Several windows can be opened at once.
The Header Monitor essentially offers all the functions available in the Entry Data
Monitor. The only difference, albeit an important one, is that calling up the Header
Monitor automatically displays the objects of the active POU.
The status of the following objects can be monitored in the Entry Data Monitor:
Global and Local Variables, POUs and Tasks.
The central element of the Data Entry Monitor is a table which the user can configure
himself.
The values in the table can be read from the CPU and also written back to the CPU
after editing. There is also the possibility of writing the table, i.e. the grouped objects,
and the configuration of the table into an external file, or of reading the data from an
external file.
The table is restricted to a maximum of 16,383 rows and 255 columns. This means
that a total of 4,177,655 cells can be managed. The number of objects in the table is
limited only by the available memory on your computer.
A security function is available to prevent data being written into the CPU.
The worksheet
In the Online menu, the Entry Data Monitor command calls up the EDM window.
Note: The commands in the Edit and Tools menus can also be called up via the
pop-up menu. The pop-up menu appears if you press the right-hand mouse button
or press the key combination ju.
In the case of bit operands: You can switch between the two possible entries (0
and 1) by double-clicking or pressing the SPACE key.
In the case of word operands: Activate the Edit Mode (mouse click or m). Enter
the desired value. MM+ only accepts valid entries. Pay attention to the correct
format (decimal, octal, etc.). The Edit Mode remains active in the event of an
incorrect entry.
Opening a closed structure: The closed structure is indicated by a plus sign in front
of the name. Double-click on the Name cell or press the b+ key combination.
This opens the tree structure.
Open
structure
Closed
structure
The entry in the Lower Bound field specifies the first array element to be displayed.
Device range e Add Adds the selected device range to the list box.
e Change Changes the selected device range in the list box, replacing it with the
new values in the entry fields.
e Delete Deletes the selected device range in the list box.
e Clear List Deletes all the devices ranges in the list box.
Latched data e Block No. The latched data are written into the file registers R. Enter the block
number. Only relevant for AnA/AnU series.
e Write Parameter Writes the device ranges in the list to the PLC CPU.
e Read Values Reads the device range values from the PLC as soon as the SLT
instruction is executed in the program. The dialog box is closed as soon as all the
values have been read out.
e Save Saves the device range configuration.
This command stores all the device range entries in the list to a configuration file.
These configuration files are given the extension SLT.
e Load Loads a previously saved SLT configuration file.
This command enables you to load SLT configuration files saved with the Save
command into the list box. This feature is particularly useful with long lists of
devices, as it means you only have to enter them once. The ranges of the loaded
list can then be written directly to the PLC CPU.
e Monitor latch/Stop Monitor The latch monitor shows the current latch status of
the PLC CPU. If there are no values in the register memory the message Not
completed is displayed. If the latch values have already been read in the message
Completed is displayed.
8.6.1 A Series
Note: This function is only available with series A PLCs if the PLC program contains
the STRA instruction. Before you can repeat the Sampling Trace you must also reset
the STRA condition with the STRAR instruction.
With the AnN CPUs the Sampling Trace function has to be defined in the parameters
(➞ page 5-3).
You can sample up to 16 bit devices and 10 word devices at defined intervals or during
each program cycle. The results can be displayed in several windows as trend curves,
using different colours.
This function makes it possible to provide a clear visualisation of errors that cannot be
followed in monitoring mode, thus simplifying error analysis. For example, you can
generate breakdowns of fast processes or follow the behaviour of the specified
devices at high speed.
Sampling Mode e per Scan Cyclical sampling once every program scan.
e per Time Interval Sampling at defined time intervals.
e Scan Time Scan time interval definition. The maximum value you can enter is
200, corresponding to an interval of 2,000 ms (10 ms units). This means that data
are written to the Sampling Trace memory every 2 seconds. If you enter a value of
‘0’ in this field the data are written after every program cycle.
Sampling Scale e Total Number Definition of the total scope of the Sampling Trace data. The
maximum value is 1,024.
e Times after [STRA] On Number of data to be registered after the STRA
instruction is set. The effective Sampling Trace is equal to the total number minus
the number of data defined after the STRA instruction.
Sampled data e Ext. R Block Number The sampled data are written into the extended file
registers R. Enter the block number. Only relevant for AnA series.
Buttons e Download Define Downloads the list of defined bit and word devices to the PLC.
e Activate/Deactivate Sampl. Activates/deactivates sampling.
This button is used to start the Sampling Trace procedure at the beginning of a
session, opening a monitor window. No data are actually available until the STRA
instruction has been executed, however. Once STRA has been executed, the
storage of the Sampling Trace begins. Once this procedure has been completed
the message Data available is displayed.
e Read Result Reads out the Sampling Trace values from the PLC CPU.
e View Result Displays the curves for the Sampling Trace data.
e Define Window Allows you to define the curve characteristics for the devices to
be displayed.
e Monitor sampl. /Stop Monitor Displays the same monitor window that is
displayed when you select the Activate Sampl. button. If a sample has already
been written the data is displayed in the window. The STRAR instruction can be
used to rewrite the Sampling Trace register range.
e Load Load a previously stored Sampling Trace configuration.
You can store your curve and device parameters in a configuration file that can
then be reloaded with this command (➞ Save button).
e Save Save Sampling Trace configuration to file.
Saves the current Sampling Trace configuration to a file, together with the list of all
defined devices and the curve definitions. These files are given the extension SAM.
a Select the View Result button in the Sampling Trace Define dialog box.
A window is opened displaying the defined curves, showing the development of the
values of the devices assigned to them.
The progress of the Sample is shown on the horizontal axis. The vertical axis shows
the value range set under Range Settings in the curve definition. You can scroll the
contents of the window with the horizontal and vertical scrollbars. The button
labelled 1 marks a dotted line showing the current values of the devices on the
defined curves. The device names and their current values are displayed to the left of
the curve windows. Moving the dotted line with the button updates the value displays
of the devices.
8.6.2 FX Series
The FX CPU does not need a STRA instruction for Sampling Trace. Accordingly, the
Sampling Trace Define dialog box contains two additional options for these
controllers, Bit Mask and Mask Edge. Bit Mask is used to enter an input device.
Mask Edge defines whether the signal for the Sampling Trace is to be triggered on the
rising edge, falling edge or by both rising and falling edge (undefined).
All the other options in the dialog box are the same as those for the A Series.
A Glossary
Absolute address
A variable’s absolute address references a fixed memory location in the CPU or a physical input or
output. This absolute address can be assigned using either IEC syntax (IEC address) or MITSUBISHI
syntax (MITSUBISHI address). The user must only assign absolute addresses for the global variables.
The program assigns suitable memory locations for the local variables automatically.
Absolute Label
Absolute labels are the addresses of specific pointers in the PLC program (e.g. P20). When PLC
programs are uploaded to MM+ absolute labels are assigned as jump instruction destinations. Every
program section identified by a pointer in the original PLC program is loaded in a separate MELSEC
network. You can also use absolute labels (Syntax: P_20) when you assign your own names to
networks.
Accumulator
The accumulator is a result handling facility used in IEC Instruction List. You may be familiar with it
from other high-level programming languages. The result of every operation performed is written
to the accumulator directly after execution. The accumulator thus always contains the result of the
last instruction programmed. This means that you do not have to program any input conditions
(execution conditions) for the operations, as execution is always dependent on the contents of the
accumulator.
Action
An action is allocated to every step in an SFC sequence. These actions can be Boolean output
variables or PLC programs.
Action Pool
When you write a POU in Sequential Function Chart language the action pool is displayed in the
Project Navigator window as an entry in that POU. The Action Pool contains all the actions
belonging to the program organisation unit.
Actual parameters
Functions and function blocks have two kinds of parameters: Formal parameters and actual
parameters. The formal parameters are the variables used when you create a function or a function
block. The actual parameters are the variables or values passed to the function or function block
instance when they are used in another program organisation unit.
’Adapted’ MELSEC instructions
‘Adapted’ MELSEC instructions are MITSUBISHI ELECTRIC instructions with a special modified
nomenclature (e.g. BMULTI_M, PLUS_M, FLOAT_MD) for use in the IEC editor. They always have the
suffix _M for ‘MELSEC’ or _MD for ‘MELSEC Dedicated instruction’. All the ‘adapted’ MELSEC
instructions are stored in the Manufacturer Library. These instructions can only be used in the IEC
editor (➞ Appendix E).
Array
Arrays are derived data types, consisting of fields of one kind of variable. You can define arrays with
up to three dimensions.
AutoConnect mode
The Autoconnect mode is a special editing mode used in the graphical editors (➞ Chapter 3).
Body
Program organisation units (POUs) always consist of a header and a body. The body contains the
actual PLC program code.
Breakpoint
Breakpoints are a debugging aid. You can set a breakpoint at any point in a program organisation
unit. The execution of the PLC program will then automatically stop at this point.
Class
The class is specified in the declaration table to define the way variables are to be used in the
project. The following classes are supported: VAR, VAR_CONSTANT, VAR_INPUT, VAR_OUTPUT,
VAR_IN_OUT, VAR_EXTERNAL, VAR_EXTERNAL_CONSTANT, VAR_GLOBAL and
VAR_GLOBAL_CONSTANT.
Comment
You can enter and store explanatory comment texts for all objects used in MM+.
Compiling
When you compile a project MM+ translates the program into code that can be read and executed
directly by the PLC.
Computer link module
One of the several ways of connecting the PLC to your personal computer is with a MITSUBISHI
ELECTRIC computer link module. Computer link modules available from MITSUBISHI ELECTRIC
include the following models: AJ71C21, AJ71UC24, A1SJ71C24-R2.
Continue condition
➞ ‘Transition condition’
Controller instruction
PLC programs written in Instruction List language consist of a series of controller instructions. Each
controller instruction contains an operator, i.e. the programming instruction, and an operand, i.e.
the variable.
CPU interface
You can connect the PLC to your personal computer via the CPU interface, which is located on the
PLC unit.
Data type
The data type of a variable defines the number of bits it contains, how they are processed and the
variable’s value range. The following data types are available: BOOL, INT, DINT, WORD, DWORD,
TIME, REAL, ARRAY, STRING.
Data Unit Type
The Data Unit Type (DUT) is a structured data type. It contains a collection of variables.
Declaration table
Declaration tables are lists used for managing and declaring both global and local variables.
Device Editor
The device editor allows you to display and edit the contents of the PLC CPU’s bit and word devices
(registers). The central element of the device editor is a table that is very similar to a Microsoft Excel
worksheet, both in its appearance and in the way it is used.
Dialog box
A dialog box is a special kind of window used for handling dialogs with the user. They can contain
a number of different elements, including fields for entering data, check boxes or radio buttons for
selecting options and messages containing important warnings or information. Dialog boxes are
displayed at many different points in the program, for example when you select menu commands
followed by three periods (e.g. Open...).
Download
Transfer process from MM+ to the PLC
DUT Pool
The DUT Pool is one of the standard entries in the Project Navigator window (DUT_Pool). It
contains all the Data Unit Types used in the project.
Edit mode
When you are editing the body of a POU you can choose between Select mode and Edit mode. In
Edit mode you can perform actions on selected program elements (e.g. move, overwrite, delete etc).
Editing area
The editing window for working on the body of a POU is divided into two main areas, the network
bar and the editing area. The editing area is where you enter the component elements of your
program.
Editor
The MM+ editors are program modules used for writing and editing programs in the supported
programming languages. The editors are displayed as separate windows on the screen. MM+
includes text, graphical, IEC and MELSEC editors.
EN input
In addition to their input and output variables, some function blocks also have a Boolean input (EN
= ENable) and a Boolean output (ENO = ENable Out). The status of the ENO output always
corresponds to the current status of the EN input.
ENO output
➞ ‘EN input’
Entry Data Monitor
MM+ supports a variety of different monitoring modes: Program Monitor, Entry Data Monitor and
Header Monitor. In the Entry Data Monitor mode the program displays the status of a user-defined
list of variables. The variables in this list can be displayed in any order.
Ethernet card
One of the several ways of connecting the PLC to your personal computer is via an Ethernet
network. To do this, you must then have an Ethernet card in your PC and connect it to the
MITSUBISHI ELECTRIC Ethernet module.
Final step
The final step is the last step in an SFC sequence.
Formal parameters
➞ ‘Actual parameters’
Function
The function is a program organisation unit (POU) with the class ‘Function’ (FUN). It can be used in
the same way as a normal programming instruction. When they are executed, functions deliver
precisely one output variable. Functions do not store any internal status data. This means that all a
function’s internal variables are always set to 0. When a function is called with the same input
parameters it thus always delivers the same output value.
Function block
The function block is a program organisation unit (POU) with the class ‘Function Block’ (FB). It can
be used in the same way as a normal programming instruction. Function blocks deliver one or more
output variables when they are executed. All the values of the output variables and the internal
variables are stored in the function block following execution. This means that function blocks do
not necessarily always deliver the same output values when they are called again with the same
input parameters. Function blocks can only be called in the form of instances. Be careful not to
confuse these function blocks with the graphical function blocks used in the Function Block and
Ladder Diagram language!!
Ladder Diagram
Ladder Diagram is a programming language. The programming elements are contacts (inputs), coils
(outputs) and programming instructions which are displayed as graphical blocks. These elements
are connected to make circuits using horizontal and vertical interconnect lines. The circuits always
start at the power bar on the left.
Library
There are three types of libraries: Standard Library, Manufacturer Library and User Library.
Local variables
Local variables are only accessible within the program organisation units in which they are declared.
They are declared in the POU header.
Macro step
In an SFC sequence a macro step is a step that in turn contains another complete SFC sequence.
Manufacturer Library
The Manufacturer Library (Manufacturer_Lib) contains the ‘adapted’ MELSEC programming
instructions, with a special nomenclature for use in the IEC editor (➞ ‘Programming Instructions’ in
the appendix).
MELSEC editor
The MELSEC editor is used for editing MELSEC Instruction Lists and MELSEC networks.
MELSEC Instruction List
MM+ supports both IEC Instruction List language and MELSEC Instruction List language. MELSEC
Instruction List programs only contain MELSEC networks.
MELSEC network
MELSEC networks are programmed according to the DIN 19239 standard, using only the ‘pure’
MELSEC instructions.
MELSEC programming instructions
➞ ‘Programming instructions’
MELSEC upload
The MELSEC upload procedure loads a program into MM+ from the PLC unit. Only the binary data
is read in when this process is carried out.
MITSUBISHI address
The MITSUBISHI address is used to assign a fixed memory location to a global variable. Examples:
X0, M1024.
Monitoring mode
MM+ supports a variety of different monitoring modes: Program Monitor, Entry Data Monitor and
Header Monitor.
Network
A network is a logically continuous program section within a program organisation unit.
Network bar
The editing window in which you work on the body of a POU is divided into the network bar and
the editing area. The network bar is used for making the network label and title assignments.
Network label
The network label is the name assigned to a network. It can be used as the destination address for
jump instructions in PLC programs.
Network list
The network list contains all the networks in a program organisation unit, along with their network
labels and titles.
Network title
The network title is a brief description of the network. It is optional, and it is not displayed in the
network bar.
Null modem cable
➞ ‘RS-232 cable’
Object
MM+ uses the following objects: The IEC Standard Library (Standard_Lib), the Manufacturer Library
(Manufacturer_Lib), the PLC Parameter (PLC_Parameter), the Task Pool (Task_Pool), the Data Unit
Type Pool (DUT_Pool), the Global Variables (Global_Vars) and the POU Pool (POU_Pool). These
objects are all displayed as standard entries in the Project Navigator window.
Object window
Object windows contain the data of selected objects (e.g. the declaration table for the global
variables or a task’s table).
Output variable
Function blocks have input and output variables. The input variables give the function block the
values it uses to perform its programmed operations. The output variables pass the results of these
operations out of the function block.
PLC Parameter
The PLC parameter (PLC_Parameter) is one of the standard entries in the Project Navigator window.
It contains the user-editable parameters of the connected PLC system.
POU Pool
The POU Pool is one of the standard entries displayed in the Project Navigator window (POU_Pool).
It contains all the program organisation units used in the project.
Power bar
In the Ladder Diagram graphical editor all circuits start at the vertical power bar on the left of the
editing area. This bar is sometimes also referred to as the rail.
Program
1) Program = An application program (e.g. MM+);
2) Program = A PLC program, consisting of a series of programming instructions;
3) Program = A program organisation unit classed as a ‘Program’ (PRG). Program POUs can only be
executed in tasks.
Program class
The program class of a POU defines its functionality. You can declare POUs as Programs (PRG),
Function Blocks (FB) or Functions (FUN).
Program group
The Windows Program Manager organises programs in groups called ‘program groups’. Each group
can contain a large number of individual programs (i.e. application programs). The MM+ installation
program automatically creates a program group for MM+ containing the MM+ program icon.
Program Monitor
MM+ supports a variety of different monitoring modes: Program Monitor, Entry Data Monitor and
Header Monitor. You can activate the Program Monitor mode in all the editors. This monitor
displays the values and switching statuses of the variables visible in the current editor window.
Program organisation unit
Program organisation units (POUs) can be regarded as subprograms or program modules. There are
three different POU classes, defined by their functionality: Programs (PRG), Function Blocks (FB) and
Functions (FUN). Every POU consists of a header and a body.
Programming elements
Examples of programming elements in the graphical editors include contacts, function blocks,
interconnect lines and variable connections.
Programming instructions
MM+ supports the following groups of programming instructions: IEC programming instructions,
MELSEC programming instructions and user programming instructions (➞ ‘Programming
Instructions’ in the appendix).
Programming language
MM+ supports the following programming languages for writing PLC programs: Instruction List (IL),
Ladder Diagram (LD), Function Block Diagram (FBD), Sequential Function Chart (SFC).
Project
The project is the element at the top of the MM+ object hierarchy. It is equivalent to a PLC system.
Project name
The project name is actually the name of a subdirectory. This subdirectory contains all the individual
files that form the components of a project.
Project Navigator
The Project Navigator is the control centre of MM+. It is used to administrate all the objects that go
to make up a project. It is displayed on the screen as a separate window, the Project Navigator
window.
Project Navigator tree
The entries in the Project Navigator window are arranged using a hierarchical tree structure. Some
of the levels can be expanded and collapsed to display or hide further levels of the tree hierarchy.
Project Navigator window
All the objects contained in a project are listed in the Project Navigator window. This window is
opened on the left hand side of the screen as soon as you create or open a project. It always
contains the following standard entries: Standard_Lib, Manufacturer_Lib, PLC_Parameter, Task_Pool,
DUT_Pool, Global_Vars and POU_Pool.
’Pure’ MELSEC Instructions
The ‘pure’ MELSEC instructions are the original MITSUBISHI MELSEC instructions with the standard
nomenclature (e.g. AND=, +, FLOAT). These instructions are only supported in the MELSEC editor
(➞ ‘Programming Instructions’ in the appendix).
Return instruction
The Return instruction effects a return from a function block to the point in the program from
where the function block was called. In the graphical editors the Return instruction is implemented
as a tool. In the IEC Instruction List editor returns are implemented with the RET operator.
RS-232 cable
An RS-232 cable wired as a null modem cable is required for connecting the personal computer to
a computer link module.
Select mode
When you are working in the programming editors you can choose between Select mode and Edit
mode. In Select mode the mouse pointer is displayed as an arrow with which you can select the
various programming elements.
Sequence
Sequences are written with the Sequential Function Chart language (SFC). An SFC sequence
consists of steps, actions, transitions and transition conditions. Both parallel and selective branching
are supported in sequences.
Sequential Function Chart is a programming language in which steps are linked together with
conditions referred to as continue conditions. The elements of the SFC language are steps, actions,
transitions and transition conditions.
SFC sequence
➞ ‘Sequence’
Signal configuration
You can set the following signal configuration parameters for the input and output variables of a
function block and the input contacts and output coils used in the Ladder Diagram language: Poll
for signal status 0 or 1, set and reset.
Standard Library
The Standard Library (Standard_Lib) contains the standard IEC functions (e.g. INT_TO_BOOL) and
function blocks (e.g. R_TRIG).
Status bar
The status bar displayed at the bottom of the screen shows information on the current status of
the project. You can configure the status bar to suit your personal requirements.
Step
Sequences in the SFC language always consist of several steps connected by transitions. An action
is assigned to each step in the sequence.
Step mode
Step mode execution is a debugging aid. In this mode, the program is executed one step at a time.
Please note that the connected PLC system must be switched to step run mode when you use this
option.
STRING
A STRING data type contains characters.
System Label
The system labels (pointers) are system variables that MM+ needs for internal management of the
project. A maximum of 256 system labels are supported. One system label is needed for each of
the following elements: every instance of a function block, every user-defined function, every
event-triggered task, every network label.
Task
A task contains one or more program organisation units of the class ‘Program’ (PRG). The task
controls the execution of its component POUs. Tasks can be event-triggered, interval-triggered or
priority-triggered.
Task Pool
The Task Pool (Task_Pool) is one of the standard entries in the Project Navigator window. It contains
all the tasks defined in the project.
Text editor
The text editor is used for writing and editing Instruction List programs. Its functionality is similar to
that of a standard word processor.
Toolbar
The toolbar displays icons with which the most-used menu commands can be selected directly by
clicking with the mouse.
Transition
Transitions connect steps in SFC language sequences. Each transition is allocated a transition
condition, i.e. a continue condition that controls how and when control is passed to the next step
in the sequence.
Transition condition
A transition condition is a PLC program. It is executed when the preceding SFC step is completed,
and if the condition is satisfied control is passed to the next step in the sequence.
Upload
Transfer process from the PLC to MM+
User library
A user library gives you the possibility of creating functions and program segments which can be
used on a supra-project basis. The program segments are grouped in a library and can be used in
any project. Following updating, changes made to the library can be applied to other projects. A
user library can contain all the objects that are also available in a project: Global Variables List,
Structured Data Types, Arrays and Program Organisation Units. You can assign a password to
protect the know-how in the library. The name of the user library file has the file extension SUL.
User programming instructions
Programming instructions written by the user. ➞ ‘Programming instructions’.
Variable
Variables can be compared with operands. They contain the values of inputs, outputs or internal
memory locations in the PLC. MM+ makes a distinction between global and local variables.
Variables are declared and administered in declaration tables; they are defined with a class, an
identifier, an absolute address (global variables only) and a data type.
Wizard
The Wizard is a special aid that can be activated and deactivated by editing the initialisation file
SC.INI. When the Wizard is activated the program can automatically generate a program
organisation unit and a task for you when you create a new project.
B Keyboard Commands
Key(s) Function
b + First cell in the line is marked by a - sign: Display all lines in the comment column
+ : numerical key (Tools - Expand declaration)
b - First cell in the line is marked by a + sign: Display only one line in the comment
- : numerical key column (Tools - Collapse declaration)
Key(s) Function
an Find (Edit - Find)
n Find Next (Edit - Find Next)
aBACKSPACE Undo last command (not supported for all operations!) (Edit - Undo)
bBACKSPACE Undo last Undo command (not supported for all operations!) (Edit - Redo)
aA Insert a new network after the current network (Edit - New Network - After)
aB Insert new network before the current network (Edit - New Network - Before)
Key(s) Function
bG Draw horizontal line segment (Tools - Horizontal Line Segment)
bE Draw vertical line segment (Tools - Vertical Line Segment)
bF Insert programming instruction (Function Block) (Tools - Function Block)
bW Increase horizontal spacing (Tools - Open Row)
bU Increase vertical spacing (Tools - Open Column)
a1 Insert graphic macro 1 (Tools - Custom 1)
a2 Insert graphic macro 2 (Tools - Custom 2)
a3 Insert graphic macro 3 (Tools - Custom 3)
a4 Insert graphic macro 4 (Tools - Custom 4)
a5 Insert graphic macro 5 (Tools - Custom 5)
aA Insert new network after the current network (Edit - New Network - After)
aB Insert new network before the current network (Edit - New Network - Before)
| Step through all the variables in the current network forwards, selecting them one
after another.
j| Step through all the variables in the current network backwards, selecting them one
after another.
+ Function block is activated: Increment number of input variables (pins)
(+: numerical key) (Edit - Increment Pins)
- Function block is activated: Decrement number of input variables (pins)
(-: numerical key) (Edit - Decrement Pins)
Key(s) Function
bT Insert Transition at the current position (Edit - Insert - Transition)
bL Insert left divergence from the current position (Edit - Insert - Lef t Divergence)
bR Insert right divergence from the current position (Edit - Insert - Right Divergence)
jbL Insert left convergence to the current position (Edit - Insert - Lef t Convergence)
jbR Insert right convergence to the current position (Edit - Insert - Right Convergence)
bjJ Insert Label (jump destination/entry step) (Edit - Insert - Label)
bJ Insert Jump (jump/exit step) (Edit - Insert - Jump)
bI Open (zoom) Step, Transition or Macro Program window (Tools - Zoom Into)
bB Undo zoom operation (Tools - Zoom Back)
For more details on using the online Help system select How to use help in the Help
menu.
C Tools
Insert a new network after the current Edit - New Network - After aA
network
C.3 Ladder Diagram and Function Block Diagram Editor Tool Icons
Tool Function Menu command Key(s)
Insert a new network before the Edit - New Network - Before aB
current network
Insert a new network after the current Edit - New Network - After aA
network
Create a new Action (this icon is only Object - New - Action jaA
enabled when a POU written in
Sequential Function Chart language is
selected)
D Temporary Files
E Programming Instructions
Programming Instructions
User-programmed
Programming Instructions
IEC Programming Instructions MELSEC in the form of
IEC Editors Programming Instructions Program Organisation Units (POUs)
IEC Editors
‘Pure’
IEC Operators MELSEC Instructions Functions
(e.g. LD, ST, CAL) MELSEC Editor (Name of the Function POU)
(e.g. +, B*)
‘Adapted’
MELSEC Instructions Function Blocks
IEC Functions (Name of the
IEC Editors
(e.g. INT_TO_BOOL, ROR) Function Block POU)
(e.g. PLUS_M, BMULTI_M,
FLOAT_K_P_MD)
Standard Library
The standard library contains all the IEC functions and function blocks. Every available
function has a FUN (function) POU, the headers of which you can open and view on
the screen.
Manufacturer Library
The Manufacturer Library contains the ‘adapted’ MELSEC instructions, with a
nomenclature adapted for use in IEC. Every function has a FUN (function) POU, the
headers and bodies of which you can open and view on the screen. With the help of
a special tool you can also add your own POUs to the Manufacturer Library. These
POUs can be declared as functions (FUN), function blocks (FB) or programs (PRG).
MELSEC Instructions
The functionality of the ‘adapted’ and ‘pure’ MELSEC functions is identical. The only
difference between the two versions is the way they are written and how they are
used in the various editors.
The ‘pure’ MELSEC instructions use the familiar MELSEC nomenclature (e.g. AND=, +,
FLOAT). These instructions can only be used in the MELSEC editor.
This dialog box is displayed when you are working in the MELSEC
editor. The list contains the ‘pure’ MELSEC instructions.
The ‘adapted’ MELSEC instructions use a special nomenclature. Their names always
end with _M for MELSEC or _MD for MELSEC Dedicated Instructions (e.g. PLUS_M,
FLOAT_K_P_MD). You can use these instructions in the IEC editor.
This dialog box is displayed when you are working in
the IEC editor. The list of the Manufacturer Library
contains the ‘adapted’ MELSEC instructions.
The suffixes _P_MD and _K_MD indicate that the instruction in question is executed
on a rising edge or with a constant.
Example
MELSEC Editor IEC Editor Explanation
LEDA FLOAT FLOAT_MD Normal execution (16 Bit)
LEDC (S)
LEDC (D)
LEDR
LEDB FLOAT FLOAT_P_MD Pulse-triggered execution (16 Bit)
LEDC (S)
LEDC (D)
LEDR
LEDA FLOAT FLOAT_K_MD Normal execution (16 Bit)
SUB (S) Constant used in operand (S)
LEDC (D)
LEDR
LEDB FLOAT FLOAT_K_P_MD Pulse-triggered execution (16 Bit)
SUB (S) Constant used in operand (S)
LEDC (D)
LEDR
LEDA DFLOAT DFLOAT_MD Normal execution (32 Bit)
LEDC (S)
LEDC (D)
LEDR
LEDB DFLOAT DFLOAT_P_MD Pulse-triggered execution (32 Bit)
LEDC (S)
LEDC (D)
LEDR
LEDA DFLOAT DFLOAT_K_MD Normal execution (32 Bit)
DXNR (S) Constant used in operand (S)
LEDC (D)
LEDR
LEDB DFLOAT DFLOAT_K_P_MD Pulse-triggered execution (32 Bit)
DXNR (S) Constant used in operand (S)
LEDC (D)
LEDR
BOOL_TO_INT Converts BOOL data type to INT data type 1 BOOL INT
BOOL_TO_INT_E
BOOL_TO_TIME Converts BOOL data type to TIME data type 1 BOOL TIME
BOOL_TO_TIME_E
BOOL_TO_WORD Converts BOOL data type to WORD data type 1 BOOL WORD
BOOL_TO_WORD_E
CAL C, N IEC Instruction List operator - - -
Calls a Function Block instance.
In the Instruction List language Function Block
instances are called with the CAL operator.
The operator must be followed by the instance
name, which in turn must be followed by the
argument list in parentheses, containing the
actual parameters to be passed to the formal
parameters.
DWORD_TO_DINT Converts DWORD data type to DINT data type 1 DWORD DINT
DWORD_TO_DINT_E
DWORD_TO_INT Converts DWORD data type to INT data type 1 DWORD INT
DWORD_TO_INT_E
DWORD_TO_TIME Converts DWORD data type to TIME data type 1 DWORD TIME
DWORD_TO_TIME_E
DWORD_TO_WORD Converts DWORD data type to WORD data type 1 DWORD WORD
DWORD_TO_WORD_E
F Menu structure
The following pages show the menu structure of MM+. The menu structure and the available
commands are context-sensitive, changing depending on what you are currently doing in the
program.
Project
New...
Open...
Close
Save
Save as...
Other P Delete...
Rename...
Copy...
Import...
Export...
Export to Eprom
Update Libraries
Code Generation Options
Compile Project
Build Project
Transfer P PLC to MEDOC (Symbolic)
PLC to MEDOC (MELSEC)
MEDOC to PLC
Verify
Online Prog. Change
Browse
Make Crossreference
Documentation...
Printer Setup...
Printout
Change Security Level...
Change Passwords...
Quit
1 Project 1
2 Project 1
3 Project 1
4 Project 1
Object
New P POU...
Task...
Action...
Data Unit Type
Open
Close
Save
Rename
Comment
Information
Show P Call Tree
Reference List
Check
Print
Import...
Export...
Open Body/Header
Edit
Cut
Copy
Paste
Delete
Find...
Find Next
Replace...
Update Library
User Library P Install/Create...
Deinstall
Modify...
Open...
Close
Save
Delete
Change Password...
Edit
in IL, LD, FBD
Undo
Redo
Cut
Copy
Paste
Delete
Find...
Find next
Replace...
Network P Top
Before
After
Bottom
MELSEC Before 1
Increment Pins 2
Decrement Pins 2
Edit
in SFC
Undo
Redo
Cut
Copy
Paste
Delete
Find...
Find Next
Replace...
Mark
Macro
Expand Macro
Modify P Name
Initial Step
Final Step
Macro Step
Entry Step
Exit Step
Insert P Step/Transition
Step
Transition
Left Divergence
Right Divergence
Left Convergence
Right Convergence
Label
Jump
Edit
in the Entry Data Monitor (EDM) and Header Monitor
Insert Objects
Next Object
Insert Row
Delete Rows
Delete All
Close
Tools
Expand/Expand Declaration
Collapse/Collapse Declaration
Sort 1 P Type
Class
Address 2
Identifier
Tools
in IL
Edit Network
End Edit
Network List...
Import MEDOC Network
List Operators/Operands
New Variable...
Zoom P Header
Body
Tools
in SFC
Edit Action Association
Edit Step Comment
End Edit
List Operands...
New Variable...
Zoom Macro
Zoom Body
Zoom Into
Zoom Back
Find Error
Tools
in LD and FBD
Contact 1
Coil 1
Jump
Return
Input Variable
Output Variable
Horizontal Line Segment
Vertical Line Segment
Functionblock
Comment
Open Row
Open Column
Define Grafic Macros...
Custom P Custom 1
Custom 2
Custom 3
Custom 4
Custom 5
More Custom
Select Mode
Interconnect Mode
Auto Connect
Recalculate Line
Networklist...
List Operators/Operands
New Variable...
Zoom P Header
Body
Tools
in the Entry Data Monitor (EDM) and Header Monitor
Read from PLC
Write to PLC
Read from File
Wrtie to File
Setup...
Online
Start Monitoring
Stop Monitoring
Monitor Header
Entry Data Monitor
Online-Change Mode
Monitoring Mode
Monitor from PLC
Monitor from Status Latch
Change Instance...
Start/Stop PLC
PLC Status
Transfer Setup P Ports
Project
Entry Code P Current
New
Delete
PLC Clear P Latch
Release Com Port
Format Drive
File Info
Debug
Set Breakpoint
Go To Breakpoint
Delete Breakpoint
Step
Link Monitor
Status Latch
Freeze
Device Edit...
System Errors
User Errors
HW Diagnosis
Scan
View
Toolbar
Statusbar
Horizontal Scrollbar
Grid
Zoom P 50%
75%
100%
150%
Printer Preview
Font...
Colors P Background...
Selection...
Text...
Selected Text...
Read Only Text...
Locked Text...
Foreground...
Enabled Breakpoint...
Active Breakpoint...
Monitoring...
Errors...
Shade left top...
Shade right bottom...
Grid...
Browsed Item...
Save Workspace
Load Workspace
Extended Information
Environment
Configure Statusbar
System Defaults
Extras
Project Backup...
Project Restore...
Declare Externals...
Delete Externals...
Options...
Window
Tile
Cascade
Arrange Icons
Close All
1 Window 1
2 Window 2
3 Window 3
4 Window 4
G Compliance List
This list provides a description of all the features of the MELSEC MEDOC plus
programming and documentation system that comply with the specifications of IEC
standard 1131, Part 3.
The format of the list corresponds to the tables in IEC 1131.3. This makes it possible to
obtain additional information quickly by referring to the corresponding tables and the
accompanying texts in the IEC standard publication.
Identifier features
Table 2 No. Description Note
Comment feature
Table 3 No. Description Note
Numeric literals
Table 4 No. Description Note
2 $$ Not supported
3 $’ Not supported
4 $L or $I Not supported
5 $N or $n Not supported
6 $P or $p Not supported
7 $R or $r Not supported
8 $T or $t Not supported
1 BOOL Supported
2 SINT Not supported
3 INT Supported
4 DINT Supported
5 LINT Not supported
6 USINT Not supported
7 UINT Not supported
8 UDINT Not supported
9 ULINT Not supported
10 REAL Supported
11 LREAL Not supported
12 TIME Supported
13 DATE Not supported
14 TIME_OF_DAY or TOD Not supported
15 DATE_AND_TIME or DT Not supported
16 STRING Supported
17 BYTE Not supported
18 WORD Supported
19 DWORD Supported
20 LWORD Not supported
Plus: EDGE, CHANGE, SGRAY, GRAY, DGRAY, BCD,
WFIX, DFIX
ANY
ANY_NUM
ANY_REAL
REAL
ANY_INT
DINT
INT
ANY_BIT
DWORD
WORD
BOOL
TIME
1 *_TO_** Supported
2 TRUNC Not supported
3 BCD_TO_** Supported
4 *_TO_BCD Supported
12 ADD Supported
13 MUL Supported
14 SUB Supported
15 DIV Supported
16 MOD Supported
17 EXPT Not supported
18 MOVE Supported
1 SHL Supported
2 SHR Supported
3 ROR Supported
4 ROL Supported
5 AND Supported
6 OR Supported
7 XOR Supported
8 NOT Supported
1 SEL Supported
2a MAX Supported
2b MIN Supported
3 LIMIT Supported
4 MUX Supported
5 GT Supported
6 GE Supported
7 EQ Supported
8 LE Supported
9 LT Supported
10 NE Supported
1 TP Not supported
2a TON Not supported
2b T—-0 Not supported
3a TOF Not supported
3b 0—-T Not supported
TP Not supported
TON Not supported
TOF Not supported
Step features
Table 40 No. Description Note
Declaration of actions
Table 42 No. Description Note
Step/action association
Table 43 No. Description Note
1 Action block *
2 Concatenated action blocks *
3 Textual step body with action calls Not supported
4 Action block “d” field Not supported
* Implemented through the editors
Action qualifiers
Table 45 No. Description Note
Sequence evolution
Table 46 No. Description Note
40 1 Supported
41 1 or 2 or 3 or (4 and (4a or 4b)) or Supported
(7 and (7a or 7b or 7c or 7d))
42 1 or 2l or 2f Supported
43 1 or 2 or 4 *
45 1 or 2 Supported
46 1 and (2a or 2b or 2c) and 3 and 4 Supported
47 (1 or 2) and (3 or 4) and (5 or 6) and (7 or 8) and Not supported
(9 or 10) and (11 or 12)
* Implemented through the editors
Task features
Table 50 No. Description Note
1 LD Supported
2 ST Supported
3 S, R Supported
4 AND, N, ( Supported
5 &, N, ( Not supported
6 OR, N, ( Supported
7 XOR, N, ( Supported
8 ADD, ( Supported
9 SUB, ( Supported
10 MUL, ( Supported
11 DIV, ( Supported
12 GT, ( Supported
13 GE, ( Supported
14 EQ, ( Supported
15 NE, ( Supported
16 LE, ( Supported
17 LT, ( Supported
18 JMP, C, N Supported
19 CAL, C, N Supported
20 RET, C, N Supported
21 ) Supported
ST language statements
Table 56 No. Description Note
Power bar
Table 59 No. Description Note
Link elements
Table 60 No. Description Note
Contacts
Table 61 No. Description Note
1 Coil —( )— Supported *
2 Negated coil —( / )— Supported *
3 SET (latch) coil —( S )— Supported *
4 RESET (unlatch) coil —( R )— Supported
5 Retentive (memory) coil —( M )— Not supported
6 SET retentive (memory) coil —( SM )— Not supported
7 RESET retentive (memory) coil —( RM )— Not supported
8 Positive transition-sensing coil —( P )— Not supported
9 Negative transition-sensing coil —( N )— Not supported
! C
32-bit file access, 2-3 Call Tree, 4-26
Class, 6-6, 6-7, A-2
A Closing
Dialog box, 3-13
Absolute address, 6-6, A-1 Object, 3-10
Absolute label, 3-28, 7-24, A-1 Window, 3-10
Accumulator, 6-15, A-1 Collapsing, 3-6
Action, A-1 Colors, 3-15
Creating, 4-20 Com Port, 7-11
Pool, A-1 Comment, 6-6, 6-11, A-2
Actual parameter, 6-38, A-1 Graphical editor, 3-34, 3-40
Address, A-1 Object, 4-22
Absolute address, 6-7 Sequential Function Chart, 3-6, 6-28
MITSUBISHI address, 6-7 Text editor, 3-32, 3-33
Array, 6-50, A-1 Compiling, 7-2, A-2
Calling, 6-51 Object, 7-3
Declaration, 6-50 Project, 4-5, 7-2
Entry data monitor, 8-22 Compliance list, G-1
Programming, 6-50 Computer link module, 7-6, A-2
ASCII file Installation, 2-20
Export, 7-17 Copyright, 2-1
Import, 7-18 Counter
Autoconnect function, 3-41 Counter function, 6-52
Autoextern function, 3-60 Counter function block, 6-55
Autorouting function, 3-43 Extended counter, 5-4
Interrupt counter, 5-17
B Latch range, 5-4
Local counter, 6-55
Body, 3-1, A-1
Parameters, 5-8
Editing, 3-27
Programming, 6-52
Error check, 7-1
Cross Reference, 4-32
Information, 4-24
Creating, 4-33
Opening, 3-27
MMP.INI, 2-6
Breakpoint, 8-1, A-2
Options, 2-14
Query, 4-34
G Import, 7-18
ASCII files, 7-18
Global DUT, 6-46 File, 4-2
Global Function Block, 6-44 MELSEC Upload, 7-23
Global variable, 4-4, 6-6, A-4 Object, 7-19
Graphical editor, 3-34, 6-16, A-4 Print files, 7-20
Anchor point, 3-45 Project, 7-18
Autoconnect, 3-41 Symbolic Upload, 7-22
Autorouting, 3-43 Initial value, 6-6, 6-11
Changing editing area spacing, 3-40 Initialisation file
Comment, 3-34, 3-40 SEE MMP.INI
Configuring input signals, 3-47 Input
Configuring output coils, 3-47 Graphical editor, 3-47
Context menu, 3-36 Negation, 3-47
Error check, 7-1 Installation, 2-1
Function Block Diagram, 6-16 Instance, 6-36, 6-39, A-5
Inserting elements, 3-39 Instruction List, A-5
Inserting lines, 3-43 SEE Text editor
Jump instruction, 3-51 Interconnect mode, 3-36
Keyboard commands, B-11 Interface card A7BDE
Ladder Diagram, 6-16 Installation, 2-22
Macro, 3-53
Moving elements, 3-42 J
Options, 3-35
Jump
Power bar, 3-34
Graphical editor, 3-51
Programming instruction, 3-54
Sequential Function Chart, 6-19, 6-23
Recalculate lines, 3-44
Return instruction, 3-51 K
Rubberbanding, 3-42
Selecting an element, 3-39 Keyboard
Selecting several elements, 3-39 Selecting menu commands, 3-3
Tools, 3-38, C-3 Working in tables and editors, 3-17
Variable, 3-34, 3-47, 3-56 Keyboard commands, B-1
Grid, 3-13, 3-14
L
H
Label, A-5
Hardware requirements, 2-1 Absolute label, 3-28, 7-24
Header, A-4 Network label, 3-28
Error check, 7-1 System label, 3-29, 5-19
Opening, 3-21 Ladder Diagram, A-6
Header monitor, 8-16 SEE ALSO Graphical editor
Latch range, 5-4
I Library, 4-7, A-6
Editor, 3-55
I/O configuration, 5-9
SEE ALSO Manufacturer library
Icon, 3-11
Pool, 4-3
Identifier, 6-6, 6-7, A-4
SEE ALSO Standard library
IEC address, 6-8
SEE ALSO User library
Variable, 3-57
Link settings, 5-12
Local DUT, 6-49
Local variable, 6-6, A-6
M O
MAC transparent mode, 7-8 Object, 3-4, 4-1, A-7
Macrocode execution, 4-25, 6-40 Call Tree, 4-26
Manufacturer library, 4-8, A-6, E-1 Closing, 3-10, 4-20
MC-MCR execution Comment, 4-22
Function block, 4-25, 6-40 Compiling, 7-3
Task, 6-3 Copying, 4-21, 4-22
Memory parameters, 5-2 Creating, 4-20
Menu bar, 3-1, 3-2 Cutting, 4-21
Menu commands, F-1 Deleting, 4-21
Keyboard commands, B-1 Displaying in the navigator, 3-4
MiniNet, 5-21 Editing, 3-7
MITSUBISHI address, 6-8, A-6 Error check, 7-1
MMP.INI, 2-4 Export, 7-17
Modem transmission, 7-9 Import, 7-19
Monitoring, 8-13, A-6 Information, 4-23
Entry data monitor, 8-16 Keyboard commands, B-3
Header monitor, 8-16 Opening, 3-9, 4-20
Online toolbar, 8-14, C-6 Pasting, 4-22
Program monitor, 8-14 Printing, 4-29
Mouse Reference List, 4-26
Selecting menu commands, 3-3 Renaming, 4-21
Working in tables and editors, 3-17 Saving, 4-21
Security level, 4-28
N Subordinated objects, 4-26
Superordinated objects, 4-26
Navigator, 3-1, 3-4, 4-2, A-8 Online
Collapsing, 3-6 Changes in online mode, 7-16
Displaying objects, 3-4 SEE ALSO Monitoring
Editing objects, 3-7 Online Help System
Expanding, 3-5 Keyboard commands, B-16
Extended information, 3-6 Online toolbar, 8-14, C-6
Keyboard commands, B-2 Opening
Levels, 3-4, 3-5, 3-6 Body, 3-27
Tools, C-5 Header, 3-21
Network, 3-27, 6-14, A-6 Object, 3-9
Changing size, 3-29 Table, 3-21
Entering a new network, 3-28 Window, 3-9
MELSEC network, 3-32, 6-15 Options, 2-9
Network bar, 3-27 Output
Network label, 3-28 Graphical editor, 3-47
Network list, 3-28, 3-30, 6-14 Negation, 3-47
Novell , 2-3 Set/Reset, 3-47
P Protection, 4-27
Object, 4-28
Parameters, 5-1 Project, 4-27
Transfer, 7-11 User library, 4-10
PLC
Changing PLC type, 5-1 Q
Connecting PLC to PLC, 2-17
Quitting MM+, 2-3
Setup, 5-13
Supported PLCs, 5-22 R
Pointer, 7-24
Port Redo, 3-19
Release Com Port, 7-11 Reference List, 4-26
Printer Replacing data, 3-19
Configuration, 4-29 Resource, 4-1
Connection, 2-24 Return instruction
Printing, 4-29 Graphical editor, 3-52
File, 4-2
MMP.INI, 2-6 S
Options, 2-9
Setup of page, 4-31 Sampling Trace, 8-25
Program, A-7 A series, 8-25
Program monitor, 8-14 Defining a sampling curve, 8-28
Program organisation unit, 4-6, A-7 Defining the sampling data, 8-26
Creating, 4-20 Displaying the results, 8-30
Information, 4-24 FX series, 8-31
Pool, 4-5 Performing a Sampling Trace, 8-26
Programming instruction, 3-54, A-8, E-1, E-2 Screen display
Assigning variables, 3-47, 3-56 Customizing, 3-13
EN/ENO, 3-48, E-3 Fonts, 3-14
Programming language, 6-14 Saving, 3-15
SEE ALSO Editors Zoom factor, 3-14
Project, 4-1, A-8 Scrollbar, 3-13
Backup, 4-18 Searching data, 3-19
Closing, 4-15 Select mode, 3-36
Comparing projects, 7-15 Sequential Function Chart, 6-17, A-9
Compiling, 4-5, 7-2 Action, 6-17
Copying, 4-17 Assigning action to step, 6-26
Creating, 4-11 Assigning transition condition, 6-27
Deleting, 4-16 Branching, 6-18
Error check, 7-1 Comment, 3-6
Export, 7-17 Initial step, 6-18
Import, 7-18 Jump, 6-19, 6-23
Opening, 4-13 Keyboard commands, B-13
Password, 4-27 Macro step, 6-17
Printing, 4-30 MMP.INI, 2-7
Recovering, 4-14 Programming, 6-20
Renaming, 4-16 Sequence errors, 6-29
Restore Backup, 4-19 Sequence rules, 6-21
Saving, 4-16 Step, 6-17
Security level, 4-28 Tools, C-4
Transfer, 7-4, 7-15 Transition, 6-17
Using Backup, 4-14 Zooming, 6-25
V
Variable, 3-47, 3-56, 6-6, A-10
Autoextern, 3-60
Declaration, 6-6
External variable, 3-60
SEE ALSO Global variable
Graphical editor, 3-47
SEE ALSO Local variable
System variable, 5-18
Text editor, 3-32
W
Window, 3-9
Arranging, 3-10, 3-11
Changing display size, 3-11
Closing, 3-10
Icons, 3-11
Keyboard commands, B-3
Opening, 3-9
Selecting, 3-10
Wizard, 4-13, A-10
MMP.INI, 2-6
Workspace
Loading, 3-16
Saving, 3-15
Z
Zooming, 2-10