Jump to content

Recommended Posts

Posted
I've not really used Fanuc PLC's befor but i have a problem which im trying to solve. Im using a 90-30 plc with a HE693PBM101 profibus master card. Attached to the profibus card is a Allen Bradley Powerflex 700s Drive. Im using proficy ME software. The problem i have is that the feedback from the drive (Motor Speed) is a 32bit real value. The starting point for this address is %I793. If i try to use this as a input into any instruction (Move_Real, Mul_Real, ETC) i get an error because these intructions dont alow %Ixxx as a input. Even the conversion instructions dont allow it. How am i supposed to get the value into a register in the PLC. I may just be really stupid but any help is greatly appriciated!

Posted
Begin with a Move_Word, Length 2 from %I793 to an unused %Rx2. Now use the %R for your scaling or whatever.
Posted
Ive conected the drive to the PLC all the lights are green which indicated that its communicating on the network, however when i look in the input/output areas which the drive is mapped to i dont see anything. Ive used Siemens before where you use function blocks to read and write data to/from the slave, is there anything like this for fanuc? Does anyone have any other ideas what im doing wrong!?
Posted
No, there are no function blocks needed in the 90-30. The old HE693PBM101 supports Profibus spec. version 1. May be, your drive needs more functions from version 2. Could you send me the gsd file of the AB drive and the PLC project?
Posted
If you look at the gsd file, there are several options to selct: ; Definition of modules Module = "Ctrl/Stat & Ref/Fdbk (2+2bytes)" 0xC1, 0x83, 0x83, 0x01; 1 EndModule; Module = "Ctrl/Stat & Ref/Fdbk (2+4bytes)" 0xC1, 0x85, 0x85, 0x02; 2 EndModule; Module = "DataLink A (2x2bytes)" 0xC1, 0x83, 0x83, 0x03; 3 EndModule; Module = "DataLink A (2x4bytes)" 0xC1, 0x87, 0x87, 0x04; 4 EndModule; Module = "DataLink B (2x2bytes)" 0xC1, 0x83, 0x83, 0x05; 5 EndModule; Module = "DataLink B (2x4bytes)" 0xC1, 0x87, 0x87, 0x06; 6 EndModule; Module = "DataLink C (2x2bytes)" 0xC1, 0x83, 0x83, 0x07; 7 EndModule; Module = "DataLink C (2x4bytes)" 0xC1, 0x87, 0x87, 0x08; 8 EndModule; Module = "DataLink D (2x2bytes)" 0xC1, 0x83, 0x83, 0x09; 9 EndModule; Module = "DataLink D (2x4bytes)" 0xC1, 0x87, 0x87, 0x0a; 10 EndModule; Module = "Parameter Access" 0xC1, 0x87, 0x87, 0x0b; 11 EndModule; Which option do you want to use? But independend of your choice, you configured 2 input areas. All the Data Links consist on 1 input area and 1 output area. Consistency should be "Entire Length" Why did you use 6 and 8 byte length? I've seen only 2/2 or 4/4
Posted
The way i understand the GSD file is that module 2 is for the control/status and reference/feedback and module 4 is for datalink A. The 700s drive uses 32bit reference/feedback and datalinks which is why i chose module 2 and 4. Module 2 is (2 + 4 bytes) which is why i used 6 bytes in total. The first 2 bytes are for the drive control/status and the other 4 bytes are for the reference/feedback. Module 4 is for datalink A which is (2*4 bytes) so i used 8 bytes in total. I did select the Consistency to be "Entire Length" but i had the same result. Each of the modules is type Input/output. Am i looking at this correctly? Thanks

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...