Automating IONAME and VARNAME.DAT

  • Hey Yaskawa RF,


    I've been tinkering with a DX200 controller for a bit now, and am starting to build some tools to make the process of building IO and VARNAME.DAT files a little simpler. Been manually manipulating these files in NP++, and have found a couple of the following:


    1. The files MUST be terminated with both a carriage return followed by line feed (\r \n) for the Motoman compiler to work correctly.

    2. Make sure you're mapping correctly. I've mainly been doing this with the CDS sheet that Yaskawa provides during onsite commissioning (excel spreadsheet).


    Anyway, has anyone run into a "ERROR 0722: It is already registered for Variable name" before? I've been trying to troubleshoot why VARNAME.DAT won't read back into the controller, keeps tripping this error code when trying to load into the robot. It might be a parameter setting (mapping variable registers to variable names, I need to look up which one this is, will edit w/ that info.)

  • Thanks, seems like I had some duplicate P-VAR names hiding, regex to the rescue!


    To the mods: is there any issue sharing in-house developed (i.e. NOT Yaskawa IP) utilities for *.DAT file parsing? I've got a GitHub repo I'd like to share that parses VARNAME.DAT (soon to follow w/ others) based on the Motoman CDS sheets. Provided there's no issue here, I'll provide a GitHub link.

  • Hi

    Good question

    Speaking in general (not just Yaskawa) I (personally) do not have a problem with code sharing.

    I mean we see everyday people writing "plug ins" to help them with their pendant program.


    In fact, I'm almost at the end of writing a Fanuc GUI (using python) to help me with my everyday programming


    I will say as long as there is no safety issues, like you plug in bypasses an E-stop for example everything is good. Hopefully the user understand and assumes that your program might have bugs which could erase or modify important dat.

    Retired but still helping

  • Great. Got off the phone w/ Motoman as well, and they reiterated the same.


    So!


    Re: Fabian's warning, use this code at your own risk. I'm not responsible if you clobber your controllers, so please do be sure you know what you're doing before you start pushing files around.


    Some preliminary info:

    - You'll need both the xlrd and the pandas libraries for this code to work. I've been doing development in the Anaconda IDE, but whatever interface you choose to use should work. Tutorials on how to install those libraries are available on the internet.

    - So far, this runs on the DX200 controllers I've worked on. No idea if it will work with others, but would be great to hear some feedback.

    - I'm happy to work w/ collaborators (just reach out to me on GitHub). I have main restricted to pull requests only.

    - Right now, I only have code working for VARNAME.DAT, with things in work for IONAME.DAT and EXIONAME.DAT. If you have suggestions, ping me here or on GitHub.


    GitHub - alfacharliekilo/Yaskawa-Motoman: Code repository for Yaskawa Motoman projects
    Code repository for Yaskawa Motoman projects. Contribute to alfacharliekilo/Yaskawa-Motoman development by creating an account on GitHub.
    github.com


    Happy parsing...

  • If you already know Python, it's not hard at all to read (ex)ioname.dat and re-organize its content into a csv(or any format for your liking) and then another script to reverse such function, taking the csv and re-organize its content back into the exact format of (ex)ioname.dat.


    The format inside of (ex)ioname.dat is very simple. They are all just text files after all.


    From experience I can tell you xlrd and pandas packages are not needed at all to achieve it. But I strictly did it to read/load the files into/from robot controllers, not sure what needs to be done for MotoSim.

Advertising from our partners