stephen127 Posted June 6, 2016 Posted June 6, 2016 Hello, all. I am new to PMAC and its software. I am reading all the manual and training slides. However, I feel the manual and training slides are not really for beginners like myself. My colleague shared with me a whole bunch of PMAC programs backed up from the machine. However, I didn't know where to start with those programs. I didn't see an explicit "MAIN" program to start, like in the traditional C program or real PLC program. I also have difficulties to map the I/O in the program to the physical sensors. If any one can give me a tip or a guidance on how the programs are structured, that would be really helpful. My colleague only gave me programs. not backed up in a project workspace matter that can be imported into the IDE. Thank you very much for the help!
Richard Naddaf Posted June 7, 2016 Posted June 7, 2016 What hardware PMAC do you have? These programs, do they say PLC or PROG? PROGs are motion programs; typically they execute motion top to bottom. PLCs are logic PLCs which when enabled scan continuously until disabled by the user explicitly or from a program or PLC. In the Power PMAC script, there is no main, the user chooses which PLC or group to initialize first. They scan quasi-simultaneously. Often, PLCs are launched automatically from the startup.txt under the Configuration folder in the IDE. I suggest that you attend at least one Power PMAC class.
stephen127 Posted June 7, 2016 Author Posted June 7, 2016 It is a Turbo UMAC. The backup is mixed with both PLC and PROG programs. Since I use to program the PLC in the ladder format, this script text format PLC program really confused me. Also, the I/O naming convention is bugging me a lot. The program has a macro definition for all the used I/O in the device. However, not being able to do the I/O cross reference in Pewin32PRO makes the programs really difficult to read. What hardware PMAC do you have? These programs, do they say PLC or PROG? PROGs are motion programs; typically they execute motion top to bottom. PLCs are logic PLCs which when enabled scan continuously until disabled by the user explicitly or from a program or PLC. In the Power PMAC script, there is no main, the user chooses which PLC or group to initialize first. They scan quasi-simultaneously. Often, PLCs are launched automatically from the startup.txt under the Configuration folder in the IDE. I suggest that you attend at least one Power PMAC class.
Richard Naddaf Posted June 8, 2016 Posted June 8, 2016 Please, post this under Turbo PMAC. I believe you're going to have to go through some training, no one can help you with your machine code. Machine builders should keep documentation of their configurations. The flow of PLCs start with PLC 1 typically, and is controlled by I5 on power-up.
steve.milici Posted June 8, 2016 Posted June 8, 2016 Here is a link to the Turbo PMAC training presentation: "http://forums.deltatau.com/filedepot/download.php?f=Turbo PMAC/Training Documents/Turbo PMAC Training/Training Presentation/Turbo PMAC Training (Sept 2015).pdf"
mbalentine Posted June 8, 2016 Posted June 8, 2016 First off, this post is in the 'Power PMAC' area. Since you have a Turbo UMAC be sure you do not use any Power PMAC or the original PMAC(1) documentation. You should download the Turbo PMAC2 info from http://www.deltatau.com/Manuals/Default.aspx - Turbo SRM (Software Reference Manual - Turbo PMAC User Manual - PMAC Quick Reference My suggestions: Get familiar with the I variables - they are used to configure or Initialize the card and axis. They are arranged in blocks of 100 (xx0-xx99) for each motor with the first block I0-I99 for universal card/system configuration. After I3299 the numbering continues for coordinate system, data gathering, etc ending with Encoder Conversion Table at I8000-8191. The ECT is a list processing structure and it is worthwhile to learn how it works, see pp230 of the SRM. Memory can be referenced in absolute addresses as 24 bit X: or Y: locations, and sometimes as both combined for a 48 bit Double, 48 bit float, single bit, etc. Check how to reference memory definitions using M pointers starting on pp 353 of the SRM. I0-I8191 discussed above P0-P8191 general purpose global user variables Q0-Q8191 coordinate system variables. Partitioning of these is a function of how many coordinate systems are defined. Allows multiple instances of the same variable with each unique to its' coordinate system. Can be used as general purpose but some features reserve specific Q vars. M0-M8191 These are pointers to various memory locations and are key to using PMAC. Take the time to understand these. Motor & Axis definition statements are associated with a coordinate sys based on the way the definitions are listed in the download file. See the &, # commands in the SRM, online command spec section (pp 267) Example download: &3 ;all following commands reference Csys3. Implicitly creates Csys 1, 2 if not already defined. #17->14083772Y ;Motor 17 (Ivar I1700-I1799) is assigned to Csys3 and will respond to Y axis commands of programs running in Csys3 using 14,083,772 encoder counts for 1 engineering unit (inch, meter, revolution, etc. depending on your mechanical system) So a command of Y1.0 in a PROG (motion program) will command Motor#17 to move 14083772 encoder counts, IF it is being executed in Csys3. If the exact same PROG file is being run in a different Csys, then an entirely different motor will be assigned to respond to Y commands in that Csys. For instance: &1 #2->1238Y The same PROG file running in Csys1 will command motor#2 to move 1238 counts. see user manual pp255 Program downloads are additive meaning that they will not overwrite previous data. PLC and PROG buffers must be cleared first before downloading or they will just append what's already there. OPEN PLC 5 CLEAR {download program text} CLOSE is the recommended structure Worthwhile to browse all the commands. It is a little tough being a beginner, but at least you have working software to help you get oriented. As previously mentioned, user programs fall into two categories, PLC and PROG. Both are essentially structured text, no ladder logic or FB is supported. IEC 61131 has come and gone over the years and was never popular, you really don't need it. Just think of the PMAC as structured text. Lots to learn, but once you get oriented the learning accelerates. Will take a little
stephen127 Posted June 8, 2016 Author Posted June 8, 2016 Thank you so much for the help! I really appreciate it! First off, this post is in the 'Power PMAC' area. Since you have a Turbo UMAC be sure you do not use any Power PMAC or the original PMAC(1) documentation. You should download the Turbo PMAC2 info from http://www.deltatau.com/Manuals/Default.aspx - Turbo SRM (Software Reference Manual - Turbo PMAC User Manual - PMAC Quick Reference My suggestions: Get familiar with the I variables - they are used to configure or Initialize the card and axis. They are arranged in blocks of 100 (xx0-xx99) for each motor with the first block I0-I99 for universal card/system configuration. After I3299 the numbering continues for coordinate system, data gathering, etc ending with Encoder Conversion Table at I8000-8191. The ECT is a list processing structure and it is worthwhile to learn how it works, see pp230 of the SRM. Memory can be referenced in absolute addresses as 24 bit X: or Y: locations, and sometimes as both combined for a 48 bit Double, 48 bit float, single bit, etc. Check how to reference memory definitions using M pointers starting on pp 353 of the SRM. I0-I8191 discussed above P0-P8191 general purpose global user variables Q0-Q8191 coordinate system variables. Partitioning of these is a function of how many coordinate systems are defined. Allows multiple instances of the same variable with each unique to its' coordinate system. Can be used as general purpose but some features reserve specific Q vars. M0-M8191 These are pointers to various memory locations and are key to using PMAC. Take the time to understand these. Motor & Axis definition statements are associated with a coordinate sys based on the way the definitions are listed in the download file. See the &, # commands in the SRM, online command spec section (pp 267) Example download: &3 ;all following commands reference Csys3. Implicitly creates Csys 1, 2 if not already defined. #17->14083772Y ;Motor 17 (Ivar I1700-I1799) is assigned to Csys3 and will respond to Y axis commands of programs running in Csys3 using 14,083,772 encoder counts for 1 engineering unit (inch, meter, revolution, etc. depending on your mechanical system) So a command of Y1.0 in a PROG (motion program) will command Motor#17 to move 14083772 encoder counts, IF it is being executed in Csys3. If the exact same PROG file is being run in a different Csys, then an entirely different motor will be assigned to respond to Y commands in that Csys. For instance: &1 #2->1238Y The same PROG file running in Csys1 will command motor#2 to move 1238 counts. see user manual pp255 Program downloads are additive meaning that they will not overwrite previous data. PLC and PROG buffers must be cleared first before downloading or they will just append what's already there. OPEN PLC 5 CLEAR {download program text} CLOSE is the recommended structure Worthwhile to browse all the commands. It is a little tough being a beginner, but at least you have working software to help you get oriented. As previously mentioned, user programs fall into two categories, PLC and PROG. Both are essentially structured text, no ladder logic or FB is supported. IEC 61131 has come and gone over the years and was never popular, you really don't need it. Just think of the PMAC as structured text. Lots to learn, but once you get oriented the learning accelerates. Will take a little
stephen127 Posted June 8, 2016 Author Posted June 8, 2016 Thank you for the help! Here is a link to the Turbo PMAC training presentation: "http://forums.deltatau.com/filedepot/download.php?f=Turbo PMAC/Training Documents/Turbo PMAC Training/Training Presentation/Turbo PMAC Training (Sept 2015).pdf"
stephen127 Posted June 8, 2016 Author Posted June 8, 2016 Sorry about that. I just realized that the hardware is Turbo UMAC as I saw it in one of the CFG file. Please, post this under Turbo PMAC. I believe you're going to have to go through some training, no one can help you with your machine code. Machine builders should keep documentation of their configurations. The flow of PLCs start with PLC 1 typically, and is controlled by I5 on power-up.
Recommended Posts