Go to Parker.com
  • Sign in
Technologies
  • Aerospace
  • Climate Control
  • Electromechanical Group
  • Filtration
  • Fluid and Gas Handling
  • Hydraulics
  • IoT
  • Pneumatics
  • Process Control
  • Sealing and Shielding
Other Groups
  • Parker Indego
Blogs Forums Knowledge Bases
Parker Community
Parker Community
  • Technologies
    • Aerospace
    • Climate Control
    • Electromechanical Group
    • Filtration
    • Fluid and Gas Handling
    • Hydraulics
    • IoT
    • Pneumatics
    • Process Control
    • Sealing and Shielding
    Other Groups
    • Parker Indego
    Blogs Forums Knowledge Bases
  • User
  • Site
  • Search
  • User
Home Technologies Electromechanical Group Electromechanical - Industrial Electromechanical Industrial Knowledge Base Programming Tip: Save Time by reusing Code (Export / Import Programs & Function Blocks)
Electromechanical - Industrial
  • Technologies
  • Electromechanical Group
  • Electromechanical - Industrial
  • More
  • Cancel
Electromechanical - Industrial
Electromechanical Industrial Knowledge Base Programming Tip: Save Time by reusing Code (Export / Import Programs & Function Blocks)
  • Electromechanical – Industrial Support Forum
  • Electromechanical Industrial Knowledge Base
  • Members
  • Sub Groups
  • More
  • Cancel
  • New
Electromechanical - Industrial requires membership for participation - click to join
  • Electromechanical Knowledge Base & Frequently Asked Questions
  • Motion and Machine Controllers-
    • ACR Controllers+
    • PAC120+
    • PAC340+
    • PAC320 (Discontinued)-
      • 3rd Party Samples+
      • Embedded Xpress+
      • Errors+
      • Hardware+
      • PAM IDE+
      • Programming Tips-
        • ANY Data Type
        • C0046: Identifier 'xxxx' not defined - precompile error in PAM 1.3.0
        • How can I monitor cycle time in the PAC?
        • How do I use function block methods in CFC?
        • How to make comments in PAC software
        • How to program a Start, Stop, Reset Cold from within a PAC project
        • IDE Login Status
        • IDE User Management
        • Known issue with MC_Stop and MC_Home in PAM 1.3.0
        • Programming Tip: Save Time by reusing Code (Export / Import Programs & Function Blocks)
        • Programming Tip: Save Time on Naming Variables through Export/Import Mappings .csv
        • Variable size arrays
      • Web Visualization+
      • Quick Start and Online Training Videos
      • Adding New Devices
      • Auto Addressing enabled by default
      • Cam and Gear Program Sample & Video
      • Common PACIO Troubleshooting Tips
      • Compax3 Linear servo motor settings with PAC
      • Default IP Address 192.168.10.50 subnet 255.255.0.0 (X2 port)
      • Reading G Code from a file to develop a CNC machine
      • Error: Red triangle on EtherCAT axes/devices when ModBus or ProfiNet connects
      • FTP support
      • How can I send ASCII strings to or from the PAC?
      • How do I configure and gear to the PACIO-454-01 Module?
      • How do I upgrade a Parker Automation Manager (PAM) project from 1.3.0 to 1.4.0?
      • How do I use variables in G code?
      • How to Add ModbusTCP to PAC project (PAC as ModbusTCP slave)
      • How to Set and Get Time / Date / Time Zone Pre-1.4
      • How to Update Devices and their Descriptor files
      • How to Update PAC project without Parker Automation Manager software?
      • How to Update a PAC Firmware? Flashback instructions
      • How to Upload a Program?
      • How to Use the InteractX OPC Quick Client with the PAC
      • How to set up EtherNet/IP Communications with an Allen Bradley PLC
      • How to set Scaling for Parker Mechanics
      • How to use the Outputs on the Compax3-I31 or P series (EtherCAT)
      • IO settings for EtherCAT_Master: How to see IO update while in Stop
      • Log Data to a File
      • Minimum Internet Explorer version for Xpress and Visualization options
      • PAC CNC & Multi-Axis Capabilities, Samples & Video demos
      • PAC CNC visualization
      • PAC System Time Access and Edits
      • PAC Web Visualization with Internet Explorer: missing browser feature HTML5-Canvas Webvisu
      • PAC with .Net or LabView or InteractX: Using OPC DA Server
      • PAC with Modbus: What addresses for tags?
      • Reading Torque from Pseries drive
      • Remanent Variables: Retain vs Persistent Retain
      • Retentive Memory details
      • SDO Read / Write PAC to/from Compax3 I31
      • SMC_ERROR.SMC_FB_WASNT_CALLED_DURING_MOTION
      • Sample Continuous Function Chart CFC Program: time based counter
      • Sample Continuous Function Chart CFC Program: Basic Motion (Power, Home, Cycle)
      • Sample Ladder Logic LD Program: Basic Motion (Power, Home, Cycle)
      • Sample Ladder Logic LD Program: Time based counter
      • Sample SFC Program: time based counter
      • Sample Stuctured Text ST Program: Time Based Counter
      • Sample Structured Text ST Program: Basic Motion (Power, Home, Cycle)
      • Single Axis Sample Program with Visualization
      • Two Axis Sample Program with Visualization
      • Using the PAC as a Modbus TCP Master Device
      • Using the PAC as a Modbus TCP Slave Device
      • VIDEO: Run an AC30V an AC Induction motor via EtherCAT with a PAC
      • VIDEO: PAC with Compax3 EtherCAT part 1: EtherCAT connections & Device Selection
      • VIDEO: PAC with Compax3 EtherCAT part 2: Complete Configuration
      • VIDEO: PAC with Compax3 EtherCAT part 3: Setting EtherCAT Master and DS402 scaling
      • VIDEO: PAC with Compax3 EtherCAT part 4: Download & Test in C3 ServoManager
      • Video: Parker's PAC, the Automation Controller Based on IEC61131-3
      • What's the 16# in the axis scaling default of 16#10000?
      • Working with recipes in the PAC
      • Does the PAC have a first scan flag?
      • Error when switching Active Application
      • Using tappets during cam motion
      • WebVisualization not working in PAC terminal (PTA)
      • Can I open an edit and download a PAM 1.3.0 project using PAM 1.4.0?
      • Does PAC act as a OPC-UA server or client, or both?
      • How do I upgrade the PAC from OPC-DA to OPC-UA?
      • How do I use OPC-UA with the PAC?
      • PACIO-441-01 analog current input module
      • Sample code for PACIO-442-02 and PACIO-441-02 analog modules
      • What ports get used with PAC Ethernet connections?
      • C0032: Cannot convert type 'Unknown type: 'ADR(Device.Application.PLC_PRG.x)' to type 'POINTER TO BOOL'
      • CSV Reader Library for the PAC
      • Do I have to upgrade my PAC 1.3.0 Firmware to work with a PAM 1.4.0 project?
      • eCL Homing notes with PAC via EtherCAT
      • EtherCAT communication between the PAC and AC30 drive
      • How to add images to a visualization in WebVis
      • How to reset the EtherCAT bus
      • PAC Terminal Discontinued - PTA, PTI, PTL
      • Parker Tap Adapter for EoE communications
      • User Management in the Parker Automation Controller
      • Using MC_TouchProbe with Compax3 Series Drives
      • Using MC_TouchProbe with P Series Drives
      • Webvis toolbox missing tabs (Codesys calls them tags) - Added alarms but no Alarms Display tool in toolbox.
    • 6K (Discontinued)+
  • General Technology Information+
  • Virtual Engineer+
  • Visualization and Human Machine Interface (HMI)+
  • Servo Drives and Servo Drive/Controllers+
  • Stepper Drives and Stepper Drive/Controller+
  • Gearheads+
  • AC and DC Drives and Inverters+
  • Servo Motors+
  • Step Motors+
  • Linear and Rotary Positioners+
  • Electric Cylinders+
  • T-Slot Aluminum Framing+
  • C3 + Xpress + ETH+
  • How can I stay updated on Parker electromechanical and drives product news?
  • Legacy (Discontinued)+
  • Other+
  • Memorandum: Information on EPA ban of Persistent bioaccumulative toxin (PBT)
  • What replaces the Gemini GV6K servo drive controller?
Wiki Actions
  • Share
  • More
  • Cancel
Community Quick Links
  • Home
  • Technologies
    • Aerospace
      • Supplier Resource Center
    • Climate Control
    • Electromechanical Group
      • Electromechanical - Industrial
      • Electromechanical – Mobile
    • Filtration
    • Fluid and Gas Handling
    • Hydraulics
    • IoT
      • Mobile IoT
    • Pneumatics
      • Pneumatic Industrial
      • Pneumatics Mobile
    • Process Control
    • Sealing and Shielding
  • Other Groups
    • Parker Indego
      • Parker Indego Instructors
      • Parker Indego Therapists
      • Parker Indego Distributors
  • Community Blogs
  • Community Forums
  • Community Knowledge Bases
Follow Us
  • Follow Parker Hannifin on social media

Follow Parker Hannifin on social media:

Programming Tip: Save Time by reusing Code (Export / Import Programs & Function Blocks)

Print Friendly and PDF
Programmers can save time in PAC IDE by reusing code.

Let's take a look at an example. Let's say there's a Counter program you've developed and you want to reuse this. Go to Project > Export

You may export Devices, POUs or Modules. Select the Counter (PRG)

Then in your new project, you would go to Project > Import
Note the above has the POUs Project Settings selected. If you're trying to import the program, select Application in the Devices. This will then show the Counter (prg):

Press OK.


Note Counter program has been imported into the Application.
However, it is better practice that the user created programs, function blocks and functions (altogether are POUs) reside within the POUs and not under Devices. You may drag the Counter into the POUs NewProject container:


Now the Counter PRG is in the POUs. If you try to do a Build (F11) the message window will indicate our variable CounterPLC hasn't been declared. That's because in the original project, this was in the Global Variable List. Since you may want to use this variable in other programs within the application, we can add a Global Variable List by right-clicking on Application and adding a Global Variable List (GVL):


And then add CounterPLC as a double integer:


During the export, the GVL could've been selected but as it wasn't, this causes an error after importing.  The message window after you do a Build will point any errors out and allow you to track these down to resolve. One error can cause multiple errors in the message window. You can double-click on the error and that will take you to the area in the program that's causing the error.

Now back to the program. We have it but it's not set to run on the Application. To add this, under Task Configuration, right-click on MainTask (your task may have a different name or you can add a lower priority task to the Task Configuration) Add Object > Program call...

In the Add Program call window, select the ...


From the Input Assistant, you can select the POU:


Click Add:


Press F11 to Build and you should have no errors and then you're ready to go onload, which will download the application to the device.



1/15jh
  • Share
  • History
  • More
  • Cancel
Anonymous
Related
Follow Us
  • Follow Parker Hannifin on social media

Follow Parker Hannifin on social media:

Parker Hannifin Parker Hannifin

  • Products
  • About Parker
  • Investors
  • Community
  • Careers

Global Operations Global Operations

  • Divisions
  • Sales Companies
  • Worldwide Locations
  • Distribution Network
  • ParkerStore™ Network

Company Information Company Information

  • Newsroom
  • Event Calendar
  • Working with Parker
  • Product Brands
  • History

Global Support Center Global Support Center

  • Support
  • CAD
  • Where to Buy
  • Contact Parker
  • Manage Online Orders
© Parker Hannifin Corp 2022
  • Site Map
  • Safety
  • Privacy Policies
  • Terms and Conditions
  • Community Terms of Use
ENGINEERING YOUR SUCCESS.