CANopen:CAN EMERGENCY MSG GET
Return contents of most recent Emergency message to from the slave.
System stores most resent Emergency message from every slave (per slave), with each Emergency message reference counter is incremented.
Reference counter shall be used for detection a new data.
Input
Dadd - drive address
Offset - offset in PDO from where data will be copied
Size - how many bytes to copy 1..4
Output
lRefCnt - reference counter - incremented when Emergency message is recieved
Return Value
Emergency message data copied from offset and size
Declaration
public function CAN_EMERGENCY_MSG_Get(byval lDadd as long , byval lOffset as long,byval lSize as long, lRefCnt as long) as long
Syntax
PdoData = CAN_EMERGENCY_MSG_Get(<Dadd>,<Offset>,<size>,RefCnt)
Limitations
Signed 8 and 16 bit objects are not properly converted to LONG. For example 8-bit negative value, eg. -3, read as 253. Application shall apply sign extension for negative 8/16 bit objects.
Exceptions
Examples
program
dim cnt as long
dim data0 as long
dim data1 as long
dim addr as long = 1
data0 = CAN_EMERGENCY_msg_get(addr,1,2,cnt)
data1 = CAN_EMERGENCY_msg_get(addr,3,4,cnt)
print "Emergency"
print "Drive ";addr;" Data0 ";data0 hex; " data 1 ";data1 hex;" ref counter ";cnt
end program ' <MyTask>.prg