Re: one Devicenet Question please

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Quoted text here. Click to load it

The Poll Command message sent from the master to the slave
can contain any amount of data.  If your slave device has
four digital outputs then perhaps your plan is for the
master to control these outputs.  If that is the case then
I would expect you will send one byte of data in the Poll
Command.  Four of the bits in this byte would correspond
to how the four outputs should be driven.  The remaining
four bits could be ignored.

Similarly, the Poll Response message sent from the slave to
the master can also contain any amount of data.  But I
expect you only need to send one byte of data in which
four of the bits correspond to the four input values.

 -- Kevin



Re: one Devicenet Question please
Quoted text here. Click to load it

Dear Mr Kevin
Thank you for the reply
yes I can get that but my problem is how does the slave identify that
the data is intended to a specific instance for eg in this code i have
two instances of  assembly object one is Input and the other is
ofcourse output.
(I am thinking as if i am a slave )know i got the byte which contain
the specific info. how can i identify that the info is intended to
input instance(points ) or output instance (points ).

(If as master )I want to send the information of 4 bits to a slave IO
device thats okay but for whom? input or output.
it can be possible if I send the data of 2 byte instead of one .first
byte contains instance Id  and second byte has information (can i send
the instance info in the data bytes ?).plz correct me if i am not
heading on right path

one clarification needed for me  is that the data in poll is vendor
defined?.

Re: one Devicenet Question please
Quoted text here. Click to load it

The Poll Command message sent from the master to the slave has
a unique connection ID that is predefined by the DeviceNet spec.
Remember with an I/O message such as the Poll command the
meaning of the data in implicitly defined by the connection ID.
When the slave receives a message on this connection ID, it
knows that this is the Poll Command from the master.  And your
application code can know to copy the data in this message to
a specific Assembly instance associated with the output data
(and/or know to drive the actual outputs according to the data).

Your slave application should also know that it needs to send
the Poll Response after receiving the Poll command.  It will
know to get the data from the Assembly instance associated with
the input data (and/or know to read the actual input values.)
The Poll Response also has a unique Connection ID predefined by
the DeviceNet spec.

When I say "know" above, I mean that this can be hard coded into
your slave application.

Quoted text here. Click to load it

I don't understand why the master would consider sending input
data to the slave.  I'm assuming that your slave measures the
inputs and sends the input data to the master in the Poll Response.
Inputs are one-way from the slave to the master.  Outputs are
one-way from the master to the slave.  Do I misunderstand?

Quoted text here. Click to load it

Yes it is possible to do this sort of thing.  But I don't see
the need from what I understand about your application.  If
you had a more complex slave and for some reason wanted to
multiplex the data sent via the Poll Command/Response then
you might consider something like this.

Quoted text here. Click to load it

Yes.  Unless you are creating a device to match one of the
standard Device Profiles defined in the DeviceNet Spec.
There are standard Device Profiles for simple slaves such
as a limit switch or photoelectric sensor.  These standard
Device Profiles may define the format of the Poll and other
I/O messages.

 -- Kevin



Re: one Devicenet Question please
Quoted text here. Click to load it

Dear Mr Kevin
 thanks for the reply
 
Quoted text here. Click to load it

Yes sir i have read the connection format and i am clear with them
ie master sends a grp2 command with msgID 101 along with slave's MAC
ID
 and slave sends the response in grp1 with massage id 'F' and its MAC
id
and some bunch of data as application data only.I am very much
confused about these 8 data bytes I can code my own logical
analysation  but what happens if my device used with other master, how
does he know that 'to set the output he needs to send so and so... and
to get so and so ..' thats what i am worried of

Quoted text here. Click to load it

No No ,:-) I placed the question in wrong format sorry
One thing from spec I can say that only master has the authority to
start & initiate the converstion b/w slave and it self ,am I right
here sir ?
if this is the case if master wants to see the status of inputs he
needs to send a command to slave asking for the status of inputs so
what does he send in the data bytes .that is one part of my confusion
.
(I am thinking to send just  instance ID only of Input Assembly and no
extra data so that slave thinks that ither instance ID is of Input
instance i need to respond with the input status )is it correct ?


For Output. if master wants to know the current status of output
points what  he normally  sends in the data part .and if he wants to
change these output status to some other format ie set new values
what does he send .that is the other part of my problem.

 bcos the poll part spec say that application related data in those 8
bytes there is no information regarding what a slave receives as
command to set/get for output ,and what a slave recieves as command to
send the status of its inputs to master

hope I explained my problem properly waiting for your reply
Regards
PMM

Re: one Devicenet Question please
<snip>
Quoted text here. Click to load it

The typical master will NOT know application specific information
such as what is the purpose of this input or that output.
Typically, the master interfaces to a controller (PLC) and
it is in the controller's programming where the application
specific processing occurs.  The controller is programmed by
the user (perhaps via ladder logic) to know the purpose of
each input and output.

Quoted text here. Click to load it

Well... It is true that only the master establishes the
Predefined Master/Slave Connection Set connections such as the
Strobe, Poll, and COS connections with a slave.  If that is
what you meant then you're right.

Quoted text here. Click to load it

For your application, you define (at design time) what is
contained in the I/O messages such as the Poll Command and
Poll Response.  For example, you can design your slave so
that whenever it receives the Poll Command it will send the
Poll response containing data that corresponds to the current
status of the slave's inputs.  Then you wouldn't need to send
ANY data in the Poll Command because you have IMPLICITLY
defined the meaning of the Poll Command (and there is no need
to include any data that would further define the message,
explicitly).

Quoted text here. Click to load it

If your application includes outputs sent from the master to
slave then the Poll Command is a convenient place to include
this output data.  So now, for example, you design your slave
to receive the output data in the Poll Command and send the
input data in the Poll Response.  There is no need to include
any other explicit information in these messages because the
meaning of the messages is implicitly defined by your
application design.

Quoted text here. Click to load it

There is no information regarding this because it is
APPLICATION RELATED.  You decide when you design the application.

 -- Kevin



Re: one Devicenet Question please
Quoted text here. Click to load it


Dear Mr Kevin
that is master will send output info and slave will consume it and in
response  will send input info.This is what you want to say??

oh i was thinking as master will send two separate commands for input
and output
you actually clubbing these two am i right
feels like i am on right path know :-)
thanks a lot
plz allow me to disturb you in future
bye
murali

Site Timeline