Thanks for the fast response. The amount sent at a time is fine. The device is a National Instruments Compact Vision System 1456. Basically, this device is used for visual inspections via IEEE1394 firewire cameras. It uses LV real-time engine with the option of strictly running LV or what they call VBAI (which is a software NI made that uses a bunch of vi's that you jsut select and enter values, no wiring); VBAI is what we use since it is incredibly simpler and faster to program. I have multiple CVS devices. Each device contains atleast 12 different inspection programs that visually measure features and stores those measurements within it's own memory. Using Modbus Slave steps in NI VBAI, I can read/write to 4 registers--Input Register, Discrete Registers, Coil Register and Holding Register that are on each CVS. Each program on the CVS device has individual steps, ie. count pixels in a given area. I then have a step in NI Vision Builder for Automated Inspection that reads/writes to local modbus registers...I am not certain which ones, I could migrate it to LV8.0.1 to see exactly which, it appears to have no issues with the Modbus 1.1 library ethernet queries. I'm almost positive I run any pertinent vi in this device as a step in any of it's programs. I was hoping I could make a simple vi that would read an ini file and initialize the holding register with this file. Problem is, I don't know how to write an ini file with this data. So, I'll have the modbus write the "count pixels" value to an input register, then read Holding Addresses 0 and 1. Then, as long as the input register is within the two holding register values, I pass the inspection. Trouble is, it is compared with 0 and 0 after repowering--which occurs daily. I have written each program to place each inspection step measurement into it's own Input address thinking I could store this value into the register permanently. So, the device is already set up to call only like 80-100 register values and does so successfully. I just don't know how to store those values to a table that I can have the device and my PC access as needed. They all clear to 0 when powered down. Come to think of it I need the device to load these values on it's own...which I can run vi's on....ugh. So, yeah, good questions. Well, I'd like to atleast be able to use my PC to store these values first, then I think I can figure out how to implement it on the device. So, do you know how to write all the current values of an entire Holding register to an ini file then retrieve it and write into the register? I don't know how to pull all the values out of the register and into an ini file nor put back into the Modbus register via an ini file. I am thinking I just need to use the MB Registers Manager.vi, and write the Word Out /word In terminals to ini files? Doesn't seem right though since I need a Word In and WOrd Out rather than just one or the other. I just want to be able to have a table of the Holding Register values stored on my Host PC that can be recalled when the vi is turned on. I think I'm rambling and getting confused. Thanks again for your time.
Message Edited by scott_7723 on
03-26-2008 09:28 AMMessage Edited by scott_7723 on
03-26-2008 09:32 AM