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.
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.
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.
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.
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.
Manual Index: 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 2 2.1 2.2 2.3 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 5 5.1 DVC System and Software ...................................................................................8 Introduction.............................................................................................................................. 8 The DVC System Overview..........
5.2 5.3 5.4 5.5 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 8 8.1 8.2 8.3 Hello Program........................................................................................................................ 56 Elapsed time Display ............................................................................................................. 58 Process PI Closed Loop Control Example ............................................................................
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.
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.
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 screen where each feature may be either enabled (Checked) or disabled (Unchecked).
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.
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.
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 screens are defined. J1939 - Where the J1939 Messages are defined. P/N: 021-00163, Rev. A.0 - for V5.
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 Create a New Project Open an Existing Project (.DVC File) Restore the last Saved / Compiled Project Save Changes to the DVC Project Save DVC Project to a new file Load Program Loader Monitor Modified .
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.
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.
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 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) 1 DVC710 controller module DVC10 serial cable 2.
3 Programming the DVC Family DVC710 Program Loader Monitor The "Programming Tool" is used to create your application for the DVC710. The "Program Loader Monitor" is 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: a) Architect your system.
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.
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".
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.
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.
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.
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.
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.
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.
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. Min: The minimum voltage. Range: 0 to 4.99v must be less than Center and/or Max Volts Center: The center voltage. Range: .01 to 4.99v must be between Min and Max Volts Max: The maximum voltage. Range: .01 to 5.
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.
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.
The following gives the definition as well as an overview of each of the fields in the Universal Input screen not covered in the Analog Inputs section.
3.15 Output Groups The three DVC710 Output Groups are used to configure and control valves. Each group has 2 programmable voltage source output pins (High-Side) and one output (2 Low-Side current sensing and sinking) pin. This pin is thought of as an output even though it receives current and measures it.
Output Group Configuration Examples The following gives the definition as well as an overview of each field in the Output Groups Configuration Screen: Low Side Name The name used in your application code to access this PWM output and its associated properties. 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 "Boom_Up".
Current I For the DVC hardware PI Loop regulating current, this is the I value Range: 0 to 655.00 Dither Amp How much current above and below set point to dither Range: 0 to 100% Dither Hz The frequency setting of the dither Range: 1Hz to 500Hz High Side # Name This will be the access word for the High Side Output. Set this ON or OFF in your application. Range: 16 Characters with no spaces. Valid characters are A-Z, a-z, 0-9, and "_". Rules: The first character cannot be a number.
Ramp Up When ramps are checked, Ramp Up is the Ramp from Min to Max Current. Ramps are applied for all current / PWM% changes. Range: 0.0 to 65.00 s Output Selection This is where the user selects the output configuration type Range: Dual Coil High Side, Single Coil High Side, Single Coil Low Side, High-Side Only Process P Setting the P in the Process PI Loop Range: 0 to 655.00 Process I Setting the I in the Process PI Loop Range: 0 to 655.
normal case you should update the feedback value in your Always code and when the feedback equals the setpoint the coil current will remain fixed. Note that when you use the simulator and do not drive an actual coil the PWM command will never exceed the set-point %. For example: if you system is capable of generating 0 to 3000 psi and you wish to generate 1500 psi you would set the set-point value to 50% or 512.
Programming the Different Output Group Valve Configurations Controlling valves has a few subtleties depending on the valve configuration. Some of the control of the valve’s operation is done for you by the DVC710 BIOS. This level of BIOS control has two purposes. First, to ease some of the application programming that would otherwise be required. Second and most important, is to insure safe valve operation in the event of wiring or valve failure.
3.16 Input Output Functions Input Output functions are useful in applications where the desired output is not linear to the input. These functions can be used to vary the control resolution of the output at different points etc. They are also useful if the output levels are not known. The user can use the "Program Loader Monitor" to adjust the output levels to control the system correctly. The DVC’s BIOS calculates the output value for a given input value.
3.17 LED Indicators The DVC710 has four Red/Green LEDs, positioned on top of the module. They are labeled, CAN Status, % Current and Error Status. Module Status, DVC710 LED Layout Operation When a BIOS or application is being downloaded to the controller all LED’s will be off. The Following is a list of the individual LED behaviors: Module Status LED STATE Off On GREEN Flashing GREEN On RED On YELLOW Flashing RED P/N: 021-00163, Rev. A.0 - for V5.
CAN Status LED STATE Off On GREEN MEANING There is no J1939 device (or other DVCs) in the project. Communication established with another DVC module through DVC Devicenet. Waiting to establish communication with another DVC (i.e. DVC61) or J1939 Bus Enabled in setup. The device has detected an error that has rendered it incapable of communicating on the network.
[>999] 3.18 Invalid assignment, BIOS would ignore this and reset the Blinkcode variable to 0 Program Variables Program variables are identifiers that are used by your application program to refer to specific input values and to control the operation of a specific output. This section is divided into various subsections according to Input / Output category. The following gives the definition of all the program variables: Miscellaneous Variables Name Supply Description The Power Supply voltage.
Universal and Analog Inputs Name Description Range Name Get 0 to 100% regardless of direction 0% to 100% NameLo Get 0 to 100% of Min to (Center Deadband) only if Center is enabled 0% to 100% NameHi1 Get 0 to 100% of (Center + Deadband) to Max only if Center is enabled 0% to 100% Name.Dir Get the Upper or Lower Side of the Analog Input only if Center is enabled. False (Lower Side), True (Upper Side) Name.RawVolts Volts or mAmps (ma = universal input ma select) Reference Volts = RefVolts * .
Digital Inputs Name Description Range Name Set/Get the state of the switch The Unsigned Integer Value of the RPM. For Pulse inputs Only Get/Set Pulse Timeout for Loss of Signal False or Off, True or On Name.RealRPM Name.PulseTimeout Name.PulsesPerRev 0 to 9999 0 to 65535 Get/Set Pulses Per Revolution Get/Set Unsigned Integer Value of the Counter. Pulse inputs Only Loss of Signal flag set after time out.
Outputs Dual Coil High Side Name (Low-Side/PWM) Name Name.Dir Description Set the state Current Target or Process in percentage of min to max current Set the coil to be PWM’d, *(use High Side names to set the direction) Range 0% to 100% High-Side Odd # Name / High Side Even # Name True [PWM Enabled], False [PWM = 0] Off [Coil Ok], On [Coil Short] Name.Enable Set the PWM to 0 or enable the PWM Name.Short Get the Coil Flag for Short Status Name.Open Off [Coil Ok], On [Coil Open] HSEven#Name.
Single Coil High Side Name Description Range (Low-Side/PWM) Name Set the state Current Target or Process in percentage of min to max current 0 = 0 Current, .1% = Min Current, and 100% = Max Current 0% to 100% Name.Enable Set the PWM to 0 or enable the PWM Name.Short Get the Coil Flag for Short Status Name.
Single Coil Low Side Name Description Range (Low-Side/PWM) Name Set or test the state Current Target or Process in percentage of min to max current 0 = 0 Current, .1% = Min Current, and 100% = Max Current 0% to 100% Name.Enable Set the PWM to 0 or enable the PWM Name.Short Get the Coil Flag for Short Status Name.Open Off [Coil Ok], On [Coil Open] Name.
Process PI Variables Name Name.Feedback Description The desired % set point position for the output The % feedback position for the output 0 to 100% Name.ProErr Error = Set point – Feedback 16 bit signed integer Name.ProSumErr Error accumulated over time 0 – 65535 Name.ProP Process Proportional Term Constant “P” 0 – 255 Name.ProI Process Proportional Term Constant “I” 0 – 255 Name.ProItime Update / Integration Time 0.0 to 650.00 s Name.Cur Current actual * CurGain = amps 0 – 3.
I / O Function Variables Name Description Range Name.In The Input of the Transfer Function 0% to 100% Name.Out The Output of the Transfer Function 0% to 100% Name.X0 The X0 of the input/output function 0% to 100% Name.X1 The X1 of the input/output function 0% to 100% Name.X2 The X2 of the input/output function 0% to 100% Name.X3 The X3 of the input/output function 0% to 100% Name.X4 The X4 of the input/output function 0% to 100% Name.
4 Bubble Logic DVC710 application programs consist of one or more code sections. The first section is called the Always code and the second and additional sections are called logic sequences. An icon in the main project window identifies each of the sections. These icons represent where the programmer actually writes the application code. Each application has an Always section and optionally any number of logic sequence sections.
system. Right clicking on a logic sequence will give you the ability to add the logic sequence to 1 of 9 groups. The grouped logic sequences are shown graphically connected by the black line. Generally, the non-critical performance parts of your application should be grouped together. Virtual Display updates, DVC61 Display updates, Open Loop Test, EEmemory change validation and LED updates are examples of non critical parts of most applications.
Within the Logic Sequence screen there is a check box labeled Enable “.CurrentBubble”. If this check box is selected, two more fields appear a Number field (sets the number of characters used in the string created for the current bubble text) and a Caption / Description Selection field (sets how the string will be displayed). This is used in conjunction with a Virtual Display or a DVC61 to display the current bubble being processed and is useful for troubleshooting application code during development.
4.5 How Logic Sequences are executed by the DVC710 A logic sequence is executed at a typical or default rate of 100 times per second or once every 10ms. The maximum rate is 1000 times a second. Within each execution cycle, the processor updates the system input/output values and communicates with other modules over the CAN Bus then the Always code is executed followed by the active logic bubble in a logic sequence and its out bound transition expressions.
4.6 Program Statements The programming tool supports the following basic-like statements: Refer to Appendix B for examples of how to use program statements and logical operators. Programming statements including keywords are all non case sensitive. Code Comments Declares a 0 to 65,535 value variable Dim VarName as Uint All variables are Global Declares a Uint variable that once set will decrement at 10ms Dim VarName as Timer intervals until it reaches zero.
4.7 EE Memory Electronically erasable memory (EE Memory) is memory that is maintained (non volatile) when there is no power to the DVC710. The DVC710 has 512 usable EE memory locations. EEmemory locations can be used to interface to the compiled, running DVC program. For instance, if, during troubleshooting, the user wanted to change between different virtual display screens, the programmer may create an EEmem variable named ‘virtual_screen’.
would equal 0 rather than 0.5 for any subsequent calculation. Also note that calculations in parentheses will be will equal zero while will equal 100. performed first. For instance the expression Since the DVC does only unsigned math, negative numbers are not explicitly saved. So when you wish to calculate a difference in two variables you will need to write code like: If (a < b) then Diff = b-a Else Diff = a-b End if P/N: 021-00163, Rev. A.0 - for V5.
5 Programming Examples This section illustrates how the DVC710 is programmed. The first example is a traditional Hello program. Hello introduces you to the basic steps in writing a DVC application and using multi digit blink codes. The second example is an Elapsed Time Clock that introduces you to logic sequences. For both of these examples you only need to have a DVC710 and the DVC Programming Tool / Program Loader Monitor software installed.
window. When prompted save your project in C:\ProgramData\HCT Products\Intella 700\Programs\hello.DVC. This completes the code generation, compilation and project saving. P/N: 021-00163, Rev. A.0 - for V5.
Next, load and execute the compiled Hello program. Execute the Program Loader Monitor program by double clicking on the Program Loader Monitor icon in the c:\Program Files\HCT Products folder. Now execute the following steps. Double click on the DVC710 Master Button. Double click the Program Load button in the DVC710 window. The Program Loader window will open. Cycle power to the DVC710 this will initiate the download process. Select the blue Load Application button.
The first thing to do is to add a Virtual Display and 2 Logic Sequences to your project. Right mouse click in the project window and select the three items one at a time. Next configure the Virtual Display by double clicking on the Virtual Display icon in the project window. The window shown appears without the Screen1 icon. Right click in the Virtual Display window and select “Add Screen”. Now double click on the Screen1 icon to open the Virtual Display setup window.
Next, double click on the line and a Transition dialog box will appear. Enter “tmr0 = 0” in the “Transition to 2 when” text box. We will use bubble 2 to initialize the timer interval. After it executes we want to go unconditionally to bubble 3 where the actual Clock code begins. Now open Bubble 2, enter “Reset_Timer” for the description and enter the following statement in the Entry Code: Tmr0 = 1s 'Set timer to one second Now, close bubble 2.
day = day + 1 Now, close bubble 6. Now we will add the rest of the transitions for the Display Clock Logic sequence. Add a transition from bubble 2 to 3. Open the transition and enter “always” in the “Transition to 3 when” text box. Close the Transition. Add a transition from bubble 3 to 4. Open the transition and enter “toggle = 1” in the “Transition to 4 when” text box. Close the Transition. Add a transition from bubble 3 to 1.
Next, open the second Logic Sequence; name it “Display_and _Def”. Open the logic bubble and write the following code in the “Repeat Code” virtualdisplay.screen = screen1 'Sets the Virtual Display Screen to Screen 1 virtualdisplay.v1 = day 'Points the Displays V1 variable to the UINT, "day" virtualdisplay.v2 = hr 'Points the Displays V2 variable to the UINT, "hr" virtualdisplay.v3 = min 'Points the Displays V3 variable to the UINT, "min" virtualdisplay.
5.4 Process PI Closed Loop Control Example Process PI is a feature of the DVC710 that makes it easy to control a valve’s current as a function of two sensors inputs. The first sensor represents the Set-point or desired system response and the second input is called the Feedback input and represents the systems current response (position, speed etc.).
Second, add the following statements to the Always Code; ' This code will Monitor the engines RPM "RPM_Feedback" and adjust ' the throttle to maintain the desired SetPoint "RPM_SetPoint" ' regardless of engine load by monitoring the RPM Feedback and ' adjusting the Throttle Output to compensate for error. ' It will also shut down the output if the SetPoint exceeds it's ' Maximum Voltage Limit until it is reset by the Digital Input ' "Reset_RPM" if (RPM_SetPoint.MaxF) then Throttle.
If the bit needs reset, ‘and’ with 0xf7. The word ‘data_to_dvc7a.output_status’ is the active word. Another example, if it is needed to see if bit ‘2’ is on, then use 0x02, see below. if ((data_from_dvc7.a_OG1_OG2_enable and 0x02) = 2) then Valvecoil2.Enable = 1 else Valvecoil2.Enable = 0 end if 'comparing 2nd bit If the value is true, or ‘2’ in this example, then an internal bit can be set or reset.
6 DVC Expansion Modules The DVC710 has a fixed number of Inputs and Outputs for standalone operation. If your system requires more inputs or outputs than one DVC710 provides you add additional DVC710s and have them communicate over the CAN Bus through DVC to DVC communications (DVC Devicenet) or J1939. Additional DVC710s are configured as master controllers for a portion of your application.
digital inputs that can be wired directly to the DVC61 connector are also supported. Use the Input Setup button to open the Input Setup screen. Each of the five tabs when selected presents a screen for configuring a Tri-State input. A Tri-State input can have 3 states, High, Low or Floating. If the input were pulled High (to supply), the inputs “A” bit would be considered True. If the input were pulled Low (to Ground), the inputs “B” bit would be considered True.
6.2 DVC61 Screens Each DVC61 device can support multiple screen images to display information in various forms. Each device has up to 12 display variables available to each screen. At run time each variable can be assigned the value of an input or output program variable or another variable. Every screen image has fields to specify its Name, define which of the 12 display variables will be displayed, the X, Y location for the variable and in what format.
DVC61.Input_Name Get the state of the digital input Range: False or Off, True or On DVC61 Code Sample Code DVC61.Screen = Screen_Name DVC61.V1 = ana_1 Comments Point to DVC61 Screen image to display First Variable is set to analog input 1’s value 6.3 J1939 The DVC710 controller has 2 separate CAN ports. The first port has the capability to transmit and receive both J1939 messages and DVC Devicenet messages.
as messages to be received from the engine. J1939 Message Set-up The Programming tool has no pre-defined J1939 Messages. The user is required to configure the messages correctly; most message information can be obtained from the SAE manuals. Command Name The name prefix used in the bubble logic screen to access this message’s data and status. Range: 16 Alpha/Numeric characters only with no spaces. Control The Control field specifies if the message will sent to or received from the engine’s ECM.
Range: 1 to 8 P/N: 021-00163, Rev. A.0 - for V5.
Byte # Name Byte Name is the suffix of the variable name to access a byte in Bubble Logic. For instance eec1.status would be used to access byte 1 of the defined message EEC1 shown above. Range: 16 Alpha/Numeric characters only with no spaces. J1939 Program Variables Note: Some of the following variables require the prefix “J1939.” To call the variable, i.e. “J1939.EEC1.NORSP” would return state of the No Response bit for the EEC1 message. They are identified by an *. in the description. *.Name.
Note: The Engine RPM example converts two bytes into one number and then converts from 0.125 RPM per bit into 1 RPM per bit. P/N: 021-00163, Rev. A.0 - for V5.
6.
ssure 6.5 DVC to DVC Multiple DVC710s can talk to one another over the CAN Bus. The DVC to DVC configuration screen has a MAC ID, four Send Uint Names, and four Receive Uint Names. Uint refers to the unsigned integer designation. The MAC ID field is the MAC ID of the DVC710 to whom this DVC710 wishes to communicate with and must be specified. Send Uint Names 1 - 4 are the names used to access the values to be made available to (sent to) the other DVC710.
6.6 Virtual Display The Virtual Display is a debug tool that allows DVC710 users to monitor program variables using a Windows PC or laptop computer. You can monitor up to 20 variables concurrently on each screen. The Virtual Display may be used to log data during program operation. You add the Virtual Display to your project by right clicking the mouse in the project window and selecting the Add Virtual Display option.
VirtualDisplay.V20 Contains the value for V20. 6.7 Virtual Display Data Logging Feature Data displayed in the first two columns of the Virtual Display may be logged to a common delimiter text file (.CSV) and may be opened as a spreadsheet in an editor that recognizes the .CSV format. When formatting a Virtual Display Screen for use as a data logger, please observe the following formatting rules. This will ensure that the data collected is placed in a useable format within the .CSV file.
program changes are required. When you are finished with the simulator delete its icon from the project window and recompile. After including the simulator icon in your project and compiling, you load your application into the DVC710 using the Program Loader Monitor. The Program Loader Monitor will present a simulation device in its main window. Click on the status button to display the simulation window shown above. P/N: 021-00163, Rev. A.0 - for V5.
7 Program Loader Monitor 7.1 Introduction The Program Loader Monitor is used to download programs to the DVC710 and to display information from all of the DVC modules connected together via the CAN Bus. It runs on your Windows PC and uses a RS232 cable to communicate with the DVC710. Data from DVC expansion modules (i.e. DVC21, DVC70 etc.) is transmitted through the DVC710 to the Program Loader Monitor.
7.4 Running (2) PLMs at once Some applications will use 2 dvc710s in the project. To monitor both controllers, the programmer may wish to run 2 PLMs at the same time. Copy the following to another folder and create a short cut to that .EXE PLM700 v5.21.exe B167.bin PLM700 v5.21.aliases PLM700 v5.21.ini 7.5 Main Program Loader Monitor Screen Normally the first screen you will see after executing the Program Loader Monitor program is as shown here.
input outputs of that controller. Virtual Display Status The Virtual Display screen is a PC resident display window that is activated from the Program Loader Monitor’s main screen. The display is used to display program variables for debugging or run time information. As your program executes up to 20 variables can be displayed on a single screen along with descriptive text. Your application can also switch between different screen images. P/N: 021-00163, Rev. A.0 - for V5.
7.6 Program Loader You use the Program Loader (yellow button in the center of the DVC710 monitoring window above) to reprogram the DVC BIOS and Application programs. When selected the Program Loader button sets a signal in the serial cable that allows the DVC710 to go into programming mode on DVC710 power up. After selecting the Program Loader button and power cycling the DVC710, there are two ways to determine that the DVC controller is in programming mode.
7.9 Input / Output Functions Double click the IO Functions yellow button (in the middle of the Monitor window) to activate this window. The information displayed is the same as the information programmed with the HCT Programming Tool. The user can alter the Input% vs. Output%. The information will be updated to the DVC710 temporary memory once the Send Changes button has been pressed. The DVC710 then operates on the temporary values until the unit has been reset.
7.12 DVC61 (Display Module) and the Loader Monitor The following screen appears when connected directly to the DVC61. This screen enables the user to monitor the status of the Inputs, Baud rate, Supply Voltage, Serial Number and MAC ID as well as changing some of the features of the DVC61. When viewing this screen while connected to the DVC710 certain features will be “grayed out” because changes cannot be sent to the DVC61 through the DVC710.
7.13 J1939 and the Loader Monitor This screen appears when the Program Loader Monitor is connected to the DVC710 and the status button next to J1939 on the main menu screen is clicked. The J1939 status button appears on the main PLM Screen if J1939 messages programmed in the application. Messages This text box located in the upper left hand corner of the screen indicates the number of messages programmed into the current application.
Activating this button P/N: 021-00163, Rev. A.0 - for V5.2 Tools will close the J1939 Loader Monitor Screen.
8 Application Notes 8.1 CAN Bus Configuring DVC modules communicate using the CAN Bus protocol and wiring scheme. Each module (including the master DVC710) has an identifying CAN Bus MAC ID number. The two digits number MAC ID of each module must be unique. MAC ID numbers can be assigned in two ways. Using the Programming Tool each module in your project has a configuration window that contains a MAC ID entry field. Generally the default values will not need to be changed.
9 Hardware Installation Listed below is the hardware connection Pin Out list for the DVC710 P/N: 021-00163, Rev. A.0 - for V5.
10 Safety is Everyone’s Responsibility Safe work practices need to be observed in building the hardware connections, mounting the units to the machinery, and programming the controllers. 10.1 Safety in building the hardware connections Safety should be at the forefront of the development team’s thoughts. Many times during development, technicians and engineers will fabricate test fixtures, care must be taken not to short circuit power supplies and output devices.
11 Appendix A Compiler Keywords Always, ALWAYSCODE AI1BITS0, AI2BITS0, AI3BITS0 BACKLIGHTON, BACKLIGHTOFF BLINKCODE BREG9, BREG8, BREG7, BREG6, BREG5, BREG4, BREG3, BREG2, BREG1, BREG0, BITTEMP DIGBITS DVCLED_1, DVCLED_2, DVCLED_3, DVCLED_4 EECOMMAND, EEREAD, EEWRITE Else, ElseIf, End if FALSE, FAULTON, FAULTOFF, FAULTBLINK IF, IFTEST, INIT K9, K8, K7, K6, K5, K4, K3, K2, K1, K0, KNOKEY, KEND, KCLEAR, KF4, KF3, KF2, KF1, KHOME, KDOWN, KUP, KENTER, KRIGHT, KLEFT LEFTBIT LONGREG0, LONGREG1, LONGREG2, LONGREG3
12 Appendix B Programming Statement Examples Dim Fault as Uint Dim Timer_0 as Timer Dim Scale_Factor as EEmem Const Low_Limit = 256 PWM_1.Enable = True If (Dig_1 AND Dig_2) Then PWM_1 = Ana_1 / Scale_Factor ElseIf (Dig_1 OR Dig_2) Then PWM_1 = (Ana_1 / Scale_Factor) /2 ElseIf (Dig_3 XOR Dig_4) Then PWM_1 = ((Ana_1 / Scale_Factor) * 2) ElseIf (Dig_1 = NOT Dig_5) Then PWM_1 = 0x0200 Else PWM_1 = Low_Limit End If If (Uni_1 <= 5.5%) Then HS1 = True HS2 = False ElseIf (Uni_1 > 5.
13 Appendix C 13.1 Troubleshooting Systems Basic Electronics Theory and DVC System Troubleshooting Electronics is not nearly as scary as a high-pressure hydraulic leak and is much less messy. With basic understanding and simple tools, electronics can be applied and trouble shot easily and successfully. All of HCT's products involve electronics and HCT’s goal is to make it easy for you to quickly get them to work in your systems.
breaks or restrictions in the current's path through the chassis as they add resistance to the circuit and thereby lower the current flow and the resultant magnetic force produced. If more than one circuit uses the same wires, they interact, just as would happen if an undersized hose were used to return the fluid from many valves to tank. The pressure drop across the restriction in the wire is the resistance multiplied by the sum of all the currents using the wire.
Flashing LEDs on HCT’s products usually indicate that a problem. How to isolate the cause of the problem is what we will cover next. HCT products typically have a power LED to indicate that there is enough voltage to run the specific module/product. The power LED should be steady on! Off or flashing indicates a power problem and you must find it and fix it before worrying about any other symptoms.
Our DVC products have an available computer interface to your PC. This is by far the most effective way to setup and troubleshoot our products. We provide all of the information represented by the LEDs plus a lot more. Meters and running graphs give quick looks at what your system is doing, while enunciators tell you what the unit is trying to do. Data logging and remote operation can be used to consult with our staff to help debug difficult problems. 13.
14 Appendix D Current Regulation using PID techniques PID, proportional integral differential control, is a powerful and popular method of regulating systems. Typical applications include speed control and position control. HCT uses PID to control a proportional valve’s performance to compensate for the variations in system parameters such as the wire lengths and other resistance sources that can affect the positioning of a valve.
always get there before the system does. Proportional control alone is the simplest to use, but will result in some steady state error. Increasing the proportional term enough to limit the steady state error to a small value can cause over shoot and oscillation. The integral term adds up the error as a function of time and drives the output harder as the error increases and as time in error increases. An analogy is that the integral of the flow rate of water is the depth in a bucket.
15 Appendix E Pulse Width Modulation (PWM) and Dither HCT’s DVC products provide selectable PWM and Dither capabilities for each proportional valve in your system. Our default settings will generally suffice for most applications but a user can specify different values if desired. The DVC product’s control circuits and internal BIOS automatically handle the application of the PWM and Dither control signals. Current flowing through a valve’s coil creates a magnetic field.
SWITCH CLOSED +POWER +COIL VALVE DRIVER DIODE + VALVE POWER SUPPLY + - COIL -COIL CURRENT PWM SWITCH FIG. 2 PWR COM A simplified explanation of coil inductance is required to explain the preceding sentence. The coil's magnetic field stores more energy as the current increases, much as a flywheel stores mechanical energy as the rotational speed increases. Inductance is the measure of the electrical inertia that acts to oppose increasing or decreasing the coil current.
switch is on compared to the time the switch is off (FIG. 4). The switch would be always open and no coil current flows at a 0 % duty cycle. The switch is always closed and maximum current flows at 100 % duty cycle. SUPPLY COIL VOLTS 0V -0.5 V FULL COIL CURRENT 0A ON SWITCH OFF TIME FIG. 4 Stiction (static friction or friction when the valve is at rest compared to the lower friction when the valve is moving) and hysterisis can make controlling valves seem erratic and unpredictable.
LOW FREQUENCY PWM FULL COIL CURRENT 0A ON SWITCH OFF TIME FIG. 6 The amount of dither changes as the average coil current changes. The dither is a maximum at 50% duty cycle and decreases to zero at 0 and 100 % duty cycles. This may result in too much dither at some current levels and not enough at others. The dither current amplitude at a given average current is a function of coil inductance and PWM frequency.
HIGH FREQUENCY PWM WITH DITHER GEN FULL COIL CURRENT 0A DITHER GEN TIME FIG. 8 The dither current waveform can be regulated to maintain the desired amplitude regardless of the inductance of the coil. The dither amplitude decreases toward zero as the duty cycle nears 0 or 100%, but is constant over the rest of the current range. The valve will not be used at zero or full current in many systems and the dither amplitude will be constant over the usable range of coil current.
16 Appendix F Flowchart (Sequence of Operations) example This example will demonstrate how to create a flowchart and Sequence of Operations. This example may or may not work; it is for educational purposes only.
Step #2 Step #2a Holding position, wait for operator input for direction. if joystick is in center position. Stop motion Then Left wheels pump, 0% displacement, neither forward/reverse enable Right wheels pump, 0% displacement, neither forward/reverse enable if joystick is in forward position. Forward Then Left wheels pump, ramp 50% displacement, forward enable Right wheels pump, ramp 50% displacement, forward enable Step #2b if joystick is in back position.
Then, create the framework for the different bubbles Notice the bubbles are directly related to the flowchart steps, now the programmer needs to write code for the individual bubbles. This is a very simple example, but it gives a demonstration of how the flowchart can be created and then converted into the bubble logic. P/N: 021-00163, Rev. A.0 - for V5.
17 Appendix G HCT Terminology and Definitions Always bubble – Time critical logic needs to be contained here because this bubble will be executed based on the process update time(default 10ms). Analog Inputs – The state of the input is measured from 0-5vdc. Under the universal Input configuration the input ranges are (-1 to +1 volt), (0 to 5volts), (0 to 10volts), or (0 to 22mA). Bang Bang Valve – Discrete function on/off type valve. Compile – This function (Ctrl-M) will create a .
18 Appendix H Sensor Manufactures Specifications for inputs and output parameters can be located in section 3 Programming the DVC Family The following device manufactures have been used in projects with the DVC family. HCT is not endorsing the following manufactures, just simply giving the end user a partial list of usable devices. MTS sensos: http://www.mtssensors.com/ Linear position and liquid-level sensors. Cherry sensors: http://www.cherrycorp.com/ various switches. AI-tek sensors: http://www.ai-tek.
High Country Tek Inc. 208 Gold Flat Court Nevada City, CA, 95959. Customer Service Phone: 1 530 265 3236 www.highcountrytek.com High Country Tek Inc. was started in 1980 as a high quality contract electronics manufacturing company and we have grown over the years to expand not only this aspect of our business, but also moving into the arena of providing our many successful customers with innovative and elegant electro-hydraulic control solutions.