HCT emc-3L User Manual

DVC710 Family
System and
Programming User
Guide
The information in this publication is intended as a guide only, and HCT take NO responsibility for usage and implementation in any user written application code structure. HCT strongly suggests that the user attends one of the product training courses to ensure correct and full understanding of this information and to learn further optimized methods of control techniques. Please contact HCT customer service to book one of the scheduled training dates or to discuss arranging a course specific to your company needs.
Thank you for using High Country Tek Inc. Products.
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 1
Application and BIOS Compatibility with previous versions of DVC products
Applications compiled using previous (4.x) or older versions of the Programming Tool will not work with the 5.2 BIOS without first compiling the application in the new 5.2 Programming Tool as a DVC710 project. Older projects that contain Legacy DVC Modules not compatible with this release of the Version
5.2 Tool Set must be changed to only contain DVC710 compatible modules before opening the project with the 5.2 Tool Set. Programming Tool 5.2 generated applications will not run with any previously released 4.x BIOS.
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 2
DVC710 Variable Quick List Process PI Uni and Ana Inputs Outputs SCLS Outputs DCHS Outputs SCHS
Name.Set-point InputName PWM Name PWM Name PWM Name Name.Feedback NameLo Name.Enable Name.Dir Name.Enable Name.ProErr NameHi Name.Short Name.Enable Name.Short Name.ProSumErr Name.Dir Name.Open Name.Short Name.Open Name.ProP Name.RawVolts Name.Rampup Name.Open Name.Rampup Name.ProI Name.RefVolts Name.Rampdown HSName.Rampup Name.Rampdown Name.ProItime Name.MinVolts Name.Frequency HSName.Rampdown HSName Name.Cur Name.MaxVolts Name.Dutycycle HSName.Short HSName.Short Name.RampCur Name.MinLimit Name.Freqerror HSName.Open HSName.Open Name.CurErr Name.MaxLimit HSName Name.Cur HSName.OpenDisable Name.CurSumErr Name.RefMinLimit HSName.Short Name.RampCur Name.Cur Name.CurP Name.RefMaxLimit HSName.Open Name.CurErr Name.RampCur Name.CurI Name.CenterVolts HSName.OpenDisable Name.CurSumErr Name.CurErr Name.MinCurA Name.Deadbandv Name.Cur Name.CurP Name.CurSumErr Name.MaxCurA NameX Name.RampCur Name.CurI Name.CurP Name.MinCurB Name.MinF Name.CurErr Name.MinCurA Name.CurI Name.MaxCurB Name.MaxF Name.CurSumErr Name.MaxCurA Name.MinCurA Name.Config Name.LOS Name.CurP Name.MinCurB Name.MaxCurA
I / O Fx
Name.In Name.PulsesPerRev Name.MaxCurA Name.Out Name.X0-X7 Name.Y0-Y7
Digital Inputs
Name.RealRPM Name.CurI Name.MaxCurB Name.Config Name.Counter Name.MinCurA Name.Config
Name.Config
Miscellaneous
Name Supply Name Name.RealRPM DVC_Temperature Name.OpenDisable Name.PulseTimeout FreeRunningTimer Name.Short Name.PulsesPerRev MACID Name.Open Name.Counter HC_Coil_Gain_Ogn Name.LOS LC_Coil_Gain_OGn
BlinkCode
High Side Only
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 3
About Us
HCT was founded in 1983 as an electronics contract manufacturing company, based upon the founder’s extensive background in high-tech manufacturing, including senior manufacturing positions at several Silicon Valley companies. Early in its history, HCT began a systematic migration towards proprietary products. The Company anticipated the need for Electronic Controls for Mobile Equipment and invested more than $2M to develop the DVC™ family of products, which began shipments in 2001.
HCT’s proprietary products have been designed specifically for the Mobile Equipment Market, taking into consideration customers’ broad functionality needs, demands of the severe operating environments, and other customer requirements unique to this market. The groundbreaking modular architecture of the DVC system allows customers to add functionality, reliability and precision where and when they need it, while preserving all of their investment in prior application development. Industry-standard communication protocols (e.g. CAN bus) and HCT’s unique graphical, PC based, programming tool allows our customers to easily implement and maintain Electronic Control Systems via this fully configurable, modular solution.
The patented Intella™ Software System is the heart of the company’s DVC product line. It was designed to enable customers and channel partners who are relatively unfamiliar with sophisticated electronic control systems to customize our products in the field with minimal training and/or support. Intella™ Software is a comprehensive development environment for the design, development, testing, modification and support of DVC system applications. Intella™ Application Libraries can be used as templates for application development. All of this functionality is in a system that allows the application designer, application programmer and maintenance programmer to operate within a single application development environment.
The DVC master controller module, with its flexible hardware and software, can run many applications as a single stand-alone module. Combinations of DVC™ modules (10 modules to date, with different functionalities) enable HCT to support a wide range of machine control applications. All DVC™ modules are packaged in small, ruggedized enclosures. Each module is encapsulated to withstand extreme conditions in harsh operating environments. The “hardened” enclosure allows customers to locate the DVC™ modules near the sensors, valves, etc. they will control. This can significantly reduce the amount of cabling in a system and, correspondingly, the cost.
We pride ourselves on producing cost effective devices that are rugged, abuse resistant, and easy to setup and diagnose. We are able to respond quickly to customer requirements due to our in-house engineering and assembly departments. We also provide turnkey manufacturing services for customers that do not require engineering services. Our standard product line includes environmentally hardened hydraulic proportional valve drivers, digital closed and open loop controllers, and user programmable CAN bus controller systems for mobile off-highway applications.
In addition to our standard products, we develop custom products per customer requirements. Full product specification from the customer is welcome, but not required. We often work with the customer to determine the specifications for the product required to solve their problem. Our experience in the industrial and mobile control markets speeds up the product design time and greatly reduces the occurrence of unanticipated problems. Customer support after the sale is one of our strong points.
When you need SOLUTIONS for electronic control of mobile and industrial devices think………. HIGH COUNTRY TEK
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 4
Version 5.2 Features and Enhancements Summary
Release 5.2 is the initial release of the new DVC710 Master Module. The DVC710 Master Module has been designed to carry a greater feature set then previous versions of the DVC Master Module product line while maintaining a lower cost rugged solution to sophisticated hydraulic and industrial motion control applications.
New Features
o J1455 Load Dump compatibility o Dual CAN ports, DVC DeviceNet and J1939 compatible o Enhanced J1939 bus handling features
ea
o 3 o Analog and Universal Inputs configurable as Digital inputs (Active Low) o 4 LED on board system Health / Operation Indicating System o Enhanced Status LED Control o Configurable System Disable input (Dig_1) o 1 o Up to 512 configurable EEMEM variables o 40MHz µProcessor (4 X faster than DVC5, DVC7 or DVC10) o Temperature Shutdown variable, Normal/Warning /Shutdown o NMEA0183 RS232 Protocol Support for Maritime applications o J1939 message enable/disable and message specific source address o Variable PWM frequency (0-100 hertz) and duty cycle control. o PWM% configurable Universal inputs 30Hz to 1.5 KHz o Software supports - Windows XP, Windows 7 Home Premium, Windows 7 Professional, and Windows
o Data Logging feature using the Virtual Display o Removed the Ramp feature from Analog and Universal Input Configurations
, 0 – 3 Amp proportional auto-ranging current controlled sinking outputs
ea
, 5 Volt 500mA reference output
Ultimate, (32 or 64bit)
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 5
Manual Index:
1 DVC System and Software ...................................................................................8
1.1 Introduction..............................................................................................................................8
1.2 The DVC System Overview.....................................................................................................8
1.3 DVC710 Introduction...............................................................................................................8
1.4 System Configurations ............................................................................................................9
1.5 DVC710 CAN Bus...................................................................................................................9
1.6 How the System Works.........................................................................................................10
1.7 Closed Loop Control Principles.............................................................................................11
1.8 Programming and Debugging the DVC710...........................................................................11
1.9 Expansion Modules...............................................................................................................12
1.10 Menus....................................................................................................................................14
1.11 Projects..................................................................................................................................14
1.12 Input Output Configuring.......................................................................................................14
1.13 Input Output Variables and Programming.............................................................................14
1.14 Programming Example..........................................................................................................15
1.15 Hints & Tips for code writing..................................................................................................15
1.16 Circuit Protection...................................................................................................................16
2 Software...............................................................................................................18
2.1 System Requirements...........................................................................................................18
2.2 Installation .............................................................................................................................18
2.3 Software Overview ................................................................................................................18
3 Programming the DVC Family............................................................................19
3.1 Compiling Your Program to Create the Output Files.............................................................20
3.2 Loading DVC Files.................................................................................................................20
3.3 Saving DVC Files ..................................................................................................................20
3.4 Restoring DVC Files..............................................................................................................20
3.5 Loading PGM and MEM files.................................................................................................20
3.6 Selecting or Changing Your Project Type.............................................................................21
3.7 Programming the DVC710 ....................................................................................................21
3.8 Program Name and Passwords ............................................................................................21
3.9 DVC Program Loader Monitor Password Implementation....................................................22
3.10 Process Update Time............................................................................................................22
3.11 Programming Tool Debug Feature........................................................................................22
3.12 Digital Inputs..........................................................................................................................23
3.13 Analog Inputs.........................................................................................................................26
3.14 Universal Inputs.....................................................................................................................30
3.15 Output Groups.......................................................................................................................32
3.16 Input Output Functions..........................................................................................................38
3.17 LED Indicators.......................................................................................................................39
3.18 Program Variables.................................................................................................................41
4 Bubble Logic .......................................................................................................49
4.1 Always Code..........................................................................................................................50
4.2 Logic Sequences...................................................................................................................50
4.3 Adding and Editing Bubbles..................................................................................................51
4.4 Adding and Editing Bubble Transitions .................................................................................51
4.5 How Logic Sequences are executed by the DVC710...........................................................52
4.6 Program Statements .............................................................................................................53
4.7 EE Memory............................................................................................................................54
4.8 Long Unsigned Integer Math.................................................................................................54
5 Programming Examples.....................................................................................56
5.1 DVC variable types................................................................................................................56
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 6
5.2 Hello Program........................................................................................................................56
5.3 Elapsed time Display.............................................................................................................58
5.4 Process PI Closed Loop Control Example............................................................................63
5.5 Send receive bit / byte information........................................................................................64
6 DVC Expansion Modules....................................................................................66
6.1 DVC61...................................................................................................................................66
6.2 DVC61 Screens.....................................................................................................................68
6.3 J1939.....................................................................................................................................69
6.4 SAE J1939 Message Examples............................................................................................74
6.5 DVC to DVC ..........................................................................................................................75
6.6 Virtual Display........................................................................................................................76
6.7 Virtual Display Data Logging Feature....................................................................................77
6.8 Application Simulator.............................................................................................................77
7 Program Loader Monitor....................................................................................79
7.1 Introduction............................................................................................................................79
7.2 Connecting to the DVC710....................................................................................................79
7.3 Starting the Program Loader Monitor....................................................................................79
7.4 Running (2) PLMs at once.....................................................................................................80
7.5 Main Program Loader Monitor Screen..................................................................................80
7.6 Program Loader.....................................................................................................................82
7.7 Output Groups.......................................................................................................................82
7.8 Analog and Universal Inputs .................................................................................................82
7.9 Input / Output Functions........................................................................................................83
7.10 Factory Information................................................................................................................83
7.11 EE memory............................................................................................................................83
7.12 DVC61 (Display Module) and the Loader Monitor................................................................84
7.13 J1939 and the Loader Monitor ..............................................................................................85
8 Application Notes................................................................................................87
8.1 CAN Bus Configuring ............................................................................................................87
8.2 DVC710 Supply Power..........................................................................................................87
8.3 Driving Alarms from outputs..................................................................................................87
9 Hardware Installation..........................................................................................88
10 Safety is Everyone’s Responsibility...............................................................89
10.1 Safety in building the hardware connections.........................................................................89
10.2 Safety in mounting the DVC units .........................................................................................89
10.3 Safety in programming the controllers...................................................................................89
11 Appendix A Compiler Keywords...................................................................90
12 Appendix B Programming Statement Examples.........................................91
13 Appendix C Troubleshooting Systems ........................................................92
13.1 Basic Electronics Theory and DVC System Troubleshooting...............................................92
13.2 Basic Electronics Introduction...............................................................................................92
13.3 Protection with Fuses and Special switches.........................................................................93
13.4 Get the entire valve shift you need........................................................................................93
13.5 Trouble shooting the electronics in your system...................................................................93
13.6 Troubleshooting the CAN Bus Communication network.......................................................95
13.7 Good grounding practices.....................................................................................................95
14 Appendix D Current Regulation using PID techniques ..............................96
15 Appendix E Pulse Width Modulation (PWM) and Dither.............................98
16 Appendix F Flowchart (Sequence of Operations) example......................103
17 Appendix G HCT Terminology and Definitions .......................................106
18 Appendix H Sensor Manufactures............................................................107
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 7

1 DVC System and Software

1.1 Introduction

The DVC710 module is user programmable and able to support a wide range of control applications. The DVC710 is a master controller and its flexible hardware and software allow it to run many hydraulic control applications as a single module. This user guide illustrates the techniques to create and maintain user applications that run on the DVC710 and compatible expansion modules. Instructions on how to use the DVC programming tools are provided along with definitions, programming steps and examples. The DVC710 is programmable using the Programming Tools described in this manual. You simply select the project type you are designing for via a main menu item.

1.2 The DVC System Overview

The DVC710 BIOS software provides high-level data processing to your program regarding the state of each of your system inputs and the actual input/output electrical interfacing to sensors, joysticks, potentiometers and
valves is automatically handled for you through relationships defined within the application code. The DVC710 is packaged in a small rugged enclosure. All connectors are sealed and each module is
encapsulated to withstand extreme conditions in harsh operating environments. The hardened enclosures allow you to locate the module near the sensors, valves, etc. they will control. This can greatly minimize the amount of cabling in your system and significantly lower your costs.

1.3 DVC710 Introduction

The DVC710 Programmable Valve Controller is the latest addition to the DVC family of modules. The DVC710 is designed to be a low cost Master Controller. The low cost DVC710 has enough processing power and input
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 8
output functionality to support a wide range of hydraulic applications. Should more capability be needed than provided by a single DVC710, multiple interconnected DVC710 s may be used and share information via the J1939 CAN bus.
The DVC710 comes in one version. It supports the DVC61 text display or a J1939 Graphical display. The RS232 port on the DVC710 is typically used for loading and monitoring your application program. Four light emitting diodes (LEDs) mounted on top of the DVC710 module also are useful for monitoring your system’s operational status.
The DVC710 has 3 Universal inputs (programmable to accept the most common sensor inputs), 3 0 – 5 Volt analog inputs (programmable for joysticks and potentiometers) and 8 digital/pulse inputs with digital input 1 able to be configured as an SYSTEM DISABLE input.
The DVC710 has a single +5 volt regulated reference output. This reference can supply up to a total of 500ma of current. Multiple devices with varying current requirements can be connected to this reference. Only the total load current of 500ma needs to be adhered too.
In addition, the DVC710 has 6 High-Side (voltage and current sourcing) outputs and 3 Low Side PWM (pulse width modulation) outputs for bang-bang and proportional valve control. The High-Side outputs provide +POWER (system power typically 12-24 volts) when enabled by your program to the coils used to open or close your valves. The PWM outputs serve two functions for current regulated proportional valve closed loop control. First, they provide the current return path from the negative side of the coil. This current is measured and compared to the desired coil current. Given the difference between the desired and actual current the PWM pulse output duty cycle (i.e. the percent of time current is allowed to flow through the coil) is adjusted to eliminate this error or difference. The internal DVC710 circuitry and BIOS automatically adjust this PWM duty cycle and therefore the effective voltage (and current) seen by the coil. This regulated valve coil current provides a constant valve output (i.e. spool position), which is unchanged by coil resistance, connection length or power supply fluctuations. The High-Side and PWM outputs can be used stand-alone or in conjunction with one another to support the wide combination of valve types you may have in your system. From 3 to 9 valves depending on the valve types can be controlled by a single DVC710.
The DVC710 has four programmable LEDs located on top of the module. The Module Status and Network Status LEDs can be programmed to be on either side of the module insuring their visibility in spite of the DVC710’s orientation.
Also the DVC710 can connect to the CAN Bus via DVC DeviceNet and/or J1939.

1.4 System Configurations

The DVC7xx family is designed to control the simplest to most complex machines. Four different configurations are supported namely: DVC710 standalone with optional J1939 Graphical Display or DVC61 Display DVC710 directly connected to J1939 Engine Control systems over a CAN Bus/Device Net cable DVC710 multiple slave J1939 sub system control DVC710 with multiple CAN Bus connected DVC Input / Output expansion and Display modules

1.5 DVC710 CAN Bus

The DVC 710 supports two separate CAN Bus networks. CAN Bus 1 will simultaneously communicate on the J1939 bus and the DVC CAN Bus. This means that the user may use the DVC710 to talk to both the J1939 bus and for example a DVC61 Display at the same time and on the same physical bus. The DVC61 uses an 11 bit Identifier rather than the 29 bit identifier that J1939 uses; therefore systems that do not employ a high network load may run both at the same time on the same physical bus without any message degradation saving cabling and labor costs. CAN Bus 2 will support J1939 messages only and may be used in tandem or separately from CAN Bus 1 depending on the needs of the application and
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 9
system. It is suggested that CAN Bus 2 be used for lower priority higher flow traffic such as a J1939 Display or Data Logger. This would allow the user to separate these less critical messages from the systems main ECU system that will be running many high priority messages such as TSC1 etc. The DVC710’s CAN Bus configuration and Baud Rate is selected through the factory Information scree n where each feature may be either enabled (Checked) or disabled (Unchecked). Both CAN Bus systems will run at the same Baud Rate and the Default Baud Rate is 250K, in accordance with SAE J1939 standards.

1.6 How the System Works

Here we will give you an overview of the operation of the DVC710 with DVC the available expansion modules they can control. While not being an exhaustive discussion of the DVC design and operation, hopefully, this overview will allow you to better understand the Programming Tool and Program Loader Monitor to see how your system operation is programmed and controlled.
There are 5 fundamental concepts we wish to introduce to you.
1. Each DVC module has a control program or BIOS providing services.
2. All expansion modules communicate to the DVC710 master controller and vice versa continuously.
3. Inter module communication and DVC710 application processing are performed in parallel.
4. The DVC710 BIOS executes a defined sequence of operations every 10ms.
5. The BIOS provides many services that make application development much easier. First, every DVC module be it a DVC710 or DVC expansion module has an internal program or BIOS to control
the module’s operation and its communications over the CAN Bus. All of the modules operate asynchronously with their own internal clock. The BIOS sets module internal circuits to correspond to the input/output configurations you specify using the Programming Tool. The BIOS of a DVC expansion module gets the input/output configurations that the user configured using the Programming Tool from the master DVC710 through a series of CAN Bus messages. Once this profile is loaded into the expansion module’s memory, the module will setup, read and write to the inputs and outputs based on their individual type, configuration settings as commanded by the master modules application program.
Second, as your system operates, the DVC710 and each of the DVC expansion modules continuously exchange
messages between each other over the CAN Bus. Each expansion module sends messages detailing the state of each of its hardware supported inputs and outputs. These messages include whether a digital input is closed or open, an analog input’s voltage as a percentage of the user specified (i.e. configured) voltage range and error flags such as a short being detected on a reference output pin. These messages are received by the DVC710 and stored into its I/O memory. After receipt, the DVC710 controller has a complete status of each of the expansion module’s input and output states. Similarly, the DVC710 records in I/O Memory the state of its own inputs and outputs. The application program references the I/O Memory Map using predefined variable names to decide what to do to control the system.
Third, in parallel with messages being transmitted between the DVC710 and other modules, the user’s application program is being processed. As your application executes it can look at the current state of any of the systems input and output settings stored in the I/O memory. Usually it is looking for some specific input to change (i.e. a digital input is closed or a new analog input value from a joystick movement) and as a result it will transition to another state or bubble in the application where it will control an output in a certain way or look for another input change.
Fourth, the DVC710 executes its resident user application and BIOS in a defined sequence, over and over, typically in 10ms intervals. During each interval, any CAN Bus messages to be sent or that have been received are processed. Next, it updates the input and output status for its own I/Os. Then, it analyses the Bubble logic transition conditions for the application program. For instance, if your application is waiting on a digital input from an expansion module to be closed to advance from its current state or bubble to the code in another
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 10
bubble that is done at this time. Finally, the Always code is executed for your application and then the active bubble or new bubble’s code (after a transition) for the current logic sequence.
Finally, one other point worth noting for system operation is that the status of input and output pins is communicated back and forth between modules often as a percentage of a user defined voltage or current range. Thus a potentiometer setting can directly control a proportional valve where the percentage of movement of the potentiometer directly relates to the position of the valve. Also a nonlinear response can be defined by using an I/O Function curve to translate a potentiometer position percentage to the valves current percentage. All of this behind the scenes BIOS processing and CAN Bus messaging makes application development much easier than would otherwise be possible.

1.7 Closed Loop Control Principles

Closed loop control is a means whereby a feedback signal to the DVC is measured against a desired level or set point. If the values differ then a corrective action is taken. The corrective action is generally a new valve current setting that is obtained by adjusting up or down the PWM duty cycle. This adjustment is a continuous process during operation and compensates for environmental factors such as high resistance wires or off spec valves. In a PID system like that used by the DVC family the adjustment amount is a function of the error (set point - feedback) and P and I terms. The P term scales the current adjustment proportional to the error and the I-term scales the correction as a function of the error over time. These corrections are summed. The D term is not used. Generally the higher the values of the P and I terms the faster the error will be corrected. Correcting too fast can cause over correction (i.e. overshoot) depending on the latency experienced by the feedback signal changing given the adjustment. Most systems require the P and I terms to be tuned based on how your system behaves.
It should be noted that when you desire a valve’s current to be set to 1 ampere for instance from 0 amperes the PID system works as if the error at time zero is 1 ampere and the adjustment mechanism then sets the actual PWM% to begin to correct the error. By plotting a particular PWM variable using the Program Loader Monitor’s graph facility you can see how the correction is accomplished as a function of time for tuning purposes. The DVC710 controller provide for 3 distinct and different closed loop control mechanisms. They are:
1. Automatic proportional valve current regulation
2. Software controlled closed loop proportional valve current based on a sensor’s feedback signal indicating pressure, position, temperature or RPM.
3. Software only closed loop control used typically for long latency systems. In the first case, the PID technique is employed by the DVC hardware and BIOS to set and maintain the valve
coil current to the desired value. In the second case, your application software calculates the feedback value and the set point and the DVC
hardware and BIOS adjusts the valve current (PWM %) based on the difference between the set-point (or target) and the calculated feedback.
In the third case, you control the PWM % setting through a repeatedly executed piece of software that reads sensor input and does its own form of a PID adjustment.

1.8 Programming and Debugging the DVC710

The Windows PC based DVC710 Programming Tool gives you the ability to program the DVC modules to work in a variety of applications without large development costs. Some knowledge of Windows, computer programming and electro-hydraulics is beneficial.
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 11
DVC Intella Programming Tool
The Programming Tool's main screen shown here is called the Project screen. Every project consists of components. A component can be a physical DVC710 module and a number of DVC expansion modules. Additionally, software components such as the Always code icon wherein you program critical system functions and several logic sequence icons wherein you program the normal operations of your system. At a minimum and by default, a DVC710 (Master) module and an “Always” bubble icon must be defined. As your system grows you add additional physical and programming components by right clicking your mouse on the Project screen and selecting the component type you wish to add. Once selected from the pop menu, the component will be added to the project as another icon. As a result, the Project screen contains all of the components, in the form of movable icons, for the creation of your system application. Double clicking a component icon will allow you to program or configure it. The next section lists the component types.
Note: If you wish to have another DVC710 module be the master controller of a portion of your system then another Project needs to be created wherein that DVC710 and the components it controls are programmed. Adding a DVC710 to DVC710 module to each project and configuring the messages to be sent back and forth can enable communication between multiple DVC710 projects. The programmer may also choose to use J1939 communications between the DVC710’s allowing more messages between the two modules to be configured.
Debugging your application is generally done with the assistance of the PC based DVC Program Loader Monitor. This software supports a Virtual Display allowing your application to display variable values and where the code is executing as well as showing you the status of the various inputs and outputs of your system.
PLM Screens commonly used for debugging application code

1.9 Expansion Modules

As your system control needs grow, the DVC7xx family is designed to meet your needs easily and cost effectively. Future additions to the DVC7xx family are coming soon.
All of the following icons are accessible by right clicking on the Project screen. Double click the icons on the Project screen to open up the component specific programming menus. Right mouse click a n icon to delete it.
DVC to DVC – Enables communication between multiple DVC710s.
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 12
DVC-61 – Display and 5 Single Pole Double Throw Digital Inputs are provided.
Logic Sequence – Where system operation code is created using state machine like bubbles
Virtual Display - Where the Program Loader Monitor Virtual Display scree ns are defined.
J1939 - Where the J1939 Messages are defined.
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 13
0
0

1.10 Menus

The Programming tool features a menu across the upper portion of the project screen. The following is a description of the items that compose the menu:
Menu Item Sub Menu Item Description
File
Edit
Project
New Create a New Proje ct Open Open an Existing Project (.DVC File) Restore BAK File Restore the last Saved / Compiled Project Save Save Changes to the DVC Project Save As Save DVC Project to a new file Load MEM Fil e Load P rogram Loade r Monitor Mod ifie d .MEM Fi le into Proj ect Print Select and Print the DVC Project Code, Bubble Logic diagrams,
Module diagrams and Module Data
Previous File List Displays the 4 previous files worked on. Clicking on one ot these
will open the project
Find Replace All
DVC71 DVC7 Set the Application / Project Type to DVC7
Searc h t he appl ication code for specific text Searc h t he appl ication code for specific text and replace with new text
Set the Application / Project Type to DVC71
Compile Make Save the Project File and Create the DVC Application Output Files
Help About Shows the Programming Tool's Version and Part Number

1.11 Projects

A Project contains all of the information about your system in a form that allows you to specify and change your system’s hardware and software components over time. The Programming Tool File menu allows you to save your project (“projectname.DVC”) into a directory of your choosing and to reopen a previously saved project. When your project is compiled (by selecting “Make”) four files are created for the project. These files have the .DVC, .BAK, .inf, .MEM and .PGM file extensions.
.DVC is the project file that contains the program text and input/output configuration data .BAK is the project backup file of the .DVC file .MEM is the memory image describing the system inputs and outputs configurations .PGM is the DVC710 program file in a loadable format

1.12 Input Output Configuring

The DVC710 and the DVC expansion modules are all configurable using the Programming Tool’s graphical displays. Each module’s input and output pin’s characteristics (sensor voltage range, valve coil currents, etc.) as well as display configuration can be specified. Once the values are specified, the DVC710 BIOS will read or write to the inputs and outputs or modules as specified.

1.13 Input Output Variables and Programming

The DVC710 execution environment allocates a memory area for each configurable Input and Output for every module in the system. This includes the expansion modules if they are used. The expansion modules send
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 14
messages to the DVC710 containing the values to be stored in their memory area on a periodic basis. This area is where values such as the input voltage, the percent of the range and error flags such as an open or short circuit has been detected are recorded. The memory is allocated regardless of whether or not a specific I/O is used in the system or referenced in the application code. The memory area for each I/O is continually updated by the BIOS and can be written to by the application code itself in some cases. Particular sections (typically a 2 byte word or a single bit) of an I/Os memory area are identified by a variable name such as Dig_1 or Ana_1. For instance to check if a switch has been closed you would write “If (Dig_1 = True)”. To check to see if an output has noted an error you could write “if ((HS1.open = True) or (HS1.short = True)) “. Each memory area has a predefined set of variable names that are associated with specific sections (values) in the memory area.
Intella Programming Tool Main Screen, Logic Sequence and Bubble Logic

1.14 Programming Example

The following example illustrates the general constructs used and the screen displays for configuring Inputs and Outputs. The example is a relatively simple Valve Driver application that has been implemented using a DVC710 control module. The code consists of 6 parts namely: Open loop test code for each I/O A displayed elapsed time clock The virtual display code for monitoring program execution and variables Error checking for the status of the wiring connections in the Always code The unit LED updates J1939 Bus Monitoring

1.15 Hints & Tips for code writing

The Intella programming environment allows the programmer to be creative in their programming style. Here are some suggestions as how a program may be structured.
Create machine function flowchart (a.k.a. Sequence of Operations)
This idea forces the development team to understand what the function of the machine will be before the program is written. Using flowchart notation, the development team documents each function of the machine. In the case of a hydraulic log splitter, maybe the first function would be to assure the engine is running, providing pressure for the pump. It is advised that the first flowchart of a project contain very simple steps in the functionality. Later revisions can combine simple functions into more complex functions. Insert as much information in this flowchart as possible. For instance, if there is a pressure relief valve in the machine, set at 1500psi, list that in the flowchart. Once the flowchart is finished, everyone should agree on the machine
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 15
functionality. This step will help to minimize changes to the program at a later date. This step could take considerable time, but will make the program much sampler to write. Refer to appendix F for an example.
Separate different functions into different logic Sequences and Bubbles.
It is not incorrect to place all of the program logic in the always code, but it can slow down the program and make it more difficult to troubleshoot. Time critical logic should be contained in the ‘always’ code. Different functions should be contained in individual Logic Sequences. For example, a pump control’s logic can be contained in a bubble by itself. The logic to control the track drive of a bulldozer can be contained in a bubble by itself. These functions may not be as critical as something such as looking for a high pressure situation.
Use meaningful variable names. The limit on variable size is 32 characters. A variable that isn’t an input or output device is called an internal variable. An internal variable that is for Valve1 minimum current setting for the program loader monitor could be labeled Valve1MinCurA. This naming convention could be used throughout the program. An EEmem variable for a valve’s minimum current setting could be named eeValve1MinCurA. Below are some other examples.
Joystick_1_AI1 – Analog Input # 1 (Variable names in capital letters designate an abbreviation.) Output_shaft_RPM_UI1 – rpm Universal Input # 1. EEC1.engine_speed_lo – The low byte of the engine rpm from the J1939 network.
eeDVC61_Contrast – EEmem variable. ScreenCount – internal user defined variable.
Declare all variables in one location.
Declare all variable names in one area of one bubble. This area would include unsigned integers (Uint), EEmemory variables (EEmem), Timers (timer), constants (const) and others. Declaring all the variables in one location could make it easier to add another variable at a later time without duplicating the variable name and provides for a cleaner, more structured program. Variables can be organized by type or grouped by function depending on the preference of the programmer.
Comment important information into the program.
Information such as Programmer’s name, date of program creation, revision history, and any description of something that is difficult to understand is appreciated by anyone offering assistance in troubleshooting the program. Explaining a complex math equation can be beneficial at a later date to refresh the programmer’s memory of why a function was built the way it was and to assist in troubleshooting. Comment as much or little as necessary. Comments do not contribute to the compiled program (.PGM) file size. Remember to add a colon (‘) before starting comments. The Intella software interprets the (‘) that the information to the right is not to be compiled.
'Programmer's Name: J.Q. Codewriter
'Program creation date: 5/28/2010
'Revision history:
' Rev. 1, 5/28/10 - initial release
' Rev. 1.1, 6/12/10 - Modified Always code to add temperature sensor to engine coolant ' Rev. 2.0, 11/25/10 - Modified 'Tank level' bubble to add logic and hydraulic fluid level sensor 'Program description: This program will... 'The math function for the tank level takes into consideration the ...

1.16 Circuit Protection

Each of the modules require adequate circuit protection. Use AGC type fuse. Each module requires 150mA for internal circuitry. These modules also include the dvc61. If the module is capable of driving an output, then the
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 16
current required for that output is added to the 150mA. For instance, if a dvc7 is driving a 2 independent cylinders, and the valves for the cylinders require 1.7A, then the total current for the dvc7 module would be Dvc7 requirements 150mA (2) valves, 1.7A each 3.4A Total current 3.55A
Of course, a AGC fuse of 3.55A is not available, use a fuse size near this calculated value.
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 17

2 Software

2.1 System Requirements

Windows XP, Windows 7 Home Premium, Windows 7 Professional, and Windows Ultimate, (32 or 64bit) 40 megabytes of disk space to support a complete system install PC with Serial Port - RS232 or USB port For USB ports you need a USB to RS232 converter (i.e. Dongle) DVC710 controller module DVC10 serial cable
1

2.2 Installation

When you install the DVC development software following the steps outlined here you will have one Programming Tool and one Program Loader Monitor that will support the DVC710.
To install the DVC development software, close all program applications. Insert the DVC Software CD in the CD-ROM drive, and wait for the installer program to execute. The installer will guide you through the installation procedure.
NOTE: Install any third party software i.e. USB to RS232 adaptor drivers before

2.3 Software Overview

The DVC software package includes two applications n "Programming Tool" and "Program Loader Monitor". These applications provide the means to configure, design, create, load, and monitor the user application. The Program tool is used to configure the inputs and outputs and prog the control logic for an application. The Program Loader Monitor is used to download the user application program files to the DVC710. It also performs real time monitoring o your system inputs/outputs. Also, you can modify some input/output configuration settings (i.e. like analog ramp rates). Another feature of the Program Loader Monitor is it allows you to see and change EEmem variable settings. For example, this is a convenient way to have the user interact with the system to change a maximum pressure setti input a customer job number as the system is running.
installing cables and hardware.
amed
ming
ram
f
ng or
DVC Intella Programming Tool
1
A list of HCT recommended USB to RS232 adaptors may be found at, http://www.highcountrytek.com/rs232_to_usb_adapters.htm
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 18

3 Programming the DVC Family

DVC710 Program Loader Monitor
he "Programming Tool" is used to create your application for the DVC710. The "Program Loader Monitor" is
T used to load the user application into the DVC710 module and monitor the inputs and outputs in real-time as your application executes. Both programs are located in the Windows Start Menu under the c:\Program Files\HCT Products. In order to create a user application, the following steps generally should be followed:
) Architect your system. In the design process compile a total list of digital inputs, pulse inputs, PWM outputs
a
etc. A total I/O count is needed to assure the correct amount of DVC inputs / outputs are specified in external modules, if needed. Also, remember to allow room for expansion with spare I/O.
b) Define your system components and their interactions. HCT does have experience with
sensor manufactures. Request a sensor recommendation sheet of sensors known to work with the HCT system.
c) Start the
Menu, select Save As and name your project, i.e. hydraulic log splitter.
d) Add any planned expansion modules displays etc and configure the
inputs and outputs that drive or sense your components. With the mouse on the screen, right click to choose the expansion module. Insert the expansion module, set the modules unique name and Mac ID#. Assign names to the real world I/O.
e) Create a flow diagram of machine fu
information. Once the Sequence of Operations (SoO) is complete, this needs to be converted into a program. The ‘always’ code as well as bubble logic sequences will be used during this step. Refer to section 5 for programming examples. Refer to Appendix A for compiler keywords. Program the control
logic as to how the outputs respond to the inputs. f) Compile the program. g) Load the compiled program h) Run your system and debug your application.
Intella Programming Tool or from the File menu select New or press CNTL + N, then from the File
DVC710 and expansion module’s
nction (i.e. Sequence of Operations) refer to Appendix F for additional
files into the DVC710.
a wide variety of
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 19
Graphical windows allow you to specify the system components you will need and the electrical characteristics of your inputs and outputs. Text screens are provided to enter the program control logic (using a subset of the Basic language) for both your time critical and normal operations.
3.1 ompiling Your Program to Create the Output Files
C
After configuring the DVC710 inputs and outputs and cr Compile menu item in the Project window and select Make to create the output files. If there are no errors, the Programming Tool will create three files. The two primary files needed for the next step are projectname.PGM and projectname.MEM. These are the two files that will be loaded into the DVC710. A third file projectname.BAK is generated this is the backup file.
ote: If the compiler detects an error during compilation, an error display will pop up and the line in your
N program with the error will be highlighted.
3.2 oading DVC Files
L
Projectname.DVC file open you can make modifications to the Input / Outputs, control code and system configuration. To open a project, click on the File menu item in the Project window and select Open. Finally, select the appropriate “projectname.DVC” file.
s contain information enabling the system to open previously saved project files. Once
eating the program code, press CNTL + M or select the
3.3 aving DVC Files
S
To save your projec and then select the Save menu item. This saves the project file under the current filename. To save your project with a different name click on File and select “Save as” on the menu selection. Type a new filename and save your new .DVC project file.
hen naming files, it is recommended that a version number or letter be included in the file name. This way
W when major changes are made, the user can rename the file with the new version information before saving and there will be a better history of the project development available to the user for reference later on.
ote: If you select an existing project name, the existing file will be deleted and replaced with the new DVC
N project file. Also, if the open project has changed and you choose to exit the Programming Tool, you will be prompted to save your project.
t press CNTL + S or click on the File menu item in the Programming Tool project window
3.4 estoring DVC Files
R
Every time the Programmi projectname.DVC file. The Programming Tool does this by changing the projectname.DVC file extension to projectname.BAK before creating a new projectname.DVC file. When Restore BAK file is selected from the File menu, the Programming Tool automatically loads the last backup made, if one exists, for the current open project. The restore feature allows users one level of undoing changes.
3.5 oading PGM and MEM files
L
module (DVC710). During compilation the Programming Tool creates two files named projectname.PGM and projectname.MEM. The .PGM and .MEM files contain the users’ application code in an executable format. The .PGM file contains the compiled application code and is referenced by the Program Loader Monitor when you load the application into the DVC710. The .MEM file contains the memory information that specifies the
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 20
ng Tool saves a projectname.DVC project file, a backup file is made of the previous
successfully compiled, it is ready to be loaded into the DVC master control After a DVC project has been
configuration for all of the system inputs and outputs and is loaded along with the .PGM file by the Program Loader Monitor
Note: .MEM files contain all of the DVC710’s physical information. If changes are made to the DVC configuration with the Program Loader Monitor, you can update the DVC program with the new configuration data by doing the following. Using the Program Loader Monitor, save a new .MEM file by clicking on "Export to File". Using the Programming Tool, open your project and click "File" and select "Load Mem File". Select the .MEM file and click Open. The program will automatically update all of the DVC physical information.
3.6 electing or Changing Your Project Type
S
Using the Project Menu of the Project window
DVC710
DVC7

3.7 Programming the DVC710

The DVC hardware and firm flexible and support many input and output configurations and relationships. For quick reference the inputs and outputs have been grouped into the following:
Dig
Universal Inputs
Output Groups
Input / Output Func
o configure the module, access each of the features
T by clicking on their associated buttons. The buttons are aligned vertically underneath each group name. Click on a button to access the configuration options for that input or output.
ital Inputs, Analog Inputs
ware features are very
tions
he following subsections give the definitions of each
T of the fields accessible in the DVC710 configuration win
you can select from amongst two project types. These are:
DVC710 Configuration and Setup Screen
dow.
3.8
Program Name and Passwords Program Name:
When the application executes, the Program Loader Monitor will display the program name.
Range: 16 Characters.
end Password:
S
Level 1 Password – allow the user to load programs or BIOS.
Range: 16 Characters.
pp Password:
A
user from loading a new BIOS. Range: 16 Characters.
Allows access to EEmem and other I/O settings from the Program Loader Monitor, will not
– Allows all Password Level 1 access plus allows the user to load applications. Restricts the Level 2 Password
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 21
Bios Password:
Level 3 Password – Allows all Password Level 1 & 2 access plus allows the user to load a new BIOS and Change Can Bus settings.
Range: 16 Characters. NOTE: If passwords are used, a Password Level of 0 in the Program Loader Monitor (i.e. no password entered
or incorrect password) will not allow access to any changes to settings for the system.

3.9 DVC Program Loader Monitor Password Implementation

The password scheme is implemented to protect customers from software vandalism or unskilled users. First, the passwords are defined using the Programming Tool and are downloaded into the DVC710 when the project files are loaded. Next, the Program Loader Monitor asks you to enter a password for the level of access you wish to have for the run time environment. The Program Loader Monitor has 3 levels of password protection. The level of the password entered in the Program Loader Monitor determines your access and ability to issue commands. The three levels are 1: Send Changes, 2: Load Applications, 3: Load BIOS. Higher numeric levels include all of the abilities of the lower levels. If no password is entered when the Program Loader Monitor is run then default access is given to the user to view the status of the DVC710’s, factory information, EE memory (non-volatile memory where program variables can be stored in the event of power failure) and DVC expansion modules. However, if all password fields are left blank in the Programming Tool, level 2 access is given by the Program Loader Monitor as a default.

3.10 Process Update Time

The Process Update Time is the amount of time that the application code will take to execute one logic cycle (Always Code, Logic bubble Code, Transition Code and update the I/O). Range: 1mS to 20mS

3.11 Programming Tool Debug Feature

When using the Programming tool, selecting anywhere on the blank space of the main window and typing “debug” will provide the user with a new pull down menu on the title bar with the heading Debug. After compiling an application, the programming tool will produce several more files that may be accessed through this pull down menu. The application may not be edited through these files but they can be a useful tool in troubleshooting an application. The extended files are listed below.
PROGRAM_NAME.HDR
PROGRAM_NAME.ASM
PROGRAM_NAME.MAP
PROGRAM_NAME.OBJ
PROGRAM_NAME.SRC
Intella Programming Tool Debug Feature
File Types Created by the Intella 700 Programming Tool
The Following are a definition or explanation of the file types created by the Intella 700 Programming tool for both normal and debugging operations.
DVC file - .DVC (Normal File Set)
The .DVC file is the application itself un-compiled in standard text. This is the file that the compiler uses to store bubble code in.
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 22
Program file - .PGM (Normal File Set)
The .PGM file is the compiled application file that is loaded into the DVC along with information from the .MEM file.
Memory file - .MEM (Normal File Set)
The .MEM file stores settings for the inputs and outputs etc.
Backup file - .BAK (Normal File Set)
The .BAK file stores the last .DVC file unedited each time the user compiles the code. If the user wanted to delete all changes from the current compiled code back to the last time the code was compiled the user may close the file, delete the current .DVC file and rename the .BAK file to .DVC and reopen the file. The file will open to the same condition as it was before it was compiled the last time.
Header Listing - .HDR (Extended “Debug” File Set)
The Header Listing file can provide the user with a quick way to look up variables that may be directly acce ssed and manipulated from within the application code.
Code Listing & Assembly Listing - .ASM (Extended “Debug” File Set)
The Code and assembly listings are two ways of looking at the current saved file and are derived from the current file set.
Memory Map & Memory Hex Listing - .MAP (Extended “Debug” File Set)
The Memory map is a listing of where each variable is stored n memory. The Hex listing is a Hexadecimal representation of the Memory Map.
Program Hex Listing (Extended “Debug” File Set)
The Program Hex Listing displays the current .DVC file in hexadecimal format.

3.12 Digital Inputs

Eight digital inputs are provided in the DVC710 controller. The user can use the Program Loader Monitor to monitor the state of the digital inputs on the DVC710.
Digital inputs are set by the opening or closing of a switch during system operation. The activation
Switch
De-Bounce
+ Volts
De-Bounce
Time
Input State Recognized
of a switch presents a voltage waveform to a DVC710 digital input pin. The DVC hardware and software interpret the waveform and convert it to a true or false value for the application program. The true or false value (> 0 or 0 numeric values respectively) is passed to the application program via a program variable with
0 Volts
Time
the name of the input. Your application program control logic then determines what to do given
Digital Input Behavior, Voltage In vs. Time
this input state. The DVC710 Digital Inputs may be configured as Sinking or Sourcing. In the Sinking case, the switch is
powered externally and the digital input pin detects the switch being open or closed and supplies a connection to ground through a resistor for the current when the switch is closed. In the Sourcing case, the DVC supplies the power (i.e. +5vdc reference voltage through an external 1k ohm resistor via a second DVC reference pin
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 23
connected to the digital input) for the switch as well as the digital input pin where the switch being open or closed is received. The DVC710 has a single +5vdc regulated Reference output capable of driving up to 500ma of current. To use a Digital Input in sourcing mode on a DVC710, an external series resistor must be used to
limit the current sourced from the internal reference voltage regulator to prevent shorting the reference voltage to ground through the inputs switch. A 1K ohm 1 Watt resistor will protect the reference voltage regulator from both shorts to ground and supply power.
The two configurations of digital inputs supported by the DVC hardware are:
Sourcing (DVC's 5V Ref Powered Switch)Si ni nking (External l y Powered S wi t ch)
+PWR
Note: the DVC circuitry senses the voltage change at the edge of the waveform and if the transition state is the same after the de-bounce time interval then the new state is deemed valid and communicated to your application via the input’s variable name.
To configure a digital input, click one of the Digital Input buttons on the DVC screen. The Name field’s value is the way this input will be referenced in your user application. It is a good idea to name the input to reflect its function.
The De-Bounce Time input as valid state changes. The polarity interpreted as a true or false or which edge causes a change in the state of the input.
In No Toggle Active Polarity Input condition is met after the De-Bounce time and back to False if it is not met.
In Toggle remains true until the second instance of the Active Polarity, always observing De-Bounce time. For an input in
Toggle mode the application program can also set the input state at any time. Digital Input 1 can be configured to be in System Disable mode. When this System Disable mode is selected
and the digital input is in a true state, the BIOS will automatically turn off all of the current paths to the valves and require a power cycle to resume operation.
Note: Regardless of what type of digital input switch configuration is used, the DVC will respond according to the voltage seen at the input. See the hardware manual for instructions on hooking up a switch in order to provide the desired voltage levels.
The following subsections give the definition as well as an overview of each of the fields in the Digital Input screen:
DVC +5 Vo lt Re f
SW
1 2
12
1 K
SW
DVC Digital Inp ut DVC Digital In p u t
PWR GN D
1 2
setting is used to avoid recording momentary spikes on the
determines what voltage level is
mode, the state of the input flag will change to True any time the
Digital Input Setup
Screen
mode, the input state is set to True on the first occurrence of the Active Polarity instance and
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 24
Name
Name used in the bubble logic code to access this digital inputs state and its associated properties.
Range: 16 Characters with no spaces. Valid characters are A-Z, a-z, 0-9, and "_". Rules: The first character cannot be a number. Compiler Keywords or other Names already in use are not
valid. A valid example is "Boom_Extend".
De-bounce Time
The number of milliseconds the system will wait after a change in voltage at the input before accepting a change in input state.
Range: 0 to 9990ms in 10ms Increments Polarity
Active High is considered True, Active or On when > 2.5 Volts is sensed at the input pin. Active Low s considered True, Active or On when < 2.5 Volts is sensed at the input pin.
Range: Active High, and Active Low Software Toggle
In Toggle Mode, the rising or falling of the digital input (with respect to De-Bounce and polarity Active High or Low) will reverse the state of the variable with each valid input pulse, latching the input variable at each
occurrence. In No Toggle Mode, the input responds to the voltage level at the input at all times again with respect to De-Bounce time. Range: Toggle, No Toggle
Toggle No Toggle Polarity
Active High Variable changes states when
input goes from Ground to
Variable is true when input is >2.5 Volts
>2.5 Volts
Active Low Variable changes states when
input goes from > 2.5 Volts to
Variable is true when input is ground
Ground
Digital Input Code Example:
Code Comments
If (Dig_1 = True) Then if logic test True or False based on the state of
the input HS_1 = Dig_1 Sets an output to the state of the Input PWM_1.Dir = Dig_1 Set direction of a dual coil based on the state
of the input Dig_1 = False Set the state of an Input to False (Toggle mode
Only)
Input Impedance
The input impedance for all inputs, other than current inputs is 10k ohms. The input impedance for current
inputs is 120 ohms.
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 25
3.13 Analog Inputs The Range for Analog Inputs is 0 – 5
Volts. The DVC710 has 3 Analog inputs. Analog inputs return the value of the voltage at an input pin to the application as a percentage of the calibrated voltage range represented by a ten-bit value (0 (0%) ->1023 (100%) decimal). The resolution is to the nearest tenth of a percent.
Each Analog input can be configured as a digital input by selecting the Active Low button in the lower right hand corner of the configuration window. When one of these is selected the Ana_1 name will be set to true when the voltage input < 2.5 volts.
Voltage conditioning for Analog Inputs
All inputs on the DVCs are rated for a Maximum of +/-32 Volts. The working voltage on the universal and analog inputs for the dvc7/10/710 is 0 to +5 Volts (optional +/- 1, 0 to +10 volts for the DVC10/710). The signal will need to be clamped positive or negative that exceeds 32 Volts. Suggest clamping to 28 Volts.
Note:
Analog Inputs are internally pulled high through a 1M Ohm resistor. An external 2K resistor between the input pin and ground may be used to pull down the input pin if desired.
The DVC710 and has one common reference output that can be used by several sensors, potentiometers etc as long as the total current load of 500ma is not exceeded.
Analog Input Configuration Screen
DVC +5 Volt Ref
JoystickJoystick
5 Volt Sensor
Example of Multiple Sensors using 5 Volt Reference
DVC Analog/Uni versal Input DVC Analog/Uni versal Input DVC Analog/Uni versal Input Si gn al Common
The configuration of the analog input is done through the DVC710 Programming Tool Analog Input setup screen above. The configuration input fields are divided into logical sections. Some input fields may be disabled depending on the boxes checked (i.e. Enable Center). First, give the input a name that allows you to reference the specific input and its properties in your application. If the input has a center, put a check in that box, and enter the direction names. When Enable Center is checked you must use the Min Volts to Center Volts and Center Volts to Max Volts names in your application. Calibrate the input with a voltage meter or the Program Loader Monitor and fill in the Voltage Calibration Min, Max, and Center. Enter the Voltage limits. These values
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 26
are used to detect an out of range condition on the input. To automatically set the voltage limits click on the Auto Set Voltage Limits button. The Invert Output selection will make the program variable value equal to 100%
at MIN Volts and 0% at MAX Volts.
The following subsections give the definition as well as an overview of each of the fields in the Analog Input screen:
Name:
Variable name used in the application program to access this input’s value as a percentage of the voltage range or true/false for a digital input and its associated properties.
Range: 16 Characters with no spaces. Valid characters are A-Z, a-z, 0-9, and "_". Rules: The first character cannot be a number. Compiler keywords or other names already in use are not valid.
A valid example is "Steering".
Min Volts to Center Volts: Name: Access word for the input between 0 Volts and the Center Voltage Range: 16 Characters with no spaces. Usable characters are A-Z, a-z, 0-9, and "_". Rules: The first character cannot be a number. Compiler Keywords or other Names already in use are not
valid. A valid example is "Steer Left".
Center volts to Max volts Name: Access word for the input between Center Voltage and the Max Volatge Range: 16 Characters with no spaces. Usable characters are A-Z, a-z, 0-9, and "_". Rules: The first character cannot be a number. Compiler Keywords or other Names already in use are not
valid. A valid example is "Steer_Right".
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 27
Voltage Calibration
Calibrate the input to the expected usable range of the sensor driving the input. The Inputs response to the application will be scaled between the Min and Max voltages and return 0% to 100% (0 – 1023) to the application.
The minimum voltage.
Min: Range: 0 to 4.99v must be less than Center and/or Max Volts
Center: Range: .01 to 4.99v must be between Min and Max Volts
Max: Range: .01 to 5.00v must be greater than Center and/or Min Volts
The center voltage.
The maximum voltage.
Voltage Limits
These values are used by the system to sense an out of bounds voltage condition at the input. The Voltage Limits may be used to detect an open or shorted input wire or overdrive condition. These conditions are normally due to faulty wiring. The condition is communicated to the program using the Name.MinF and Name.MaxF variable names where Name is the name you gave to the input like Ana_1.
If the input voltage is less than this set point, Then “Name.MinF” is set to true.
Min: Range: 0 to 4.99v
Note: If the voltage goes out of range, the user must reset Name.MinF variable through application code to false.
If the input voltage is more than this set point, Then “Name.MaxF” is set to true.
Max: Range: .01 to 5.00v
Note: If the voltage goes out of range, the user must reset Name.MinF variable through application code to false.
Max Current
These values are used by the Programming tool to keep track of the total current expected to be used by the Reference Output. The user may enter the expected current draw for the sensor being used if the sensor is driven by the Reference Output. If the sum total of all the entered currents from all the Analog and Universal Inputs exceeds 500mA, a warning will be displayed.
Using Ref. Voltage:
Reference Output.
Range: Selected / De-Selected Max Currnet:
Range: 0 - 500mA
If selected, the Max Current entered will be added to the total expected load for the
The amount of current that is expected to be drawn by the sensor used on this input.
Invert Output
When Invert Output is checked, the returned percentage values of the voltage range will be 0 for MAX Volts and 100% for MIN Volts.
Range: Checked/Unchecked
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 28
Enable Center
When unchecked the percentage value returned to your program via the variable “Name” would be directly proportional to Max - Min with Min equal to 0 and Max equal to 100%. When checked, the center is 0% and the Min and Max Volts will be 100% with respect to Invert Output.
Range: Checked/Unchecked
Deadband %
The Deadband percentage specifies the range of voltage above and below the center point that is effectively center. In the Deadband voltage range the returned percentage value for this analog input is 0%.
Auto Set Voltage Limits
The Auto Set Voltage Limits will set the Voltage Limits based on the Voltage Calibration Settings. The voltage limits will be set to one-half of the difference between the Reference and Voltage Calibration values for both the min and max values.
Scaling
This feature may be used to display the Analog / Universal Inputs as real units (i.e. PSI, GPM, Meters etc) on the PLM in real time. This allows the user to read the actual system performance without having to calculate percentages or voltage levels while working on the system. Use the Gain and Offset Calculator to obtain and insert the values for Gain and Offset. Enter an abbreviation for the units desired (i.e. PSI, GPM) for the scaled output
Gain / Offset Calculator
When analog input voltage values are to be displayed by the Program Load Monitor this facility will automatically scale the value displayed according to a linear equation of the form; Where x is the analog input’s value and y is the scaled value. This is convenient to convert a sensor voltage to actual units like PSI. The Gain / Offset Calculator has been designed to help the application developer calculate values for Gain and Offset.
Calculations:
LowBits = (Low End Value / Scaling Factor) HighBits = (High End Value / Scaling Factor) Note: The Scaling Factor is dependent on the Input chosen Gain = (High End Engineering Units - Low End Engineering Units) / (HighBits - LowBits) Offset = (High End Engineering Units - Low End Engineering Units) ­(HighBits * Gain)
Analog Input Sample Code:
Gain and Offset Calculator
Code Comments If (Ana_1 > 5%) Then If Input % is greater than 5% PWM_1 = Ana_1 Sets an PWM% output to the Analog Input % PWM_1.Dir = Ana_1.Dir Set direction of a dual coil based on input (if centered enabled) If (Ana_1.MaxF) then Test if Maximum Volts threshold reached Ana_1.MaxRF = 0 Clear /Reset condition or flag (retry)
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 29

3.14 Universal Inputs

There are three Universal Inputs on the DVC710. These inputs are programmable to accept the most common sensor outputs.
Four types of inputs are supported and are selectable for each of the inputs. They are Analog Input (Voltage or Current), RPM Pulse Input, Counter Mode input and PWM Duty Cycle types. A fifth type of input is Quadrature and using this requires two Universal inputs to be used. These are inputs 2 and 3. Quadrature is a method of determining speed and direction using two pul
se inputs.
Programming Tool, Universal Input Screen
On the DVC710 each universal input can have one of four ranges namely: –1 to +1volts, 0 to +5volts, 0 to +10volts or 0ma to 22ma.
To identify a Universal Input in your application program, fill out the name field or use the default. Each universal input needs at a minimum its input type and input range to be selected.
Note: The Universal Input configuration window will display certain fields while deactivating others based on the Input Type and other options selected.
Input Fields
For Universal Inputs, the setup process is similar to the Analog Input setup. Refer to the previous Analog Input section of this manual for a complete description of the analog input configuration options. The main difference between Universal and Analog inputs is the input ranges supported. Analog inputs only support 0 to +5 volt operation.
RPM Pulse Inputs
For RPM pulse inputs, specify the RPM Limits (min and max), and the RPM Calibration parameters (min and max). RPM Calibration values set the 0 and 100% variable return values. The RPM Limits set error variables when these values are met or exceeded. Because 0 RPM can never be counted, the Pulse Time Out field is the number of seconds the system will wait until the RPM variable is set to 0 by the BIOS and the pulse time out flag "name.LOS" is set. Pulses Per Rev is the number of pulses that the module will see for each revolution. The DVC710 can count pulses to a total limit of 24 kHz combined on all three inputs.
Counter Mode Inputs
For Counter Mode pulse inputs, setup the min and max counts under Count Limits. The output value will be a percent of the min to max difference. The counter value may be read or set by the application. The counter is incremented on every falling edge of the pulse input. When the count reaches the max value it remains at that value until set to a new value by the application program.
Quadrature Inputs
Quadrature is a method of determining Speed, Direction or Position using two pulse inputs. For a Quadrature pulse input, setup the min and max count under Count Limits. Quadrature mode can only be selected with Universal input #2 and will automatically use Universal input #3 for the second pulse train. The output will be the percentage of the min to max count. The counter value may be read or set by the application. The counter will be incremented or decremented on every rising and falling edge of both pulse trains based upon the p hase of the two inputs. Direction is determined by the phase of the pulses going up and down while speed is determined by the absolute value of the pulse count change as a function of time.
P/N: 021-00163, Rev. A.0 - for V5.2 Tools Page | 30
Loading...
+ 78 hidden pages