So this may just be something we have to work around, but we are using USC-B10-T24 PLCs to operate an automated test stand for a product running with a bespoke embedded controller. The Unistream will connect via a CPU TCP client over ethernet to send and receive data from this device during the test. However, once the test is completed, we disconnect the device and send it on its merry way, then get another device and repeat the process. This isn't a common use case for PLCs, which usually are set up once and never disconnected or touched again, but it doesn't seem to be working properly.
Up until now, this was all handled over a serial connection, but I'm trying to have it run over ethernet due to the improved speed and stability. However, now that we are trying to have it run on ethernet, I have noticed some extremely odd behavior.
The PLC will check if it is disconnected, attempt to connect to a static IP that has previously been input into the device under test, and if it doesn't connect, it will force a disconnect (thinking it would go through some type of reinitialize process), then wait 5 seconds, then try again. On the first test of the day, after power up, this connects with no issues at all. We can send and recieve data from the network stream and it works perfectly. However, once the device is disconnected, the Unistream will no longer to connect to anything on the same IP, even if we plug the same device back in. What seems to work is if I change the IP every test, then it will connect just fine. However, until the unit is power cycled, the previous IP is then useless and the PLC will refuse to connect. It will ping fine and I can connect to the device with my laptop, but the TCP connect block in ladder gets hung up on waiting for SYN and eventually times out.
I only have a block of 4 IPs to use, so every 4 tests I would have to power cycle the PLC to run more. I've tried alternating target (device) IPs between one and another, multiple clients on different ports, etc., but nothing seems to work except for a hard reset. Any tips? Is there a way to reinitialize a TCP Client within the ladder?