Gediminas Posted June 3, 2020 Report Posted June 3, 2020 Is it OK to switch between Modbus TCP and communication with VisiLogic on the same Socket. Code how I do it in attached project. I tested it and it worked, but then after a day I had a problem that communication with barcode readers was not working. Basically what I do when I change between Modbus TCP/VisiLogisc, I run all communication initialization - TCP/IP CARD INIT, SOCKET INIT, Modbus IP CONFIG. What I have found out that when I change from Modbus to VisiLogic, while Socket reinitializes to another port ( I use 20256 for VisiLogic and 20257 for Modbus), protocol stays Modbus (I can see this in info view). So when changing to VisiLogic i do PLC restart with SB300 and then initilalization. Any comments on that ? Have you done something similar ? 2x_Modbus.vlp
MVP 2023 Flex727 Posted June 3, 2020 MVP 2023 Report Posted June 3, 2020 As far as I can tell, you cannot change the configuration (as opposed to the protocol) of a socket without a configuration FB. It seems that the socket initialization (or card initialization) should reset the configuration, but it doesn't except by PLC reset. Since there is no PCOM configuration FB that I am aware of, it seems that a PLC reset is your only option. You might want to contact Unitronics support to confirm this, and if confirmed, request they add the feature on a future update to VisiLogic. I'd like to find out that I'm wrong about this as I think it's an oversight by Unitronics.
MVP 2023 Joe Tauser Posted June 4, 2020 MVP 2023 Report Posted June 4, 2020 I'm surprised this does anything. You're not calling your subroutine from the Main. It is also a very good idea to keep most of your inits in the Main routine. What you're doing should work- I have initialized sockets on the fly in a similar fashion. I believe you that Modbus IP takes over and won't let go. I would break the init logic into smaller networks, as you really don't need to keep re-banging sockets three and four. I would also assign separate Function in Progress bits to all your Modbus IP config blocks - I think they may be stepping on each other. I've poked on your program a bit and attached it. Let us know if I've led you down the wrong path. Or you could dial up to a V700 and you get 8 sockets. Joe T. 2x_Modbus JT.vlp
Gediminas Posted June 4, 2020 Author Report Posted June 4, 2020 Thanks Joe I will check that. It is not actual project, I just copied initialization from main to new project.
MVP 2023 Flex727 Posted June 4, 2020 MVP 2023 Report Posted June 4, 2020 11 hours ago, Joe Tauser said: I believe you that Modbus IP takes over and won't let go. Before I wrote my comment I re-created his routine with just one socket and tried everything I could to get the MODBUS configuration to let go without a PLC reset. Nothing worked. I was very surprised. I also took a look at the System Integers that denote socket configuration, but they are all read-only. I'm thinking Unitronics needs to address this if possible.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now