it seems as if it is accessing the unit as it reports a status 0, also i can't access it through pico recorder while the python script is opening the unit.

firstly im confused why it is printing @ instead of AP, secondly it is not getting any values back from the logger, is this perhaps due to a mismatch of data types between python and the C dll?
in any case i would be most grateful if somebody could help.

Sorry I didn't look closely at what you were doing, python is not one of my usual langauges. You need to have a handle which gets assigned by the open unit call and is then used by all other calls. Something like

Hi Martyn,
i really appreachiate your help in this, i have started coding in pythen about a year ago an this is the first time i have come across accessing external hardware.
i have added a 5 second sleep command between setting the channel and requesting the data but as a result i am getting an access violation.

Hi Martyn,
i think the problem might be with the definition of my value variable, i have defined it as an integer, but i think the dll wants to return an array. but I am not sure how to resolve this.
thanks

Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
open unit status: 0
set channel status: 0
no value available
no value available
no value available
no value available
no value available
no value available
no value available
no value available
no value available
no value available
>>>

however the following code returns something, that is why i think it has something to do with the buffering: