I want to register new assembly instance. problem arises when i use same DPMOffset
for eg: I have 2 instances 100,150 of size 4 and at DPMOffset 0
now when i try to register new assembly 101,151 of size 8 & DPMOffset 0 I get error
can anybody suggest what should i do to register the new instance at DPMOffset 0?? I also tried stop communication and register but didnt work. please suggest thanks in advance vinay
0xC01f0032
Hilscher Gesellschaft fuer Systemautomation mbH
Hi,
it is not possible to assign DPM addresses twice. You can not map 2 Assemblies to the same I/O area.
Regards
AJ
Hi,
Is it possible to register same assembly instances with different DPM offsets?
like i'm trying this method:
registerassembly(100,4,0); O/P instance
registerassembly(150,4,0); I/P Instance
now second asssembly required is
registerassembly(100,4,4) O/P Instance
registerassembly(150,4,4) I/P Instance
this is required basically because i need multiple nodes to be configured. this is possible in sycon.net utility (to create NXD) but not ablet to get it right with packets.
regards,
vinay
Hilscher Gesellschaft für Systemautomation mbH
Hi vinay,
it's not possible to register an assembly instance twice, even if they have different DPM offsets.
I guess you use these assemblies in the field "abImpDef" for registering serveral connections in the scanner?
In that filed you don't have the possiblity to provide the offset you have used when registering the assemblies,
you only set the size. So the firmware wouldn't be able to assign the correct assembly to the connection.
What you probably want to do is using the same assembly connection points for different nodes.
For this you just have to keep the connection path the same (of course, except the IP address).
regards,
Kai
Hi Kai,
What happens is if I open another connection with same connection point. the process data image i intend to read or write for one node also affects the other. for ex: I have 2 nodes with IP 192.168.0.2 & 192.168.0.3
as u said to register cyclic connection i've used different IP address as input, different connection handle but same connection point say 100,150 (Output instance & input instance).
now when i read or write the process data image the changes can be seen in both the nodes 192.168.0.2 & 192.168.0.3 which is not i need. this feature can be seen in NXD created by sycon.net I have mailed hotline@hilscher.com the service request is #9356#. you can check the attachment I have sent. here i'm not able to do that..
regards
vinay
Hilscher Gesellschaft für Systemautomation mbH
Ok, just to get it right:
You have two nodes 192.168.0.2 & 192.168.0.3 each with the connection points 100 and 150.
Let's say the data size you want to transmit is 4 bytes in each direction.
So, you need to set up two connections, which means you need to register 4 assemblies, 2 for each connection. These assemblies define your data mapping via the DPM for the two nodes.
For connection 1:
RegisterAssembly(200,4,0); // Output
RegisterAssembly(201,4,0); // Input
Then you register connection1 by using the instances 200 and 201 for internal use (abImpDef) and the
connection points 100 and 150 in the connection path together with the ip address 192.168.0.2.
For connection 2:
RegisterAssembly(202,4,4); // Output
RegisterAssembly(203,4,4); // Input
Then you register connection2 by using the instances 202 and 203 for internal use (abImpDef) and the
connection points 100 and 150 in the connection path together with the ip address 192.168.0.3.
Now the first 4 bytes in the DPM area are reserved for data exchange with 192.168.0.2 and the bytes 4-7 are reserved for data exchange with 192.168.0.3.
So I think this is what you want.
And now you say, when writing, let's say, byte 0-3 of the DPM area you see that data for both nodes on the bus? Are you sure you do not write into both DPM areas (bytes 0-7) simultaneously?
I just want to make sure we're talking about the same thing. :-)
vinay
anybody?