Topic: Software flow control not working MacOS monterey
|Posted on: Mar 8 2023 at 04:44:11 PM
I've spent a ton of time trying various permutations of baud rate and different adapters, etc, and my problem persists. The software successfully sends the program to the CNC, but the CNC's receiving buffer fills up and the mac version of easyDNC disregards the flow control signal. The adapter that I found that works for this has a pair of LEDs on it, and I can confirm that the CNC is sending a stop signal when the buffer is full, yet the client disregards this and keeps sending. I downloaded the windows version and set up with the same cable and program from a windows 7 PC, and everything works flawlessly with the same settings that I use to send from the mac, except that the windows client properly holds transmission and restarts when prompted by the CNC. Therefore, I suspect this is a mac-version specific issue. I'd dearly love to send directly from my mac rather than do this idiotic transfer-to-windows-pc song and dance. I am using the trial version of EasyDNC, v5.0.4. Thanks!
|Posted on: Mar 9 2023 at 08:25:50 AM
|The CNC sends the flow control signal. I assume that you're setup for XON/XOFF and you see the little flash on the LED as the CNC sends the XOFF signal?
It should work. I can't think what the problem is. As you said, it looks like the Mac is not recognizing the stop (xoff) character.
Are both sides (The MAC and the CNC) both set to 7Bits Even Parity?
Send a file from the CNC to the Mac. I know this isn't the direction you want to go but try that and see what the received data looks like? Is it correct? If some characters are correct but other are wrong, maybe around 50%, then there's a parity problem.
|Posted on: Mar 9 2023 at 04:30:59 PM
|I tried your suggestion. The transmitted program looks perfectly correct, no unusual characters, so it doesn't look like a parity issue. Also, as I said before, the mac client will actually send working code to the machine, it just doesn't stop sending when asked, and with the same settings, the windows client works fine and stops at the appropriate time. I am attempting to send from an M1 mac running Monterey, is there a specific USB to serial adapter that is known to work with that configuration?
|Posted on: Mar 10 2023 at 02:57:22 AM
|Does the Mac eventually stop sending (react late to the stop signal) or does it just keep sending all the way to the end of the file?
In the easydnc setup in the bottom left corner there's a setting "Block Delay". Increase that to a bigger number. This setting tells easydnc to pause sending for a moment between each line of the program. This won't tell it to observe the stop signals from the CNC but it might give the CNC time to clear its buffer so that it doesn't need to use the stop signal.
I guess the above might work if you're transferring a program into CNC memory. If you're drip feeding then it might not.
What baud rate are you using? At around 4800 something like a fanuc will usually be able to receive a file into memory without using any flow control.
|Posted on: Mar 10 2023 at 03:04:04 AM
|Oh. I do want to say that we've never tested easyDnc on an M1 Mac. Just Intel.
I don't like blaming other parts of the system but if you'd only tried one brand of USB adapter then I would ask you to try a different one. But you said in your first post that you'd tried different ones so I'm, kind of, stuck where to go from here.
|Posted on: Mar 10 2023 at 09:30:59 AM
|Thanks for the reply. I tried three different adapters and only one of them actually worked, though fortunately it was the one with the Tx Rx lights. That is the adapter for which flow control works from the windows client. I have ordered another USB to serial adapter that folks on the internet have said definitely work with M1 macs, so if it is a strange serial adapter-mac interface issue, perhaps that will resolve it.
I tried setting block delay to max and it did not fix the issue. The mac client just keeps sending data until the program is "fully transferred", though of course there is nothing actually recording the data on the other end. I also tried dropping the baud rate several times, all the way down to 2400 because I read on another post that that helped someone else's timing issue. Unfortunately, no permutation of block delay and baud rate fix the issue. I can, however, use the windows RemoDNC client to send programs at 19200 baud (maximum the control will support) and the flow control works even at that speed with a block delay of (I think) 10.
|Posted on: Mar 13 2023 at 04:59:51 PM
|I tried the new serial adapter, and unfortunately it doesn't work at all. Is there any way you can test on an M1 mac and see if this is a software-side issue?
|Posted on: Mar 14 2023 at 06:30:36 AM
|Sorry. No. Our Macs are recent intel i7's. No real intention to switch to M chip mac yet. We use Parallels on Mac to run other x86 operating systems for various projects Apple/Parallels simply haven't got working on M based macs yet.
I think the best we could do is add a comment to the easydnc Mac webpage mentioning that there may be an issue with Apple M chips.
I will add though that we created the Mac version of easydnc hoping that enough people would use it. That hasn't been the case so I don't expect further development in that direction.
|Posted on: Mar 14 2023 at 06:44:30 AM
|You didn't say what CNC it is. Something like a Fanuc has various flow control modes. Most common is xon/xoff. In the fanuc's parameters that would often be labeled as DC control codes. DC1/DC3.
But Fanuc, and many other CNC controls, can also use hardware flow control. RTS/CTS. This needs those wires to exists in the cable (see the wiring diagrams on the easydnc home page) and the correct parameters to be set in the CNC and in easydnc.
|Posted on: Mar 14 2023 at 07:14:42 AM
|Thanks for the replies. The control is an Anilam 3000M, and according to the manual it only has software flow control. I guess I'll either have to try some more serial adapters or I have to set up a shitty windows box to pull files from a server and send them to the cnc.
|Posted on: Mar 17 2023 at 04:39:30 AM
|You could install something like parallels to run a windows VM. But it would need to be the ARM version of Windows. Parallels isn't free though. There's another called VMWare that is free and as far as I know that also works on M chips but, as mentioned above, it would need the ARM version of Windows.
With parallels, I think, you can buy the ARM Windows licence directly within parallels. But Parallels plus windows licence might be more money than you want to spend. But it would give you the option to run all those other windows program that your colleagues are using without a separate Windows machine
Reply - add a comment to this topic.
You may enter letters, numbers and standard punctuation only. HTML and other scripts/tags will be rejected.