Application Memory Status
The Application Memory Status feature is a tool available in the MAPware-7000 software that is used to display memory used by the current project. This tool can be used to determine how much memory is still available for new screens, ladder logic, etc.:
MAPware-7000 tracks the memory requirements of your project and displays the following information in the Memory Status box:
Screens and their associated tags can be imported from another project into your current project to speed the development process.
- Total memory available (varies by model)
- Memory used
- Memory free
- Logger Memory allocated
- Ladder Memory available, used, and free
- Application Details (bytes used)
- Power-on tasks
- Global tasks
- Data logging
- Blocks to be read
- Tag names
- Historical alarm memory
- Other bytes
Keep Memory Area and Retentive Tags
For projects created in Native Ladder programming mode, the Keep Memory Area feature provides the ability to retain values in designated internal memory after removing power from the unit.
See our Support Center
for our the MAPware-7000 Programming Manual, Getting Started Guides, Module Guides, Logic Guides, and training Videos all designed to help you get your project started.
The Data Logger available in select models is used to record values of tags
over time. Data is collected and stored in the unit's non-volatile memory or
attached SD card and can be uploaded for later analysis. The Data Logging
feature is most often used for data acquisition where the unit gathers and
saves important process information for analysis.
- Data logging is configured in groups
- Up to four groups can be created, and each group can have a maximum of 30 registers
Up to 20MB of internal memory or 32GB of external SD card memory can be configured for
Data logging can start immediately on power up or the start times can be pre-configured
in the Data Logger Start Time/Stop Time fields
Data logging start and stop times can be controlled by a push-button or a system bit
Data logged to the external SD card can be sent to an external FTP server at a user
specified periodic interval
Collected data can be viewed in several ways:
- Uploaded to a USB Flash Drive (can be in CVS format)
- Uploaded with MAPware-7000 configuration software and viewed
- Sent to a remote FTP server at periodic intervals
For more information on Data Logging, refer to the MAPware-7000 Programming Manual
or watch one of our Training Videos:
Data Log USB Upload in Native Ladder
See the Documentations and Resources tab for more information on all our training videos, sample projects, manuals, and tech notes.
This handy feature is similar to a Watch window. It allows you to construct a table of memory addresses that can be monitored from the MAPware-7000 software while your PC is connected 'online' to a Maple PLC.
The Data Window provides an easy tool that can be used to debug your project. In addition, the Data Window can also be used to download preset values to the PLC for testing.
Additionally, the Data Window allows you to:
- New block ? displays the Define Block dialog box. Use to define a block of data viewed in the Data Monitor.
- Delete block ? displays the Delete Block dialog box. Select which block of data you wish to remove from the Data Monitor.
- Edit block ? displays the Edit Block dialog box. Use to modify an existing block (i.e. change address, size, color, etc.).
- Import Data ? import a Data Monitor file (in *.CSV format) that was created in a different project. Useful if you wish to monitor the same addresses.
- Export Data ? export a Data Monitor file (in *.CSV format) so that you do not have to recreate the Data Monitor list in another project.
The Debug feature provides various functions that can be helpful when troubleshooting the ladder logic in your unit. A debugger allows users to slow down the execution of a ladder logic sequence to a human time scale so that they can see what the unit is doing one ladder instruction at a time. This is the best way to understand what the unit is doing while it is occurring. The Debugger allows the user to set breakpoints to halt execution at a particular point in the logic and then step through, one instruction at a time, watching the data fields update at each and every step.
To use the Debug options, you must be online. Up to eight breakpoints can be set to pause logic operation at different points. The watch window can be used to monitor tags while debugging, and variable can be added or removed during runtime.
Supported debugging commands:
- Set Breakpoint - set a breakpoint where you would like the logic to pause
- Go to Breakpoint - execute logic up to the next set breakpoint
- Remove Breakpoint - remove a breakpoint that is no longer needed
- Single Step - execute ladder logic one instruction at a time
- Single Scan - forces the ladder logic to perform a single scan, then stops at the current active step instruction
- Show/Hide Watch Window - displays the watch window. Similar to the Data Monitor Window, the watch window is only available in Debug mode and is used to watch specified address tags
The FTP Server feature allows the MLC to send values of internal memory to
an FTP server on a network attached device, where the data can be stored
creating a record of process data.
To use the FTP feature there must be an FTP server accessible at the
configured IP address. The FTP server must be configured with the user and
password specified and must permit write access for that user. The SD card
must be present and contain a log file to send.
Provided the above conditions are met, the unit will periodically upload a
*.csv file to the FTP server. A new file is created each time the unit
transmits data logger data to the FTP server. Each file will contain only the
data recorded since the last file was sent.
The name of each *.csv file consists of the file name specified for the group
number, appended with the date and time information for when the file was sent.
The period contained in each log file is determined by the Send File at Every
field in the FTP Client Configuration window.
Logs are kept on the SD card that detail what data has been sent to the FTP server. Data
transmission can be turned on or off with a button press. To use the FTP feature, there must
be an FTP server accessible at the configured IP address. The FTP server must be configured
with the user and password specified and must permit write access for that user. The SD card
must be present in the HMC and contain a log file to send.
The MLC2 PLC model has an additional option when using the Data Logger feature described above. Data collected from the Data Logger can be transferred to a *.CSV file, then immediately sent to an FTP Server via the Ethernet port or one of the serial ports.
For more information on the FTP Server, refer to the MAPware-7000 Programming Manual
IEC 61131-3 Programming Languages
IEC 61131-3 is a section of an International Electro-Technical Committee (IEC) standard that provides a definition for implementing PLC programming software.
MAPware-7000 supports the following IEC languages:
Over 130 instructions supported (many of which are not available for native
ladder logic). The MAPware-7000 implementation of the IEC 61131-3 standard
also allows the programmer to define their own instructions through User
Defined Function Blocks (UDFB) allowing code reuse and reducing
- Ladder Diagram – similar to ladder logic with power rails that simulate an electrical circuit.
- Function Block Diagram – based upon using graphical elements to produce logic diagrams or blocks.
- Structured Text – this is a simple text-based language that uses keywords, operators and function calls.
- Instruction List – also a text-based language which is very similar to older rudimentary PLC programming languages.
- Sequential Function Chart – another graphic-based language that models program execution as a flow chart.
Use ladder logic or IEC61131-3 programming to create the logic for monitoring and controlling your system.
An important aspect of MAPware-7000 is the ability to separate your PLC application into logic blocks. Logic blocks help to keep your project organized and easier to code. Up to 256 logic blocks can be created. In MAPware-7000, there are five types of logic blocks:
- Power Up – As the name implies, this type of logic block executes only once at the beginning of program execution.
- Main – Each main logic block is executed during every scan cycle of the program.
- Subroutine – A subroutine logic block is very similar to a main logic block except that it is only executed when specifically called from another routine.
- Timer Interrupts – Timer Interrupts are immediately executed whenever the assigned timer expires. The time interval can be set from 1 to 1000 msec.
- Hardware Interrupts – These are logic blocks that are executed when an assigned digital input is active. Two hardware interrupt routines are available for each project.
Native Ladder Logic
The intuitive Ladder Logic editor comes with a complete set of instructions to get your project up and running in just a short amount of time.
Support for over 100 functions or 'instructions' including:
- I/O Instructions for normal inputs/outputs as well as pulsed contacts and rising/falling edge transitions.
- Data Transfer commands that make it easy to move/copy blocks of data, initialize tables, or set up a multiplexer.
- Perform simple math functions such as addition, subtraction, multiplication, division, as well as more complex logarithmic, square root or exponential calculations.
- Compare (=, =, =, ?) 16-bit or 32-bit data registers.
- Perform bitwise logic operations (AND, OR, XOR) on data registers including the ability to rotate or shift registers.
- Conversion routines such as ASCII to Hex, Binary Conversion, Floating-Point to Integer.
- Multiple options on creating timers and counters with 10 msec, 100 msec, or 1 sec resolution.
- Branching statements (subroutines, FOR/NEXT, Step Sequencer, Interrupt) that make it easier to program conditional routines.
- Functions that support linear scaling, averaging, digital filters, and PID control.
- Special functions such as encoders/decoders, digital flip-flop, bit counters, setting the RTC, or immediately updating input/outputs.
The internal battery powers the real-time clock (RTC) when the unit is not powered by external 24VDC. Normally, the internal battery should be able to provide power to the RTC for approximately 20 years (@25°C).
Reading the Date/Time
The Clock objects (Time and Date) are used to display the date and time on an HMI + PLC screen. Each field of the RTC data can also be read and individually displayed on screen by using the designated system word registers (SW10 thru SW16) in the tag database.
MAPware-7000 offers the ability to run your application on your unit while
going online with it and simultaneously monitoring the logic in real-time from
your PC. This important testing capability allows you to monitor and analyze
the functionality of your application as it actually runs.
Tags are names assigned to internal memory registers of the unit, contacts of an expansion module, and any PLC data registers/coils of an external PLC.
Some system tags are predefined when you first begin a project. Other tags are created by the programmer. For example, you must create and assign a tag to every PLC memory address that you wish to read/write to. When using the optional I/O Expansion modules tags are created in order to use them.
The Tag Database collects and stores all tags for review and editing. Once a tag is assigned, you can easily link any object (i.e. bit lamp, numeric register, etc.) to the tag. Tags have several advantages:
- Tags provide an organized method of tracking all memory addresses used in a project.
- Tags are much more descriptive of functionality than the name of the memory address.
- Tags are more easily edited, should a change be required.
- Tags can be exported and imported into other MAPware-7000 projects, regardless of which unit is selected.
For more information on Tags, refer to the MAPware-7000 Programming Manual
, or watch our video, Screen and Tag Creation
, or Part 3
of our Getting Started with MAPware-7000, Adding and Initializing Tags.
An integral part of the MAPware-7000 configuration software is the ability to
create tasks. Tasks are pre-defined actions executed by the PLC program. More
than 50 different actions can be performed utilizing the Task feature. The
number of tasks created is limited only by the total amount of available
memory in the PLC.
Tasks are an easy way for the PLC to take simple actions without having to
create a logic block. Tasks are a good way to initialize tags, perform
simple repetative actions such as math opeations or copy data from one place
in the PLC to another. Tasks can be performed once when the PLC powers on, or
can be configured to run once every logic scan.
- Writing values to tag registers
- Setting the RTC
- Adding or subtracting a constant value to a Tag
- Turning bits on and off
- And many more
The MLC3 model has a web server option that can be used when the PLC is
connected to a remote PC via Ethernet connection. Using a web browser, the
remote computer can display screens of data sent by the MLC3.
Up to 100 screens can be created using MAPware-7000. Up to 100 objects (i.e.
text, bitmaps, bit and register data values, and buttons) are available per
screen. Ten users can be connected to the MLC3 simultaneously.
The following objects are available for use on web screens:
|Bit Display||Represent the state of a bit in a text format (1 for On, 0 for Off).|
|Numeric Display||Displays a number stored in a data register.|
|Bit Entry||Use this object to change the state of a bit (1 for On, 0 for Off).|
|Set Bit||Use this object to latch a bit on.|
|Reset Bit||Use this object to latch a bit off.|
|Momentary Bit||Use this object to set a bit when the object is actuated and reset the bit when the object is released.|
|Toggle Bit||Use this object to toggle the status of a bit (set when pressed once; reset when pressed again).|
|Write Value to Tag||Use this object to write a constant value to a tag.|
|Add Value to Tag||Use this object to add a constant value to a tag.|
|Subtract Value from Tag||Use this object to subtract a constant value from a tag.|
|Add Tag B to Tag A||Use this object to add the value of Tag B to Tag A.|
|Subtract Tag B from Tag A||Use this object to subtract the value of Tag B from Tag A.|
|Numeric Entry||Allows numeric or ASCII character entry to a targeted data register.|
|Multilingual Text||Create a text box using Windows TrueType fonts. |
Note: the browser must be able to display the selected font, otherwise a default font is displayed.
|Picture Object||Display a JPG, BMP, or GIF picture using either predefined libraries or your own custom image.|
|Go To Screen||Allows the remote user to navigate to other web screens.|
|Go To Next Screen||Allows the remote user to navigate to the sequentially next web screen.|
|Go to Previous Screen||Allows the remote user to navigate to the previous web screen.|