I use a VM140 to control the 16 relays of a K6714-16 card and to read the input of 8 analogue 0-10V sensors.
I coded a software starting from the given example in VB.
Everything works fine to control the 16 relays and to readout the value of the 8 sensors.
My problem is that sometimes (ranging from a few minutes to a few tens of hours of use), the card stops working, i.e. it stops reading the sensors values (that are all 0) and I can’t activate/deactivate the analogue and digital outputs. If I try to disconnect the card from the software point of view, or simply restart the software and reconnect the card, the card is shown as found but nothing works. The only way is to disconnect and reconnect the usb connection and then reconnect it.
I would like to know if someone encountered this problem before or if someone has an idea of how to solve it?
I have recently purchased a VM140 module. I put in the CD and there was a file which advised me to copy K8061.DLL and MPUSBAPI.DLL to the \Windows\SysWOW64 folder.
I am running Windows 7 64-bit so I assume this is correct so I followed the instructions.
When I connect the board, I get two errors:
Device software installation - Device Driver software was not successfully installed and in the Device Manager there is an Exclamation mark under “other drivers” alongside the K8061 USB interface board.
It is obviously me but I don’t know why it is not recognized and installed.
If problems occur with the original driver, you can use the latest driver “K8061 driver update v4.0.0.0”, available here: vellemanusa.com/support/down … 8061&type=
I finally got the VM140 installed and ran the Demo.exe and Daignostic Programs, these worked properly. I then loaded the Demo into Visual Basic 8 and the debugger threw up an error.
The part of the code at which it gave the error was when I clicked the “Connect” button, Button1.
The first line is:
Dim h as Integer
h = OpenDevice() and it is at this point the error occurs. It is described as “BadImageFormatException was Unhandled”. An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
Incidentally, I looked up the driver details. There were 4 driver files listed.
C:\windows\system32\drivers\winusb.sys
C:\windows\system32\WdfCoInstaller01009.dll
C:\windows\system32\WinUSBCoInstaller2.dll
C:\windows\system32\WUDFUpdate_01009.dll
I was surprised to see the in the System32 directory
It seems that you are now compiling a 64-bit application and using the 32-bit dll.
This is not possible in Windows, so the solution is to compile your application as 32-bit.
A 32-bit application can load the 32-bit dll.
Please see this threads for a solution: viewtopic.php?f=3&t=5363 viewtopic.php?f=12&t=16783
If you anyhow want to write 64 bit application:
Download the package: “K8061 update for Windows 64-bit OS.” from velleman.eu/support/download … 8061&type=
The package contains 64 bit version 4.0.0.1 of the K8061.DLL, 64 bit demo software and the USB driver version 1.0.0.2.
Uninstall the current driver if it is the older version (1.0.0.6 dated 19/12/2007) and install the version 1.0.0.2 dated 24/08/2009.
To test: Go to folder K8061Demo (of the extracted download) and run the K8061_Demo.exe
Thanks for the tip. If I build the Demo for 32 bits I get the BadImageFormat error. I do not get the error about bad image format when I build the program for 64 bit. However, when I try to run the program I get “card not found” instead. The K8061_Demo.exe and diagnostic file both work and detect it as board 0.
There are 2 warnings:
Possible problem detected while building assembly ‘K8061demo’. Referenced assembly ‘mscorlib.dll’ targets a different processor
Possible problem detected while building assembly ‘K8061Demo’. Referenced assembly ‘system.data.dll’ targets a different processor
I am obviously going wrong somewhere but for the life of me I can’t spot where.
The message “Card not found” is displayed if the older version of the K8061.dll is used with the new driver version 1.0.0.2.
You can try following to solve the problem:
Thanks very much, everything is now working. I found the driver installed was 1.0.0.6, I thought this was the latest one but I was obviously wrong.
Thanks once again,
Pete Luton
I’m glad to hear it worked out.
Indeed the drivers are from different vendors, this is the reason to the “odd” numbers.
The vendor of the old driver version 1.0.0.6 (dated 19/12/2007) is Microchip.
The vendor of the new driver version 1.0.0.2 (dated 24/08/2009) is Microsoft.
Only the new driver version 1.0.0.2 works well with the new operating systems such as Windows 8, 10 etc.