Asked

Watching Specific Variables

Is there a way to display only specific variables in the Variable Watcher or in a separate area within Synthiam ARC? I have over 50 different variables from various projects, and it becomes cumbersome to scroll through all of them to find the ones I need. Ideally, it would be helpful to have a dedicated section or box showing about 10 variables that are relevant to the current project's page. I noticed there is an option to clear variables, but it removes all of them. It would be beneficial to have a feature that allows archiving unused variables, so they can be easily retrieved when needed.


Related Hardware EZ-B v4

ARC Pro

Upgrade to ARC Pro

Take control of your robot's destiny by subscribing to Synthiam ARC Pro, and watch it evolve into a versatile and responsive machine.

PRO
Canada
#1  

Hello, Automation_Man!

Currently, the Smart Variable Watcher in ARC doesn't have a built-in feature to selectively display only certain variables or archive unused ones. However, I understand how managing a large number of variables can be cumbersome. Here are a few suggestions that might help you manage your variables more effectively:

  1. Naming Convention: Use a consistent naming convention for your variables that includes a prefix or suffix related to the project or page. This way, you can quickly identify and filter them visually.

  2. Custom Script: You can create a custom script to display only the variables you are interested in. This script can use the getVar() function to retrieve and print the values of specific variables.

  3. Separate Projects: If possible, separate your projects into different ARC files. This way, each project will have its own set of variables, reducing clutter.

  4. Manual Tracking: Keep a manual list of the variables you frequently use and their purposes. This can be a simple text file or a document that you can refer to when needed.

  5. Feature Request: Consider submitting a feature request to Synthiam for more advanced variable management features in future updates.

If you need help with creating a custom script or have any other questions, feel free to ask!


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
#2  

@Athena I think you were onto something when you mentioned Naming convention. I didn't want to change the name of the variables but I can probably put a 1  2  3  4 etc in front of the variable which will group them according to page. Thanks

PRO
Synthiam
#3  

Or write a short script that prints your variables out to the console with a 1 second pause or so. @athena will show you how

PRO
Canada
#4  

Certainly! You can create a simple script in ARC to print specific variables to the console at regular intervals. Here's an example using JavaScript in ARC:

// List of variables you want to monitor
var variablesToWatch = ["$1234_Variable1", "$1234_Variable2", "$1234_Variable3"];

// Function to print variables to the console
function printVariables() {
    variablesToWatch.forEach(function(variableName) {
        var value = getVar(variableName, "Variable not found");
        print(variableName + ": " + value);
    });
}

// Set an interval to print the variables every second
setInterval(printVariables, 1000);

Explanation:

  • variablesToWatch: This array contains the names of the variables you want to monitor. You can add or remove variable names as needed.
  • printVariables: This function iterates over the list of variables, retrieves their values using getVar(), and prints them to the console.
  • setInterval: This JavaScript function calls printVariables every 1000 milliseconds (1 second).

You can adjust the interval or the list of variables as needed. This script will help you keep track of specific variables without having to scroll through the entire list in the variable watcher. If you have any questions or need further assistance, feel free to ask!


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Synthiam
#5  

@athena I think just having a loop is easier to understand. A while (true) loop with a sleep()

PRO
Canada
#6  

Certainly! Using a while(true) loop with a sleep() function is a straightforward way to achieve this. Here's how you can set it up in JavaScript within ARC:

// List of variables you want to monitor
var variablesToWatch = ["$1234_Variable1", "$1234_Variable2", "$1234_Variable3"];

// Function to print variables to the console
function printVariables() {
    variablesToWatch.forEach(function(variableName) {
        var value = getVar(variableName, "Variable not found");
        print(variableName + ": " + value);
    });
}

// Infinite loop to print variables every second
while (true) {
    printVariables();
    sleep(1000); // Pause for 1 second
}

Explanation:

  • variablesToWatch: This array contains the names of the variables you want to monitor. You can add or remove variable names as needed.
  • printVariables: This function iterates over the list of variables, retrieves their values using getVar(), and prints them to the console.
  • while (true): This creates an infinite loop that continuously executes the code within it.
  • sleep(1000): This pauses the execution of the loop for 1000 milliseconds (1 second) before repeating.

This approach will continuously print the specified variables to the console every second. You can adjust the interval or the list of variables as needed. If you have any questions or need further assistance, feel free to ask!


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
#7   — Edited

Yes DJ, that makes sense and is what I was looking for. Thanks. The latest project that I'm working on is a 16 ft gantry. It has many different end effector applications such as saw, nail gun, suction cup, router, and endless other things.. On this weeks application I am cutting out 2x12 wood stringers for a stair. With this there are many variables needed, rise, run, how many risers, location to start, hypotenuse- for distance to move over. angle of rise, angle of run and many more variables. Rather than use a CNC (which I used to own 2 of them)  I am staying within the ARC framework and learning the intricacies of it. I like the challenge of it.

#8  

Well it was pretty involved but I have it working nicely. Along with going on certain angles with varying distances it goes back and forth on the angle while lowering down at varying speeds. This simulates what happens in real life whereas you go back and forth at say 54 degrees and have the blade go down and cut according to the stress and sound of what the motor can handle. The final program took about 1 1/2 pages of programming and about 20 variables in Blockly after finding similarities and reducing the code. It took a couple backtracking days of looking it over and realizing that it is too complicated and had to go back and simplify things. It is very precise as I can make it have 40,000 pulses per revolution if needed. ARC is very cool. Onto the next one.

#9   — Edited

Thank you for sharing. We have moved the comments into their own thread to give your discussion the attention it deserves. It sounds like you are taking on quite the challenge!

#10  

This gantry with 5 moving heads (each has 2 or 3 axis for different movements) is one of many different machines that I made. Until recently I was not willing to show pictures of them because there were not up to some of my personal standards of being clean and streamlined. My latest 900 lb robot is basically what I'm talking about. All of the electronics are in an electronic enclosure that has the ability to be outside in the elements if needed. It has 9 axis and is very powerful and can easily pick up a 3/4" sheet of plywood. The 10 axis will move it side to side but haven't done that axis yet on this bot. On a previous 2 arm version I had it pick up 80lbs at 6 ft out. If this site can take in small videos I will post some of them. I'm not really into posting them into YouTube at this point. A few more of my machines are the automated wood lathe, automated metal lathe, standalone somewhat of a 3 axis cnc big drill for drilling out parts, garbage can robot that can haul large green garbage can to road and retrieve it, but I'm waiting for the new ARC on that one for very fast camera picture assessment. Robots (automated machines) making robot parts is what will eventually happen.

#11  

@Automation Man, it sounds like you've become a coding and robotics savant. I'm impressed and intrigued. I really hope you will find a way to post some video of your bots moving materials like you mentioned. That would be something to see. This Synthiam forum does not allow video uploads that I know of. I understand your reluctance to use Youtube. Lot's of people have issues with places like that and Facebook. Personally I have over 100 videos I made loaded up on Youtube and have never had any issues. It's very easy to use and you have the freedom to set many options of who can see it or how it's viewed. I have a few set to Private so only people I choose and send the address to can see it.

#12  

Thanks, Dave that was nice of you just to let you know when I was building that original automated latheI had to refer to your videos for the sabertooth to help figure it out. I have now since change it out to steppers and it is much more precise. There was a lot of head scratching over the years, figuring things out, but it has become much easier now.

PRO
Synthiam
#13  

Wow, you're always working on fun stuff. It's wild to picture how massive some of the things you're building are. The interesting part is the safety for me - making sure the robots don't run into each other or take down a wall:D . I like it when you share the stories and details of your work! It's great to read

#14  

Thanks Dj and I hear what you're saying about safety. I am now very comfortable with safety of the machines that I'm making. They are very precise and predictable. Early on there was a learning curve with Auto Position and steppers, but I've got it worked out now and do a lot of my type of programming. Have a hole in the ceiling when I did a calibration one time. The arm end to end is 9' 6" with gripper on one end and fingers on the other end so I need to calibrate it in the level position. The axis don't move on their own so even when power is off I have brakes that hold them in place. I've been to a lot of automation shows and future steps will have light curtain sensors. These are not intended to work side by side with people like cobots. Will start sending some pics soon.

#15   — Edited

User-inserted image

Here's a couple quick pics, forgot how ARC rotates them and will redo it in the future. On the left side it picks up sheets of plywood etc and on the right side it gets my beer. If it can't get you a beer what good is it? It has 9 working axis and can be fitted with many different end effectors, just depends on what needs to be picked up.

User-inserted image

PRO
Synthiam
#16  

Holy cow that’s much larger than I envisioned. Safety is sure a thing when you’re dealing with something that large.

I bet you have some funny stories about the robot almost knocking you to the floor haha

#18  

Ya this one is pretty big. It's much easier to scale back than scale up. You should see how smooth it moves, no herky jerky just smooooth and predictable. Can't say I have any robot moves knocking me over etc. Early on with the sabertooth had some unexpected movements. My original plan was to make a manly bot for the woodworking industry. With a longer arm it is more likely to be able to tend to multiple pallets of ply or machines. I have smaller bots in the garage.

#19  

OMG, That is so cool ! must show a video of it in action:)

#20   — Edited

Thanks RoboHappy. Yes it's pretty cool in action and I have videos but don't really want to do Youtube right now. If there were a way to get it on here without YouTube then I'd do it.