COMFILE technology




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.


There 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.





Program Memory




I/O Ports




Data Memory




Other Features




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.


Picture 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 and multi-tasking.

CUBLOC 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.


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


Automation, Machine-Control

General Computing


Sequencer, Bit Logic, Timers, Counters

Complex Math, Data Communication, Data Collection & Process, Analysis, Graphic Interface

Basic Mechanism



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 and BASIC

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 accessed.

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 other. 

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 problems.

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.” 

Advantages 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.



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.

The following table shows differences between a traditional PLC and “On-Chip” PLC/Micro-computer, CUBLOC. 

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. 

Development Environment

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

 – Manage 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 the internet.

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 of devices.

Please refer to our CUBLOC downloads on our homepage for application notes.

XPORT internet module


Java Downloader/Monitoring Server Program


Embedded Java Applet for Downloading/Monitoring

Hits for traditional PLC User

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 at all.

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 LADDER language.

We provide many BASIC libraries for user interfaces which you can simply copy & paste to achieve the user interface structure desired.

Hint 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 route.

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.