Agilent 34980A simulation using IVI-drivers in Teststand?

Hello! I am unable to simulate 34980A in TestStand and here are some results based on testing:
Agilent 34980A is linked to logical name SampleDmm. Simulate With: Specific Driver.
IviStepTypes.seq used with only DMM and Switch steps.
Using IviDMM IVI-C causes runtime-error in Ivi DMM Configure Single Point: Component Works IVI Control Error: The IVI Configure operation failed for logical name 'SampleDmm'. Details: Extension capability not supported by instrument driver.  (Base)
Using IviDMM IVI-COM causes runtime-error in Ivi DMM Read Single Point: Component Works IVI Control Error: The IVI Read operation failed for logical name 'SampleDmm'. Details: Attribute ID not recognized. [IVI Error Code:  BFFA000C] Source: TSIviStepTypes
Skipping Ivi DMM SFP -step removes that error but next one waits in Ivi DMM Configure Multi Point: Component Works IVI Control Error: The IVI Configure operation failed for logical name 'SampleDmm'. Details: Attribute or property not supported. [IVI Error Code:  BFFA0012] Source: TSIviStepTypes
Skipping multi point steps helps until Ivi Switch Connect where another error hits: Component Works IVI Control Error: The Connect operation failed for logical name 'SampleDmm'. Details: No path was found between the two channels. [IVI Error Code:  BFFA2011] Source: TSIviStepTypes
I find some similarities in forum post that involves HP 34401A and IVI .
According to IVI-C Class Driver Support for IVI-COM Specific Drivers the fault might be in 64 bit system (the note in the end). Is this the case? I can't use IVI-COM-drivers in 64bit system?
Example's default DMM Hewlett-Packard 34401A Digital Multimeter simulation works perfectly in unmodified example(it has IVI-C). It even shows simulated numbers in the SFP which is zero all the time with Agilent.
Has anyone succeeded to simulate 34980A properly in TestStand? Any knowledge about how to solve this thing? Any help is welcome. Thank you.
Setup:
-Teststand 5.1
-Windows 7 64bit
-IVI shared components 2.2.1
-Visa shared components 1.5 64bit
-Agilent IO libraries suite 16.3 Update 1
-Agilent 34980A IVI Driver 1.5.3
-MAX/Agilent 34980A published APIs:
    -IviDmm 4.1 IVI-COM (IVI-C tried with less success)
    -IviSwtch 4.0 IVI-C & IVI-COM

Some IVI drivers are designed to work in simulation mode, that is, the virtual instrument can be defined in MAX but no physical instrument is necessary to use the "instrument". If you turn off the simulate checkbox on the validate dialog box, TestStand will create the instrument session without simulation and the driver will attempt to talk to a physical instrument. If no physical instrument definition is available or if the address defined for that virtual instrument is incorrect, the above error can occur.
Scott Richardson (NI)
Scott Richardson
National Instruments

Similar Messages

  • Who can help me using IVI powersupply in Teststand!

    Hi there,
    I'm newly in working with Teststand and IVI drivers and
    have a little simple question.
    I have a step to configure the powersupply.
    The logical name is "SamplePowerSupply", the operation
    is "configure". If I change to the "Validate IVI Configuration" form, uncheck the simulate checkbox
    and press the button "Init" I get the following errormessage:
    ....returned an error: -1073807343 ... Insufficient location information or the requested device or resource is not present in the system (-31619).
    But in MAX I see my powersupply and it seems to work correct.
    Thanks for any answer !!
    Mr.Pe

    Some IVI drivers are designed to work in simulation mode, that is, the virtual instrument can be defined in MAX but no physical instrument is necessary to use the "instrument". If you turn off the simulate checkbox on the validate dialog box, TestStand will create the instrument session without simulation and the driver will attempt to talk to a physical instrument. If no physical instrument definition is available or if the address defined for that virtual instrument is incorrect, the above error can occur.
    Scott Richardson (NI)
    Scott Richardson
    National Instruments

  • Using IVI drivers in LabView 5.1.1

    Hi,
    We have a set of IVI drivers ( class specific and custom specific ) developed in LabWindows/CVI 7 and IVI Compliance package 2.2 version. We want to use these drivers in a new application in LabView 5.1.1 version. I want to use the class specific drivers through the IVI class drivers in LabView 5.1.1 so as to cater for the interchangeability aspect configuring the logical names in MAX. Finally I would be creating an Installer with executable and distributing it.
    I want to clarify few issues.
    1. Please let me know whether I need to install any other software's apart from NI DAQ, IVI compliance package 2.2 and the Installer in the User PC. Does the IVI engine, Tool set, Class drivers for LabView 5.1.1 come with the compliance package?
    2. Does MAX 2.1 support IVI drivers, interchangeability through class drivers and compliance package 2.2 or should I use MAX 3.0 for best results?
    3. When I import a IVI driver (developed using IVI compliance package 2.2) to LabView 5.1.1 and try to use the functions there are some problems in the functions. As per the IVI specifications 3.2, functions GetErrorInfo and ClearErroInfo are changed to GetError and ClearError. But it shows error in the functions at those points and we have to go to IVI Error Converter.vi and change the configuration of the library node and direct it to the GetError function. Do we have an alternative to avoid this process?
    It would be of great help if somebody can clear these issues.
    Thanks & Regards,
    Siddu

    1.  The IVI Compliance Package (ICP) 2.2 installs the IVI Engine and Class Driver support for LabVIEW 7.0 and 7.1.  It does not install Class Drivers for LabVIEW 5.1.
    2.  ICP 2.2 requires MAX 3.0 to get the IVI interchangeability provider in MAX.
    3.  LabVIEW 5.1 was released before the official IVI specifications 3.2 were approved.  Prior to 3.2, the function names were GetErrorInfo and ClearErrorInfo.  Those changed to GetError and ClearError.  The LabVIEW wrapper generation tool that shipped with LabVIEW 5.1 is not aware of these changes.  Therefore, my suggestion is to upgrade to a later version of LabVIEW so that you will have support for the current IVI specifications and class drivers.

  • Make IVI drivers from LAB VIEW drivers

    Hello,
    I have some questions about IVI drivers and Teststand.
    how can I make the interface between teststand and the IVI drivers. Or
    how can I import the IVI drivers in teststand, so that I can use them
    kind regards
    samuel

    Hi,
    You can use the LabVIEW adapter to call the instrument driver VI's direct. Use the Action Step Type to perform the configuring and one of the Test Step Types (Pass/Fail, Numeric Limit Step Types) when acquiring a reading.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Using IVI driver for Keithley 6485

    I am trying to learn how to use IVI drivers.  I installed IVI drivers for two instruments, an HP34401A and a Keithley 6485.  I was able to get the HP to work in simulation mode (I don't have the hardware).  I am also trying to get the 6485 working in simulation mode.  The attached vi was provided by Keithley.  I configured a logical name in MAX, but this name doesn't show up as an option when I edit the "logical name" control on the front panel.  I changed the Initialize vi to Initialize with Options and added a command string control to set the mode to simulation, manually entered the correct name in the control, and ran the program.  No error was indicated in the Initialize vi.  After the configuration vi runs, however, the following error was flagged:
    Error -1074135023 occurred at IviDmm IVI Error Converter.vi
    Possible reason(s):
    Primary Error: (Hex 0xBFFA0011) Function or method not supported.
    Elaboration: FunctionId: 46,  FunctionName: ConfigureMeasurement
    Complete call chain:
         IviDmm IVI Error Converter.vi
         IviDmm Configure Measurement.vi
         KE6485_ZeroChk_LV86.vi
    This error is being generated by IviDmm Configure Measurement.vi, which is apparently installed NI code.  Specifically, the error appears to be thrown when Call Library Function Node is invoked and IviDmm.dll is called.  I wasn't able to track down any further info as to the meaning of these error codes.
    Thanks for your assistance.
    Attachments:
    KE6485_ZeroChk_LV86.vi ‏14 KB

    Hello,
    3rd party devices will show in MAX only when that device is listed at a specific place within your computer's registry. Non-NI hardware may not show up in MAX.
    As far as the logical name is concened, unfortunately, you will have to contact Keithley to get a better understanding of their code.
    You could download our IVI driver from the link below as you might have better luck with it.  You can find any of our 3rd party drivers at www.ni.com/idnet.
    Keithley 6485
    http://sine.ni.com/apps/utf8/niid_web_display.model_page?p_model_id=238
    Regards,
    Shawn S. | NIC
    Instrument Driver/IVI PSE
    National Instruments

  • How to use IVI Driver in Labwindows

    I want to use IVI drivers in LabWindows/CVI, but I don't know how! I know that it necessary to load the class driver. But how can I include the specific driver??? It is possible to add functions into a class driver? And what I have to do when the instrument should change?
    Thanks for your help!!!

    Hi Chris,
    If your goal is to create an interchangeable application, you do have to use a class driver. National Instruments provides Measurement and Automation Explorer (MAX), a Graphical User Interface for configuring IVI. MAX is usually installed with one of NI's Application Development Environments such as LabVIEW or Measurement Studio, or with one of NI's hardware product drivers such as NI-488.2 or NI-DAQ.
    The IVI configuration utility allows you to interchange instruments without recompiling or relinking your application source code by configuring logical names. The user defines which specific instrument he wants to associate with a logical name and IVI takes care of the rest. If at a later time, the user decides to swap the instrument and use a diff
    erent one, all he has to do is change the entry in the configuration utility so the logical name points to a different specific instrument driver (driver session).
    So, the important point is that you have to have both, IVI class and specific driver installed on your system, and then you need to configure them in MAX. MAX 3.0 now has a built-in help to guide you through the configuration process. In the case that you still do not have MAX 3.0, you can find an application note about the IVI configuration in MAX 2.x on NI's Developer Zone: http://zone.ni.com/devzone/devzone.nsf/webproducts/E2947DB2FF0DD9FE862569FD006EB939?opendocument.
    As for the adding functions into the class driver, the answer is no, that is not possible. You can certainly use the specific driver functions in the application which is written using the class driver functions but then your application will not be completely interchangeable in the future. However, this way you will just isolate a small portion of y
    our code that you will need to change later on when you decide to change the instrument.
    I hope this makes sense.
    Regards,
    Vesna Jadric
    Instrument Drivers/IVI

  • NI-FGEN Problems in TestStand using IVI Calls

    Hello:
    I have a problem. When using a 5411 under TesStand, making IVI calls the 5411 O/P is distorted when I configure it to O/P a simple Waveform ( 1.544 MHz, 5Vp-p 0V DC Offset). The same setup using either a CVI application utilizing the function panel or the soft front panel yields a fantastic O/P. If I can not make IVI calls from TestStand then what is the use?
    Help.... Very fruntrared and on a deadline
    cheers...

    Hello Craig -
    I've quickly looked over the CVI IVIclass demos including the quick bit of Fgen code, if you run this project and monitor the output in MAX you are seeing good results? If so, yes I'd check the settings in your IVI steps in TestStand. (If you haven't seen it yet try \CVI\samples\iviclass\fgen.prj)
    CVI also ships with function-by-function class help files which on my machine are located at C:\vxipnp\winnt\niivi\Help, I point this out since the demo sequence for IVI in TestStand makes a direct DLL call to set up the soft front panel as a non-interactive window... there are a few other cases where features of the driver are not accessible just by editing the step properties, but that is across the board, so again if it worked in CVI it should work here.
    I'm going to attach a quick little TestStand sequence (written for TS 2.0.1f1 the current release) to this project as a way of you just loosely troubleshooting, all it will do is launch the soft front panel and use the controls to try and set up your waveform... Try it once with the simulated instrument, or just go straight to altering the FileGlobal variable to point to your logical name and tell me if you get better or worse response?
    To alter the internals of the call to hardware right-click on the second step and choose 'edit Fgen'... you may want to examine your clock, the channel settings and extensions to make sure anything you configured in your code is configured here... The only thing I am still unsure of is whether you were using the default sine waves or if you were definining something arbritrary, the 5411 does have the ability to set sample counts/ waveform size /sampling rate. You may want to try setting your Arb SampleRate higher, or fall back on a quick DLL call to set some attributes manually if you can't access them any other way.
    You can use the IVI operation "get Information" on a particular logical name to aquire the current/default settings of your instrument.
    Below is some text I extracted from a LabVIEW example (I don't know how useful the actual code will be, but perhaps this is the cause of your undersampled data?) Jitter can also be a symptom of undersampling. I will try and check with the hardware team for you and post if I have any other ideas...
    -Regards
    Elaine R.
    National Instruments
    http://www.ni.com/ask
    --Extracted from an example "Generating Segments of Larger Waveforms with the NI 5411" --
    >>To set up sample counts, pass the array of sample counts you want to use to create a new arbitrary sequence. The array must have at least as many elements as the value you specify in the Sequence Length parameter. Each Sample Counts array element corresponds to a Waveform Handles array element and indicates how many samples of the given waveform to generate. Each element of the Sample Count array must be larger then the minimum waveform size and a multiple of the waveform quantum. You can obtain these values by calling niFgenQueryArbWfmCapabilities.
    For the NI 5411, you can use a minimum of 256 Sample Counts, with a quantum of 8, which is the same as creating a waveform for the NI 5411. The other restriction is that you cannot use a number greater than the number of samples in the waveform.
    In terms of use, the NI 5411 only generates the number of samples that are indicated by the Sample Count number regardless of how many actual samples are in the waveform array downloaded to the NI 5411.
    Attachments:
    fgen.seq ‏50 KB

  • Using Offset Compensated Ohms from IVI DMM in TestStand

    I am using TestStand 3.5 with a PXI-4070 DMM and I want to be able to use the Offset Compensated Ohms function from the TestStand IVI-C DMM steps.  I cannot find this functionality from the TestStand step, even though it is shown on the front panel of the Soft Front Panel DMM, and is stated as a IVI function.
    Anybody with any ideas would be greatly appreciated.
    A.

    Good afternoon A,
    The Offset Compensated Ohms function that you are looking for is more
    specialized than what the IVI driver has to offer.  Instead of
    using IVI DMM, try NI-DMM.  This is a free download off our
    website, which can be found here:
    NI-DMM version 2.5 for Windows 2000/XP--LabVIEW Real-Time
    http://digital.ni.com/softlib.nsf/websearch/1F1A167276498327862570AC005199D5
    Regards,
    Mike Torba
    National Instruments

  • Error -1073807339 when using IVI (setup in MAX) to initialize instrument

    I'm using LabVIEW 2014 and the most recent version of the Measurement & Automation Expert (MAX) to communicate with an Agilent 33500B series function generator with IVI drivers on a Windows 8.1 computer. (I also see this problem when trying to communicate with an Agilent oscilloscope). I've used the MAX to create an IVI logical name and tied the name to the appropriate driver session following the instructions in: http://www.ni.com/white-paper/4594/en/. In LabVIEW, I have created the IVI instrument, tied it to the appropriate logical name, initialize the instrument, and then close the session. When I run this program, the Initialization block runs (resetting the parameters on the function generator) AND THEN I get the following error:
    "Error -1073807339 occurred at IviFgen Initialize With Options.vi
    Possible reason(s):
    Primary Error: (HEX 0xBFFF0015) TImeout expired before operation completed.
    Complete call chain:
        IviFgen Initialize With Options.vi
        IviFgen Initialize.vi
        <myfilename>.vi
    I read in the documentation that I should not simultaneously initialize with options in LabVIEW and in MAX, so I am using the Initialize block which still calls Initialize With Options. The same error occurs when I:
         1. Uncheck all the options in MAX and run the code
         2. Uncheck all the options in MAX and replace the LabVIEW Initialize block with Initialize With Options and run the code
         3. Add a Wait block between the initialization and the close blocks and run the code.
    However, I am able to communicate with the function generator when I use the VISA Test Panel (opened in the MAX) and send it a VISA command. I am also able to communicate with the function generator if I use the VISA I/O blocks instead of the IVI blocks in LabVIEW.
    Is it really a timeout issue? If so, how do I change the timing? If not, what is going on?
    Thanks.

    sagha wrote:
    According to the MAX they are correct (IVI driver for the Agilent 33519B downloaded from the NI website). When I run the IVI Initialize block any frequency, amplitude, offset, etc. settings on the function generator are reset to the default values. So, something is being sent to the instrument.
    However, I've also tried adding the General Error Handler block right after the Initializaiton block to cancel the -1073807339 error. Then, I add the IviFgen Configure Standard Waveform [STD] block to set the function generator frequency. The program throws an error that looks like a resource problem:
    "Error -1074130544 occurred at IviFgen IVI Error Converter.vi
    Possible reason(s):
    The session handle is not valid.
    Complete call chain:
        IviFgen IVI Error Converter.vi
        IviFgen Configure Standard Waveform [STD].vi
        <myViName.vi>
    What could be the reason for an invalid session handle? I've followed the NI tutorials on setting up IVI instruments in MAX and in LabVIEW.
    Okay, this is new information.  Nothing in your previous posts mention that the initialztion did anything at all besides return the timeout error.  The invalid session handle is because you closed the session.
    I'm having trouble following your descriptions.
    Bill
    (Mid-Level minion.)
    My support system ensures that I don't look totally incompetent.
    Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.

  • VISA or IVI drivers, example code?

    Hello,
    I have an Agilent DSO-X-2004A oscilloscope and I've downloaded two different set's of drivers that work. Here are the links to the drivers.
    http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=9E84674573AF6AB8E0440021287E6A...
    http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=A661BD7B892F06B2E0440021287E6A...
    The first one is the Agilent 2000 3000 4000 X-Series drivers, that require only NI VISA-4.6
    The second is the Agilent agx2k3k Oscilloscope drivers, that require NI VISA-4.6 or IVI Compliance 4.3
    The second one has example codes, which are VERY helpful for me since I am new to LabVIEW. The first one does not have examples, but seems to have more thorough driver library with more scope options to set. Without the examples though, I will have a tough time. Can I find examples for those drivers somewhere?
    When mixing blocks from different drivers, I get broken wires with the message "source is IVI session of class, sink is VISA session of class". Maybe if I could resolve that, I could mix the driver blocks.
    Thanks
    John

    The answer is that both driver sets have example code in their .zip files. The first one (Agilent 2000 3000 X-Series) just didn't have the examples show up in the Instrument I/O palet, and the other one (agx2k3k) did. You can add the examples to the palet by following the instructions here:
    http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/merging_vis_on_palette/
    The question of which set to use is still open. The Agilent 2000 3000 X-Series drivers are "Certified LabVIEW Plug and Play (project-style) Instrument Drivers", and the agx2k3k dirvers are "Certified Multi-Enviornment IVI Instrument Drivers"
    For a new user like myself, it's very hard to know the differences and how they may effect me down the road. Hopefully someone with more experience can chime in. 
    - John

  • My multimeters don't function properly with ivi drivers

    I have 4 Keithley MM in my setup. I am using the ke2000.dll ivi drivers for all my meters. I have also labeled each meter MM1..MM4, however when I make a call using MM1, MM3 is the one being control? How can I configure MAX properly to avoid this or is it unavoidable?

    Did you download the driver from the National Instruments web site, or did you get it from Keithley?
    Which GPIB board do you have?
    If you are using NI IVI driver or board, you should post this question to the GPIB forum to find out how to configure the driver in MAX.
    Zvezdana S.

  • Updating IVI Drivers

    I've got a question re: updating the IVI drivers in NISE.
    We are using a 3rd party switch card, and the IVI drivers are updated from time to time. As we have worked with this particular vendor to help test out their IVI drivers, we have received new "drops" of their IVI drivers over the past couple of months as bugs are found.
    On more than one occasion, I had entered a sizeable amount of information into NISE (alias names for IVI Channels, hard-wires, etc.) for our system, and when the new IVI drivers were installed from our vendor, I found that I had to re-enter my alias information, etc. because the IVI drivers had changed drastically.
    Up to this time, I have not modified the virtual names in the Driver Sessions to have any custom info, I have only entered it into the Virtual Device as "alias" names, etc. Is there any way to "protect" my custom information from having to be re-entered when significant updates are received from our IVI vendor?
    Harv...

    Harv,
    When a NISE Virtual device is created it is linked to a logical name that points to a driver session that points to an IVI specific driver. If anything changes on the specific driver level the NISE virtual device will not work. When you enter virtual names in the driver session, NISE will be able to see these virtual names at creation of the virtual device only. If virtual names are entered after the creation of the virtual device, the virtual names will not appear in NISE, because the link was already established.
    I understand you concern but unfortunately if the ivi specific driver changes its channel names, an already created NISE virtual device will not be able to show these changes.

  • Are IVI drivers supported on RT?

     I have a PXI-4060 DMM on a remote system.  I have been trying to initialize the DMM but have had no success using the IVI drivers.  I have set up a Logical Name that is linked to the Driver Session for the 4060, but these are setup in MAX under the host system, not the remote system.  I have been unable find drivers for that DMM other than the IVI drivers and if they aren't supported on the RT system, how do I use the 4060 DMM on a remote system?
    My cfg is:
    IBM laptop running WinXP w/LV 7.1
    PXI-1045 chassis w/LV RT and multiple components that all work fine except the DMM
    I have the latest drivers/software for everything that I'm aware of (DAQ, IVI, Visa, etc)
    Scott

    Hi Richard,
    Thank you. I ran that test and there are no Visa's running describing any of the PXI instruments.  I've attached a screenshot of the results sitting on top of what I'm seeing in Max.  For the Visa's, the 6 GPIB's are for HP6610xA power supplies and the serial's are for an 8-port serial card (plus the 2 on the 8187 controller), which is a PXI card (8421).  When I'm trying to initialize the DMM I am running on the targeted system as shown so I should only need the descriptor after the IP address (PXI3::15), correct?  As noted from the error description above, the vi is looking for a "DAQ::" descriptor and I don't see anything like that in Max.
    Hope this helps with the diagnosis,
    Scott
    Attachments:
    VISA Find 4060.bmp ‏2305 KB

  • Followup on IVI drivers

    Hi,
    Thanks all for the help on IVI drivers.
    I want to develop a simple interface for a scope. I want to use IVI class
    drivers (the "green" drivers?) so that I am as hardware independant as
    possible. I have a simple example using the scope class drivers that I am
    happy with right now.
    I have drivers for my current scope, from lecroy. When I install these
    drivers, to
    $labview_path/instr.lib/lcwpxxx
    I don't get any files with a .dll extension. I can use instrument specific
    ("blue", right?) drivers from this set-up.
    I think I must have a .dll to be able to install a driver in max, then
    install a virtual instrument, then install a logical name?
    Is there something I can do to make this driver work?
    Thanks,
    Chad

    Thanks, that was the right place to look.
    "Dennis Knutson" wrote in message
    > Check your VXIpnp\Bin folder for the .dll. I believe you should also
    > have a separate folder for the instrument under VXIpnp if it was
    > installed correctly.

  • Run cleanup utility, then all ivi drivers in the measurement & automation explorer are deleted,

    Hello I have the following problem,
    I run the cleanup utility, then all ivi drivers in the measurement & automation explorer are deleted.
    when I want to add for example a new driver session then that is not possible to click on "create new".
     What is the problem?
    regards samuel

    Cedric,
    In this case its the usb-serial adapter that is likely the cause of the issue.  As mentioned in this KB it is likely that MAX doesn't know how to recognize the third-party adapter.  You may want to refer to this KB that talks about making VISA calls to third-party devices as it may be useful.
    John B.
    Applications Engineer
    National Instruments

Maybe you are looking for

  • Error during currency conversion and consistency check in a sales order

    Hi Experts, I am facing the below error in the sales order. The sales order is having so many items. The below error is coming for few items only. I have checked the currency exchange rates also. All are maintained properly. Please advice me how to f

  • How to work on iMac files from a new Macbook over home wireless network

    Hi, A quick question for anyone who can help. Most of the time I work on my iMac G5. But I've now also got a MacBook, and I want to be able to use that as much as possible (ie not having to be at my desk upstairs at all times). What I need help with

  • Backups missing

    Hi first post I have a white macbook 2008 model, running leopard. ive been making backups via time machine for a while now, backing up all my old photos and the such. my brother recently got a macbook pro 2010 model, running snow leopard. i let him u

  • Mass update via XK99

    Hello dear all, I want to update the field "INTAD" (email adress in vendor master record) for several vendor in only one company code. I executed XK99, and i fulfilled vendor and company code selection under " data records to be changed " Tab. Then,

  • Down payment according to Italian laws

    Dear all, my company is currently running ECC 6.0 EhP 4. At at the moment the down payment is not following the Italian laws. Does anybody have news regarding this topic? Thanks and regards Alessandro Giani