Skip to main content

Kollmorgen Support Network

To better serve our Kollmorgen users with questions too complex to be addressed in this space, we made the painful decision to close this Community forum.

Please submit your question using the contact us form to reach our application engineering team.

For the immediate future, you can still access and read past posts.

Thank you for understanding and for participating in the community over the years.

Workbench BASIC compilation exception | 14 Jan 2021 | |

Workbench BASIC compilation exception

Workbench throw an exception when compiling basic code.
I just can't work !

I can connect to the real AKD and control it but no way to compile any code.

I tried to create an empty project with a simulated AKD-BASIC and compile an empty code file with the same result.

I tried to uninstall and reinstall, tried an older version

How can i make it work ?

WorkBench.exe Version: 2.7.0.5821
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Culture information:
Culture Name: fr-FR
Culture English Name: French (France)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Device: 0
Drive Name: no_name (Simulated)
Drive Version Image:
Advanced Kollmorgen Drive
-------------------------
Resident Firmware    : R_00-00-35-000
Operational Firmware : M_01-20-00-001
Resident FPGA        : FPB004_0200_00_00
Operational FPGA     : FP0003_0300_00_00

Communication Log:
DRV.HELP DRV.WARNINGS Help for: DRV.WARNINGS [Info]
DRV.WARNINGS
DRV.HELP VM.AUTOSTART Help for: VM.AUTOSTART [Integer] [ReadWrite] [NV]
Minval = 0
Maxval = 1
Default = 0
Actual value = 0
DRV.HELP VM.PGMNAME Help for: VM.PGMNAME [String] [ReadWrite]
Default = empty
Actual value = empty
DRV.HELP DRV.MOTIONSTAT Help for: DRV.MOTIONSTAT [Integer] [ReadOnly]
Actual value = 0
DRV.HELP DRV.NAME Help for: DRV.NAME [String] [ReadWrite] [NV]
Default = no_name
Actual value = no_name
DRV.HELP DRV.FAULTS Help for: DRV.FAULTS [Info]
DRV.FAULTS No faults active
DRV.HELP DRV.WARNINGS Help for: DRV.WARNINGS [Info]
DRV.WARNINGS
DRV.HELP DRV.OPMODE Help for: DRV.OPMODE [Integer] [ReadWrite] [NV] [Recordable]
Minval = 0
Maxval = 2
Default = 2
Actual value = 2
DRV.HELP DRV.CMDSOURCE Help for: DRV.CMDSOURCE [Integer] [ReadWrite] [NV]
Range: [0, 3, 5]
Default = 5
Actual value = 5
DRV.HELP DRV.DISSOURCES Help for: DRV.DISSOURCES [Integer] [ReadOnly] [Recordable]
Actual value = 5
DRV.HELP DRV.DISSOURCESMASK Help for: DRV.DISSOURCESMASK [Integer] [ReadOnly]
Actual value = 63
DRV.HELP STO.STATE Help for: STO.STATE [Integer] [ReadOnly]
Actual value = 1
DRV.HELP DRV.ACTIVE Help for: DRV.ACTIVE [Integer] [ReadOnly] [Trigger] [Recordable]
Actual value = 0
DRV.HELP DRV.DISSOURCES Help for: DRV.DISSOURCES [Integer] [ReadOnly] [Recordable]
Actual value = 5
DRV.HELP DRV.DISSOURCESMASK Help for: DRV.DISSOURCESMASK [Integer] [ReadOnly]
Actual value = 63
DRV.HELP DRV.EN Help for: DRV.EN [ActionCommand]
DRV.HELP DRV.DIS Help for: DRV.DIS [ActionCommand]
DRV.HELP DRV.FAULTS Help for: DRV.FAULTS [Info]
DRV.FAULTS No faults active
DRV.HELP DRV.WARNINGS Help for: DRV.WARNINGS [Info]
DRV.WARNINGS
DRV.HELP VM.AUTOSTART Help for: VM.AUTOSTART [Integer] [ReadWrite] [NV]
Minval = 0
Maxval = 1
Default = 0
Actual value = 0
DRV.HELP VM.PGMNAME Help for: VM.PGMNAME [String] [ReadWrite]
Default = empty
Actual value = empty
DRV.HELP DRV.MOTIONSTAT Help for: DRV.MOTIONSTAT [Integer] [ReadOnly]
Actual value = 0
DRV.HELP DRV.NAME Help for: DRV.NAME [String] [ReadWrite] [NV]
Default = no_name
Actual value = no_name
DRV.HELP DRV.FAULTS Help for: DRV.FAULTS [Info]
DRV.FAULTS No faults active
DRV.HELP DRV.WARNINGS Help for: DRV.WARNINGS [Info]
DRV.WARNINGS
DRV.HELP DRV.OPMODE Help for: DRV.OPMODE [Integer] [ReadWrite] [NV] [Recordable]
Minval = 0
Maxval = 2
Default = 2
Actual value = 2
DRV.HELP DRV.CMDSOURCE Help for: DRV.CMDSOURCE [Integer] [ReadWrite] [NV]
Range: [0, 3, 5]
Default = 5
Actual value = 5
DRV.HELP DRV.DISSOURCES Help for: DRV.DISSOURCES [Integer] [ReadOnly] [Recordable]
Actual value = 5
DRV.HELP DRV.DISSOURCESMASK Help for: DRV.DISSOURCESMASK [Integer] [ReadOnly]
Actual value = 63
DRV.HELP STO.STATE Help for: STO.STATE [Integer] [ReadOnly]
Actual value = 1
DRV.HELP DRV.ACTIVE Help for: DRV.ACTIVE [Integer] [ReadOnly] [Trigger] [Recordable]
Actual value = 0
DRV.HELP DRV.DISSOURCES Help for: DRV.DISSOURCES [Integer] [ReadOnly] [Recordable]
Actual value = 5
DRV.HELP DRV.DISSOURCESMASK Help for: DRV.DISSOURCESMASK [Integer] [ReadOnly]
Actual value = 63
DRV.HELP DRV.EN Help for: DRV.EN [ActionCommand]
DRV.HELP DRV.DIS Help for: DRV.DIS [ActionCommand]
DRV.HELP DRV.FAULTS Help for: DRV.FAULTS [Info]
DRV.FAULTS No faults active
DRV.HELP DRV.WARNINGS Help for: DRV.WARNINGS [Info]
DRV.WARNINGS
DRV.HELP VM.AUTOSTART Help for: VM.AUTOSTART [Integer] [ReadWrite] [NV]
Minval = 0
Maxval = 1
Default = 0
Actual value = 0
DRV.HELP VM.PGMNAME Help for: VM.PGMNAME [String] [ReadWrite]
Default = empty
Actual value = empty
DRV.HELP DRV.VERIMAGE Help for: DRV.VERIMAGE [Info]
DRV.VERIMAGE Advanced Kollmorgen Drive
-------------------------
Resident Firmware    : R_00-00-35-000
Operational Firmware : M_01-20-00-001
Resident FPGA        : FPB004_0200_00_00
Operational FPGA     : FP0003_0300_00_00

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

User activity log:
DisconnectedView Page is opened.
OverviewView Page is opened.
OverviewView Page is opened.
ProgramView Page is opened.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Kollmorgen.Akd.Views.WPF.ProgramView.ProgramViewModel.CompilationDone()
   at Kollmorgen.Akd.Views.WPF.ProgramView.ProgramViewModel.<DoAsyncCompile>b__367_1()
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

 

Comments & Answers

toddevans01 said ...

toddevans01 |

We are currently looking at your exception error to determine possible root causes.

didier.kuttel said ...

didier.kuttel |

This is probably an installation issue - the BASIC compiler is using VC 2010 SP1 redistributable files (v10.0.40219).
When you install WB, in normal cases, if these files are missing, they will be installed.
Not sure if you canceled anything during the install.

It is also possible that your computer is in a bad state with these redistributables settings.
Please check what is installed on your computer - eventually uninstall/reinstall (only the VC 2010 redistributables).

You could try to reinstall them:
https://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe

Please let us know if it fixes your issue or not.

Nicolas G | Mon, 01/18/2021 - 08:16

Thanks.This is not vcredist.
It was already intalled.
Your link is not the latest version of VC 2010 redist. I tried this specific version with no success.
The result is the same exception.

didier.kuttel | Mon, 01/18/2021 - 09:50

Could you please tell me the exact version of vcredist installed on your computer ?
I will do a try to see if it can cause problem - sometimes having newer vcredist could be a problem.
I tried to run WorkBench without the vcredist, I get the exact same exception as you get - this is why I'm thinking it is the problem.

Nicolas G | Mon, 01/18/2021 - 11:19

I tried after uninstall VC 2010 redist and yes, this is exactly the same result.
I confirm that the result is also the same with VC2010 redist SP1 (V10.0.40219) and VC2010 redist (V10.0.30219, your link).

didier.kuttel said ...

didier.kuttel |

After a deeper investigation, the problem is due to accented characters (eg. "é", "è", "à" - commonly used in French/German/...) used in the path of BASIC program files.
The actual WorkBench/BASIC compiler combination does not support them, it could run into an infinite loop or eventually throw an exception.

For an immediate resolution, please avoid any of these accented characters in your path or filename in relation with your BASIC program.

In future WB versions, we plan to:

  • Try to have full support for the accented characters
  • If not possible:
    • Check for accented characters and inform the user
    • Eventually use a temporary folder to do the compilation and put back the compiled file in the accented path (transparent for the user)
    • Timeout compilation to recover gracefully in case of problem.

A big thanks to Nicolas who helped me a lot to find the root cause of the issue.

 

Nicolas G | Wed, 01/20/2021 - 11:45

And a big thanks to Didier for his support.

toddevans01 | Fri, 01/15/2021 - 14:35

We are currently looking at your exception error to determine possible root causes.

didier.kuttel | Fri, 01/15/2021 - 17:18

None.

About this Question

Nicolas G