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 Knowledge Base ACR Binary Host Interface - 7000 and IPA
Electromechanical Group
  • Technologies
  • More
Electromechanical Group
Electromechanical Knowledge Base ACR Binary Host Interface - 7000 and IPA
  • Electromechanical Support Forum
  • Electromechanical Knowledge Base
  • Members
  • Sub Groups
  • More
  • Cancel
  • New
Electromechanical Group requires membership for participation - click to join
  • Electromechanical Knowledge Base & Frequently Asked Questions
  • Motion and Machine Controllers-
    • ACR Controllers-
      • 7000-
        • ACR Binary Host Interface - 7000 and IPA
        • ACR7000 and IPA - AcroBasic PROGRAM SAMPLES
        • ACR7000 Connector part numbers
        • ACR7000 Controller differences to ACR9000
        • ACR74T Stepper Power Supply Sizing
        • ACR74V ACR78V: How to Reset BiSS Absolute Encoder Position
        • BE and SM Servo Motor Speed-Torque Curves at 24volts and 48volts
        • Expanded DEFINES allows numeric characters
        • Expansion I/O Information for ACR7000 and IPA
        • P Series Servo Motor Speed-Torque Curves at 24volts and 48volts
        • Parker Motion Manager Software Computer Requirements
        • Parker Motion Manager: What's New or Different Compared to ACR-View?
        • PC to ACR Program Samples (Excel, LabView, VB.Net, C++, C#)
        • Stepper Motor and Feedback Connectors
        • Time Saving Tip: Use Axis Copy if using same motor on other axes
        • Using #DEFINE inside PMM programs
      • 9000 (Legacy)+
      • IEC PLC (9600) (Legacy)+
      • PC Card Controllers (Discontinued)+
      • ACR Binary Parameter Access Examples
      • ACR Controllers: Excel Spreadsheet Example for ACR and IPA
      • ACR Memory usage and commands
      • AcroBasic Program Priority and Timing
      • AcroBasic program does not wait
      • Change axis positive/negative motion direction
      • Clear all memory in an ACR controller
      • Command Syntax for Variable Substitution
      • Commenting AcroBASIC Programs
      • Concerns when using DWL in programs
      • Concerns when using INH in programs
      • Creating Watchdogs for Ethernet Connections
      • Encoder Velocity
      • Error 17000 when attempting to communicate to ACR
      • Evaluation Underflow error
      • Evaluation overflow is line xxx
      • Free Online Training Videos: Parker AcroBasic - Programming Basics
      • Hardware Position Capture for Encoder 8 and 9
      • Homing Application note for ACR9xxx controllers
      • How can I check the axis PPU setting?
      • How do I set the frequency in an ACR SINE move?
      • How does motion work in the ACR products (ACR7xxx, ACR9xxx, IPA, Aries-CE)
      • How fast is my servo axis moving?
      • How to Calculate the Gear Offset Parameter?
      • How to Find Torque or Current commanded from ACR
      • How to Simulate Motion (without drives or motors)?
      • How to home to a limit in AcroBasic
      • How to receive ASCII data
      • How to retrieve the raw SSI position from encoder?
      • How to use CAM ON when source is moving
      • How to use the In Motion Bit
      • INT command not working properly
      • INTCAP
      • Is the ComACRsrvr thread safe?
      • LISTEN / LRUN - How to see line numbers
      • MFLOPS vs. MIPS
      • Output on Position Toggle Mode
      • PID Parameters when using Steppers
      • Position to a Torque / Current Mode
      • Programmable Limit Switch (PLS) feature in the ACR9xxx and IPA
      • prohibited names for Axis aliases
      • Range Error on download for IF ENDIF statements
      • Reboot in startup program
      • Stopping motion in ACR controllers
      • System Pointer Address of ACR Global Variables, P0-P4095
      • Use of AXIS format
      • User Variables
      • Using ACR9xxx or IPA with LabView
      • Using CAM with PPU in user units (not counts)
      • Using Encoder 8 or 9 as SRC
      • Using JOG commands with AXIS identifier
      • Using an encoder or analog input as JOG SRC
      • VB generates Runtime Error 91
      • Variable data types and transfer to AB plc via Ethernet/IP
      • What ACR Global variables should I use in HMI applications?
      • What is the Binary Host Interface
      • What is the axis velocity
      • How to Wire Limit Sensors to ACR9xxx and ACR7000 Controller
      • ACR7000 Controller and ACR9000 Xpress Jog Teach Sample
      • Axis Flag update rate
      • Range Error when commanding long moves - Distance limit 2^31
    • PAC120+
    • PAC340+
    • PAC320 (Discontinued)+
    • 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)
Wiki Actions
  • Share
  • More
  • Cancel
Community Quick Links
  • Home
  • Technologies
    • Aerospace
      • Supplier Resource Center
    • Climate Control
    • Electromechanical Group
    • Filtration
    • Fluid and Gas Handling
    • Hydraulics
    • IoT
      • Mobile IoT
    • Pneumatics
    • 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:

ACR Binary Host Interface - 7000 and IPA

Print Friendly and PDF

Products: ACR7000, IPA (also applies to ACR9000 family using Ethernet)

The ACR controllers can be interfaced to a PC application through the provided COM object. The controller is delivered with a software development kit called Parker Motion Manager, which installs the COM object: ComACRserver. The ComACRserver provides methods and functions that allow the user to create custom PC applications in VB, C++, .NET,LabView, etc to command the controller via Ethernet, USB, or serial.  

The ComACRserver is a wrapper for the lower level communication called the Binary Host Interface. Most application will use the ComACRserver but some programmers prefer to use the native Binary commands directly. Using the Binary Host Interface natively allows users to optimize the performance of applications by eliminating the COMACRservers overhead. It also provides a communication option for non-Windows applications (e.g. Linux) as the ComACRserver uses the MS COMobject model.

 

Ethernet:

Details about Ethernet communications to the ACR controller can be found in the Ethernet Spec which describes the base level TCP and UDP connections and data formats.

Port 5002 is an ASCII connection. With this connection you could send any Acrobasic command to the controller as if you were in the terminal emulator in Parker Motion Manager.

Port 5006 is a managed binary connection that expects to see commands in a specific format. 5006 is well suited for PC applications and constructing drivers.

 

Details about the Binary Host Interface can be found in the ACR Programmers Guide within Parker Motion Manager on-line help. Below is a summary of the functionality.

 

Binary Data Overview

The binary data transfers consist of a control character ( Header ID ) followed by a stream of data . During binary transfers to the controller, the delay between bytes must be no more than the communications timeout setting for the given channel. If the timeout activates, the transfer is thrown out and the channel goes back to waiting for a normal character or a binary header ID. The default communication timeout is 50 milliseconds.

 Ethernet connections are made to Port 5006 to use the Binary Host. All messages must be in four-byte packets. The user should pad commands with null bytes as needed to meet the four-byte requirement. 

The most common commands used are Binary Parameter Access, SET and CLR and Data Packets.

Binary Data Packets

                Used to query blocks of parameters from the controller.

Example. Request actual position for axes 0-3;

Byte 0

( 0x00 )

Byte 1

Group Code = 0x30

Byte 2

Group Index =0x02

Byte 3

Isolation Mask = 0x01+0x02+0x04+ 0x08 = 0x0F

 

Send to controller : 00 30 02 0F

Reply from controller : 00 30 02 0F  + 16 BYTES

Binary Parameter Access

Read and write single parameter values.

Binary parameter access provides a method of reading from and writing to single system parameters on the controller. Unlike binary data packets, binary parameter access uses the actual parameter number. There are no groups or masks.
A parameter access header consists of a Header ID ( 0x00 ) followed by a Packet ID code and a 2-byte parameter. The Packet ID codes for the different types of packets are shown below. The following pages define each of the packets in detail.

Packet ID Codes

 

Code

Packet Type

Description

0x88

Binary Get Long

Receive long integer from controller

0x89

Binary Set Long

Send long integer to controller

0x8A

Binary Get Float

Receive Float value from controller

0x8B

Binary Set Float

Send Float value to controller

When using the Binary Parameter Access, the parameter is converted to hex. The parameter is a 2-byte value sent low-order byte first. Here are some examples:

P12288(current position, axis0) converts to 30 00. Request is sent to controller as 00 88 00 30
P12546(actual position, axis1) converts to 31 02. Request is sent to controller as 00 88 02 31
P8193(vector velocity) converts to 2001.  Request is sent to controller as 00 8A 01 20

 

VB.Net example for formatting the byte packets

Imports System.BitConverter

 

PublicFunction GetLongPacket(ByVal iParm AsInteger) As System.Array

Dim bArr(3) As Byte

Dim byteParm(1) As Byte

bArr(0) = &H0

bArr(1) = &H88

byteParm = BitConverter.GetBytes(iParm)

System.Array.Copy(byteParm, 0, bArr, 2, 2)

Return  bArr

End Function

Binary Address Command

Used to obtain address locations for local variables and arrays.

Binary Parameter Address Command

Used to obtain address locations for system parameters.

Binary Peek Command

Read single or blocks of consecutive parameters. Must first obtain the address of the parameter using the Binary Address Command for local variables or Binary Parameter Address Command for system parameters.

Binary Poke Command

Write single or blocks of consecutive parameters. Must first obtain the address of the parameter using the Binary Address Command for local variables or Binary Parameter Address Command for system parameters.

 Binary Mask Command

Used to write a bit mask to Integer (LONG) parameter. Must first obtain the address of the parameter using the Binary Address Command for local variables or Binary Parameter Address Command for system parameters.

Binary Parameter Mask Command

Used to write a bit mask to Integer (LONG) parameter. Similar to Binary mask command, but in this case uses the parameter number rather than the memory address of the parameter.

Binary Move Command

Sends single and multi-axis move commands

Binary SET and CLR

Sets and Clears flags (bit)

The immediate setting and clearing of bits can be accomplished with a 3-byte binary command sequence. This sequence is a 1-byte command header followed by a two-byte index value. The index value is sent low order byte first. The command is not queued and the set or clear occurs when the command is first seen by the board.

Note: Ethernet communications expects 4-byte packets.

Binary CLR

 

Data Type

Description

Byte 0

Header ID ( 0x1C )

Byte 1

Index Byte 0

Byte 2

Index Byte 1

Byte 3

0x00 (padding)

 

 

Binary SET

 

Data Type

Description

Byte 0

Header ID ( 0x1D )

Byte 1

Index Byte 0

Byte 2

Index Byte 1

Byte 3

0x00 (padding)

 

Ethernet Examples:

Binary Output

Description

1C 08 02 00

Set bit 520 ( 0x0208 )

1D 20 00 00

Clear bit 32 ( 0x0010 )

1C 11 21 00

Set bit 8465 ( 0x2111 )

1D 13 21 00

Clear bit 8467 ( 0x2113 )

  • 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.