-
4 Attachment(s)
New MODBUSEZ SetUp Plugin For UCCNC
I already had all the frame work done from previous HY plugin so I put this one together. UCCNC comes with a great Modbus plugin, but without prior knowledge of Modbus and writing macros it can be a little tricky and discouraging getting spindle up and running. This plugin is for the less advanced user who can now have there spindle controlled by UCCNC quickly, painlessly with least expensive solution.
Don't have setup instructions enclosed with zip yet but the most setup will be with VFD and it's manual, a few notes for plugin is as follows.
1. Baudrate must match VFD set Baudrate.
2. VFD should be set to 8-N-1.
3. All Register fields input needs to be 2byte hexadecimal. (See screens posted below)
4. Plugin is for typical Chinese spindle 400HZ/24000rpm only.
I posted some screen shots for setup for some of the popular VFD's like NOWFOREVER, MACHTRIC and HITACHI, I will post more when manuals become available.
Attachment 353686 NOWFOREVER E100
Attachment 353688 MACHTRIC S800E
Attachment 353690 HITACHI X200
Download here>>>>>>>>>>>>>>>>>>>>Attachment 353896
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Hi Dan,
Unfortunately it does not seem to work with my Bosch VFD. Did a quick test and nothing is happening.
My settings were:
Port 6, 115200, 8N1
Sact: 20000
Single register 32513 for RPM settings
Single register 32512 for run settings
CW: 129
CCW 133
Stop 136
Exception if CW/CCW/Stop commands entered with three digits only. This is not nice but it is only a nuisance since it seems to be OK if four digits are used. Anyway, it is not working at all with my VFD. I don't know why, and it isn't very important, so don't spend time on this for me since I am happy with the Modbus plugin which is provided by CNC Drive, which is well tested and working without any issues. Nothing is happening, no communication at all. Note that I am using an Ethernet - RS485 com port, so it is a virtual serial port but the same port works well with both Mach3 and UCCNC if I use the built in features of those software. Like I said, don't spend time on this for me, this is just for information. Sorry for not being able to do more debugging. The manual is available on-line, but if you are interested you can download it here:
Media Directory - Media Directory
The document to download is: R912005854
-
1 Attachment(s)
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
A_Camera
Hi Dan,
Unfortunately it does not seem to work with my Bosch VFD. Did a quick test and nothing is happening.
My settings were:
Port 6, 115200, 8N1
Sact: 20000
Single register 32513 for RPM settings
Single register 32512 for run settings
CW: 129
CCW 133
Stop 136
Exception if CW/CCW/Stop commands entered with three digits only. This is not nice but it is only a nuisance since it seems to be OK if four digits are used. Anyway, it is not working at all with my VFD. I don't know why, and it isn't very important, so don't spend time on this for me since I am happy with the Modbus plugin which is provided by CNC Drive, which is well tested and working without any issues. Nothing is happening, no communication at all. Note that I am using an Ethernet - RS485 com port, so it is a virtual serial port but the same port works well with both Mach3 and UCCNC if I use the built in features of those software. Like I said, don't spend time on this for me, this is just for information. Sorry for not being able to do more debugging. The manual is available on-line, but if you are interested you can download it here:
Media Directory - Media Directory
The document to download is: R912005854
I probably should of waited to post with manual but I did post that it needs to be in hexadecimal with 2 bytes per field. I know your happy with the UCCNC plugin you expressed that several times in my other thread. . Great thing about CNCZONE is there are many choices and opinions. I do remember seeing many post/debates on different ways macros should be written, you all had some experience in programing. Just trying to provide a simpler solution for other users with no experience writing macros.
For anyone else with a Bosch VFD use settings below.
Attachment 353966 Bosch Rexroth EFC5610
*********Make sure you have the MODBUSEZ1.zip*********
5. VFD address in VFD settings need to be "1"
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
Dan911
I probably should of waited to post with manual but I did post that it needs to be in hexadecimal with 2 bytes per field. I know your happy with the UCCNC plugin you expressed that several times in my other thread. . Great thing about CNCZONE is there are many choices and opinions. I do remember seeing many post/debates on different ways macros should be written, you all had some experience in programing. Just trying to provide a simpler solution for other users with no experience writing macros.
For anyone else with a Bosch VFD use settings below.
Attachment 353966 Bosch Rexroth EFC5610
*********Make sure you have the MODBUSEZ1.zip*********
5. VFD address in VFD settings need to be "1"
I think what you are doing is great (which I though was clear and which is why I did the test) and I am a bit surprised about that deleted sentence, which I have seen before the edit... ;) but never mind.
I will test it once again, it's not very obvious that part of the data must be in hex, though I should have thought about trying out that as well.
Yes, simpler solution than the built in plugin is good because neither Mach3 or UCCNC are very clear about how a Modbus VFD should be handled and even if I like the great flexibility, especially the UCCNC Modbus plugin offers (but even Mach3 brains) it is not very easy for everyone to handle that. This is where your plugin fills a gap, it provides a simple interface for basic controls, which is very good and needed. I can clearly see that, even though you don't seem to understand or believe it.
I have realized both during the HY plugin development phase and see it even here that you don't appreciate my comments and proposals, though at least afterwards, I noticed that you implemented several of them... :) I guess you realize after some thinking that my proposals are relevant or well considered and meant. So, here are some more:
- Add an Exit button. While the X works, it is not a very nice way of exiting from a window or a software, a bit unclear if changes are saved or undone when you push X. I know even UCCNC has it this way, but never the less, it is not nice and is very much non-standard.
- If you want to avoid writing a manual you could add text to the window. There is plenty space for the simple instructions needed and if you did that you would not need to write a manual.
Take it on board, or ignore, it's your choice but note that all comments are made with positive feelings from my side. One reason I am not interested is not that I don't see the benefits, but the old saying... "If it ain't broke, don't fix it." which is my case with the built in Modbus plugin. It works, so why change it. If this was available when I bought my UCCNC I would have probably used it but now it is different.
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Hi AC,
Sometimes emails, text and post can be taken out of context, I read your post straight home from work and answered immediately than realized I might have done that. I was told by others I maybe wasting my time because UCCNC provides a great Modbus Plugin so I answered defensively.
I think UCCNC is the best controller software out there and the users will continue to grow. I also think the Modbus plugin it provides is great also, but it will work as good as the macros the user needs to create to run it.
I certainly appreciate any input you or anyone else has to offer.
Thanks,
Dan
-
1 Attachment(s)
Re: New MODBUSEZ SetUp Plugin For UCCNC
Hi Dan,
Don't worry, no apologies needed.
Anyway, the bad news is the it does not seem to work. It seems that the highest bps possible is 19200, but even if I set it to 9600 there are still problems. If I set Single Holding Register it sends the CW/CCW/Stop commands continually, which I believe is the polling function you implemented. The VFD reacts as expected to these commands, except that the frequency (rpm) command is never sent, so the spindle won't start spinning. If I set it to Multiple Reisters (spelling error in the plugin) then both the Stop command and the spindle frequency are sent three times and then everything stops, even though the VFD responds normally, according to the manual. I include a capture of the communication. I have calculated the checksum and that is as it supposed to be, you are sending exactly as it must be sent and the VFD responds correctly as well, but it seems that the plugin is not recognizing the response and it times out, no further attempts made after these three messages.
Attachment 354058
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
What ever format you choose it sends a stop command 3 times in that format to test for a response, that's the pic you posted, this generates the Connected or not Connected window.
If your RPM is set below 1000rpm it wont set frequency, and in Multiple Reisters (lol) it wont send a string.
Yes I implemented polling and hated doing it, I don't see why when you turn it on you have to keep doing this, but some VFD this could cause an error. With the HY VFD this is not needed.
Dan
-
1 Attachment(s)
Re: New MODBUSEZ SetUp Plugin For UCCNC
My bad on the baud rate issue, please let me know if fixed.
Attachment 354106
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
Dan911
What ever format you choose it sends a stop command 3 times in that format to test for a response, that's the pic you posted, this generates the Connected or not Connected window.
If your RPM is set below 1000rpm it wont set frequency, and in Multiple Reisters (lol) it wont send a string.
Yes I implemented polling and hated doing it, I don't see why when you turn it on you have to keep doing this, but some VFD this could cause an error. With the HY VFD this is not needed.
Dan
I know that, I just included the message flow to show you that the responses from my VFD is correct for each of the three messages, yet the plugin is not recognizing the replies and stops. Perhaps if the number of tries would be increased it would be able to capture the message from the VFD. If the plugin works for other users than I don't understand why it is not working for me, since the responses from the VFD are right.
I still think that minimum rpm should be up to the user. Normally 1000 rpm as minimum is OK, our spindles are generally useless below that speed, but now and then I am checking my spindle run-out like in this video:
https://youtu.be/HC18Pz4uxsY
...and that can not be done at 1000 rpm. Perhaps I am the only one doing this sort of periodic control, I don't know.
The reason for polling needs is safety requirements I tried to explain elsewhere even before. If the spindle is running and the communication lines are cut it will keep on rotating until something bad might happen. It is a safety requirement that the spindle is stopped automatically if lines are broken. I can configure my VFD so that it stops the spindle automatically if the communication stops, or it keeps on running, regardless the state of the communication line. Currently, it is not set for stopping, so it ignores communication once it is started, but in a workshop or a space where it would be left running on it's own I would configure it to stop automatically in case of communication failure. Perhaps not all the VFDs can be configured both ways, and perhaps some requires a permanent flow of communication, I don't know, but in my opinion it is better if communication is not stopped by UCCNC or a UCCNC plugin.
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
Dan911
Thanks, but the biggest issue was not the bps, but the fact that it is not working at all, the spindle is not rotating with the plugin, regardless which bps or rpm I set.
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
A_Camera
Thanks, but the biggest issue was not the bps, but the fact that it is not working at all, the spindle is not rotating with the plugin, regardless which bps or rpm I set.
What's your RPM set at on start up? Above 1000rpm?
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
Dan911
What's your RPM set at on start up? Above 1000rpm?
On start of UCCNC it is set to zero, just as it shows in the Modbus message I included. After that it is set to whatever I want, no response. I tried 12000, 18000 and 24000. The spindle speed dro is set but Sact is not and the spindle is not starting at all in Multiple Registers mode because the communication is stopped after the three messages.
In Single Register mode the CW/CCW/STOP commands are sent, depending on the state of the CW/CCW buttons, I can see that the message flow is 100% accurate and the VFD relay and fan starts after CW/CCW, the LEDs indicate the correct state, but for instance, S18000 (or any other spindle speed) is never sent to the VFD, so the spindle won't start spinning. The "polling", i.e. the sending of CW/CCW/STOP continues forever and works perfectly, so the actual communication is OK, and also the plugin reports after start that it is communicating with the VFD. I don't remember the exact wording, but anyway, I can see that it is working just fine, only the spindle frequency message is missing.
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
In the Modbus message is the 3 string test as I explained in post#7 and will always set frequency 0 no matter what your RPM is set at on startup. Once you hit OK on Connection window the polling begins and if your RPM is below 1000rpm it will Stop communication and won't send anymore strings(Multiple Registers). I also explained this in post #7.
I would appreciate if you try setting your RPM above 1000rpm on start up and confirm your problem went away.
Thanks,
Dan
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
Dan911
In the Modbus message is the 3 string test as I explained in post#7 and will always set frequency 0 no matter what your RPM is set at on startup. Once you hit OK on Connection window the polling begins and if your RPM is below 1000rpm it will Stop communication and won't send anymore strings(Multiple Registers). I also explained this in post #7.
I would appreciate if you try setting your RPM above 1000rpm on start up and confirm your problem went away.
Thanks,
Dan
OK, I will set Spindle minimum velocity in UCCNC Spindle configuration window to more than 1k. I guess that's what you mean by saying "If your RPM is set below 1000rpm it wont set frequency, and in Multiple Reisters (lol) it wont send a string." I thought you meant the RPM in SSet, which is set by the S command. Was not clear for me, sorry. Will get back with the results in a few hours time.
What about Single Register mode? In that case the spindle speed is not sent at start, polling works and if I set the SS to anything, it is never sent, though the polling continues. Does this mean that you look at the minimum spindle speed setting of UCCNC config and not the actual spindle speed?
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
A_Camera
What about Single Register mode? In that case the spindle speed is not sent at start, polling works and if I set the SS to anything, it is never sent, though the polling continues. Does this mean that you look at the minimum spindle speed setting of UCCNC config and not the actual spindle speed?
In single register it also won't set a frequency , on start the plugin is reading your Sset field and will set that frequency if its 1000 or above.
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
Dan911
In single register it also won't set a frequency , on start the plugin is reading your Sset field and will set that frequency if its 1000 or above.
OK, will try later tonight and get back.
-
1 Attachment(s)
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
A_Camera
OK, will try later tonight and get back.
When you find time try this one I removed the 1000rpm limit and test>>>>>>>>>>Attachment 354138
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
Dan911
When you find time try this one I removed the 1000rpm limit and test>>>>>>>>>>
Attachment 354138
Will have the results in a few minutes. In the meantime, the one you posted in #8 is not working. The bps is OK, but the rest is the same. Have tried with minimum rpm 1000 and also 8000, just in case... but the results are as before.
Edit:
OK, now tested this one as well. Sorry, but no champagne yet... ;)
Multiple register writing mode:
Now it seems that polling starts and is going on normally as in the single register mode before, but the spindle speed sent remains zero, even though I configured the minimum to 1000 and also tested with 8000.
Single register writing mode:
Now even the frequency is sent, but only four zeros, so even here we still have a problem, probably the same.
BTW, I am using UCCNC 1.2032 but I should not think this is a problem.
-
1 Attachment(s)
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
A_Camera
Will have the results in a few minutes. In the meantime, the one you posted in #8 is not working. The bps is OK, but the rest is the same. Have tried with minimum rpm 1000 and also 8000, just in case... but the results are as before.
Edit:
OK, now tested this one as well. Sorry, but no champagne yet... ;)
Multiple register writing mode:
Now it seems that polling starts and is going on normally as in the single register mode before, but the spindle speed sent remains zero, even though I configured the minimum to 1000 and also tested with 8000.
Single register writing mode:
Now even the frequency is sent, but only four zeros, so even here we still have a problem, probably the same.
BTW, I am using UCCNC 1.2032 but I should not think this is a problem.
WOW, never expected to read this, this makes no sense. The only other possible cause would be a cultureinfo problem that's been addressed and tested.
Please try this version I uploaded, I appreciate your time.
>>>>>>>>>>>Attachment 354172
Thanks,
Dan
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
Dan911
WOW, never expected to read this, this makes no sense. The only other possible cause would be a cultureinfo problem that's been addressed and tested.
Please try this version I uploaded, I appreciate your time.
>>>>>>>>>>>
Attachment 354172
Thanks,
Dan
I was thinking about the culture info last night after I turned my computer off, and yes, it's been addressed, but not for everything or every situation. At least that's how I remember a later discussion with Balazs, and my understanding is that it must be taken care of by each plugin programmer. Those two lines cause no trouble for anyone in US and are a PITA if missing for non-US users. So, if you have now added those two lines then I am confident that that was causing the problem. Anyway, we won't have an answer for another 10-12 hours because I can't do any tests before.
Edit:
Here is the discussion of the culture settings I was referring to:
forum.cncdrive.com ? View topic - New Problem
I think the conclusion was that it has to be handled every time and is only fixed for the handling of macro loops since they are compiled by UCCNC. A plugin is compiled before installation by the programmer. Kelevra in that conversation "fixed" his plugin problems by simply changing OS to US version. While that may be OK for some, it is not a solution, just a QD work around in my opinion. It is better not to have limitations if it is possible to avoid through adding those two lines.
...and here is the post with the clear answer from Balazs:
forum.cncdrive.com ? View topic - New Problem
Quote:
Originally Posted by CNC Drive
Yes, those are the 2 lines which can be used to set the thread cultureinfo to EN-us and that fixes the problem.
But if you create for example 10 different threads in your plugin from different functions then you have to take care to write those 2 lines into all of the functions which are used to create the plugin threads before you start calling UCCNC functions from the threads.
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Champagne in the fridge... must wait to open but we can start cooling it.
It works but the frequency is wrong since it must be multiplied by 10, one zero is missing at the end. I don't know if my VFD is the only one calculating the frequency this way.
A general observation is that I don't like the long time between messages. It is too slow as it is. This should also be a user parameter, just like minimum spindle speed.
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Hi Ac,
All Modbus Standard VFD's read the same either RTU or ASCII, the plugin does the calculating. The test Plugin I sent you was a stripped down version( Safe Mode?) and the calculation for frequency was changed from how its normally calculated to help confirm it was a cultureinfo issue, and what part of my code it was coming from. Even though I used the wrong formula to calculate it still pointed me to the root of my problem.
Thank you for the cncdrive links above but if you read through you will see I posted there and I read through that thread.
Thanks for all your help,
Dan
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
Dan911
Hi Ac,
All Modbus Standard VFD's read the same either RTU or ASCII, the plugin does the calculating. The test Plugin I sent you was a stripped down version( Safe Mode?) and the calculation for frequency was changed from how its normally calculated to help confirm it was a cultureinfo issue, and what part of my code it was coming from. Even though I used the wrong formula to calculate it still pointed me to the root of my problem.
Thank you for the cncdrive links above but if you read through you will see I posted there and I read through that thread.
Thanks for all your help,
Dan
I know all that and much more about Modbus. Anyway, the rpm to frequency convertion is wrong. That is what I wanted to tell you.
Oh well...
-
1 Attachment(s)
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
A_Camera
I know all that and much more about Modbus. Anyway, the rpm to frequency convertion is wrong. That is what I wanted to tell you.
Oh well...
Hmm... Did I miss something? Was replying to post#21. I can easily implement adjustable polling speed by user but don't see the advantage.
Here it is with cultualinfo issue finally put to rest, I'm drinking my champagne and you sleeping...LOL
Attachment 354270
Dan
-
Re: New MODBUSEZ SetUp Plugin For UCCNC
Quote:
Originally Posted by
Dan911
Hmm... Did I miss something? Was replying to post#21. I can easily implement adjustable polling speed by user but don't see the advantage.
LOL. So far you haven't seen any advantage in many other of my previous proposals either, which are now implemented anyway... like for example the earliest I remember, the constant opening/closing of com port, the 8000 rpm minimum spindle speed being too high, the NEED for continuous communication and so on. So perhaps later on you will realize that all my other proposals make a lot of sense as well. In the meantime, if you send messages with such large time gaps in between then what does not make sense is using high speed serial communication. Running this slow you might as well fix the bps to 4800 and that would have the advantage of not being sensitive to noise at all.
As it is, it is pointless to run at 115200bps because the wait between messages is far too long so there is no advantage. Also, with the slightest communication issue with one message the timeout is so long that it becomes painful to wait for the spindle to stop and in that time I can manage to slowly walk to the other side of the room and push the stop button on the VFD and I get back to the machine before the next message comes... (well, almost).
OK, you don't see an advantage, but I do, just like I see an advantage in allowing users to set the minimum spindle speed, as I explained earlier. Perhaps when somebody starts using the plugin and points these things out you will realize the advantages.
Here is another one of my proposals:
If the user have a minimum spindle speed set up in the configuration which is wrong because it is lower than 1000 rpm then instead of just sending the three messages and stop completely, you should generate a message explaining the problem and should continue checking the value and once the value is set again the communication should be restarted. I think the is also a pretty easy thing to implement. Of course, this case should be considered as an RTFM error, but never the less, it may generate unnecessary support questions and save you time from answering.
Quote:
Originally Posted by
Dan911
Here it is with cultualinfo issue finally put to rest, I'm drinking my champagne and you sleeping...LOL
Attachment 354270
Dan
Is this still a test release or if it works it will be renamed to final? I mean, if it contains anything special for debugging, I'd appreciate if you'd tell me in advance before I run this one. It takes up quite a lot of my time to install, run, give you feedback about the results and then to hear after I tested that some of the changes are just temporary and a new test release is generated... I mean, iterative development is fine, but the tests between tiny steps must be done by the programmer IMHO...