J
Has anyone used explicit messages on DeviceNet? I am using a SLC-500 scanner module, firmware 4.26, and I am trying to talk to a GE-Fanuc S2K
Series Stepper controller. I have a block set up that I am moving into the M-File. Object 4, Instance 0x380, Service 0x10, Attribute 3. This is supposed to set a block of floating point registers. When I execute the COP command to move the data into the M0 file, and then COP the response out of the M1 file, I get a status 01 (successfully completed) on the matching TXID, but the registers are still 0....
My data block is (in hex):
0101 - TXID = 1, Command = execute
0016 - Port = 0, 16 bytes in length (hex)
1002 - Service Code 10 (Set Data), MAC ID = 2 (device net address 2 is
the drive)
0004 - Class 4
0380 - Instance 380
0003 - Attribute ID = 3
0000
0028 - 40 Decimal
0000
0014 - 20 Decimal
0000
0003 - 3 decimal
0000
0014 - 20 Decimal
Which should set VF1 = 40 (Floating point Variable #1), VF2 = 20, VF3 = 3, and VF4 = 20. Instead, they all remain unchanged....
I set them to non-zero values before running the block, so I know it isn't the 0000 words that are causing my trouble...
I am able to communicate to the device using implicit msgs which allow me to change 1 value at a time, but I would like to be able to do more than that.
Thanks for any help. A block of ladder would be best, but any suggestions would be appreciated.
--Joe Jansen
Series Stepper controller. I have a block set up that I am moving into the M-File. Object 4, Instance 0x380, Service 0x10, Attribute 3. This is supposed to set a block of floating point registers. When I execute the COP command to move the data into the M0 file, and then COP the response out of the M1 file, I get a status 01 (successfully completed) on the matching TXID, but the registers are still 0....
My data block is (in hex):
0101 - TXID = 1, Command = execute
0016 - Port = 0, 16 bytes in length (hex)
1002 - Service Code 10 (Set Data), MAC ID = 2 (device net address 2 is
the drive)
0004 - Class 4
0380 - Instance 380
0003 - Attribute ID = 3
0000
0028 - 40 Decimal
0000
0014 - 20 Decimal
0000
0003 - 3 decimal
0000
0014 - 20 Decimal
Which should set VF1 = 40 (Floating point Variable #1), VF2 = 20, VF3 = 3, and VF4 = 20. Instead, they all remain unchanged....
I set them to non-zero values before running the block, so I know it isn't the 0000 words that are causing my trouble...
I am able to communicate to the device using implicit msgs which allow me to change 1 value at a time, but I would like to be able to do more than that.
Thanks for any help. A block of ladder would be best, but any suggestions would be appreciated.
--Joe Jansen