Gert Posted March 16, 2020 Report Share Posted March 16, 2020 Hi there im trying to control a ABB ACS355 with Fena-01 adapter using modbus. i think i have a problem with the addressing. in the VFD i have all the parameters set and im abble to controll the vfd with modbus poll. in register 1 i first send 1150 (also stop command) to set the vfd in ready mode after that im able to start the drive with 1151 (start command). in the attachment ill uploaded my project. can someone help me out? Thanks in advance Gert ABB VFD.vlp Quote Link to comment Share on other sites More sharing options...
MVP 2021 Flex727 Posted March 16, 2020 MVP 2021 Report Share Posted March 16, 2020 Don't you need to CONNECT to the slave before you can exchange data? Also, don't forget that Unitronics addressing starts at zero while MODBUS addressing starts at 1. Be sure to account for the "off by one". And you should change MB 1 & MB 2 in rungs 2 & 3 to positive transition contacts instead of direct contacts. Quote Link to comment Share on other sites More sharing options...
Gert Posted March 17, 2020 Author Report Share Posted March 17, 2020 Thanks for your reply butt i still cant get it to work. ill changed MB 1 en MB 2 in to 2 positive transition contacts and placed a rung between 1 and 2 and placed Modbus scan_EX functionblock. And i Also changed MI2 in rung 4 into MI3. ABB VFD.vlp Quote Link to comment Share on other sites More sharing options...
MVP 2021 Flex727 Posted March 17, 2020 MVP 2021 Report Share Posted March 17, 2020 There are example programs that came with your VisiLogic installation. I strongly recommend that you take a look at the one for MODBUS TCP Master. Look in Examples/Version 900/Project Examples/Communications/Ethernet/Ethernet MODBUS IP/V280_Ethernet_TCP_MODBUS_IP_Master.vlp Your program still doesn't have a CONNECT function and you definitely do NOT want the SCAN EX FB. Also, what are you trying to do in Rung 6? You are attempting to communicate on every scan, and while that may be possible depending on the device you're trying to communicate with, your other communication functions will not work with that. Quote Link to comment Share on other sites More sharing options...
Gert Posted March 19, 2020 Author Report Share Posted March 19, 2020 I made some changes to the programm but i'm stil not able to write to the vfd. also tried to set and reset request to send in rung 3, 4 and 5. I also tried to change the addresses to 40000 and 40001 (according to the ABB manual and off by one) in rung 5 (previous rung 6) i try to write the speed for the VFD. thanks for the tip according to the examples. ABB VFD.vlp Quote Link to comment Share on other sites More sharing options...
MVP 2021 Ausman Posted March 19, 2020 MVP 2021 Report Share Posted March 19, 2020 A quick look and I'd check whether it's relevant that your gateway is not in the same net. !! cheers, Aus Quote Link to comment Share on other sites More sharing options...
Gert Posted March 20, 2020 Author Report Share Posted March 20, 2020 Hey i wanna thank you Flex727 and Ausman i finally got it to work. i digged a little in the Forum and found some other code from Ofir and i'd putt it all together and gotit to work. ill post my code for anyone who is struggling with this kind off problem. ABB VFD.vlp 1 Quote Link to comment Share on other sites More sharing options...
Brett Posted April 9, 2021 Report Share Posted April 9, 2021 Gert, im doing a similar application with an ABB ACQ580 - Fena-21... in your logic, you have vector length a 1. which makes sense in the logic that youve presented. Did writing 1151 start the drive and 1150 stop the drive? Did you read or write any more data to/ from the drive? in my application, im looking to also send a speed reference. Would i just increase my vector length to read or write to another register in the drive? Thanks in advance! Quote Link to comment Share on other sites More sharing options...
MVP 2021 Joe Tauser Posted April 11, 2021 MVP 2021 Report Share Posted April 11, 2021 The first thing to do is load the PLC, connect it to the drive, and determine if the logic works to start and stop the drive. Have you had a chance to do this yet? It's kind of the reverse of V'ger touching the Creator, if you're a Star Trek fan. You can't beat actually putting the hardware together. If it's a 480V drive you can wire a control power transformer backwards to light it up on your work table. Just be careful that you don't electrocute yourself. Once you've had a successful communication, you can move on to reading and writing other registers. Usually you only write one and read many. Modbus allows up to 125 contiguous registers in a Read operation. As Flex pointed out, Official Modbus starts counting at 1 and Unitronics Modbus starts at 0. 4xxxx means it's a holding register, so ignore the 4 when determining the address. In other words, Modbus 40001 equals Unitronics address 0 as Gert did in net 4. Have a go at it and post your program with questions. Joe T. Quote Link to comment Share on other sites More sharing options...
Gert Posted April 11, 2021 Author Report Share Posted April 11, 2021 Brett, Writing 1151 (start) and 1150 (stop) does start and stop the drive, i also wrote the speed to the drive modbus adress 1. In order to let the drive turn the other way you have to use negative numbers. You can do this with writing multple vectors but i chose to create more nets and reading and writing 1 vector at a time. I also made a net to read the actual speed at adress 4. When you whant to read and write more data from and to the ABB drive you can download the ABB documentation from their website with the modbus adressing table. Gert P. Quote Link to comment Share on other sites More sharing options...
jdiameron Posted October 25, 2021 Report Share Posted October 25, 2021 Hello Gert, Did you use a reset bit to clear the faults via Modbus? If so what is the address of the register for the reset bit? Somehow I cannot find this information. Thanks in advance. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.