Re: arc file?



Don McLane wrote:

> 
> Will,
> 
> I had to do some other work for a couple days, but now I'm back to 
> learning more about EMC.  Could I bother you with a couple other questions?
> 
> As you mentioned, some to the modules didn't connect.  I'm new to CVS, 
> and couldn't locate the new files you checked in.  Could you point me in 
> the right direction.
> 
> Why isn't there an entry in the .cfg file for emcsvr?


> On the other hand, why is emcsvr running, since there are no remote 
> processes?
> 
> You said "emcsvr and emcsh are  utility program without command and 
> status buffers of their own so they don't show up either."  They still 
> communicate with other modules via NML, but they use the buffers in the 
> other modules--is that right?



emcsvr allows programs to access the shared-memory NML buffers via 
sockets. Sockets are normally used for network communication and are 
much less efficient than directly using shared memory when you are 
running on the same system but they can be used by two processes on the 
same system. Java does not include any facility for accessing shared 
memory directly. To get around this all of my java programs that need to 
access NML buffers do so via sockets even when run on the same machine.
One can also get around the problem by using JNI but it results in a 
less pure java implementation.

emcsvr never generates any of its own messages it only passes on those 
generated by remote ( or shared-memory impaired java) clients. It also 
doesn't make use of any of the data in the NML buffers it connects to it 
only it only passes data back and forth between shared memory and socket.

emcsh on the other hand generates messages for other modules command 
buffers and makes use of data in other modules status buffers but it 
doesn't have a command or status buffer of its own.




> 
> Thanks in advance.
> 
> Don
> 
> At 10:49 AM 7/10/01 -0400, you wrote:
> 
>> Don McLane wrote:
>>
>>> Will,
>>> Thanks, this is progress.
>>> Do I need to change the module descriptions now?  For instance, in 
>>> the .cfg file are entries for:
>>>     task, tool, aux, spindle, coolant and lube
>>> But the modules I'm running (if I do ps -ax) are:
>>>     emcmotsim, simio, bridgeporttask, emcsrv and emcsh
>>> Should there be some correspondence?  Or am I missing something?
>>> Thanks.
>>> Don
>>
>>
>>
>> The name before the "{" is just used for display. If "bridgeporttool" 
>> were clearer to you than just "tool" you could change it.
>>
>> However, The real problem is that the term module needs a better 
>> definition here.  The diagapplet was designed for module to be an 
>> instance of the class NML_MODULE, or any class derived from 
>> NML_MODULE. Each NML_MODULE creates two NML buffers that can be used 
>> to control it (command buffer) and monitor it (status buffer). A 
>> single program can create and run multiple modules so simio runs 5 
>> which I named tool, aux, spindle, coolant, and lube. bridgeporttask 
>> doesn't actually create any but it does use NML command and status 
>> buffers so it looks to the rest of the world like it is close enough, 
>> so it is represented by the task module in the .cfg file.  I ussually 
>> think of emcmotsim as having 2 modules trajectory planning and servo 
>> but neither directly uses NML for command or status so nothing from 
>> emcmotsim is direcly visible in diagapplet or the .cfg file. However 
>> in the status display for the task module  in the details view of 
>> diagapplet is section for motion which is taken fairly directly from 
>> emcmotsim. emcsvr and emcsh are  utility program without command and 
>> status buffers of their own so they don't show up either. However, if 
>> emcsvr is not running diagapplet won't be able to connect. (The 
>> connected checkbox will stay red when clicked on and none of the data 
>> in the display will change.) You can tell what the last command emcsh 
>> (which is not visible in diagapplet) sent by looking
>> at the last command recieved by the task module.
>>
>>
>>
>> -- Will
>>
>>
>>
>>
>>
>>
>>
>>
>> -- 
>> ---------------------------------------------------------------
>> William Penn Shackleford III                    shackle-at-nist.gov
>> National Institute of Standards & Technology    Tel:    (301) 975-4286
>> 100 Bureau Drive Stop 8230                      FAX:    (301) 990-9688
>> Gaithersburg MD  20899  USA
>> http://www.isd.mel.nist.gov/personnel/shackleford/
>> Office Location: Bldg. 220 Rm A253
>>
>>
> 
> 
> 



-- 
---------------------------------------------------------------
William Penn Shackleford III			shackle-at-nist.gov
National Institute of Standards & Technology	Tel:	(301) 975-4286
100 Bureau Drive Stop 8230  			FAX:	(301) 990-9688
Gaithersburg MD  20899  USA
http://www.isd.mel.nist.gov/personnel/shackleford/
Office Location: Bldg. 220 Rm A253




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact