Page 1
User Manual JVM-407B - HMI 60879892 We automate your success.
Page 2
In the case of modifications, further developments or enhancements to products shipped in the past, a revised document will be supplied only if required by law, or deemed appropriate by Jetter AG. Jetter AG shall not be liable for errors in form or content, or for missing updates, as well as for damages or disadvantages resulting from such failure.
Page 4
Therefore, you must carefully read, understand and observe this document, and especially the safety instructions. In the case of missing or inadequate knowledge of this document Jetter AG shall be exempted from any liability. Therefore, the operating company is recommended to obtain the persons' confirmation that they have read and understood this manual in writing.
Page 5
Replacing the SD card on the HMI JVM-407B ................71 IP configuration .......................... 73 Factory settings ..........................74 The configuration memory ......................75 Configuration registers ......................... 76 Setting the IP address during runtime..................77 Making settings on the device web site ..................78 Jetter AG...
Page 6
Flash disk - Properties ....................... 175 SD memory card - Properties ....................176 USB flash drive - Properties ...................... 177 FTP server Logon............................180 Example: Windows FTP client....................181 Programming Abbreviations, module register properties and formats ............184 Jetter AG...
Page 7
File format ..........................256 Automatic retrieval of data file information ................. 257 Operating system update 12.1 Updating the operating system of an HMI ................260 OS update by means of JetSym ....................261 Operating system update via FTP ..................... 262 Jetter AG...
Page 8
Technical data .......................... 286 Technical specifications ......................287 Physical dimensions ........................290 Physical dimensions of the JVM-407B mounted on a support arm .......... 293 Operating parameters - Environment and mechanics .............. 295 Operating parameters - EMC ....................296 Index ............................297 Jetter AG...
Page 9
This chapter informs the user of basic safety instructions. It also warns the user of residual dangers, if there are any. Furthermore, it contains information on EMC. Contents Topic Page Basic safety instructions ................10 Instructions on EMI ..................12 Jetter AG...
Page 10
Basic safety instructions Introduction This device complies with the valid safety regulations and standards. Jetter AG attaches great importance to the safety of the users. Of course, the user should adhere to the following regulations: Relevant accident prevention regulations ...
Page 11
Jetter AG. The installation of such parts may impair the safety and the proper functioning of the device. Any liability on the part of Jetter AG for any damages resulting from the use of non-original parts and equipment is excluded. Transport The JVM-407B contains electrostatically sensitive components which can be damaged if not handled properly.
Page 12
To satisfy EMC requirements, connect the video cable shield to the module Video cable housing. The ground connections (pin 4 and pin 7) are insufficient for effective shielding. Connect the video cable shield to the threaded pins of the module housing: Jetter AG...
Page 13
JVM-407B Safety instructions Number Part Threaded pin of the module housing Washer Cable lug Lock washer Screw nut Jetter AG...
Page 15
Contents Topic Page Product description – JVM-407B ..............16 Parts and interfaces ..................17 Order references/options ................21 Physical dimensions ..................22 Physical dimensions of the JVM-407B mounted on a support arm .... 25 Jetter AG...
Page 16
1 protected digital output, 3 A 1 differential composite color signal (CVBS) video input for rearview camera 1 USB port (2.0) SD memory card slot for SD cards up to 8 GBytes Real-time clock with battery backup Jetter AG...
Page 17
USB port behind protective cover Function key F1 Function key F2 You can define the functions of the Digipot (control dial with digipot and of the function keys in pushbutton feature) your application program. Function key F3 Function key F4 Jetter AG...
Page 18
The illustration shows the display elements on the front panel. Number Control or display element LED 1 LED 2 LED 3 LED 4 LED 5 The LEDs illuminate the pictograms on the display. LED 6 LED 7 LED 8 LED 9 LED 10 Display screen Jetter AG...
Page 19
The illustration shows the connectors and parts on the rear panel. the rear panel Number Connector or part CANopen® connector Nameplate Video connector Power supply connector, inputs and outputs Four threaded bolts for fastening the device to the fitting panel Backup battery on the circuit board Loudspeaker Jetter AG...
Page 20
Connector jack for the Ethernet cable SD memory card slot LEDs on the bottom side The illustration shows the LEDs on the Ethernet port. Number Color Description Amber Blinks when active (data transfer) Green Lights up when connection has been established Jetter AG...
Page 21
JVM-407B Product description and design Order references/options Order reference The JVM-407B is available in several configurations. They can be ordered from Jetter AG stating the following item numbers: Item no. Order reference Name 10001079 JVM-407B-K00-O01 HMI with support arm 10001042...
Page 22
2 Product description and design Physical dimensions Physical dimensions The illustrations below show the physical dimensions of the JVM-407B in millimeters. Permitted installation The illustration shows the positions permitted for installation. positions Jetter AG...
Page 23
It should be possible to easily loosen the wing nut on the SD memory card locking bracket. It should be possible to exchange the battery at any time. The illustration shows the space required for the HMI JVM-407B. Jetter AG...
Page 24
The JVM-407B increases the temperature of the environment as a result of heat emission under load. Power consumption is 5 W. The JVM-407B operates without interruption at an ambient temperature of up to +65 °C. Installation location The JVM-407B is intended for installation in the driver's cabin. Jetter AG...
Page 25
JVM-407B Product description and design Physical dimensions of the JVM-407B mounted on a support arm Measurement unit All dimensions are stated in millimeters. Front view Side view Jetter AG...
Page 27
The programming tool JetSym 5.1.2 or higher is installed on the PC. Information for hotline If you wish to contact the hotline of Jetter AG in case of a problem, please requests have the following information on the JVM-407B ready: ...
Page 28
Introduction Each HMI JVM-407B can be identified by its nameplate attached to its enclosure. If you wish to contact the hotline of Jetter AG in case of a problem, please have information on the hardware revision and serial number ready.
Page 29
JVM-407B Identifying the JVM-407B Nameplate Nameplate The nameplate of a JVM-407B contains the following information: Number Description Product name Hardware revision Serial number Item number E1 type approval Jetter AG...
Page 30
The operating system of the JVM-407B provides several registers which let you read out the version numbers of the OS and its components. If you wish to contact the hotline of Jetter AG in case of a problem, please have this information ready.
Page 31
Version of the STX interpreter for the STX application program (JetVM version) Version numbers in The following screenshot shows a JetSym setup window displaying version JetSym setup registers. To have the version number displayed in the setup window of JetSym, select the format IP address. Jetter AG...
Page 32
Go to tab Connections and click the button LAN settings. In section Proxy Server click the button Advanced. The dialog Proxy Settings opens. In the Exceptions pane of the dialog Proxy Settings, enter IP address 192.168.*, as is shown in the illustration below. Jetter AG...
Page 33
JVM-407B Identifying the JVM-407B Page Info The page Info lets you retrieve the following information: Jetter AG...
Page 35
Configuration of the IP interface for the JVM-407B Contents Topic Page Interfaces ...................... 36 Interfaces on the center console with mounted support arm ....... 55 Installing the JVM-407B ................62 Replacing the battery and SD memory card ..........68 IP configuration ..................... 73 Jetter AG...
Page 36
Connecting the power supply ............... 38 Connecting digital inputs/outputs ..............41 Ignition - Switch-off delay ................44 Ethernet port ....................45 CAN interface ....................46 CAN bus cable - Specification ..............50 Connecting a video signal ................52 Jetter AG...
Page 37
The following examples shows how to connect a JVM-407B. Example The illustration shows an example of a wiring layout. Number Description CANopen® bus Video camera Power supply (battery) Ignition lock Input to control the display LEDs Output, e.g. to control a bypass relay Jetter AG...
Page 38
To start the JVM-407B, pin 2 (ignition +) must be connected with pin 1 or pin 12. The ignition control signal is issued when the key is in position Ignition ON. When the key is in position Ignition OFF, the JVM-407B is able to keep its status as ON. Jetter AG...
Page 40
4 Mounting and installation of the JVM-407B Manufacturer WÜRTH ELEKTRONIK Product description Crimp terminal (female) Item name WR-MPC3 series Manufacturer's item no. 622 001 137 22 Wire size: 0.2 ... 0.5 mm (AWG 24 ... 20) Jetter AG...
Page 41
Note on output 1 Because output 1 can source a current of up to 3 A, output 1 has been assigned to pins 3 and 13. Connect pin 3 and 13 in order to halve their current load. Jetter AG...
Page 42
Compatible mating parts for the 22-pin Molex Micro-Fit 3.0 connector are as follows: Manufacturer Molex Product description Female connector, 22 circuits, dual-row version, 3 mm pitch Item name Micro-Fit 3.0 Manufacturer's item no. 43025-2200 Wire size: 0.2 ... 0.5 mm (AWG 24 ... 20) Jetter AG...
Page 43
Wire size: 0.2 ... 0.5 mm (AWG 24 ... 20) Manufacturer WÜRTH ELEKTRONIK Product description Crimp terminal (female) Item name WR-MPC3 series Manufacturer's item no. 622 001 137 22 Wire size: 0.2 ... 0.5 mm (AWG 24 ... 20) Jetter AG...
Page 44
Terminal # 30 or DC 24 V) Ignition (+) Terminal # 15 3 + 13 Output, 3 A Terminal # 31 Supply voltage +U BATT (DC 12 V Terminal # 30 or DC 24 V) Terminal # 31 Jetter AG...
Page 46
To enable the resistor in the JVM-407B as bus termination resistor, connect Termination Resistor the TERM_CAN_1 pin with pin OUT_CAN_1_H. Pin Assignment The diagram shows the pin assignment of the connector for the CANopen® CANopen® 2 bus 2 (as viewed from the cable side): Description IN_CAN_2_H IN_CAN_2_L TERM_CAN_2 Jetter AG...
Page 47
To satisfy EMC requirements, connect the CAN cable shield to the module housing. Connection of pin 16 (shield) alone is insufficient for effective shielding. Connect the shielding of the CAN cable to the threaded pin of the module housing: Jetter AG...
Page 49
Wire size: 0.2 ... 0.5 mm (AWG 24 ... 20) Manufacturer WÜRTH ELEKTRONIK Product description Crimp terminal (female) Item name WR-MPC3 series Manufacturer's item no. 622 001 137 22 Wire size: 0.2 ... 0.5 mm (AWG 24 ... 20) Jetter AG...
Page 50
4 Mounting and installation of the JVM-407B CAN bus cable - Specification Diagram of the CAN bus Wire up Jetter AG CANopen® devices in accordance with the following wiring diagram. CAN_H CAN_H 120 Ohm 120 Ohm CAN_L CAN_L Number Description CAN bus Jetter AG CANopen®...
Page 51
25 m max. 0.3 m max. 1.5 m 500 kBaud 100 m max. 5 m max. 30 m 250 kBaud 250 m max. 10 m max. 60 m 125 kBaud 500 m max. 20 m max. 120 m Jetter AG...
Page 52
Video signal (-) Ground (GND) Video signal (-) Reserved (do not connect!) Note on Video Signal If no differential video signal is used, connect video signal (-) (pin 7) and GND (pin 6). DC 12 V DC 12 V Jetter AG...
Page 53
The ground connections (pin 4 and pin 6) are insufficient for effective shielding. Connect the video cable shield to the threaded pins of the module housing: Number Part Threaded pin of the module housing Washer Cable lug Lock washer Screw nut Jetter AG...
Page 54
Wire size: 0.2 ... 0.5 mm (AWG 24 ... 20) Manufacturer WÜRTH ELEKTRONIK Product description Crimp terminal (female) Item name WR-MPC3 series Manufacturer's item no. 622 001 137 22 Wire size: 0.2 ... 0.5 mm (AWG 24 ... 20) Jetter AG...
Page 55
Connecting digital inputs/outputs in the case of a mounted support arm ..57 CANopen® bus connection in the case of a mounted support arm ..... 59 Connecting the video signal in the case of a mounted support arm .... 61 Jetter AG...
Page 57
3 and 13. Connect pin 3 and 13 in order to halve their current load. Purpose of this This connector is also used for power supply. connector Connector specifications Type AMP Junior-Power-Timer (male) Number of pins Jetter AG...
Page 59
Mating part Compatible mating part of 10-pin AMP Junior-Power-Timer connector: Manufacturer Product description Female connector, 10 circuits, dual-row version, 5 mm pitch Item name Junior-Power-Timer Manufacturer's item no. 929504-4 Wire size: 0.5 ... 1.0 mm (AWG 20 ... 16) Jetter AG...
Page 60
4 Mounting and installation of the JVM-407B Manufacturer Product description Crimp terminal (female) Item name Junior-Power-Timer Manufacturer's item no. 927771 or 927779 (single) Wire size: 0.5 ... 1.0 mm (AWG 20 ... 16) Jetter AG...
Page 61
If the cables are run through the support arm, GND and the video signal V- are connected by default. That is, differential video signals cannot be used. Connector specifications Type: Jack M12 Number of pins Mating part The 5-pin M12 connector is a compatible mating part. Jetter AG...
Page 62
4 Mounting and installation of the JVM-407B 4.3 Installing the JVM-407B Introduction This chapter describes how to install the JVM-407B. Contents Topic Page Installing the HMI ..................63 Mounting the support arm ................66 Jetter AG...
Page 63
Avoid installation locations that are unsuitable from an ergonomic point of view: Extreme angles, which could make it difficult to see the HMI Unsuitable lighting conditions with reflection and glare Concealed installation locations that are difficult for the user to access Jetter AG...
Page 64
All dimensions in the illustration are in millimeters: Number Description Opening Outline of the front panel Installing the HMI The illustration shows how to install the device. Number Description Threaded pins on the JVM-407B housing Opening Fitting panel Jetter AG...
Page 65
Installing the strain relief Install strain reliefs for the connecting cables. Take care to leave enough space for the connectors. Connectors must not be obstructed, so that they can be removed in the event of a service requirement. Jetter AG...
Page 66
Concealed installation locations that are difficult for the user to access Preparing for installation Drill the required holes. Deburr the holes. All dimensions in the illustration are in millimeters: Number Description Holes for screws and cable feed-through Outline of the support arm base Jetter AG...
Page 67
Push the support arm onto the support arm base. It must click into place. Loosen the locking lever. Adjust the angle of the HMI so that it is comfortable for the user. Lock the HMI into place by tightening the locking lever. Jetter AG...
Page 68
The rated voltage of the battery is 3.0 V +/- 10 %. The battery is integrated, residing in an intermediate socket. Notes on SD card A 1 GB SD industrial memory card is available from Jetter AG. The item replacement number is 60873281. Contents Topic Page Replacing the battery of the HMI JVM-407B ..........
Page 69
The real-time clock must be reset Battery type The battery type is a CR1225 lithium button cell. You can order the battery from Jetter AG under the item number 60873666. The battery is placed in a socket. Battery compartment The illustration below shows where the battery compartment is located in the JVM-407B.
Page 70
Voltage is too low. Voltage is OK. Once the battery has been replaced, enter 1 into this register. Register 367011 shows the battery voltage in millivolts. This function can be used to trigger a warning message in good time. Jetter AG...
Page 71
Remove the SD card locking bracket. To this end, twist off the wing nut. Insert the SD card through the service opening into the SD card slot until you feel it snap into place. In doing so, the SD card label must point downwards. Reinstall the SD card locking bracket. Jetter AG...
Page 72
Remove the SD card locking bracket. To this end, twist off the wing nut. Push the SD card slightly further into the slot. Release the SD card. The SD card unlatches and protrudes the slot. Remove the SD card from the SD card slot. Reinstall the SD card locking bracket. Jetter AG...
Page 73
IP addressing (IP address, port number, subnet masks etc.) Contents Topic Page Factory settings .................... 74 The configuration memory ................75 Configuration registers ................. 76 Setting the IP address during runtime ............77 Making settings on the device web site ............78 Jetter AG...
Page 74
IP address of the HMI 192.168.10.15 Subnet mask 255.255.255.0 IP address of default gateway 0.0.0.0 IP address of DNS server 0.0.0.0 Name of the platform JVM-C02 IP port number for debugger 52000 IP port number for JetIP 50000 Administrator password admin Jetter AG...
Page 75
IP address of default gateway 0.0.0.0 IP address of DNS server 0.0.0.0 Name of the platform JVM-C02 Suffix type of the name IP port number for debugger 52000 IP port number for JetIP 50000 Related topics Configuration registers (see page 76) Jetter AG...
Page 76
Type of the automatically generated suffix is attached to the device name MR 33 Device name through MR 64 IP port for OS update and communication between devices MR 65 IP port for debugger/setup in JetSym Related topics The configuration memory (see page 75) Jetter AG...
Page 77
Enter the desired IP address of the JVM-407B into 104531. Enter the desired subnet mask into register 104532. Enter the desired IP address of the default gateway into 104533. Result: The settings are completed. Communication is possible again. Related topics The configuration memory (see page 75) Jetter AG...
Page 78
Go to tab Connections and click the button LAN settings. In section Proxy Server click the button Advanced. The dialog Proxy Settings opens. In the Exceptions pane of the dialog Proxy Settings, enter IP address 192.168.*, as is shown in the illustration below. Jetter AG...
Page 79
Confirm your input by clicking the button To undo your input, click the button Undo. Click the button Save. This will save all the settings. Power cycle the device. Result: The device can be reached at the new IP address. Jetter AG...
Page 81
Initial commissioning in JetSym JetViewSoft is a SCADA system and JetSym is a programming tool. Both have been developed by Jetter AG. For more information refer to the Online Help in JetSym or JetViewSoft. Minimum requirements These instructions for initial commissioning apply to JetSym version 5.1.2 or higher and JetViewSoft version 4.0.2 or higher.
Page 82
This chapter covers the preparatory work for commissioning the JVM-407B. It also provides a first insight into the programming language JetSym STX. Contents Topic Page Preparatory work for initial commissioning ........... 83 Programming in the programming language JetSym STX ......84 Jetter AG...
Page 83
10. The function key F2 increases the address in steps of 1. The function key F3 decreases the address in steps of 1. The IP address, MAC address and OS version are also displayed. Jetter AG...
Page 84
*.es3. Path and file names are always converted into lower case letters. The file start.ini is automatically created on program download. It defines which application program is to be loaded. Jetter AG...
Page 85
This chapter describes how to create and configure in JetViewSoft and JetSym a visualization project for the ER-STX-CE platform. Contents Topic Page Initial commissioning in JetViewSoft ............. 86 Creating and configuring a visualization project in JetSym ......91 Jetter AG...
Page 86
In Project name, enter the name of the project. If necessary, change the project menu path under Location. For the sake of clarity, the end of the path name should be \Visu. Enter the name of the workspace into Workspace. Jetter AG...
Page 87
Enter the name of the first DataMask into the box Name. Leave all other settings unchanged This mask is automatically the active mask when launching the HMI. Confirm the settings by clicking OK. Result: Creation of the project is completed. Jetter AG...
Page 88
Where projectname is a placeholder representing the actual name of the project (in lowercase letters). Confirm your settings by clicking OK. Result: The deployment settings have now been made and you can transfer the files to the HMI. Jetter AG...
Page 89
The directory Data is empty. That is, there is no visualization application and no JVER (JetView Embedded Runtime) on the device. If JVER is not running (desktop background is visible), communication with JetSym is not possible. Remedy: Use JetViewSoft to upload a visualization application to the device. Jetter AG...
Page 90
If ..then ..the file \App\JetViewERS.cfg ... delete or rename this file. exists, ... The visualization application developed for the ER-STX-CE platform is displayed. Related topics Initial commissioning in JetSym (see page 91) Jetter AG...
Page 91
To create a new programming project in JetSym, proceed as follows: Step Action Launch JetSym Open the menu File. Select menu item New. Result: The dialog box New opens. Select JetSym STX project as the project type. Enter the project name. Jetter AG...
Page 92
Action Navigate to the tab Hardware and click it. Fully expand the Hardware tree. If you wish to set JVM-C02 as HMI or set interface parameters, double-click CPU. Result: The dialog box Configuration opens. From Controller/Type, select JVM-C02. Jetter AG...
Page 93
Select the context menu entry Add Files to Directory. Result: An Explorer window for selecting a file opens. Navigate to the STX folder of the JetViewSoft project. The default location for this is at [Project location]/ Name of the JetViewSoft project/STX. Select here the file VisualInterface.stxp. Jetter AG...
Page 94
Select the file Visualisation_Library_1.0.0.3.libpackage or an up-to-date version of this library. Click the button Open. Result: The library file has now been integrated into the library manager. So, you can now include the library into your JetSym project. Jetter AG...
Page 95
Switch to Files view. Select the folder Library. Open the shortcut menu by pressing the right mouse button. Select menu item Add Libraries..Result: JetSym opens the Library Manager. Select the visualization library and click the button Select. Jetter AG...
Page 96
You can expand the program now. In IntelliSense (Ctrl + Space bar), the visualization functions and the information from the VisualInterface header file are now available. You can transfer the program to the HMI by the shortcut Strg+F5. However, the program has no function as yet. Jetter AG...
Page 97
JetViewSoft lets you enter object names in the properties pane of the corresponding object. JetViewSoft incorporates this object name and the object ID into the file VisualInterface.stxp. Then, you can use the object name and ID in the program. Jetter AG...
Page 98
5 Initial commissioning Related topics Initial commissioning in JetViewSoft (see page 86) Jetter AG...
Page 99
This description applies to the platform JetView ER-STX-CE/PC. Additional information For more information refer to the JetSym and JetViewSoft online help. Contents Topic Page Entering data via digipot ................100 Using visualization commands to manipulate visualization objects ... 104 Jetter AG...
Page 100
During the build process JetSym will then create a TagDB file with the extension *.jde. This file holds the declarations of all variables. Storage location: JetSym creates a folder named Release. JetSym stores the file to this folder. Jetter AG...
Page 101
To this end, activate the shortcut menu in the workspace and click on Add TagDB File..JetViewSoft displays the variables declared in the TagDB file in the TagDB window. Use Drag&Drop to drag a variable into the window Variables. Jetter AG...
Page 102
When the PLUS sign appears, release the mouse button. Result: A link between visualization object and variable has been created. Select the corresponding dynamic feature, such as I/O. Result: JetViewSoft adds the variable and dynamic feature to the object properties. Jetter AG...
Page 103
The HMI shows the start screen. Now, you can use the digipot to enter a value in the object Edit Numeric. If you enter in the JetSym setup pane register number R 1000000, JetSym displays the set value. Jetter AG...
Page 104
Flag: Bool %MX 1; End_Var; Task Visu_STX Autorun Flag := FALSE; Loop Flag = FALSE Then Flag := TRUE; ELSE Flag := FALSE; End_If; Case Flag TRUE: VisuCmdAttribute (Ellipse_4000, ELLIPSE_ATTR_FILLATTRIBUTE, FillAttribute_Blue); Break; FALSE: VisuCmdAttribute (Ellipse_4000, ELLIPSE_ATTR_FILLATTRIBUTE, FillAttribute_Red); Break; Jetter AG...
Page 105
Button_10001: VisuCmdAttribute (Rectangle_3000; RECTANGLE_ATTR_FILLATTRIBUTE, FillAttribute_Blue); Break; End_Case; End_Function; Task Visu_STX Autorun End_Task; Note Once you have selected the macro function CallSTXFunctionEX() in a macro object, this function with its name is declared in the file VisualInterface.stxp as forward. Jetter AG...
Page 107
This is why you need, for example, a PDO-RX macro to invoke the function CanOpenAddPDORx(). Terms and In this chapter, the following terms and abbreviations are used: abbreviations: Term Description Node ID Node identification number of the device: This ID lets you address the device. Read only access Read/write access Jetter AG...
Page 109
This parameter specifies the number of the CAN interface. CANNo = 0 is assigned to the first interface. The number of CAN interfaces depends on the device. For information on the maximum number of CAN interfaces (CANMAX) refer to the chapters Technical Specifications and Quick Reference in the corresponding manual. Jetter AG...
Page 110
If the JVM-407B is in pre-operational state, it lets you access the object directory directory using SDO. NMT messages After initialization, NMT messages can be sent and received. The own heartbeat status can be changed with the function CanOpenSetCommand. Related topics STX Function CanOpenSetCommand (see page 111) Jetter AG...
Page 111
The time is published on the CAN bus. For more UCER information on structure refer to document DS301 by CiA e.V., CAN ID 0x100: CAN_TIME_PRODUCER_SEND = 1 (for sending TIME_OF_DAY once) Note The macro function CAN_CMD_NMT_Value(NodeID, CAN_CMD_NMT) is used to select the command CAN_CMD_NMT. Jetter AG...
Page 112
How to use this function Task: Enable time synchronization via CAN bus (CAN ID 0x100). (example 4) Result := CanOpenSetCommand(0, CAN_CMD_TIME_CONSUMER, CAN_TIME_CONSUMER_ENABLE); How to use this function Task: Publish the time on the CAN bus. (example 5) Result := CanOpenSetCommand(0, CAN_CMD_TIME_PRODUCER, CAN_TIME_PRODUCER_SEND); Jetter AG...
Page 113
0 ... 255 DataType Type of data to be received 2 ... 27 DataLength Data length of the global variable DataAddr DataAddr Global variable into which the received value is to be entered Busy Status of the SDO transmission Jetter AG...
Page 114
For information on the maximum number of CAN interfaces (CANMAX) refer to the chapters Technical Specifications and Quick Reference in the corresponding manual. Parameter data type The following data types can be received. Byte types CANopen® format Jetter format CANOPEN_INTEGER8 Byte CANOPEN_UNSIGNED8 CANOPEN_INTEGER16 Word CANOPEN_UNSIGNED16...
Page 115
Access to the device with the specified node ID was aborted. SDOACCESS_SYSERROR General internal error Macro definitions The following macros have been defined in connection with this function: SDOACCESS_FINISHED (busy) This macro checks whether communication has finished. SDOACCESS_ERROR (busy) This macro checks whether an error has occurred. Jetter AG...
Page 116
// Number of the bus line NodeID_Node_0, // Node ID SW_Version); // Manufacturer's software version // All nodes on the CAN bus are in PREOPERATIONAL state // Request manufacturer's software version per SDO Objectindex := 0x100A; Subindex := 0; Jetter AG...
Page 117
// DataLength Versionstring, // DataAddr busy); // Busy // Checking the command for successful execution (Result == Then // Waiting until communication is completed When SDOACCESS_FINISHED(busy) Continue; // Checking for errors (SDOACCESS_ERROR(busy)) Then // Troubleshooting End_If; End_If; End_Task; Jetter AG...
Page 118
Status of the SDO transmission Return value This function sends the following return values to the higher-level program. Return value Error when checking parameters Device in Stop status (own heartbeat status) DataType is greater than DataLength Insufficient memory Jetter AG...
Page 119
For information on the maximum number of CAN interfaces (CANMAX) refer to the chapters Technical Specifications and Quick Reference in the corresponding manual. Parameter data type The following data types can be received. Byte types CANopen® format Jetter format CANOPEN_INTEGER8 Byte CANOPEN_UNSIGNED8 CANOPEN_INTEGER16 Word CANOPEN_UNSIGNED16...
Page 120
SDOACCESS_ERROR (busy) This macro checks whether an error has occurred. Result := CanOpenDownloadSDO( How to use this function // CANNo // NodeID 0x1017, // wIndex // SubIndex CANOPEN_WORD, // DataType sizeof(var_Heartbeat_time), // DataLength var_Heartbeat_time, // DataAddr busy); // Busy Jetter AG...
Page 121
// Number of the bus line NodeID_Node_1, // Node ID Objectindex, // wIndex Subindex, // SubIndex CANOPEN_WORD, // DataType sizeof(Heartbeat_time), // DataLength Heartbeat_time, // DataAddr busy); // Busy // Checking the command for successful execution (Result == Then Jetter AG...
Page 122
6 CANopen® STX API // Waiting until communication is completed When SDOACCESS_FINISHED(busy) Continue; // Checking for errors (SDOACCESS_ERROR(busy)) Then // Troubleshooting End_If; End_If; // Resetting all devices on the CAN bus to OPERATIONAL status CanOpenSetCommand(CANNo, CAN_CMD_NMT_Value(CAN_CMD_NMT_ALLNODES, CAN_CMD_NMT), CAN_NMT_OPERATIONAL); End_Task; Jetter AG...
Page 123
Data type of data to be received 2 ... 13, 15 ... 27 DataLength Data length of the global variable VarAddr VarAddr Global variable into which the received value is entered EventTime Time lag between two telegrams (> InhibitTime) Jetter AG...
Page 124
In this chapter we use the point of view from the higher-level controller, the point of view! whereas in the document CiA DS 301 the point of view from the devices is used. This is why you need a PDO-RX macro to invoke the function CanOpenAddPDORx() from the controller. Jetter AG...
Page 126
6 CANopen® STX API Parameter data type The following data types can be received. Byte types CANopen® format Jetter format CANOPEN_INTEGER8 Byte CANOPEN_UNSIGNED8 CANOPEN_INTEGER16 Word CANOPEN_UNSIGNED16 CANOPEN_INTEGER24 CANOPEN_UNSIGNED24 CANOPEN_INTEGER32 CANOPEN_UNSIGNED32 CANOPEN_REAL CANOPEN_INTEGER40 CANOPEN_UNSIGNED40 CANOPEN_INTEGER48 CANOPEN_UNSIGNED48 CANOPEN_TIME_OF_DAY CANOPEN_TIME_DIFFERENCE CANOPEN_INTEGER56 CANOPEN_UNSIGNED46 CANOPEN_INTEGER64...
Page 127
// Device ID of node 1 NodeID_Node_1 = 64; // Device ID of node 2 NodeID_Node_2 = 102; // Device ID of node 3 Event_Time = 1000; // Event time in ms Inhibit_Time = 10; // Inhibit time in ms End_Const; Jetter AG...
Page 128
// Inhibit time CANOPEN_ASYNCPDORTRONLY); // Paramset CanOpenAddPDORx( CANNo, // Number of the bus line CANOPEN_PDO2_RX(NodeID_Node_1), // CANID // BytePos CANOPEN_DWORD, // DataType sizeof(Data_2_of_Node_1), // DataLength Data_2_of_Node_1, // VarAddr Event_Time, // Event time Inhibit_Time, // Inhibit time CANOPEN_ASYNCPDORTRONLY); // Paramset Jetter AG...
Page 129
// All nodes on the CAN bus are in PREOPERATIONAL state // Setting all nodes on the CAN bus to OPERATIONAL state CanOpenSetCommand(CANNo, CAN_CMD_NMT_Value(CAN_CMD_NMT_ALLNODES, CAN_CMD_NMT), CAN_NMT_START); // As of now, PDO telegrams are received/sent // from the higher-level controller End_Task; Jetter AG...
Page 130
0 ... 7 sent DataType Data type of data to be sent 2 ... 13, 15 ... 27 DataLength Data length of the global variable VarAddr VarAddr Global variable into which the value to be sent is entered Jetter AG...
Page 131
Example for calling up the macro: CANOPEN_PDO2_RX (64) The resulting CAN identifier is: 2C0h = 40h + 280h Default CAN identifier For CANopen® the following CAN identifier distribution is predefined. In this distribution case, the node number is embedded in the identifier. Jetter AG...
Page 132
1793 - 1919 701h - 77Fh NMT error control xxxxxxxx = Node number 1 - 127 Parameter data type The following data types can be received. Byte types CANopen® format Jetter format CANOPEN_INTEGER8 Byte CANOPEN_UNSIGNED8 CANOPEN_INTEGER16 Word CANOPEN_UNSIGNED16 CANOPEN_INTEGER24 CANOPEN_UNSIGNED24...
Page 133
JVM-407B CANopen® STX API Byte types CANopen® format Jetter format CANOPEN_VISIBLE_STRING String CANOPEN_OCTET_STRING CANOPEN_UNICODE_STRING CANOPEN_DOMAIN Parameter Paramset The following parameters can be transferred to the function. Several parameters can be linked together using the Or function. CANOPEN_ASYNCPDORTRONLY Send asynchronous PDOs by receiving an RTR frame.
Page 134
// Inhibit time in ms End_Const; Data_1_of_Node_1: Int; Data_2_of_Node_1: Int; Data_1_of_Node_2: Byte; End_Var; Task main autorun SW_Version: String; End_Var; SW_Version := 'v4.3.0.2004'; // Initializing CAN 0 CanOpenInit(CANNo, // Number of the bus line NodeID_Node_0, // Node ID SW_Version); // Manufacturer's software version Jetter AG...
Page 135
// All nodes on the CAN bus are in PREOPERATIONAL state // Setting all nodes on the CAN bus to OPERATIONAL state CanOpenSetCommand(CANNo, CAN_CMD_NMT_Value(CAN_CMD_NMT_ALLNODES, CAN_CMD_NMT), CAN_NMT_START); // As of now, PDO telegrams will be transmitted from the devices with node ID 74 // and 112. End_Task; Jetter AG...
Page 136
127; value range: 0 = Bootup 4 = Stopped 5 = Operational 127 = Preoperational 255 = Offline (default value) 40x229 ... Heartbeat timeout of nodes with ID 1 ... Word 40x355 127; value range: 0 ... 65535 [ms] Jetter AG...
Page 137
Error Register 0x81 Manufacturer error 0x00,NodeID,0x00,0x00,0x00 The message on the CAN bus looks as shown below: Own NodeID 5 Monitored NodeID 1 ID: 0x85 DLC = 8 Data: 0x30 0x81 0x81 0x00 0x01 0x00 0x00 0x00 Jetter AG...
Page 138
When the device with node ID 21 receives an emergency message, the value in register 400100 switches from 0 to 1 (true). Reset this value always to 0 (false). In doing so, you make sure that new emergency messages are displayed. Jetter AG...
Page 139
// or CiA DS 4xx (device profile) ErrorCode:word, // Error register (object 0x1001) ErrorRegister:byte, // 5 bytes can be used at the user's discretion ManufacturerArray:ByteArray5, // True = An error has occurred // False = Error has been cleared (acknowledged) bSet:bool ):Int; Jetter AG...
Page 140
Server 3 - SDO parameter parameter 1203 RECORD Server 4 - SDO parameter parameter Device type object (index The structure of the Device Type object is shown in the following table. 0x1000) Index Subindex Default Description 0x1000 0x0000012D Device type (read-only) Jetter AG...
Page 141
Composition of standard error field 2-byte LSB: Error code 2-byte MSB: Additional information Manufacturer device The structure of the Manufacturer Device Name object is shown in the name object (index following table. 0x1008) Index Subindex Default Description 0x1008 JVM-407B Hardware name Jetter AG...
Page 143
Node ID 1 ... 127 0 = Bootup byte 40x227 Status 4 = Stopped 5 = Operational 127 = Preoperational 255 = Offline (default) 40x229 ... Node ID 1 ... 127 0 ... 65535 ms word 40x355 timeout Jetter AG...
Page 145
STX function SAEJ1939GetSA() ..............150 STX function SAEJ1939AddRx() ..............151 STX function SAEJ1939AddTx() ..............154 STX function SAEJ1939RequestPGN() ............. 157 STX function SAEJ1939GetDM1() ............. 160 STX function SAEJ1939GetDM2() ............. 163 STX function SAEJ1939SetSPNConversion() ........... 166 STX Function SAEJ1939GetSPNConversion() .......... 167 Jetter AG...
Page 146
PGN 65262 Engine Temperature 1 - ET1 Part of the PGN Value Comment Transmission Repetition Rate Data Length Extended Data Page Data Page PDU Format PDU Specific PGN Supporting Information Default Priority Parameter Group Number 65262 in hex: 0xFEEE Jetter AG...
Page 147
Engine Coolant Temperature 1 byte Engine Fuel Temperature 1 3 - 4 2 bytes Engine Oil Temperature 1 5 - 6 2 bytes Engine Turbocharger Oil Temperature 1 byte Engine Intercooler Temperature 1 byte Engine Intercooler Thermostat Opening 1134 Jetter AG...
Page 148
Initializing the CAN-Bus 1. The JVM-407B has got Node SA 20 (0x14). The JVM-407B can now send messages with the set SA (and only these messages). Result := SAEJ1939Init(1, 20); Address Claiming Address Claiming has not been implemented. Jetter AG...
Page 149
(CANMAX) refer to the chapters Technical Specifications and Quick Reference in the corresponding manual. How to use this function Changing the SA during runtime. Result := SAEJ1939SetSA(1, 20); Important note! Messages are immediately sent/received using the new SA. Jetter AG...
Page 150
For information on the maximum number of SAEJ1939 interfaces (CANMAX) refer to the chapters Technical Specifications and Quick Reference in the corresponding manual. How to use this function This function returns the currently set SA. Result := SAEJ1939SetSA(1, actual_SA); Jetter AG...
Page 151
Time lag between two telegrams Default value: 1,000 ms (> Inhibit Time) InhibitTime Minimum time lag between two Default value: 100 ms telegrams received (< EventTime) Return value This function transfers the following return values to the higher-level program. Jetter AG...
Page 152
Bit types SAEJ1939_UNSIGNED8 SAEJ1939_BYTE SAEJ1939_UNSIGNED16 SAEJ1939_WORD SAEJ1939_UNSIGNED32 SAEJ1939_DWORD SAEJ1939_STRING SAEJ1939_1BIT SAEJ1939_2BIT SAEJ1939_3BIT SAEJ1939_4BIT SAEJ1939_5BIT SAEJ1939_6BIT SAEJ1939_7BIT TJ1939Rx: Struct Control structure TJ1939Rx // Status of received message byStatus : Byte; // Priority of received message byPriority : Byte; End_Struct; Jetter AG...
Page 153
// Receiving the fuel temperature value SAEJ1939AddRx (bySAEJ1939Channel, 65262, 0x00, 2, 1, SAEJ1939_BYTE, sizeof(Fueltemp), Fueltemp, EngineTemperatureTbl); End_Task; Engine manufacturer's For information on the data (priority, PGN, SA and data byte structure) refer to manual the manual provided by the engine manufacturer. Jetter AG...
Page 154
Global variable into which the value to be sent is entered TJ1939Tx Control structure EventTime Time lag between two telegrams Default value: 1,000 ms (> Inhibit Time) InhibitTime Minimum time lag between two Default value: 100 ms telegrams received (< EventTime) Jetter AG...
Page 155
SAEJ1939_6BIT SAEJ1939_7BIT TJ1939Tx : Struct Control Structure TJ1939Tx // Status of sent message byStatus : Byte; // Priority of sent message byPriority : Byte; End_Struct; Result := SAEJ1939AddTx ( How to use this function 0xFEEE, 0x00, SAEJ1939_BYTE, sizeof(var_Fueltemp), Jetter AG...
Page 156
EngineTemperatureTbl.byPriority := 6; SAEJ1939AddTx (bySAEJ1939Channel, 65262, 0x00, 2, 1, SAEJ1939_BYTE, sizeof(Fueltemp), Fueltemp, EngineTemperatureTbl); End_Task; Engine manufacturer's For information on the data (priority, PGN, SA and data byte structure) refer to manual the manual provided by the engine manufacturer. Jetter AG...
Page 157
The number of SAEJ1939 interfaces depends on the device. For information on the maximum number of SAEJ1939 interfaces (CANMAX) refer to the chapters Technical Specifications and Quick Reference in the corresponding manual. Jetter AG...
Page 158
The parameter byPriority is not explicitly specified when calling up the function. In this case, the default value is used. #Include "SAEJ1939.stxp" bySAEJ1939Channel : Byte; own_Source_Address : Byte; // PGN 65253 Engine Hours, Revolutions EngineTotalHours : Int; EngineHoursTbl : TJ1939Rx; End_Var; Jetter AG...
Page 160
The number of SAEJ1939 interfaces depends on the device. For information on the maximum number of SAEJ1939 interfaces (CANMAX) refer to the chapters Technical Specifications and Quick Reference in the corresponding manual. Jetter AG...
Page 161
ISPN = 0 byOC = 0 byFMI = 0 For older controllers (grandfathered setting): ISPN = 524287 (0x7FFFF) byOC = 31 (0x1F) byFMI = 127 (0x7F) Result := SAEJ1939GetDM1 ( How to use this function 0x00, stdm1stat_pow, stdm1msg_pow,); Jetter AG...
Page 163
The number of SAEJ1939 interfaces depends on the device. For information on the maximum number of SAEJ1939 interfaces (CANMAX) refer to the chapters Technical Specifications and Quick Reference in the corresponding manual. Jetter AG...
Page 164
ISPN = 0 byOC = 0 byFMI = 0 For older controllers (grandfathered setting): ISPN = 524287 (0x7FFFF) byOC = 31 (0x1F) byFMI = 127 (0x7F) Result := SAEJ1939GetDM2 ( How to use this function 0x00, stdm2stat_pow, stdm2msg_pow,); Jetter AG...
Page 166
The number of SAEJ1939 interfaces depends on the device. For information on the maximum number of SAEJ1939 interfaces (CANMAX) refer to the chapters Technical Specifications and Quick Reference in the corresponding manual. Result := SAEJ1939SetSPNConversion ( How to use this function 0xAE, Jetter AG...
Page 167
The number of SAEJ1939 interfaces depends on the device. For information on the maximum number of SAEJ1939 interfaces (CANMAX) refer to the chapters Technical Specifications and Quick Reference in the corresponding manual. Result := SAEJ1939GetSPNConversion ( How to use this function 0xAE, actual_conversion_method); Jetter AG...
Page 169
The files of the file system are categorized as follows: System directories or system files used by the operating system A range that is at the user's disposal Contents Topic Page Directories ....................170 Properties ....................174 Jetter AG...
Page 170
Root directory of the SD memory card \USB Root directory of the USB flash drive \App Directory for applications \Data Directory for data \Windows Windows CE system directory RAM disk drive Contents Topic Page Directories ....................171 Jetter AG...
Page 171
This text file defines which application will be started. \App\sys\ This directory holds the interpreter of the STX programming language and of the visualization. Do not make any changes here! autostart.xxx This application lets you update the operating system. Do not make any changes here! Jetter AG...
Page 172
When you insert an SD memory card into the SD card slot on the HMI, the dynamic directory named \SD is created. When no data storage medium is inserted, this directory is not visible. Directory \System \System This directory holds system-relevant files, such as the kernel, co-processor firmware, configuration data, EDS, etc. Jetter AG...
Page 173
When you insert a USB flash drive into the HMI, a dynamic directory named \USB is created. When no data storage medium is inserted, this directory is not visible. Directory \Windows \Windows This subdirectory holds the Windows CE files. Do not make any changes here! Jetter AG...
Page 174
When the HMI creates a file, it assigns its date and time. Date, time, and file size are not available for all system files. Contents Topic Page Flash disk - Properties ................175 SD memory card - Properties ..............176 USB flash drive - Properties ............... 177 Jetter AG...
Page 175
Directory and file names are permitted to have a total length of 63 characters. All characters except "/" and ".." are permitted for directory and file names The location of the directories App and Data is on the flash disk drive. Jetter AG...
Page 176
Upper- and lower-case are not distinguished. The following characters are not allowed in directory and file names: "/", "\", ":", "*", "?", "<", ">" and "|" Jetter AG cannot guarantee the proper functioning of all SD memory cards available on the market. Jetter AG...
Page 177
The following characters are not allowed in directory and file names: "/", "\", ":", "*", "?", "<", ">" and "|" There is no user/access administration. Jetter AG cannot guarantee the proper functioning of all USB flash drives available on the market. Jetter AG...
Page 179
To be able to use the functions described in this chapter, the programmer skills must be familiar with the following subjects: File system of the JVM-407B IP networks Commands Contents Topic Page Logon ......................180 Example: Windows FTP client ..............181 Jetter AG...
Page 180
As Server Name enter the IP address of the device. As User Name enter your user name, e.g. admin. As Password enter your password, e.g. admin. Factory settings The factory settings of the JVM-407B include one user account: NAME=admin PW=admin Jetter AG...
Page 181
Enter cd app to change to directory app. Use dir to display the content of the current directory. Enter help to view all available commands. Terminate the session and the FTP client using the command bye. Action Jetter AG...
Page 184
The notation for sample programs used in this document is listed in the table programs below: Notation Description Var, When, Task Keyword BitClear(); Commands 100 0x100 0b100 Constant numerical values // This is a comment Comment // ... Further program processing Jetter AG...
Page 185
Application program memory ..............188 Memory for volatile application program variables ........189 Memory for non-volatile application program registers ......190 Memory for non-volatile application program variables ......191 Special registers ..................193 Inputs and outputs ..................194 Flags ......................195 Jetter AG...
Page 186
Internal volatile RAM for storing OS data Memory access The user is not allowed to directly access the OS memory. To modify the OS, it must be updated. Related topics OS update (see page 260) Jetter AG...
Page 187
Size of internal flash disk: 368 MBytes Memory access By operating system By JetSym Via FTP connection By browser (via HTTP server) By means of file commands from within the application program Jetter AG...
Page 188
Files may also be stored to other directories (or on SD memory card or USB flash drive) Memory access By operating system By JetSym Via FTP connection By means of file commands from within the application program Related topics Application program (see page 269) Jetter AG...
Page 189
Autorun Loop Inc(Count); Delay(T#2s); End_Loop; End_Task; Setup pane The JetSym setup pane displays the content of the variable. Number Description Function Present content of the The content of the variable is incremented by variable one every two seconds. Jetter AG...
Page 190
Setup pane The JetSym setup pane displays the content of the register variable. Number Description Function Present content of the The content of the register variable is register variable incremented by one every time the program is started. Jetter AG...
Page 191
The JetSym setup pane displays the content of the variable. As the type of the four counters is byte, this will result in counter overflow after a relatively short time: Number Description Function Current content of the The content of the variable is incremented by variable Cnt1 one every second. Jetter AG...
Page 192
Cnt2 two every second. Current content of the The content of the variable is incremented by variable Cnt3 five every second. Current content of the The content of the variable is incremented by variable Cnt4 ten every second. Jetter AG...
Page 193
HMI and you turn the digipot, the value contained in the digipot special register is displayed by the status LEDs. Digipot: %VL 363000; Status_LEDs: Int %VL 362100; End_Var; Task Main Autorun Loop Status_LEDs := Digipot; End_Loop; End_Task; Jetter AG...
Page 194
// Switching the status LED on Status_LED_1 : Bit %XL 362100.1; End_Var; Task Main Autorun Loop Status_LED_1 = TRUE Then // LED 1 OFF Status_LED_1 := 0; Else // LED 1 ON Status_LED_1 := 1; End_If; Delay (T#1s); End_Loop; End_Task; Jetter AG...
Page 195
Merker1: Bool %MX 1; Input_Button_1: Bit %XL 361000.0; Input_Button_2: Bit %XL 361000.1; Status_LEDs: %VL 362100; End_Var; Task Main Autorun Merker1:= False; Loop Input_Button_1 Then Merker1 := True; ElseIf Input_Button_2 Then Merker1 := False; End_IF; Jetter AG...
Page 197
This chapter covers the programming of inputs and outputs, controls and ignition and switching off delay for the JVM-407B. Contents Topic Page Function keys ....................198 Digipot ......................200 Digital inputs and outputs ................202 Ignition and shutdown delay ............... 203 Jetter AG...
Page 202
IN11: %XL 362100.10; // Digital outputs Output: %XL 362200.0; End_Var; Task Main Autorun Loop // If In11 is set, then IN11 Then // Set the digital outputs Output := True; Delay(T#100ms); End_If; End_Loop; End_Task; Jetter AG...
Page 203
The HMI can be explicitly shut down. The HMI can be restarted. Function Shutdown (Reboot:Bool) :Bool; Function declaration Function parameters The Shutdown () function has the following parameters: Parameter Description Value Reboot System restart: True System shutdown: False Jetter AG...
Page 204
Shutdown () is carried out after a delay of 3 seconds. The Reboot parameter for the Shutdown () function has the value false. This means that the device will switch off. Ignition: Int %VL 361100; End_Var; Task Autorun Loop When Ignition Continue; Delay(3000); Shutdown(False); End_Loop; End_Task; Jetter AG...
Page 205
When using the real-time clock, the following restrictions apply: When the device is de-energized the power reserve is limited. The real-time clock has no automatic daylight savings time function. Contents Topic Page Technical data ..................... 206 Sample program - Real-time clock ............. 207 Jetter AG...
Page 206
The HMI sets date and time to their default values: Date: Saturday, January 01, 2000 Time: 0:00 a.m. Factory settings The factory settings for date is Saturday, 01 January, 2000. Jetter AG...
Page 207
Int; Year: Int; Trigger: Int; End_Struct; End_Type; RTCregs: TimeAndDate %VL 102921; End_Var; Task ShowTimeAndDate Autorun Dummy: Int; End_Var; Loop // One second delay time Delay(T#1s); // Copying current time and current date into RTC buffer Dummy := RTCregs.Trigger; Jetter AG...
Page 209
The JVM-407B provides several registers which are incremented by the operating system at regular intervals. Application These registers can be used to easily carry out time measurements in the application program. Contents Topic Page Description of the runtime registers ............210 Sample program - Runtime registers............212 Jetter AG...
Page 210
Application time base in application time base units Every [R 201003] * 10 ms this register value is incremented by one. Using the reset value 10 in register 201003, this register is incremented every 100 ms. Register properties Values -2,147,483,648 ... 2,147,483,647 (overflowing) Jetter AG...
Page 211
Values -2,147,483,648 ... 2,147,483,647 (overflowing) Type of access Read access System time base in microseconds R 201005 Every microsecond this register value is incremented by one. Register properties Values -2,147,483,648 ... 2,147,483,647 (overflowing) Type of access Read access Jetter AG...
Page 212
// Setting the application time base register to zero MilliSec := 0; // Writing the data array into the file FileWrite(File1, DataArray, SizeOf(DataArray)); // Registering the run time WriteTime := MilliSec; FileClose(File1); // Displaying the run time Trace(StrFormat('Time : %d [ms]$n', WriteTime)); Jetter AG...
Page 213
JVM-407B Programming Else // Displaying the error message Trace('Unable to open file!$n'); End_If; End_Loop; End_Task; Jetter AG...
Page 214
Plants requiring process visualization to ensure safe operation. They can be transferred into a save state if communications fails. When the service technician connects an HMI, the application program automatically displays additional status information. Contents Topic Page Operating principle ..................215 Programming ....................217 Jetter AG...
Page 215
If the OS flag has been set, the application program also sets the respective user flag. Each new telegram causes the timeout to restart. If telegrams cease to arrive, both special flags are reset by the controller upon expiry of the timeout interval. Jetter AG...
Page 216
10 Programming Step Description The application program detects that the device has reset the special flags and therefore takes appropriate action. When further telegrams start arriving, the device sets the corresponding OS flag. The user flag, however, remains reset. Jetter AG...
Page 217
0 (monitoring disabled) R 203005 Timeout in the case of STX debugging (Ethernet) This register contains the timeout for the STX debug server (Ethernet) in milliseconds. Register properties Values 0 ... 2,147,483,647 [ms] Value after reset 0 (monitoring disabled) Jetter AG...
Page 218
Result: A timeout has occurred. Check the corresponding OS flag. If ..then ..the OS flag is set, ... the connection was temporarily disrupted..the OS flag is reset, ... the connection is still disrupted. Jetter AG...
Page 219
FTP server (data) FTP client FTP server (controller) System logger HTTP server From the file 25, 110 E-mail client /EMAIL/email.ini Modbus/TCP server TCP, UDP 1024 - 2047 Various TCP, UDP IP configuration 50000, 50001 JetIP IP configuration 52000 Debug server Jetter AG...
Page 221
Connections remain open unintentionally Connections are closed unintentionally Contents Topic Page Initializing the user-programmable IP interface .......... 222 Establishing a connection ................223 Sending data ....................227 Receiving data .................... 229 Terminating a connection ................232 Jetter AG...
Page 222
The device JVM-407B initializes all OS-internal data structures of the user-programmable IP interface. Related topics Establishing a connection (see page 223) Terminating a connection (see page 232) Sending data (see page 227) Receiving data (see page 229) Jetter AG...
Page 223
A positive return value must be stored in a variable. It must be made available as a handle at activating the functions Send data, Receive data, and Terminate connection. Error during connection set-up Internal error Invalid parameter Timeout Jetter AG...
Page 224
If a server is to establish a TCP/IP connection to a client, you can invoke the a TCP/IP server function and assign the return value of a variable for further evaluation as follows: Result := ConnectionCreate(CONNTYPE_SERVER, IPTYPE_TCP, 46000, T#100s); Jetter AG...
Page 225
... then ... no error has occurred, the function is terminated and a positive value is returned as handle for further access to the connection. an error has occurred, the function is terminated and a negative value is returned. Jetter AG...
Page 226
Related topics Terminating a connection (see page 232) Sending data (see page 227) Receiving data (see page 229) Initializing the user-programmable IP interface (see page 222) Jetter AG...
Page 227
Using this function with If data are to be sent via a TCP/IP connection, you can invoke the function a TCP/IP connection and assign the return value of a variable for further evaluation as follows: Result := ConnectionSendData(hConnection, SendBuffer, SendLen); Jetter AG...
Page 228
You will not get any acknowledgment of the remote network client having received the data. Related topics Initializing the user-programmable IP interface (see page 222) Establishing a connection (see page 223) Terminating a connection (see page 232) Receiving data (see page 229) Jetter AG...
Page 229
0 ... 1,073,741,824 [ms] 0 = infinitely Return value The following return values are possible: Return value > 0 Number of received data bytes Error when receiving data, e.g. connection interrupted Invalid handle, e.g. receiving data via a UDP/IP client Timeout Jetter AG...
Page 230
If, with a server, data are to be received via a UDP/IP connection, you can a UDP/IP server invoke the function and assign the return value of a variable for further evaluation as follows: Result := ConnectionReceiveData(hConnection, IPAddr, IPPort, ReceiveBuffer, sizeof(ReceiveBuffer), T#10s); Jetter AG...
Page 231
The function is exited and the number of data, which have been copied into the receiving buffer, is returned. Related topics Initializing the user-programmable IP interface (see page 222) Establishing a connection (see page 223) Terminating a connection (see page 232) Sending data (see page 227) Jetter AG...
Page 232
This way, you can invoke the function and assign its return value to a variable for further utilization: Result := ConnectionDelete(hConnection); Related topics Establishing a connection (see page 223) Sending data (see page 227) Receiving data (see page 229) Initializing the user-programmable IP interface (see page 222) Jetter AG...
Page 233
IP interface can be read out. These registers can be used for debugging or diagnostic purposes. However, they can't be used for other functions such as establishing or terminating a connection. Contents Topic Page Register numbers ..................234 Register description ..................235 Jetter AG...
Page 234
Description MR 0 Selecting a connection MR 1 Type of connection MR 2 Transport protocol MR 3 IP address MR 4 IP port MR 5 State MR 6 Number of sent bytes MR 7 Number of received bytes Jetter AG...
Page 235
The value in this register shows whether the connection is a client or a server connection. Module register properties Values Client Server MR 2 Transport protocol The value in this register shows whether TCP or UDP is used as transport protocol. Module register properties Values Jetter AG...
Page 236
Since this is a signed 32-bit register and the sent bytes are added each time, the number range may be exceeded from the positive maximum value to the negative maximum value. Module register properties Values -2,147,483,648 ... 2,147,483,647 Jetter AG...
Page 237
Since this is a signed 32-bit register and the received bytes are added each time, the number range may be exceeded from the positive maximum value to the negative maximum value. Module register properties Values -2,147,483,648 ... 2,147,483,647 Jetter AG...
Page 238
Use case The use case is a Jetter AG controller or HMI communicating with a device from a third-party manufacturer. The user-programmable IP interface lets you make protocol adjustments in the application program of the Jetter AG device.
Page 240
// Save the return value (handle) ConnHandle := ResConnCreate; // Repeat, while the connection exists Loop // Set up a timeout for completely transmitting the data packet TimerStart(RecvTimer, RecvTimeOut * 5); // Initialize the counter for the received data ReceiveCnt := 0; Jetter AG...
Page 241
( ConnHandle, SendBuf, ReceiveCnt ); ResConnSend < Then // Increment the error counter value Inc(SendErrors); End_If; End_If; ResConnSend >= ResConnReceive >= Then // No error --> Counter OK to increment Inc(CommCnt); Else // Exit the loop Exit; End_If; Jetter AG...
Page 242
// Handle is no longer valid ConnHandle := 0; Trace('Connection closed.$n'); End_If; End_If; // Wait shortly for another connection to be tried Delay(T#3s); End_While; Else Trace('ConnectionInitialize() failed, server stopped !$n'); End_If; End_Task; Related topics Client (see page 243) Jetter AG...
Page 244
:= ConnectionCreate ( CONNTYPE_CLIENT, IPTYPE_TCP, TCP_ADDR, TCP_PORT, ConnTimeOut ); ResConnCreate > Then Trace('Connection established.'); // Save the return value (handle) ConnHandle := ResConnCreate; // Repeat, while the connection exists Loop ResConnSend := ConnectionSendData ( ConnHandle, SendBuf, AmountToReceive ); Jetter AG...
Page 245
// Exit the loop Exit; End_If; End_While; ResConnSend >= ResConnReceive >= Then // No error --> Counter OK to increment Inc(CommCnt); Delay(SendDelay); Else // Exit the loop Exit; End_If; End_Loop; ConnHandle > Then // Terminate the connection ConnectionDelete(ConnHandle); Jetter AG...
Page 246
// Handle is no longer valid ConnHandle := 0; Trace('Connection closed.$n'); End_If; End_If; // Wait shortly for another connection to be tried Delay(T#3s); End_While; Else Trace('ConnectionInitialize() failed, client stopped !$n'); End_If; End_Task; Related topics Server (see page 239) Jetter AG...
Page 247
The programmer is familiar with the file system. Definition In this description Complete Name means the name of the file or directory including the complete path. Contents Topic Page How it works ....................248 The file autostart.bat ................... 252 Data files ..................... 255 Jetter AG...
Page 248
11 Automatic copying of controller data 11.1 How it works Introduction This chapter describes how to load and execute the Autostart function. Contents Topic Page Loading the Autostart function ..............249 Executing the Autostart function ..............250 Terminating the Autostart mode ..............251 Jetter AG...
Page 249
Step Action Switch the device OFF. Insert the SD card completely into the SD slot or insert the USB flash drive into the USB port. Switch the device ON. Result: The device boots and loads the Autostart file. Jetter AG...
Page 250
When executing Autostart commands, the OS of the JVM-407B proceeds as function follows: Step Description The device loads the file \SD\autostart.bat from the SD card, or \USB\autostart.bat from the USB flash drive. 2 ... n The device processes the commands in ascending order. Jetter AG...
Page 251
As an option, you can trigger a reset. To this end, enter the following command as last line into the command file: del \System\reset.exe. Terminating the To terminate the Autostart mode, proceed as follows: Autostart mode Step Action Remove the SD card or the USB flash drive. Jetter AG...
Page 252
The command file is a text file with command and comment lines: You can insert blank lines as required. Start comment lines by REM. Contents Topic Page Available commands ................... 253 Example of a command file................. 254 Jetter AG...
Page 253
{skipped block} :end Available commands The syntax of these commands is in line with the standard Windows® command line syntax. For more information on the command syntax refer to http://msdn.microsoft.com/en-us/library/ee499728%28v=winembedded.60%29 .aspx A command listing can be found here Jetter AG...
Page 254
\app\autostart.exe goto end if exist \app\update.ini goto end if exist \app\usb_update_process_marker goto dm echo \data\update\jvm_ce0_1.00.0.04.os >\app\update.ini md \data\update copy \%1\jvm_ce0_1.00.0.04.os \data\update\jvm_ce0_1.00.0.04.os echo >\app\usb_update_process_marker md \app\progtest copy \%1\progtest\progtest.es3 \app\progtest\progtest.es3 copy \%1\register.da \app\register.da del \System\reset.exe goto end del \app\usb_update_process_marker del \data\update\jvm_ce0_1.00.0.04.os :end Jetter AG...
Page 255
Automatic copying of controller data 11.3 Data files Introduction This chapter covers the data file containing register and flag values to be read by the device. Contents Topic Page File format ....................256 Automatic retrieval of data file information ..........257 Jetter AG...
Page 256
Then follows the value of the variable separated by a blank or tab Variable ID Variable type Flags Integer register Floating-point registers SD1001 Example ; Data File - Jetter AG ; Registers 1000000 ... 1000005 1000000 12345 1000001 1000002 -1062729008 1000003...
Page 257
The devices reads in the file. The device maps the values to registers. Once the device has read in the file, it deletes the data file. The device loads the application program. Jetter AG...
Page 259
Operating system update 12 Operating system update Introduction Jetter AG are continuously striving to enhance the operating systems for their HMIs. Enhancing means adding new features, upgrading existing functions and fixing bugs. This chapter describes how to carry out operating system updates.
OS update by means of JetSym ..............261 Operating system update via FTP .............. 262 Operating system update via USB .............. 263 OS update via website of the device ............265 Operating system update via \App .............. 267 Jetter AG...
Result: The file selection dialog opens. Select the new OS file here. Result: In JetSym, a confirmation dialog opens. Launch the OS upload by clicking the button Yes. Wait until the update process is completed. To activate the transferred OS, re-boot the device. Jetter AG...
Enter into this file the path and the name of the OS file on the device, e.g. \app\jvm_ce0_1.00.0.07.os. Copy this file into the directory \App. Clear the FTP connection. To activate the transferred OS, re-boot the device. The new OS is being installed. Wait at least one minute. Restart the device. Jetter AG...
Replace all entries jvm_ce0_1.00.0.04 with the actual name of the OS file. Insert the USB flash drive into the JVM-407B. This can be done while the device is running. Result: The OS is being installed. Jetter AG...
Page 264
The table below lists the update steps in chronological order: order Step Description The files are transferred The device is reset The files are installed The device is reset The application appears The update process is documented in the file \App\update.log. Log file for documentation purposes Jetter AG...
Go to tab Connections and click the button LAN settings. In section Proxy Server click the button Advanced. The dialog Proxy Settings opens. In the Exceptions pane of the dialog Proxy Settings, enter IP address 192.168.*, as is shown in the illustration below. Jetter AG...
Page 266
The page Update lets you select an OS file (Browse...) and copy it to the device (Upload). If you click the button Last Update Log, the history of the last update is displayed. This lets you detect possible errors. Jetter AG...
Restart the device. Autostart.exe detects the update during the boot process, installs the files and restarts the device. Important! Do not interrupt this process. Open the file updatelog.txt to make sure that the update has completed without errors. Jetter AG...
JetSym and how to transmit them via the file system of the JVM-407B. Contents Topic Page Application program - Default path ............. 270 The application program is stored to the SD card or USB flash drive ..271 Loading an application program ..............273 Jetter AG...
Page 270
Name of the application program file Example: [Startup] Project = test_program Program = test_program.es3 Result: The application program is loaded from the file \App\test_program\test_program.es3. Related topics Storing the application program to the SD card (see page 271) Jetter AG...
Page 271
Path leading to the application program file Program Name of the application program file Example - SD Memory Card [Startup] Project = \SD\TestProgram Program = Test1.es3 Example - USB flash drive [Startup] Project = \USB\TestProgram Program = Test1.es3 Jetter AG...
Page 272
Result: The application program is loaded from the file Test1.es3 located in the directory TestProgram on the SD card (\SD\TestProgram\Test1.es3) or on the USB flash drive (\USB\TestProgram\Test1.es3). Related topics Application program - Default path (see page 270) Jetter AG...
Page 273
The OS reads the file /App/start.ini from the internal flash disk. The OS evaluates the Project entry. It contains the path leading to the application program file. The OS evaluates the Program entry. It contains the program name. The OS loads the application program from the file <Project>\<Program>. Jetter AG...
Page 275
Features Maximum number of CAN interfaces: 3 100800 Internal version number CANMAX: 2 100801 MAC Address (Jetter) 100802 MAC address (device) Maximum number of SAE J1939 interfaces Electronic name plate (device as a whole) Maximum number of CAN interfaces: 2...
Page 276
107512 Blocked sectors 201003 10 ms units for R 201002 (rw) 107513 Free sectors 107520 Size of the flash disk in bytes 201004 Runtime register in milliseconds (ro) 107521 Used memory in bytes 107522 Blocked memory in bytes Jetter AG...
Page 277
Maximum time slice per task in µs 210060 Task ID (for R210061) 210061 Priority for task [R210060] User-programmable IP interface 210063 Length of scheduler table Reading out the connection list 210064 Index in scheduler table 210065 Task ID in scheduler table Jetter AG...
Page 278
Video options 203128 2176 ... 2207 Bit 1: 1 = Vertical mirroring 203129 2208 ... 2239 203130 2240 ... 2271 364210 Video input - Brightness 203131 2272 ... 2303 364211 Video input - Contrast 364212 Video input - Saturation Jetter AG...
Page 280
Pin assignment - 8-pin Molex-Micro-Fit 3.0 View from cable side Video interface Description Supply voltage (+12 VDC) e.g. for a camera Video signal (+) Shield Ground (GND) Video signal (-) Ground (GND) Video signal (-) Reserved (do not connect!) Jetter AG...
Page 281
JVM-407B Appendix Appendix Introduction This appendix contains electrical and mechanical data, as well as operating data. Contents Topic Page Interfaces ....................282 Technical data ..................... 286 Index ......................297 Jetter AG...
Page 282
The USB port serves the following purposes: Updating the system via USB flash drive Interface for USB flash drives providing additional memory Interface for USB devices, such as mouse or keyboard Contents Topic Page Pin assignment - Overview ................. 283 Jetter AG...
Page 283
Input 12 Input 14 Terminal # 31 Supply voltage U BATT Terminal # 30 (DC 12 V or DC 24 V) Output 1 Input 1 Input 3 Input 5 Input 7 Input 9 Input 11 Input 13 Input 15 Jetter AG...
Page 284
The pin assignment of the CANopen® bus connector is described below. The illustration below shows the pin assignment of the connector as viewed from the cable side. Description IN_CAN_1_H TERM_CAN_1 OUT_CAN_1_L IN_CAN_2_L OUT_CAN_2_H IN_CAN_3_H TERM_CAN_3 OUT_CAN_3_L IN_CAN_1_L OUT_CAN_1_H IN_CAN_2_H TERM_CAN_2 OUT_CAN_2_L IN_CAN_3_L OUT_CAN_3_H Shield Jetter AG...
Page 285
The illustration below shows the pin assignment of the connector as viewed from the cable side. Description Supply voltage (DC 12 V) e.g. for a camera Video signal (+) Shield Ground (GND) Video signal (-) Ground (GND) Video signal (-) Reserved (do not connect!) Jetter AG...
Page 286
JVM-407B. Contents Topic Page Technical specifications ................287 Physical dimensions ................... 290 Physical dimensions of the JVM-407B mounted on a support arm ..293 Operating parameters - Environment and mechanics ........ 295 Operating parameters - EMC ..............296 Jetter AG...
Camera connection Voltage DC 12 V or U BATT, if U BATT < DC 13 V Current 1 A max. Type of video input Analog, differential composite color signal (CVBS) video input with PAL signal or NTSC signal. Jetter AG...
Page 288
Description SAEJ1939 ports Max. number of CAN ports CANMAX Memory configurations Parameter Description Number of remanent registers 30,000 Remanent memory for variables 120,000 bytes Flash disk: Total memory 512 MBytes Folder App 64 MBytes Folder Data 368 MBytes Jetter AG...
Page 289
JVM-407B Appendix Battery Parameter Description Operating life 4 years min. Battery type CR1225 (lithium button cell) Voltage Capacity 48 mAh Jetter AG...
Appendix Physical dimensions Physical dimensions The illustrations below show the physical dimensions of the JVM-407B in millimeters. Permitted installation The illustration shows the positions permitted for installation. positions Jetter AG...
Page 291
It should be possible to easily loosen the wing nut on the SD memory card locking bracket. It should be possible to exchange the battery at any time. The illustration shows the space required for the HMI JVM-407B. Jetter AG...
Page 292
The JVM-407B increases the temperature of the environment as a result of heat emission under load. Power consumption is 5 W. The JVM-407B operates without interruption at an ambient temperature of up to +65 °C. Installation location The JVM-407B is intended for installation in the driver's cabin. Jetter AG...
JVM-407B Appendix Physical dimensions of the JVM-407B mounted on a support arm Measurement unit All dimensions are stated in millimeters. Front view Side view Jetter AG...
Amplitude of shock: 25 g Vibration, broadband noise Complies with DIN EN 60068-2-6, severity class 2 Degree of protection Front panel: IP64 Installation directly in console Rear panel: IP10 Degree of protection Front panel: IP64 Mounted on support arm Rear panel: IP64 Jetter AG...
Pulse 3a/b: Function status A Pulse 4: Function status A Pulse 5B 8 ohms/80 V: Function status C Interference immunity to 100 V/m external magnetic field (Slight stripes in the camera image are not considered to be a disturbing influence) Jetter AG...
Page 297
Setting the IP address on the website of the device • 78 Transport • 10 Setting the IP address during runtime • 77 Nameplate • 29 Terminals • 36 Modifications • 10 Example - Wiring • 37 CAN • 46, 59 Digital inputs and outputs • 41, 57 Jetter AG...
Page 298
Index Version registers • 30 Making changes to visualizations (visualization command) • 104 Creating visualizations in JetSym • 91 in JetViewSoft • 86 Jetter AG...
Page 300
Jetter AG Graeterstrasse 2 71642 Ludwigsburg | Germany Phone +49 7141 2550-0 Fax +49 7141 2550-425 info@jetter.de www.jetter.de We automate your success.