AlexV Posted April 1, 2021 Report Share Posted April 1, 2021 Hi all, I'm having some troubles to make modbus TCP work in my installation. I have a PLC 15.6'' USP-156-B10 programmed with a slave register table using slave ID1 and Port 502. I have tried to connect using modscan and PLC recognizes that i'm connected and receives the asks (sessions) but do not answer (success) to any of them on the Slave1 Structure. In modscan appears the following error: MODBUS exception response from slave device. I have followed the youtube tutorials about the modbus configuration and it's identical. PLC has been updated to the last version. On VisiLogic I have no problems when I want to communicate the PLC with modscan using modbus TCP. Please find enclosed some pictures about the issue and the program I have on PLC. Thank you, Best Regards, Àlex C332724_Pineda_9Turbines_20210324.ulpr Quote Link to comment Share on other sites More sharing options...
AlexV Posted April 6, 2021 Author Report Share Posted April 6, 2021 On 4/1/2021 at 12:56 PM, AlexV said: Hi all, I'm having some troubles to make modbus TCP work in my installation. I have a PLC 15.6'' USP-156-B10 programmed with a slave register table using slave ID1 and Port 502. I have tried to connect using modscan and PLC recognizes that i'm connected and receives the asks (sessions) but do not answer (success) to any of them on the Slave1 Structure. In modscan appears the following error: MODBUS exception response from slave device. I have followed the youtube tutorials about the modbus configuration and it's identical. PLC has been updated to the last version. On VisiLogic I have no problems when I want to communicate the PLC with modscan using modbus TCP. Please find enclosed some pictures about the issue and the program I have on PLC. Thank you, Best Regards, Àlex C332724_Pineda_9Turbines_20210324.ulpr 7.53 MB · 0 downloads Hi all, To all the people who can have this issue, problem has been solved changing the Slave ID to 255 and don't letting empty adreces. I was doing an slave table using 2 int16 per data and in some of them I only was calling 1 int16 because this data type was enough. If another PLC reads 10 registers, you cannot leave in UniLogic empty registers and jump adresses, you need to complete all or you will have comunication problems. As you can see on the image, I'm starting on adress 3500 and jumping to 3502, 3502 to 3506 and more. You need to create a tag with the name that you want and put the adreces to fill the spaces between them, so it will be consecutive: 3500,3501,3502,3503,... Best Regards, Alex Quote Link to comment Share on other sites More sharing options...
MVP 2022 Flex727 Posted April 6, 2021 MVP 2022 Report Share Posted April 6, 2021 25 minutes ago, AlexV said: To all the people who can have this issue, problem has been solved Apparently without our help. How did you end up figuring it out? Nevertheless, THANK YOU for reporting back with the solution! Quote Link to comment Share on other sites More sharing options...
AlexV Posted April 7, 2021 Author Report Share Posted April 7, 2021 14 hours ago, Flex727 said: Apparently without our help. How did you end up figuring it out? Nevertheless, THANK YOU for reporting back with the solution! Hi Flex, We were loking for a solution with other companies and we saw that we weren't able to read various registers so we checked again the comunication configuration. Doing some test one of us saw that he was able to read only one register and at the time he was triying to read more, there was the comunication problem. We thought that if you don't put the missing adrecess there's a null value instead a 0 so modscan shows the error. Best Regards, Alex Quote Link to comment Share on other sites More sharing options...
MVP 2022 Flex727 Posted April 7, 2021 MVP 2022 Report Share Posted April 7, 2021 Do you consider this a bug, or just an implementation issue with UniLogic? Quote Link to comment Share on other sites More sharing options...
AlexV Posted April 8, 2021 Author Report Share Posted April 8, 2021 On 4/7/2021 at 3:12 PM, Flex727 said: Do you consider this a bug, or just an implementation issue with UniLogic? Maybe it's a form to optimize memory due you are not saving a lot of 0 in the registers between the ones with data. In VisiLogic this "issue" do not exist due al registers have a 0 by default and if you normally program VisiLogic and once test UniStream, if you don't know about that "issue" you can spend more time than expected. Best Regards, Alex 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.