FAQ Topcon Electronics

Projektor Tool

What is important to know installing Projektor Tool?

To enhance customer experience, Projektor Tool is permanently improved and expanded with new features. Each progress stepp is resulting in new Toolchain version. Installing new Projektor version on PC it is important simultaneously to install the operation system and PClient version of used OPUS consoles, getting them from the same software package. This avoid the experience of the software incompartibility, that may cause issues with project upload to the console and/or issues with new features.

You can always find the current software version as a package on our web page.


I can not install Projektor Tool on my Window PC. What can I do?

Please run the program from the Windows console (cmd.exe). There will probably be an error message that points to the problem. Often it is a memory problem. Java is configured to allocate 2 GB of RAM for the Projektor Tool. You can change this value. Go open the file *Projektor_Install_Path*\toolchain-1_12_1\etc\toolchain-1_12_1.conf and in line 43, change the parameter -J-Xmx2048m to -J-Xmx1024m This could solve the problem.

I have a terminal with CoDeSys and would like to work with the PClient toolchain now. What should I do on the terminal side?

Just install the PClient with the normal update procedure. Codesys will be removed with this. If you want to work with Codesys again, you can re-install it.

Is it possible to shorten the startup time of the terminal?

The starting time of the terminal is caused by the 32 bit system involved that is similar to a normal PC. Therefore it is not possible to shorten it directly. But it is definitely possible to make the process more suitable using the power management. This contains two variables: @PWR_TimeToSleepMode defines the time in seconds after which the terminal should go into sleep mode (maximum is 2332800 s - 27 days); @PWR_TimeToPowerOff defines the time after which the terminal should switch off completely (maximum is 2332800 s - 27 days).

How can I adjust Power Management settings?

The power management settings can only be configured using variables from the Power Modes group (Index 0x2030). Using these variables, the timeouts can be configured (when going into sleep mode and when switching off completely) and what components shall be switched on/off when entering low power mode. See the PClient variable table for details of each variable (in the folder \manuals\software of the Toolchain download packet). PLEASE NOTE: The configuration file /opt/etc/pm_state.conf is not considered anymore. Only the settings made with the variables will apply.

How can I execute actions when entering different Power Modes?

Power Management variables are available. Please refer to the variable table. PLEASE NOTE: The maximum value for a setting is 27 days. The devices support four power modes:
- Off: The device is completely off, no power is consumed
- On: The device is fully running
- LowPower: Ignition pin was pulled. The device switches off configured modules and tries consumes less power.
- Sleep: When the device is in LowPower mode and a timeout expires, the device enters sleep mode. In this mode only the RAM is supplied with power. Power con-sumption is very low.

Three events are defined for the project to which actions can be assigned: OnPowerOn, OnLowPower and OnSleep. Actions can be assigned to these events by clicking on the project name in the project tree and then select "Events" in the property pane.

The OnPowerOn Event is executed as soon as the device wakes up from sleep mode or from LowPower mode (Ignition is plugged in again).

The OnLowPower event is executed as soon as the ignition is pulled.

The OnSleep event currently gets executed as soon as the device wakes up from sleep mode (before the OnPowerOn event). This may change in future so that the event is executed as soon as sleep mode is entered.

To each of these events one of the following actions can be assigned:
- Execute Script
- Set Value

Some ideas for what these events can be useful:

- Jump to the home (start) page when entering LowPower mode by setting the Page ID to variable @ProjektCurrentPage.
- Initialize variables with default values.
- Mimic the same behavior like a cold boot when the device returns from LowPower or Sleep Mode.

By using a script, the above mentioned ideas can be combined.

How can I show a special screen with progress bar while the project is loaded?

The loading screen image should have the same resolution as the target device (e.g. 480x272, 800x480 or 1024x768).  Only PNG images are allowed as loading screen image.

The selected image will be renamed to 'loading_screen.png' and placed in the 'terminal_files/additional_files' directory in the project folder.

PClient will display the loading screen image as soon as it starts on the device.

How to show a progress bar:

PClient automatically draws a progress bar BEHIND the loading screen image. That means if you want to show the progress bar, you have to make parts of the loading screen transparent. Through this transparent area the progress bar will be shown.

The progress bar runs from left to right of the display. It starts at 10% of the display resolution and ends at 90% of the display resolution. For a device with 480x272 resolution that would mean that it runs from X = 48 to X = 432. The height of the progress bar is the complete display resolution. If no loading screen image is selected, no progress bar will be shown.

CANopen: Can I change the Node-ID or Bus rate of the device to runtime?

How can I change the page with JavaScript?

The currently shown page can be changed with JavaScript by changing the value of the variable @ProjektCurrentPage. The variable needs to be set to the ID of the page. The ID can be seen in the project tree behind the page name.

How can I calibrate the touchscreen of my device?

The touchscreen only needs to be calibrated if it is a resistive touchscreen. Capacitive touchscreens do not need any calibration. To start the touchscreen calibration use the JavaScript function startTouchCalibration


How to connect OPUS with PC correctly?

There are following point that should be correct configured to setup the connection:

- Make sure that you have the same software level on both your PC and your device.

- Make sure that the ethernet port on the device is working. On the serial console, type ifconfig -a to see all communication ports. You should see an eth0 port with an IP by default. If you don't, write the following commands:

ifconfig eth0 down

ifconfig eth0

- Make sure that the PC is in the same subnet as your device (e.g. if the device has, set your PC to 192.168.135.xyz)

- Try pinging your device from the PC ("ping" on the Windows command line)

- In Codesys, go to Tools -> Options -> Device editor and check "Use classic communication page"

- Make sure that the device description version in Codesys matches the Codesys runtime version. If unsure, update the device description on the PC again.

- In the communications / connection page, set the Filter from "Target ID" to "None"

- Stop and restart the Codesys gateway in the system tray (lower right side, the symbol is a gray square with the front quarter being red)

How to find out CODESYS version on the display?

This is possible using the following command over the srial console:

cat /opt/data/StdLogger* | grep NativeControl | grep Dynamic | cut -f 6 -d ">" | cut -f 1 -d "<"

How to restart CODESYS from the serial console?

You can restart CODESYS using the following command:

root@rosi /opt/etc/init.d$ /opt/etc/init.d/codesys restart

Which USB-Ethernet adapter are supported by OPUS hardware?

There are drivers for the following chipsets installed:

- ASIX AX88xxx based

- SMSC LAN95XX based

- MosChip MCS7830 based

We always recommend and worked very well over the years with this one:

- LogiLink UA0025C USB 2.0 to Fast Ethernet Adapter

How to desable the mouse cursor on the visualiuation?

There is an option for graphics driver to disable the cursor.For this purpose the file "opt/CoDeSYsControl/Files/run" should be modified. The line:

should be replaced with the following content:

export QWS_DISPLAY=${fb}${QWS_DISPLAY}:nomousecursor