586,112 active members*
3,005 visitors online*
Register for free
Login
Results 1 to 12 of 12
  1. #1
    Join Date
    Nov 2004
    Posts
    446

    Operator Interface Blues...

    Does anyone have any suggestions on designing the operator interface that Camsoft uses?

    Let me clarify what I mean.... (I am a newbie)
    I never liked the camsoft interface for programing the macro's and Mcodes. I find it MUCH MUCH easier to just edit the .fil files directly with a text editor as opposed to the drag and drop interface camsoft has in the setup.exe program. (To this day I have not figured that out)

    Now that most of my code is complete and all the functions I need are in place, I need to find a way display and control these functions within the user interface. My machine is not a typical CNC center, but more of a set of processes with many supporting systems and functions that the user(s) need to be able to select and control.

    The act of programming a control, making it not look stupid on the screen, and testing its functionality is taking forever!!!!
    Having to start the program and end the program everytime I make a simple little change is very time consuming.

    Any suggestions??? I dont hear much talk about this issue in the forums.

    Also, Why do I get a "ListSetup Not Valid While Moving" error everytime I start the interface in normal mode? (I dont get this error when I open in demo mode). I have a listsetup command in my startup.fil I inserted the command !COMMAND MO at the begining of the startup.fil but it made no difference.. I still get the error.

    THanks,
    Murphy

  2. #2
    Join Date
    Jul 2003
    Posts
    33
    murphy

    I thought I should write because the way your doing it now by going back and forth is too hard. The trick is the right mouse button. Now that I know the commands I also edit the .FIL files directly, but only for logic customizing never for changing the operator screens.

    I find that creating my own screens are enjoyable. I even made some up for fun. My screens are for CNC and the product your using is for general factory automation which I hear is the same but with out the G code and the other CNC functions.

    I think camsofts ability to create your own operator interfaces are the greatest thing ever. They are way ahead of the pack. I taught my self by reading the book and starting with default templates on their CD. My advice is that you should study whats there now, use the right mouse button to drag the bitmaps around the screen until they are in position rather than edit pixel values in an editor one at a time. This will write and update the files for you automatically. If you also just hold down the right mouse button with out clicking on an object and move it around it will show you the pixel values in a yellow balloon box just incase you wanted to write them down. You'll find a huge library of bitmapped control objects in the BMPWAV folder that are far more than bitmaps they are fully working buttons, light bulbs, knobs, needle gauges, slider bars, readout, question boxes and so on.

    The message you get from LISTSETUP during startup is probably because the encoders are still sensing movements even though you turned the motor off so it can't move the encoders are still sending pulses.

    Bob

  3. #3
    Join Date
    Nov 2004
    Posts
    446
    Thanks for the reply Bob,

    I understand the part where you can drag the controls around the screen.. That was easy enough to figure out when the control would not leave my curser alone!

    It seems to me that the ONLY thing you can do with the GUI is move a control from point A to point B.. There seems to be no other design changes you can make other than moving the controls around.. For everything else, you have to exit the GUI, make changes and re-start it.. Or am I missing something?

    Thanks,
    Murphy

  4. #4
    Join Date
    Mar 2004
    Posts
    36

    Cool

    Actually Bob Pierre is absolutly correct in his statements. I strongly agree
    The CamSoft interface can be made to look really cool if you use your imagination. You can create your own bitmapped images for buttons and back ground skins. You can change the color of the Readouts and G-code display window. These are also sizable and positionable through the Design Operator Interface section.

    In the design interface section you can define up to 20 user buttons and either use their default button or add your own .BMP image in place of the button. There is a button command that's used in logic to update buttons on screen to give them a pushed in/out look. I thought that having only 20 buttons was a limitation until they told me that I can have as many buttons on screen as I want, I just have to be creative and use the BUTTON command in logic to redefine all the buttons on screen and give then a different bitmap image. I can have pages and pages of buttons and all with different functionality. I mean that I can have a Setup menu, Cycle menu, Help menu, Diagnostics menu and the list goes on.

    The ability to create my own cnc screen was the reason I went with CamSoft in the first place. I think that CamSoft did a pretty good job all in all.

  5. #5
    Join Date
    Nov 2004
    Posts
    446
    Ok.. Well.. now that 2 people have responded and told me the same thing, I have to assume at this point that I just have not got the hang of it yet...

    But I'm working on it!

    I put in a multi-function knob and am working on coding it.. but I have another question..
    Where do I put the code for it??? Should this be in the timer.fil? or located in the Mcodes? In other words, were does the code go to check the position of it? The only place I can see is in my timer.fil..
    I understand that when I code a button and the user presses that button, it executes whatever Mcode I put in for it.. (that much I got)...

    Am I on the right track?? Sooner or later I will get that paradigm shift and figure it out..

    Thanks for all the help...
    Murphy

  6. #6
    Join Date
    Nov 2004
    Posts
    446
    Oh.. I got it..
    I have my multifunction knob set to variable 17 and figured out it changes by itself when you change the knob position.. I dont need "SET" the variable, it sets itself.

    Thanks,
    Murphy

  7. #7
    Join Date
    Nov 2004
    Posts
    446
    Quote Originally Posted by intrusion
    Actually Bob Pierre is absolutly correct in his statements. I strongly agree
    The CamSoft interface can be made to look really cool if you use your imagination. You can create your own bitmapped images for buttons and back ground skins. You can change the color of the Readouts and G-code display window. These are also sizable and positionable through the Design Operator Interface section.
    Ok.. Now see this is exactly what I was talking about.. I just spent 20 minutes getting my axis readout display in the correct place..
    Left = 7100 <<Not enough left.. Exit and go back into the setup.exe.. Change to Left = 7200. Start the GUI again.. Ooops.. not enough.. Exit the GUI.. Back into the Setup.exe.. Change to Left=8000.. Start up the GUI again.. Oops.. To much.. Exit the program, Bla bla bla bla...
    And as soon as I change screens because I took it home to work on it, it wont be the same and I"ll have to spend another 20 minutes putting that readout display in the upper right corner again... (Ok.. I understand why and that the program wasnt designed to be tranfered back and forth between computer systems with different screen resolutions so I wont say much more about that.. ) BUT, why is it the display windows cant be dragged and re-sized on the fly like every other windows application I have??

    Im getting the hang of it slowly.. Also, please understand that as far as CNC interfaces go, I have nothing to compare the camsoft to but other windows programs... Camsoft could be the Sliced Bread of CNC controls and I wouldnt know it because of a lack of reference.

    Any other tips for designing??

    One thing I have figured out.... where Camsoft falls short, this forum makes up for it.
    I wonder why Camsoft does not mention this forum in the user manual for there software?? This place is a great resource for newbies like me...

    And another thing, Why is it that the header for the Macros [[Macro1]] is above the code and the header for the Mcodes -----M13 is below the code?? And what is the ----- part of the mcode header for? Is it required as the [[ and ]] in the macro headers?

    Ok.. lots of questions but this is more fun then diagnosing encoder / resolver signals.. LOL

    Thanks!
    Murphy

  8. #8
    Join Date
    Mar 2004
    Posts
    36

    Cool

    I think that you may have missed the comment by Bob Pierre when he mentioned that you can right click on the screen and a yellow window pops up and shows you the pixel coordinates that you can use to quickly see the exact values or the values that are close to where you want to position the control.

    Yes I understand that opening and closing the control for every pixel change is a bit daunting, however it's a simple matter once you get used to it. Also there are only three controls on the screen that this has to be done to, the Main screen background (If you change the default settings, normally you do not), the G-code display and the Axis readouts, all other controls can be dragged and positioned with the right mouse button. Learning the little shortcuts makes things go faster.

    Good job on the multi-function knob variable.

    Yes I agree that this is a great fourm and should be encouraged, however I believe we can not expect every vendor, manufacurer or manual to tells us every detail. I have read many books on CNC Programming and Computer Programming and not one of them can tell me all there is to know about programming either.

  9. #9
    Join Date
    Nov 2004
    Posts
    446
    Quote Originally Posted by intrusion
    I think that you may have missed the comment by Bob Pierre when he mentioned that you can right click on the screen and a yellow window pops up and shows you the pixel coordinates that you can use to quickly see the exact values or the values that are close to where you want to position the control.

    Yes I understand that opening and closing the control for every pixel change is a bit daunting, however it's a simple matter once you get used to it. Also there are only three controls on the screen that this has to be done to, the Main screen background (If you change the default settings, normally you do not), the G-code display and the Axis readouts, all other controls can be dragged and positioned with the right mouse button. Learning the little shortcuts makes things go faster.
    I did not miss Bob's comment.. My brain buffer was full and it didnt register..
    Are you kidding?? If you only knew how many times I go back to the same threads I create and re-read the information I was given..

    Those little shortcuts are starting to become apparent and useful.

    I just have to get used to it.. When I finally get it right, I'll post some screen shots to show everyone.. I think I know what I am going to be doing for the next week..

    Does anyone have an example of writing to a text file and getting information back from it ?? FILEWRITE, FILEREAD etc. etc.? I am having some difficulty figuring out the syntax an command order to use this feature.

    What i am doing is learning all the functions first so I have a complete "tool box" to work with.

    Thanks again for all the help...
    Murphy

  10. #10
    Join Date
    Mar 2004
    Posts
    36

    Here is a real quick example. Keep in mind that this code is for CNC Professional Software. I understand you have a different version, so best to check your CamSoft manual for proper syntax and command usage.

    QUESTION ENTER IN THE PART NAME;\55;Default Answer
    FILEOPEN READ;C!/AS3000/TEMP/TEXTFILE.DAT
    :LOOP
    EOF \56
    IF\56=1THEN FILECLOSE READ:EXIT
    FILEREAD \1
    IF\1<>\55 THEN GOTO :LOOP
    IF\1=\55 THEN GOTO :GOTIT
    EXIT
    :GOTIT
    ' Read some more stuff in and store to variables
    FILEREAD \2
    FILEREAD \3
    FILEREAD \4
    FILECLOSE READ

  11. #11
    Join Date
    Mar 2004
    Posts
    36

    Talking

    Here is a more complex example, again this is for CNC Professional.
    I know CamSoft has many standard offsets to use that are great, I just wanted to build something of my own and see if it would work. Works Great !

    FILEOPEN READ;C!/AS3000/OFFSETTABLE.DAT
    :READ_LINE
    FILEREAD \55
    IF\55=!THEN MESSAGE AT END OF FILE:FILECLOSE READ:EXIT

    \299=1
    INSTR \55;|;\101
    MIDSTR \55;1;{\101-1};\102
    IF\102=\99 THEN GOTO :CONSTRUCT_OFFSET
    GOTO :READ_LINE

    :CONSTRUCT_OFFSET
    ARRAY SAVE;\299;\102
    MIDSTR \55;{\101+1};999;\102

    :LOOP
    INSTR \102;|;\103
    IF\103>0THEN GOTO :MORE
    \299={\299+1}
    ARRAY SAVE;\299;\102

    'Read values from Array, Set offset and activate it.
    ARRAY READ;1;\1 'E#
    ARRAY READ;2;\2 'X-value
    ARRAY READ;3;\3 'Y-value
    ARRAY READ;4;\4 'Z-value
    ARRAY READ;5;\5 'A-value
    OFFSET 1;\2;\3;\4;\5 'Store offset in tool table
    OFFSET 1 'Activate offset
    EXIT

    :MORE
    MIDSTR \102;1;{\103-1};\101
    MIDSTR \102;{\103+1};999;\102
    \299={\299+1}
    ARRAY SAVE;\299;\101
    GOTO :LOOP

  12. #12
    Join Date
    Nov 2004
    Posts
    446
    YIKES!!!!!

    That's gonna take a bit to figure out....


    Murphy

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •