Ok, so to clarify - I don't need to connect to VisiLogic, I'm fine with using a programming cable for now (unless I'm missing something obvious about this feature).
My use case - I need to retrieve some files from an FTP server and print labels on a network attached printer. To do that I assume that the TCP_RAW mode is needed (since "MODBUS over TCP" doesn't sound like something I want). I admit that I'm very new to PLC programming, but I'm far from a newbie when it comes to programming in general.
I want to start with the printer, since it's super simple - I have an IP of the printer, I have the port, I need to connect to it (client/master) and send 6 bytes of data to get something printed: "^II^FF". I already confirmed that this works with a python script on a PC, now I want to do the same with the PLC. After I get this to work I can worry about actually printing something useful and having configurable IP addresses :)
First of all I should configure my router to assign a static IP for the PLC, so I need the MAC address - thanks for the tip about Info mode. I noticed it mentioned in the documentation before, tried to click the "i" button and it didn't work, so I just forgot about it. Now I tried again but I long-pressed the button instead and got in - the MAC is 00:0D:22:2F:A5:F8 so I was very close to getting it right.
In terms of the program, I tried to:
power-up pulse -> SET PLC NAME -> CARD INIT -> SOCKET INIT (socket 0, TCP_RAW, client)
MB "should connect" -> card initialized -> socket 0 initialized -> socket 0 not connected -> CONNECT (printer IP, port) -> reset the "should connect" MB
MB "should send" -> socket 0 is connected -> SEND DATA (^II^FF)
I trigger MB's by hand to see it work. The result is that the "connected" bit for socket 0 never lights up.
I have the MAC now, so I'll do more testing probably tomorrow. Also one more idea came to me when writing out the program above - it's possible that I didn't reset the PLC after downloading the program, which would prevent the CARD INIT and SOCKET INIT from running. In hindsight that should've been obvious...
I'll get back to you after my next round of testing, hopefully with good news :)