CUBLOC is different from the traditional
PLCs that the users may associate with.
Traditional PLCs have cases and connections like picture below but
CUBLOC is an “On-Chip” PLC / Embedded Computer, meaning you have more freedom
and flexibility to the final product size and design.
CUBLOC Modules are similar to traditional
PLCs in that LADDER LOGIC can be used but its small size allows developers to
design custom PCBs just like a microcontroller.
are different models each with a unique program memory size, number of I/O
ports. Please make a selection based on your product’s requirement.
CUBLOC’s advantage over other PLCs is that
it supports LADDER LOGIC’s weaknesses with BASIC language. LADDER LOGIC is good enough to replace
sequence diagrams but to collect data, print graphics, and do more complex
tasks is asking a little bit too much.
That is why we added the BASIC language.
You can now run both LADDER LOGIC and BASIC!
Another advantage over other BASIC
processors is that CUBLOC is able to separate the amount of work and
programming between LADDER LOGIC and BASIC if the user desires to.
of CUBLOC Studio is shown above.
There are PLCs on the market currently that
supports both LADDER and BASIC. But
these PLCs do not multi-task and run “Single-task.” Meaning BASIC is part of LADDER and does not
run independently like CUBLOC. This can
prove to be costly since BASIC is not real-time oriented and can effect LADDER
part of the program. CUBLOC is able to
cover these weaknesses through its multi-tasking features, guaranteeing
accuracy and precision of timing. Unlike
many BASIC processors on the market today, CUBLOC supports real-time processing
has a multi-tasking structure that runs BASIC and LADDER simultaneously that
allows accurate LADDER scan timing and still processing BASIC. You even have a choice of simply using BASIC
or LADDER by itself.
As you can see, CUBLOC is a brand new type
of PLC/Micro-computer. By being able to
do things that traditional PLCs couldn’t through BASIC language, we have
expanded the horizons of both PLCs and BASIC micro-computers.
LOGIC and BASIC
The biggest advantage of LADDER LOGIC is
that all circuits are processed in “Parallel,” meaning they are all processed at
the same time.
As you can see above, both A and B circuits
are in a waiting state, ready to output once inputted.
In comparison, BASIC processes code in
order, a type of “Sequential Processing.”
These 2 types of programming have been used
in different fields for a long time.
LADDER LOGIC is used in automation controllers such as PLCs. On the other hand, BASIC and other
programming languages such as C and Assembly have been used in PCs and MCUs.
The biggest advantage that LADDER LOGIC
possesses is the ability to process input within a guaranteed slot of
time. No matter how complex the circuit
becomes, LADDER LOGIC is always ready to output when it receives input. This is the main reason why it’s used for machine
control and other automation fields.
LADDER LOGIC is more logic oriented, not a
complete programming language. To do
complex processes, it has its limits.
For example, to receive input from a keypad, display to 7 Segment or
LCD, and process user’s input is a daring task for LADDER LOGIC.
But these things are rarely a problem for
programming languages such as BASIC.
BASIC is able to process floating point numbers, data communications,
and other things beyond the scope of what LADDER LOGIC can do alone. Another advantage that BASIC has is that its
language is very similar to the English language (IF, GOTO, etc…), allowing the
beginners and the developers to learn in matter of hours, instead having to
deal with days or months of learning curve.
Programming Languages (BASIC,C,ASM)
PC or Micro-Computer
Sequencer, Bit Logic, Timers, Counters
Complex Math, Data Communication, Data
Collection & Process, Analysis, Graphic Interface
LADDER LOGIC’s parallelism and BASIC
sequential language both have its advantages over each other. LADDER LOGIC is able to
process what couldn’t be done with BASIC.
On the other hand, BASIC is able to process easily what either couldn’t
be done or is very hard to do with LADDER LOGIC.
That is why we created “CUBLOC,” which the
user is free to use both LADDER LOGIC and/or BASIC based on the application
being created. After understanding the
advantages of LADDER LOGIC and BASIC, the user will be able to create more efficient
final products while saving development time and costs.
Multi-tasking og LADDER
There are many ways to implement both BASIC
and LADDER in one processor. The current
products on the market use BASIC as part of LADDER LOGIC. These products support BASIC and LADDER LOGIC
but there is one clear weakness.
The first weakness is that based on the
execution time of BASIC, LADDER LOGIC also gets affected. If the BASIC code is made up of an infinite
loop, LADDER LOGIC will also stop.
LADDER LOGIC’s main advantage is that it
can process input in a guaranteed scan-time.
If LADDER LOGIC cannot process within this guaranteed scan-time because
of BASIC, it might be better to not include BASIC capabilities.
The second weakness is that BASIC can only
be used as part of LADDER LOGIC. BASIC
is a powerful language by being able to process complex algorithms. But if we can only use BASIC as part of
LADDER LOGIC, we are not fully using BASIC to its maximum performance.
The third point has to do with I/Os. BASIC language’s execution of I/Os can create
unwanted collisions with LADDER. The
reason is that LADDER LOGIC I/Os are updated while in BASIC, I/Os are directly
After solving these problems, we have created
a BASIC and LADDER LOGIC processor that supports real-time
“multi-tasking.” BASIC runs BASIC and
LADDER runs LADDER, simultaneously without causing collision between the each
With just BASIC, you will be able to create
many devices. In comparison to other
BASIC processor on the market today, CUBLOC’s BASIC clearly has faster
processing speed and the upper hand on the main features. If LADDER LOGIC is not necessary, the user
may use just BASIC.
In the case of I/Os, the user can specifically
control the I/Os used by BASIC and LADDER, thereby eliminating I/O collision
CUBLOC uses BASIC as its main
language. We recommend controlling
LADDER from BASIC.
For example, there is a MASTER CONTROL
feature in LADDER LOGIC, allowing the user to set Control Zones. Control Zones are sections within the LADDER
LOGIC that the user can set entire sections of the control circuit. With the MASTER CONTROL feature, the user can
enable/disable LADDER LOGIC’s Control Zones easily.
In BASIC, the user may read or write to
LADDER LOGIC’s data memory.
In the above example, you can access relay
M1 as _M(1) and write to it from BASIC.
As you can see, CUBLOC supports BASIC and
LADDER multi-tasking simultaneously through “data memory sharing.”
of "On-Chip"PLC/Embedded Computer
One of the main advantages of CUBLOC is
that it is an “On-Chip” PLC. Normally,
we think of PLC as a block type case with input and output lines. When using these PLCs, an external case, and cabinet
must be used in addition to other mind-bogging wiring requirements
When using just a couple of sets, this
might not present a big problem. But
when mass-producing such PLCs, labor cost for assembling the PLCs and faulty
parts could lead to many problems. Most
importantly, the overall design of you final product will be bigger and will
cost more to produce.
following table shows differences between a traditional PLC and “On-Chip” PLC/Micro-computer,
CUBLOC is an “On-Chip” PLC, allowing easy
fit on a PCB. You may use the PLC almost
like an MCU. You can design a customized
PCB for the desired product which reduces the cost and size of your final product,
and most importantly, allow the product to be one-of-a-kind.
If you are currently using a traditional
PLC, please review our product and compare the costs if you change it to a PCB
type. We believe that you will have much
more satisfactory final product at a fractional cost.
To use CUBLOC, the user may use a Windows
XP, 2000, or 98 operating system equipped computer. If you would like to use it in
Linux/Unix/Macintosh environment, you will need to install a virtual machine
software of some type (such as VMware, etc…) that allows Windows operating
system to run on it.
An RS232 port is also required or you may
use a USB-to-RS232C converter. Download
and Monitoring is possible when connected with the PC.
When CUBLOC is disconnected from the PC, it
goes into a STAND-ALONE state. The main
program is stored in CUBLOC’s flash memory, and will be retained even with no
power. The user may download new
programs and erase them as many times as he or she wishes.
Download and Monitoring
throuch the Internet
1000s of devices over the Internet
XPORT is an internet module that converts
RS232 signals into TCP or UDP packets.
You can use XPORT and CUBLOC to download and monitor programs through
By using this feature, you will be able to
update and provide customer service for your products even if it’s located in
other parts of the world. We provide
custom XPORT firmware, Downloading/Monitoring Server programs and embeddable
applets for downloading and monitoring your CUBLOC module. You may use this program to manage thousands
Please refer to our CUBLOC downloads on our
homepage for application notes.
XPORT internet module
Java Downloader/Monitoring Server Program
Java Applet for Downloading/Monitoring
Hits for traditional PLC
For users with much experience in
traditional PLCs, they will find BASIC a completely new language. CUBLOC is a
PLC with BASIC language capabilities added.
The user may program only using the ladder language.
By having the option of using the BASIC
language, even the PLC user may be able to incorporate new features to the
final product by making use of BASIC, which has much powerful capability and
flexibility in communicating with other devices than PLCs.
To use CUBLOC, the user does not have to
know BASIC. He/She may simply use only
LADDER for development. If the user does
not require LCD display or keypad usage, he or she does not need to use BASIC
As you can realize, more emphasis on user
interface is becoming apparent in our industrial world. CUBLOC is able to overcome the deficiencies
and disadvantages of traditional PLCs by being able to use both BASIC and
We provide many BASIC libraries for user
interfaces which you can simply copy & paste to achieve the user interface
for Micro Controller (MCU) User
MCU, Micro Controller Unit, is programmable
micro-computers such as PIC, AVR, and 8051.
For mass-production, MCUs can cut costs and reduce the overall product
size. But the main disadvantage of MCUs
is that it is hard to develop and takes a long time. For simple projects, this might be a good
Even those experienced engineers feel that
MCU programming is time-consuming and not a simple task. To make a final product, it takes many hours
programming and debugging with an MCU.
Even after development, if bugs arise, it becomes almost impossible to
update the MCU.
In comparison, Comfile’s CUBLOC will cut
the users development time as much as 20 times and provide a MCU-like chip that
is upgradeable through RS232 cable or even through the internet by using an
XPORT. By being able to provide a way to
upgrade the final product, the value of your final product is much more than
what you thought.
If you have experience programming with
MCUs, we guarantee you that development of your final product will be much
easier. You will be able to spend more
time designing the features of your final product, instead of spending hours
and hours in front of a computer.
Through use of our embedded Java firmware in XPORT, you will be able to
enable, monitor, and update your CUBLOC from anywhere in the world.
CUBLOC's Internal Structure
The BASIC interpreter contains a “Flash
memory” for user’s BASIC programs. LADDER processor also has a “Flash memory”
for user’s LADDER program. I/O ports are
shared among BASIC and LADDER, allowing free access to both.
BASIC data Memory can only be accessed by
BASIC interpreter while LADDER data memory can be accessed by both BASIC
Interpreter and LADDER Processor.
BASIC program memory(1) and LADDER(2) share
the same Flash Memory. The total
available memory space is 80KB. BASIC
can use the whole memory or LADDER may use the whole memory. As long as the BASIC and LADDER program total
is within 80KB, the user is free to program as he/she wills. (CB2XX series allow 80KB; future models will
have more memory)
I/O ports (5) can be used both by BASIC and
LADDER. The user must specify I/O ports to use in LADDER and BASIC. All I/O ports can be used in LADDER or BASIC.