This post is about 6 weeks overdue, but the full TP+ source code is now available on GitHub. I’ve already accepted some improvements from Group Six Technologies Inc, and I’m happy to accept more.
TP+ should still likely be considered beta software, but feel free to play around with it in the comfort of your own console (instead of the demo site). Please give it a try and let me know what you think!
FANUC’s TP programming language and the teach pendant’s built-in editor are great tools. They allow relatively novice programmers to get up and running very quickly. Teach a couple points, throw in a couple labels and IF statements, and you’re off to the races. However, anyone who’s tried to do anything a bit more complex quickly realizes how cumbersome programming on the teach pendant is. Navigating through multiple levels of menus to find the PAYLOAD instruction or creating an extensive mixed-logic conditional is really painful.
I hate to disagree with the wise words of House of Pain, but excessive jumping around is the most common issue I see when reviewing others’ TP code. Labels and jump-statements come natural in a language that doesn’t support actual code-blocks for simple if-statements. Within just a few minutes of programming, a beginner sees an IF (…),JMP LBL[X] and decides that this is how FANUC programming is done.
Randall Munroe from xkcd sums up the potential for catastrophe when using GOTO statements (TP’s JMP) in this comic:
TP+ is a slightly higher-level language that translates into valid FANUC TP code. Its goal is to make programming FANUC robots easier. TP+ includes a number of features from newer programming languages that TP does not support.
Features Variables for registers, I/O, etc. Automatic label numbering IF-ELSE blocks Improved readability Less stringent syntax Syntax sugar Demo You can try out TP+ here: TP+ Demo
Example code: Paste this code into the demo and see how it’s translated into TP.