HerculesSETUP utility is useful serial port terminal (RS-485 or RS-232 terminal), UDP/IP terminal and TCP/IP Client Server terminal. It was created for HW group internal use only, but today it's includes many functions in one utility and it's Freeware! With our original devices (Serial/Ethernet Converter, RS-232/Ethernet Buffer or I/O Controller) it can be used for the UDP Config.
TCP server lisening on specified port in the Server status and show received data in RAW format. You can try Listen on port 80 on your PC and entry your IP address into your browser..
Note: Don't use receiveing port lower than 1024 in MS Windows, it can make you troubles with TCP/IP comunication, because Windows using these port numbers for system functions.
The UDP tab is simple "terminal" based on the UDP datagrams.
The main purpose of this tab is to send UDP packets from your computer to the destination. If you want to use UDP comunication mode, it's quite complicated to find some utility for debuging under Windows.
I'm writing a TCP/IP client and I would need a "test server" to be able to test easily. It should listen on a configurable port, show me when a client connects, and what the client sent. It should allow me to manually enter text to send back to the client.
Normally, I would have used the simple but powerful nc.exe (alias "Netcat" available on Unix and on Windows) but the antivirus software detects it as a "hacker tool", so my system administrator doesn't want me to use it at work.
netcat (nc.exe) is the right tool. I have a feeling that any tool that does what you want it to do will have exactly the same problem with your antivirus software. Just flag this program as "OK" in your antivirus software (how you do this will depend on what type of antivirus software you use).
I would go with netcat too , but since you can't use it , here is an alternative : netcat :). You can find netcat implemented in three languages ( python/ruby/perl ) . All you need to do is install the interpreters for the language you choose . Surely , that won't be viewed as a hacking tool .
In situations like this, why not write your own? A simple server app to test connections can be done in a matter of minutes if you know what you're doing, and you can make it respond exactly how you need to, and for specific scenarios.
Another tool is tcpmon. This is a java open-source tool to monitor a TCP connection. It's not directly a test server. It is placed in-between a client and a server but allow to see what is going through the "tube" and also to change what is going through.
I believe people that want to create their server are not necessary interested being a linux master or whatever. Never people are saying that before leaning guitar, people should learn how string and guitar are made.
I am completly newbie, I thought it would be badly seen if someone like me edit the wiki. Beside of that, because I do not master herc, I think that I should just post what I know and understand in the forum. And later, after the approval of the community, I will be happy to edit the wiki !
But do you think that new-to-linux-world should be installing insecure server like this?
Meaning, anyone who needs this guide is probably unaware of security things. I know that it's not really part of the guide, but it really should be mentioned for the sake of all the new servers who are insecure :S
At least give a link to things to do first for a brand new Debian server before starting to follow the guide.
Anyway, great guide!
I got problem with TCP/IP connection between Hercules software (active partner) and PLC et200SP (passive partner). I gonna do this test because i'm struggling with Keyence scanner BTA-500 which is connected via WiFi router to PLC and establish connection with PLC every time.
2. your post missing also pictures from Hercules, what you did there with cfg of IP, Port of Server expected. I see in your screenshot same Port for both devices, is this required as is, especially on Server (PLC)?
1. Yes this scanner is a specific device. I'm in contact with one programmer who configured Beckhoff PLC as server with this scanner. But Beckhoff PLC has libraries (fb_SocketListen, fb_SocketAccept, fb_SocketRecieve, fb_SocketClose). Thats's why it was simple for him.
I don't work with that HW but on Siemens you have also as you did with Client role. Same you need to do also, TCON as accept connection (listen) and in case of Client will send data you nee have TRCV block, as usually. Check of output parameters is required, your post is missing that screenshots about PLC blocks used. I see there also that connection is programmed in option but your screenshot is configuration manually via block option (TCON looks like). Is this ok? generally TCON_IPv4??? block structure for connection cfg is expected in this case, check for TIA help.
The only thing i have changed was a sequence. First i do REQ on TCON block then i start connetion from Hercules as Client. Also i deleted Partner Port number and i left Local Port number as it was. I will play with TRCV_C block now.
I've made Hercules as TCP_IP server and PLC as TCP_IP client. The port number in the server in 3000. I've attached the configuration for your reference. I'm unable to connect with the server, even though the server port is open.
@BigMongostylerI had to install client on my dedicated server to get it to work but others have had it work without doing that. Try this first. Install mod on server. Copy Hercules_Cargo.lua on server under Scripts. If that does not work for you , try installing client, then opening mission on that machine and point trigger to location on server. Let me know if that is confusing.
With most DCS aircraft, once in the air it's RAlt+\ to access the radio menu (keybind is named "Comm switch...") and \ alone stops working. Never quite understood why that is but it's common to all DCS aircraft.
Also note it's backslash \ , not forward slash / (you can of course remap it to anything you like).
But I just double-checked and the Hercules doesn't seem to have that as one of its keybinds. Just the ground "Communication menu" with \. So yes, good question!
I think it's a problem with many mods; as they don't have access to ED's software development kit, certain doors are simply closed to modders, and these include the communication system. I think some mod makers somehow managed to implement a comms system, but most mods don't, so in the air we can't open the comms menu.
Yes you did something wrong but very understandable You can't use the communications menu key once in the air. You have to bind a key for the "push to talk" function. That is how both the C-130 and the A-4 mods get the in air communications to work.
Anyone got the Garmin working for it? one COMM is just meh and the overlay from srs in vr means having a big old screen in the cockpit to use overlay. I know theres commands for srs ect but the Garmin would have been a cooler way just curious.
Can someone tell me how to get the AI Hercules to drop cargos? I have added a trigger zone for the drop. I start Mist and CTLD Hercules Cargo.lua, but not sure which command to give them if any when they enter trigger zone.
Anybody managed to make keybinds for the rotary knobs, particularly interested in the HDG Mod Knob that is just left of the pilots PFD.
Would also like the altitude select knob, and the knob that can set the IAS.
I've had a look myself but it's so different from other aircraft I don't know what to do with it.
Cheers
I am creating a TCP driver based on lwIP 2.1.2 shipped in C2000Ware 2.00.00.02. I am able to succesfully create a TCP Server on the target and connect it to a TCP Client running on my PC using Hercules utility.
The LWIP has been tested only with the the Webserver application, hence running the TCP client has not been tested. It's good to know that you are bringing up a TCP Client based application. Thanks for the details of the setup.
When I hit such issues, I first look at lwip_stats variable on the target(Expressions window) and look at the link,ip,tcp level stats to see at which layer the packet is not passed up/responded to. At the Ethernet driver level it is good to check the following watch variables:
Before you call the tcp_connect and after the tcp_connect (after the retries in wireshark), it is good to see the statistics. You can also check the Ethernet statistics registers using the register view or CCS memory window.
3) After giving free run: SYN command is sent on TCP layer and the ARP messages are exchanged. Other than these, no messages are received on TCP or even at IP layer, even though Wireshark shows that the server tried to send SYN+ACK command multiple times.
With the help of "Rx Statistics" registers, I was able to narrow down the source of the issue. The received packets were all being discarded and the "Rx_FIFO_Overflow_Packets Register" was being incremented with every try.
As soon as I do this, it triggers lot of traffic on the network (which I have captured in the WireShark window below). This traffic goes on for quite some time (6-8 seconds) and if I execute the "tcp_connect" command before this stream of traffic ends, I do not get a response from my PC.
To clarify, if I give a free run to my code, this traffic starts on the network, somewhere in between "tcp_connect" is executed and I see a SYN command from the target to my PC. But my server does not respond with a SYN+ACK in this case.
3a8082e126