Shared varaible communication

I am trying to connect to my compact field point using a shared varaible. I have done this successfully on my office computer, moved my compact field point into the test area and am trying to run the same softeware on my lab computer. I get the error something like "could not read shared varaible, likely its not been deployed properly." I am using the first release of labview 8.0.
I have tried the following:
-disableing the windows firewall, then rebooting (winXP)
-deleting the shared varaible, and making a new one.
-avoiding putting spaces in the varaible name
I have full communication, and am using the same MAX setup on both computers.
If others could give me a list of things to try that would be great. Have the subsequent two updates to labview8.0 fixed this?
Short list of things I have not tried:
-using a hub with two ethernet cables, i am using a Xover cable, worked fine in office
Thanks for your help,
Kevan -

Hi Kevan,
Here are some steps you should try if you have not done so already:
Run a VI without shared variables from within the same project and verify that front panel communication is working properly
Verify IP address settings on the lab machine (set to static IP, if so, is it the same as your office machine?)
How many network interfaces are installed on the system?  If multiple, disable the one not connected to cFP
What is the actual error number that appears?
Verify as well that the gateway and dns settings for the lab machine match that of the office machine - this has been known to cause some odd behavior
Manually deploy the library before running program by right-clicking on the library in the project window and select Deploy All.  Additionally, if the library was not set to Autodeploy, this would also explain the situation.
Change the hosting location of the library containing the shared variables (i.e., drag from cFP target to your PC in the project window)
One of the above should expose the issue, if not solve it outright.  Please post back once you've had a chance to give it a try.  Have a great weekend!
Cheers,
Matt Pollock
National Instruments

Similar Messages

  • Shared Variable communication (network publiched )

    Hi all ,
    The whole day I have been banging my head with Shared variable communication between RT Host and host computer :
    I essentially attempted to pass an array from the RT host to the Host computer .For this purpose I used a Network published shared variable of type Array U64 . I utilized this link to help me understand usign shared variable communication 
    http://www.ni.com/white-paper/4679/en .. 
    I also enabled RT FIFO .Now in the mentioned link this the information given about using single element FIFO or Multi element FIFO
    '' By enabling the real-time FIFO, you can select between two slightly different types of FIFO-enabled variables: the single-element and the multielement buffer. One distinction between these two types of buffers is that the single-element FIFO does not report warnings on overflow or underflow conditions. A second distinction is the value that LabVIEW returns when multiple readers read an empty buffer. Multiple readers of the single-element FIFO receive the same value, and the single-element FIFO returns the same value until a writer writes to that variable again. Multiple readers of an empty multielement FIFO each get the last value that they read from the buffer or the default value for the data type of the variable if they have not read from the variable before.'' 
    I had read the above content a 100 times but still I am not able to get a clear picture of the difference and when to use which option .So I decided to throw away the text and attempted to try somethign out for myself .
    I had a loop in the RT host that writes different 3 element arrays into the ''network published shared variable '' . Now when I use the multi element option with '' number of arrays as - 2 '' I am able to read the arrays seperates one by one in the host computer ( as we can read a general queue).
    Now when I used the single element option for the RT FIFO with un editable 1 array option ,only the last written array into the ''network published shared variable '' gets read in the host computer .
    This sounds absolutely silly as if this is the case then what is the purpose of setting the ''buffer''.For testing purposes I had set the buffer as 5 arrays .
    In fact I have only one writer ( writing in loop in the RT Host ) and one reader ( again reading in loop in the Host computer ).So I am not even sure if I require The RT FIFO option for the network published shared variable .
    I apologise for the long message but I have reached the limits of running in circles waiting to bang somewhere
    I know I am doing a silly mistake somewher or I am probably missing a simple obvious trick but dont know what it is ..
    I request for some clarity .. In fact I had posted a little while earlier today as well .... link - http://forums.ni.com/t5/LabVIEW/RT-Host-to-Host-computer-communication/td-p/2348130 )
    any help would be appreciated
    Cheers
    me  
    Solved!
    Go to Solution.

    Hi,
    I think the difference between both types is clearer in the LabVIEW help :
    Enabling the Real-Time FIFO
    You can enable the real-time FIFO of a shared variable from the Real-Time FIFO page of the Shared Variable Properties dialog box. Place a checkmark in the Enable Real-Time FIFO checkbox to deterministically share data using single element or multi-element FIFOs.
    Single Element FIFO
    A single-element FIFO shares the most recent data value. The shared variable overwrites the data value when it receives a new data value. Use this option when you need only the most recent value. Configure the size of the array elements or the size of the waveform for the FIFO buffer if you select an array or waveform data type.
    Multi-Element FIFO
    A multi-element FIFO buffers the values shared by the shared variable. You can configure the size and the elements of the FIFO buffer to match the settings from the Use Buffering section of the Variable page, or you can configure a custom size for the FIFO and the FIFO elements.
    Note  For both single-element and multi-element FIFOs, if the variable contains array or waveform data, you must configure the size of the FIFO elements equal to the size of the data you want to share. If both the network buffer and the RT FIFO are enabled, the network buffer must be at least as large as one FIFO element. Sharing data smaller or larger than the length you specify causes a memory allocation that affects determinism.
    Note  Waveforms contain variable-size variant elements that are not compatible with the Real-Time FIFO. Therefore, if you enable the Real-Time FIFO on a shared variable that contains waveform data, the variant element of the waveform data does not transfer.
    http://zone.ni.com/reference/en-XX/help/370622K-01/lvrtconcepts/rt_projectvariable/#Single_Element_F...
    'Hope it helps
    Aurelie

  • Shared Varaible Deployment

    I am working on shared variable. When my program start i am able to deploy shared variables but after few compilation of program i am not able to deploy shared variables. Kindly help
    I am getting error 19506789035. But i HAVE VARIFIED THAT MY PROGRAM GIVES CORRECT OUTPUT INITIALLY

    After going through the code again and agian , i am sure that while deplpying varaible issue is there. I have used the attached VI to deploy the varaiables.
    Attachments:
    deploy library.vi ‏15 KB

  • Version compatibility in shared variable communication

    I have a cRIO running a new piece of hardware that arrives today.  I have done all the development in LV 2012/13, but we still have some older machines running LV 8.6.1.  These machines will be upgraded soon-ish, but the code is byzantine and so it will probably require some downtime to do the switch.  In the meantime, I found conflicting information online (e.g., here and here) about whether I can communicate between these systems using shared variables.  I do not want to do a lot of this, but it would greatly ease the transition if I could write a few booleans and doubles from the old computers to either the cRIO or to the new computer as a stopgap.
    In LV 8.6.1, I can see the cRIO and the names of the shared variable libraries on the Distributed System Manager.  However, MAX says the system is unsupported if I try to connect that way.  The Distributed System Manager also seems unreliable--just poking around this morning, it has frozen a few times, and right now for some reason it doesn't show any of the variables, just the target's IP address (although it's not grey).  In LV itself, I can't figure out any way to make the shared variables appear, but I have never tried to use them in a pre-2012 version of Labview, so maybe I just don't understand how to do that.
    Is there any way I can make this work, or do I have to do something stupid like communicate with text files and while loops between these systems until I get them all upgraded to the same version of Labview?

    Sorry, I was not clear--the cRIO and the computer I use to write code for it are running LV 2013.  I have an old computer running 8.6.1 that needs to be able to talk to the cRIO occasionally through the shared variables.
    I think I figured out at least part of my problem--I finally noticed a dropout on the shared variables on the LV 2013 computer as well.  So I lowered the clock speed and network publishing rate on the cRIO and the variables stopped dropping out constantly in the DSM in version 8.6.1.  I think maybe this was the problem, and the faster computer running LV 2013 was just better able to recover from occasional missed signal or something like that.  Anyway, I will try to implement the shared variables in the 8.6.1 code the next time I am able to take down the system.  Thanks for the clarification.

  • Workspace to shared service communication

    HI All,
    I have couple doubts are running in my mind ,,can anybody suggest me ,,how workspace and shared service are communicate with each other..
    EX :If i browse workspace url and it's displayed workspace log on page and entered my login information..the request goes to directly to shared service for authentication..
    Here my question is, how these both components are communicates and where can we see user log on information...
    we can see log information on shared service (shared service_security_clinet.log)..
    Edited by: 888154 on 28-Sep-2011 09:21

    Thank you both.
    Yes I did "configure web server" as the last step.
    Added entry to the c:\windows\system32\drivers\etc\hosts file but that doesn't change a thing.
    Tried pointing the browser to http://<ip address>:19000/interop/index.jsp
    Same response, the browser loaded for a while then shown blank page. Replace <ip address> by "localhost", works.
    I am wondering the problem exists in the OHS configuration......
    Under, "Configure Web Server" at the "Component" table at the bottom the followings are shown, did I miss something? Also should I check or uncheck the "Set the logical web address for the web applications to this server" option?
    I have it unchecked in my first web server config and checked in the second time.
    EPM Architect
    CALC
    EPMADataSynchronizer
    Workspace
    R&A Framework
    Shared Services
    Edited by: user3882471 on Jun 10, 2012 7:59 PM

  • Sharing a communication object between test sockets

    Hi everyone, I am having some trouble using teststand in batch mode as it is my first time doing so. Here is my question:
    I am creating a test sequence that uses multiple test sockets. I am using a switching matrix that is controlled over ethernet to allow me to connect different loads to the hardware under test. I only have one load, but I have several different devices that need to connect to that load for the tests to be run, and they can only be connected one at a time.
    My approach was to initilaze the connection to the switching matrix and store the resulting object reference as a global variable, which allows me to send commands to the switch matrix from any sub-sequence. I then created another sub sequence for the load tests called "External Load Tests". In this step, the load is connected to the hardware via the switching matrix, and tests are run. I am using batch mode, so I put a lock on the "External Load Tests" sub sequence so that only one thread can enter at a time.
    This sequence works if there is only one active test socket. If there is more that one, the first thread will get inside the external "External Load Tests" step and try to send a command to the switch matrix using the object reference that I mentioned. However, when this happens, the step hangs indefinitely until the other threads are manually stopped. It seams like the thread isnt being given access to the switch matrix object, becuase usually if there is an error the switch matrix driver throws an exception, but in this case it just hangs. 
    Any ideas on how I can fix this? I don't have a lot of experience with multi threading, so any advice would be greatly appreciated.
    Thanks!

    For the batch model you could use a serialized batch synchronization section rather than a lock. A lock should also work though, it just doesn't guarantee that all threads get to the section before any of them continue and doesn't guarantee the order like batch synchronization does. Typically you should use all default settings for the batch model (other than perhaps number of sockets). Which setting did you change? The 'Default Batch Synchronization' setting? You should typically leave this as "Don't Synchronize". Setting this to Parallel makes it synchronize at every step which requires all sockets to get to each step before any of them to continue. This is not the behavior that people typically want. In most cases you should use the default of "Don't Synchronize" and then set synchronization manually in your sequence where you want it, either using the step synchronization settings, or the batch synchronization step types, or other synchronization step types such as locks.
    Hope this helps,
    -Doug

  • Multiple use of a shared variable - buffers?

     Hi all,
    I have an application on a RT target that measured data (around 60 variables stored in a big cluster) in a TCL, sends it via RT-FIFO
    (a modified U8-Array buffer that contains the data converted into string and then flattened to U8-Array) to the NTCL which then
    writes the data to a file and sends it via TCP/IP to the user interface on a PC.
    This is slow. I know that strings should be avoided on RT and especially extensive formatting of variables into strings. I want to
    switch over to shared variables now and write files on the PC only.
    Problem: I need the data on the RT target as well for control purposes (PID regulation of a cooling system). Can I read the same shared
    variable twice, once in the control sub-vi and once on the PC? How does that affect the buffeing of the shared varaible. Does each
    "subscriber" gets its own read buffer?
    Or should I use a global variable (this will again be a 60 element cluster) on the RT for communication between the read-data-vi, the
    control-vi and the send-shared-variable-to-host PC-vi. As I've read, big global variables should be avoided as well on RT-systems.
    Or can I use a queue instead of the global variable for the data-cluster? 
    Cheers,
    Olaf

    Hey,
    Transfering data from a TCL to a NPL (Normal Priority Loop) via RT FIFOs and then via TCP/IP to a Host System has a better performance then a shared variable.
    So using shared variables instead of your actual architecture wont result in a better performance. I would suggest to optimize your code.
    According to the shared variables behaviour: yes, you can read it at your Host and the RT System at the same time without loosing data when configured as RT FIFO.
    Christian

  • Why should you explicitly open and close shared variable connections?

    I'm looking into switching over from the old Datasocket API to the new Shared Variable API for programmatic access to shared variables, and I noticed that LV doesn't seem to have any problems executing Shared Variable Reads & Writes without first opening the connection explicitly. That is, I can just drop in a shared varaible Read VI, wire a constant to the refnum input, and it will work. I'm wondering, then, what benefits are offered by explicitly opening the conenction ahead of time...?
    I guess I could see some cases where you want to open all necessary connections in an initialization state of a top-level state machine, particularly if you want to use the "Open & Verify Connection"---so you could jump straight to an error case if any connections fail. But other than that, why else might one want to explicitly open the connections.
    And, along those lines, are there any problems with implicitly opening the connections? One reason why I am hesitant to open them explicitly is because for one of our applications, we need to be able to dynamically switch from one variable to another at runtime. It would be nice to just switch the variable refnum (wired to the input of the Read function), without having to manually close out the old connection and open a new one. A quick prototype of this seems to work. But am I shooting myself in the foot by doing so?
    Thanks in advance.

    I'd expect there's a very small number of people at NI that would know the answer to the detail you're asking for.  But, let's try to extrapolate from this rather old post to see if we can understand what they're forming their impression on.
    The shared variable has to have some sort of reference going on in the background.  It looks like they're calling this a connection.  It's how LabVIEW knows where to find this variable on the network.  We can also see this reference certainly exists if we're opening/closing the reference in the explicit method.  You see the connection as just a string referencing the variable by URL.  This "reference" has to be stored somewhere.  No matter how we're looking at this, we're aware there's a reference of some sort stored. 
    Now, we'd want to look at what would cause this reference to go away.  If you open/close explicitly, it's easy to see it goes away at the close.  If it's implicit, when would it make sense to close it out?  The VI can't be expected to guess where it's done being referenced and close it out.  This puts us into a situation where the soonest it could close is when the VI ends.  From my experience, references tend to be wiped when you close out LabVIEW.  It's this kind of idea that makes the FGV possible.  I wouldn't be surprised by Morgan's claim here.
    If we look at scalability, you're talking about two different topics.  You're talking about adding an extra open, close, read, etc rather than just a few wires.  That certainly would look a mess.  In terms of the dynamic swap that was being discussed, we wouldn't be adding all of those.  The concern would be if enough connections were opened it'd start to behave similar to a memory leak.  This could be something that works with a smaller number of variables.  If you continue to scale, it becomes problematic.  This is why they suggest it's not scalable. 
    To your questions:
    Does LV allocate some kind of session in memory using that string as a lookup?
    It would HAVE to allocate some memory to hold that string.  Otherwise, it'd be pointless to even have the reference. 
    Does it reuse that session if other parts of the application reference the same variable, or does it create a unique session for each referencing call to "Read Variable.vi"?
    I would expect this to be "it depends."  With the implicit method, I would expect it to open a new reference in each point it isn't wired.  This is similar to int x,y = 5;  x and y share the same value but are their own unique memory location.  If you wire the reference to the other points, it should use the same reference.  This would make more sense to me than the program seeking out any other potential usage of the variable in the application to see if there's already a reference open.  I could be wrong, though.
    And what resources does this "connection" actually represent?
    At best, this is just the string.  At worst, it's the string and the TCP socket.  I'd lean towards the first.  Opening and closing sockets should be relatively easy in most applications.  But, it also wouldn't surprise me if it holds the socket.
    I'm sure others have a better understanding than I do.  But, that's what I'd expect for anything you've asked.

  • Shared Variables - Properties

    Hello,
    I have a couple of questions about properties of Shared Variables (SV). They can be configured either by using the dialog box (right-click on SV -> Properties), or programmatically via the "SharedVariableIO" property node. Have a look at the NI-Examples to see how SV can be created programmatically by using the DSC module.
    1)  The dialog box offers a property "Variable Type" which can be "Network-published", "Single-Process" or "Time-Triggered". The "SharedVariableIO" property node gives no access to this property. Does anybody know why? The same question can be rephrased: How can I create a "Single-Process" SV programmatically?
    2) The "SharedVariableIO" property node has two items, "Network.OnScan" and "Network.ConnectionType", which have no direct correspondance to any of the properties available in the dialog box. What is the exact meaning of those properties? The on-line help isn't of much use here...
    3) Mutliple SV can be edited by using the Multiple Variable Editor (Tools->Shared Varaible->Multiple Variable Editor). A cool feature is the import/export of CSV-files. I am interested in programmatically creating SVs from the information stored in such a CSV-file. Reading the file is no problem, but connecting the file entries to the properties of the "SharedVariableIO" property node would be quite some job. In principle NI has already solved that within the Multiple Variable Editor. I guess there is a bunch of VIs somewhere below "....Program Files/NI/.../vi.lib that do exactly this thing. Does anybody know, if these (which ones?) are available for public use?
    Regards,
       Dietrich

    dietrich wrote:
    1)  The dialog box offers a property "Variable Type" which can be "Network-published", "Single-Process" or "Time-Triggered". The "SharedVariableIO" property node gives no access to this property. Does anybody know why? The same question can be rephrased: How can I create a "Single-Process" SV programmatically?
    You can't.  The single-process shared variable is an old style LabVIEW global placed under the shared variable abstraction.  There is currently no way to create those on the fly.  Time-triggered also cannot be created programmatically.  I confess I don't know enough about them to know the reason why.
    dietrich wrote:
    2) The "SharedVariableIO" property node has two items, "Network.OnScan" and "Network.ConnectionType", which have no direct correspondance to any of the properties available in the dialog box. What is the exact meaning of those properties? The on-line help isn't of much use here...
    Network.On Scan = read/write hardware? - this allows you to programmatically control when you are reading from or writing to configured hardware.
    Network.ConnectionType = connect to hardware even when no one is viewing me? - this has 2 choices, UpFront & OnDemand, UpFront means that the variable will be connected to hardware even when no one is connected to the variable.  This is useful when you want to reserve hardware or when logging is enabled.  OnDemand means that you disconnect from hardware whenever no one is reading the variable.
    dietrich wrote:
    3) Mutliple SV can be edited by using the Multiple Variable Editor (Tools->Shared Varaible->Multiple Variable Editor). A cool feature is the import/export of CSV-files. I am interested in programmatically creating SVs from the information stored in such a CSV-file. Reading the file is no problem, but connecting the file entries to the properties of the "SharedVariableIO" property node would be quite some job. In principle NI has already solved that within the Multiple Variable Editor. I guess there is a bunch of VIs somewhere below "....Program Files/NI/.../vi.lib that do exactly this thing. Does anybody know, if these (which ones?) are available for public use?
    I would advise against using any of these.  National Instruments can change, or remove, those underlying files at any time as a result of modifications to the MVE.  That could cause issues for any code using those sub-VIs.
    Regards,
    Robert

  • Problem while binding variable progmatically shared variable in RT

    Hi All,
    I have a problem while programaticaly binding the shared variable from RT controller.
    The application scenario is as follows 
    I have three cFP controllers and two
    server PCs in my application. Servers are implemented with Redundancy. If server
    1 fails, server 2 will take care and vice versa. The cFP controller program is
    intelligent enough to detect this switching and identify the active server.
    I am using shared variable
    communication for transferring the data between cFP and Active Server. This I am
    achieving by binding the cFP variable to Server variables. I can bind server
    variables to cFP variables also. But I have some advantage with first one rather
    than second one.
    Now, cFP Variable to Server Variable
    binding I can do in two ways.
    Right click the variable in Project
    Explorer and select the network URL.
    Other method is by programmatic
    binding.
    Now Programatic binding should be
    done in cFP controller since cFP controller should bind to second server
    whenever it detects switching.
    For this, I tried with
    SharedVariableIO property node like in the below attached diagram 1.
    But I was getting a deployment error
    shown in attached diagram 2.
    The second method I tried is by
    transferring a shared variable library cFP Library.lvlib to cFP through FTP and
    opening the Library variable reference and by using the variable property node.
    This way of binding was successful when I run from windows PC. But in RT
    controller, it was giving me Error 1 while opening a
    library.
    I am attaching the code with this post
    Summary of the problem is I am not able to progmatically bind variables from
    RT Controllers
    Kindly help me in solving this
    problem.
    Regards,
    Blackperl
    Message Edited by blackperl on 08-18-2008 08:29 AM
    Message Edited by blackperl on 08-18-2008 08:31 AM
    Attachments:
    Code and Library.zip ‏27 KB
    Diagram 1.jpg ‏15 KB
    Diagram 2.jpg ‏25 KB

    Hi All,
    I have a problem while programaticaly binding the shared variable from RT controller.
    The application scenario is as follows 
    I have three cFP controllers and two
    server PCs in my application. Servers are implemented with Redundancy. If server
    1 fails, server 2 will take care and vice versa. The cFP controller program is
    intelligent enough to detect this switching and identify the active server.
    I am using shared variable
    communication for transferring the data between cFP and Active Server. This I am
    achieving by binding the cFP variable to Server variables. I can bind server
    variables to cFP variables also. But I have some advantage with first one rather
    than second one.
    Now, cFP Variable to Server Variable
    binding I can do in two ways.
    Right click the variable in Project
    Explorer and select the network URL.
    Other method is by programmatic
    binding.
    Now Programatic binding should be
    done in cFP controller since cFP controller should bind to second server
    whenever it detects switching.
    For this, I tried with
    SharedVariableIO property node like in the below attached diagram 1.
    But I was getting a deployment error
    shown in attached diagram 2.
    The second method I tried is by
    transferring a shared variable library cFP Library.lvlib to cFP through FTP and
    opening the Library variable reference and by using the variable property node.
    This way of binding was successful when I run from windows PC. But in RT
    controller, it was giving me Error 1 while opening a
    library.
    I am attaching the code with this post
    Summary of the problem is I am not able to progmatically bind variables from
    RT Controllers
    Kindly help me in solving this
    problem.
    Regards,
    Blackperl
    Message Edited by blackperl on 08-18-2008 08:29 AM
    Message Edited by blackperl on 08-18-2008 08:31 AM
    Attachments:
    Code and Library.zip ‏27 KB
    Diagram 1.jpg ‏15 KB
    Diagram 2.jpg ‏25 KB

  • Shared Services and Essbase

    Hello All,
    Pretty much an undesired Bug, Basically there is an ID listed as an Essbase admin which yes it was few months back. At present that ID has been removed from Shared Services , also I checked in the list of Essbase Users within EAS and did not find the ID.
    Interesting thing ***** When I exported the Essbase security file I could see that ID listed as an Admin , not sure how it comes up only in Security file but not any where else.
    Is there any issue between Essbase and Shared services communication, because the Essbase should refresh Manually for any changes in the Shared Services.
    Any comments Friends ?
    Thanks !!

    Its probably worth having a read of the following docs in Oracle Support as they should give an idea
    Deleting a User/Group from Shared Services Does Not Delete it from the Essbase Security File [ID 1388447.1]
    How to Delete a User from the 11.1.2.x Essbase.sec File [ID 1396890.1]
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Shared Vaiable Manager Operation

    Hi All,
    Can somebody please advise me about the operation of the Shared Varaible Manager.
    I have a project  that includes my development pc, a remote pc and several pxi controllers running Labview RT.
    I have deployed shared variables on all targets.
    In Variable Manager, I can see the deveopment pc (localhost) and the pxi targets but the remote pc doesn't show up. So I can't 'watch' the variables on the remote pc. Should I be able to see the remote PC in Variable Manager?
    The remote PC is running an executable vi only with the labview runtime engine installed. The shared variables on the remote pc are deployed by the exe program.
    kind regards
    Frank Greenslade
    New Zealand

    Hi Jim,
    Thanks for your reply.
    Yes , I have tried as you suggested and that does work.  When I browse for network variables to bind, I can see the remote computer and the variables deployed on it. I can then watch the new bound variable.
    However, this seems to be a round about way of doing something that should be simple and could be a potential source of error.
    It seems logical to me that I should be able to add the remote computer as a 'system' in the Variable Manager tree. Then I could deploy and undeploy the variables as happens with other systems in the tree (Local and RT).
    Is there a way of adding the remote computer as a system in the tree?
    Thanks for your help.
    And sorry about the spelling earlier.
    cheers
    Frank

  • Sharing files among different user accounts -- file/folder permissions?

    I have two main user accounts that I switch between during the day (essentially a PERSONAL account and a WORK account). This allows me to keep separate Mail, iCal, etc -- as well as desktop applications and file organization. However, I am having some major issues with sharing data between the user accounts.
    WHAT I WANT: A local drop box for shared communal files between these two primary users. Seems simple enough, right?
    WHAT I DID: I created a subfolder in /Users/Shared/ called "COMMUNAL DROP BOX" and set the permissions to R/W for both my user accounts, and no access for the other accounts. However, when I copy files into this folder from my PERSONAL account -- it retains the file level permissions. For example, I grabbed some photos from my iPhone that I shot of a display for work -- I grabbed them off the phone and then dragged them into the drop box. They are in the shared folder, but the file perms are set to PERSONAL_ACCOUNT "Read & Write" and Everyone "No Access." There's no way I can continue to individually change every single file's permission -- how do I set it up to automatically match the folder, so that files like this are then readable by my work account?
    -Jason M.

    On my machine I've created a directory(folder) in the /Users directory called localshare. Since the directory can have just one owner, I've made root own the folder.
    sudo mkdir /Users/localshare
    Every user on my machine belongs to the group-Staff. I need to change the group class on the localshare directory that I've created.
    sudo chown :staff /Users/localshare
    As a reference, I changed the traditional permissions to reflect my desired results and lock down the permissions some.
    sudo chmod 770 /Users/localshare
    I have added an ACL on the localshare directory that allows the group staff to do anything within the directory- make file and directories, modify files that they do not owner, etc.
    sudo chmod +ai "staff allow list,addfile,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directoryinherit" /Users/localshare
    This works well for me with one issue. Files or folders must be copied to the localshare directory. They cannot be moved.
    Message was edited by: Mark Jalbert

  • Shared Variables should support LVOOP as a data type

    Almost all LabVIEW data types can currently be sent through a shared variable without any hassle.  The notable exceptions are native LabVIEW classes, which cannot be selected as the data type for a shared variable.  This causes a problem for anyone who wishes to send objects across a network.  They are forced to rethink their use of LabVIEW classes, use a communication method other than shared variables, or flatten and unflatten the object on either side of the shared variable communication.  The use of classes is growing more common with every version of LabVIEW, so I think it is time for these two prominent LabVIEW features to work together seamlessly.

    There has been some debate (both within NI and with customers) about whether or not the flattening/unflattening solution is actually desirable. After all, if NI made the shared variable support classes, to do the writing to the variable, the object would be flattened to a string and then unflattened when the variable is read. In other words, having the shared variable support classes does not actually remove any work that the program has to do, so having the shared variable do this behind the scenes is just syntactic sugar. The negatives crop up with the issues that Phillip raised -- suddenly the shared varible is reporting a number of errors that it did not support previously, whereas by separating the (un)flattening into a separate node, it is easier to tell where an error is arising -- was it a failure to read a shared variable or was it a failure to unflatten the data therein? By keeping the shared variable ignorant of such complex data types, it is easier to swap out the communication mechanism used -- shared variables might get support for LV classes, but TCP/IP prims might not, or whatever other communication protocol comes along in the future (i.e., the network stream primitives that are brand new in LabVIEW 2010 -- effectively queues that are usable over the network).
    Users may choose to create a custom string format for objects, one that can be unflattened by any system that uses the shared variable -- including CVI and MeasStudio. Having shared variables support classes directly does not get in the way of this, but consideration of exactly what private fields actually need to be exposed in that very global global variable might be encouraged if users are consciously aware of the serialization taking place.
    I'm not pro or con this feature at this point... this post is merely to document debate I've heard about any intermachine communications protocol handling LV classes directly.

  • Unpluggin the Ethernet is Different Than Turning Off The Server!

    Hi All,
    I am working with a cFP2020 with a 4 space backplane. I am running Labview 8.0 RT. Have not gotten around to putting in the latest set of CD's I just got sent. I have the whole setup on my desk here and am noticing a potential problem for my application. Was hoping that someone could explain this to me?
    I am building a vehicle, with the cFP on the vehicle and a PC controlling the vehicle. Mostly Im turning on lights and reading sensors on the vehicle, but I am transmitting some commands.
    My perfect world would be that if I lost communication between the vehicle and the PC, that the vehicle would recognize this within a reasonable ammount of time (1-2 seconds) and stop itself. I would like a whole routine for "com failure" to run if that is the case.
    My questions:
    It does not look like I want to use the fieldpoint watchdog because everything I have read indicates that on a watchdog com error, the fieldpoint shuts down. Am I wrong? Should I look further into this?
    I wrote my own watchdog. It sends messages back and forth on shared variables. If a message is late, it turns off a light (using cFP led's on the main module.) The PC VI is running as part of the project. The Vehicle VI (on the cFP) is compiled as an application that runs on startup. I have experimented alot with failure situations. The following work fine:
    - Stopping the PC VI that communicates with the vehicle VI. The light on the cFP turns off fine.
    - Stopping the Shared Varaible Engine. "Undeploy" on the shared varaible in the project. The light turns off fine. Infact both the PC and the Vehicle VI's register the dissconnect with their lights.
    The following does not work right:
    - Unplugging the ethernet link! The VI on the vehicle (cFP) is still running (got another blinking light going), however it takes 11-16 seconds for the light to turn off, indicating the disconnect. This is quite a bit longer than the other methods that work fine (those are about 1-3 seconds). Can anyone think what is going on?
    I know this seems like an essoteric question, but it gets to the protocal for the cFP. Should I be running my PC VI as an application? I am running it in the project.
    Thanks
    Kevan -
    As an aside, is there a way to deploy an application and have it run immediatly upon deploy. I am having to reboot to run the application. I notice different performance if its running from the project v. it running as an app. Since I will be using it as an app in the final product, I want to test it that way.
    Thanks Again -

    Kevan,
    The quick answer is that most NI ethernet protocols are implemented with 10 second timeouts. This is different than the undeploy in that stopping the shared variable engine will send unsubscribe messages rather than timing out. (Note: I am making an assumption on how the shared variable protocol works because it is partially based on the older Logos protocol used in Fieldpoint, and that is how the closing works for Logos).
    As for the watchdogs, there are two watchdogs in [c]FP RT modules; the RT watchdog (which can reboot the controller) and the network communications watchdog (which can set one or more outputs to a desired state on loss of communication).
    For a very rapid communication link disconnect, implement the shared variable as a boolean that has it's state inverted every half second. Have the [c]FP controller read the variable and look for changes in the state of the variable. If the variable does not change at the update rate (with some small margin for timing), then you have probably lost the link prior to getting a full network timeout.
    Regards,
    Aaron

Maybe you are looking for

  • How to get bounds of a component in FreeDesign layout

    When I try to get bounds of a component that is inside JPanel with FreeDesign layout, I get (0,0,0,0)! How can I find out current bounds of those components?

  • Hard Disk Error with Final Cut Pro

    Hello, I'm hoping someone can help out. I recently upgraded to the latest version of FC Studio. I'm going into FC Pro to start a new project, and I'm using a scratch disk I have always used in the past, and I'm suddenly now getting the following erro

  • Homogeneous migration sapinst thinks oracle 11 instead of oracle 10

    HI I have done 2 separate homegeonous migrations (system copies). One was on solaris / oracle 10 with erp 6 ehp4, the other was an SCM 7.1 on linux / oracle 10 Oracle 10 was installed before I started sapinst. During the sapinst screens I entered Ora

  • Database performance issue (8.1.7.0)

    Hi, We are having tablespace "payin" in our database (8.1.7.0) . This tablespace is the main Tablespace of our database which is dictionary managed and heavily accessed by the user SQL statements. Now we are facing the database performance issue duri

  • Posting Data Issue with IDOC Type : COND_A03

    Friends, I'm posting the data from Middleware(Message Broker) to SAP using the IDOC Type : COND_A03 with Message Type : COND_A. For this IDOC,I'm populating the below Segment's data. Segement :E1KOMG: Fields: KVEWE,KOTABNR,KAPPL ,KSCHL,VAKEY ,KONDA,M