About companyProductsShopTechnical support
Moravian Instruments
Main page
About company
Software download
Documents download
Products
The Control Web System
VisionLab Machine Vision Software
DataCam Cameras and DataLight Lighting Units
DataLab industrial input/output system
Scientific cameras
Price list
Services
Custom-made Solutions
Technical support
Control Web Examples

Main pageProductsControl Web Software SystemArticles

64bit version of Control Web is here
 “64bits” is a new marketing buzz-word in the world of mobile phones and tablets, but it is rather common in the world of Personal Computers. Despite the 64bit systems are available for many years, especially recently number of newly installed 32bit systems sharply declines and 64bit systems dominate. Surprisingly, general understanding what does it mean is very low and particularly baffling is the fact, that 64bit operating system is (fortunately) perfectly capable to run 32bit applications. The answer to the question which driver version (32bit or 64bit) to install requires understanding of a few concepts.

64bit computing

64bit CPU (Central Processing Unit) is a computer processor with internal registers, holding and processing individual pieces of information (integer numbers, memory pointers, ...), up to 64bits long. The first microprocessor ever was 4bit (Intel 4004), but it was soon replaced by 8bit version (Intel 8008). 8bit CPUs became widely popular and numerous models appeared (Intel 8080, Zilog Z80, Motorola 6800, MOS Technology 6502, ...) and they powered first truly personal computers. In a chase for greater computing power and the ability to access more memory 16bit and later 32bit processors appeared, some of them created as extension of existing architectures, some designed from the scratch to be directly 16or even 32bit.

Continuous demand for more memory caused the 4GB limit, allowed by 32bit processors (2^32=4G) was exceeded and a room for 64bit processors opened. And similarly, some of them were natural extension of older 32bit architectures, some of them were newly designed as 64bit.

But processor architectures have a tough life. They either become successful and widely spread or die soon. Currently (2015) only two architectures dominate — Intel x86-64 and ARM v7/v8. Another MIPS architecture processors (historically MIPS processors pioneered the RISC concepts and also become the first 64bit microprocessors in the world) are trying to catch. All these architectures are available in 64bit variants. And all evolved from their previous 32bit versions, so they are able to run both 32bit and 64bit code.

Remark:

Intel x86 evolved from 16bit to 32bit first and only later 64bit mode was added. It is worth noting that 64bit version of the ancient x86 architecture was not introduced by Intel, which was busy promoting now dead Intel Itanium processors, completely incompatible with the x86 standard. Instead AMD, another manufacturer of x86 processors, invented 64bit x86-64 extensions and when Microsoft started to support it, even Intel has to accept this standard. The key feature was the ability of 64bit x86 CPUs to run all existing 32bit software. Completely 32bit environment was used first (operating system, applications) and only later 64bit operating systems started to be common, running a mix of 32bit and 64bit applications.

64bit x86 CPUs were marked x86-64, which was later reduced to x64 only. So “x86” means 32bit Intel architecture, while “x64” means 64bit Intel architecture (invented by AMD :-).

64bit operating system

64bit operating system needs 64bit CPU to run. While a purely 64bit OS, requiring 64bit applications only, could be designed, it is almost impossible to succeed on the market. People need to run existing applications, so a backward compatibility is a key to success.

To achieve compatibility, both hardware (CPU) and software (operating system) must support it. And all major players do this (x64 and ARM, Windows and Android).

  • 64bit CPU can run both 32bit and 64bit operating systems and applications. If 32bit OS is run, the whole system acts as purely 32bit, including memory address space limitations. It is not possible to use any 64bit piece of code, 64bit applications do not work.

  • When 64bit CPU runs 64bit OS, it is possible to run both 32bit and 64bit applications.

    Remark:

    Here is a source of confusion among many users. They have 64bit CPU and 64bit version of Windows, so they think all they run is 64bit. In fact, only a very few applications are 64bit, absolute majority are still in 32bit form only (year 2016). And because these applications never need more than 4GB of memory and work seamlessly, there is no pressure to rebuild them to 64bit version.

    So 64bit Windows can run both 32bit and 64bit Control Web without any problems.

  • But there is one important limitation. It not possible to mix 32bit and 64bit code in one process. One process is either completely 32bit or completely 64bit, including all DLLs, drivers and other components. The same is true for the operating system kernel — if it is 64bit version, all device drivers must be 64bit, too.

    Remark:

    This is why the system drivers of the DataCam cameras and DataLab devices are available as 32bit and 64bit versions for quite a long time. It is necessary to use 64bit version of the system driver if 64bit OS is used, despite the user application, which communicates with the particular device, is 32bit only.

64bit Control Web

All rules concerning 64bit applications are naturally also valid for 64bit Control Web. There is no difference in using of 32bit and 64bit version from the application development point of view, Control Web applications are mutually fully compatible, including the runtime version (.cwx).

Warning:

The only limitation is related to device drivers and other binary components (e.g. the Active X components). If the 64bit version of the device driver, necessary to run particular application, is not available, the 64bit version of Control Web cannot be used.

So the PLC and I/O device drivers must be 32bit if the Control Web is 32bit, despite it runs on 64bit CPU and OS. And similarly all device drivers must be 64bit if the Control Web itself is 64bit.

The single most important difference between 64bit and 32bit versions is the ability to address all memory, available on any particular PC (more than 4GB). So the most useful application would probably by in connection with the machine vision system VisionLab when processing large number of large images.

Test (beta) version of the 64bit Control Web is available for download from the following links:

 
 | About company | Products | Technical support | Software download | Documents download | 
Moravian Instruments, Masarykova 1148, Zlin 4, CZ-76302, Czech Republic