Modbus Rtac
Modbus Rtac
Modbus Rtac
REQUIREMENTS
This application guide requires the following to complete:
• An SEL real-time automation controller (RTAC) with Firmware Version R133 or later
and the FileIO license added.
• A computer with ACSELERATOR RTAC® SEL-5033 Software (compatible with
Firmware Version R133 or later), ACSELERATOR RTAC library extensions,
ACSELERATOR QuickSet® SEL-5030 Software, and a spreadsheet application.
• An SEL-734 Advanced Metering System or SEL-735 Power Quality and Revenue Meter.
INTRODUCTION
SEL develops market-leading metering products (the SEL-734 and the SEL-735) that support the
following protocols:
• SEL ASCII.
• SEL Compressed ASCII.
• SEL Distributed Port (LMD).
• SEL Fast Meter.
• MODM Translation.
• Modbus® RTU.
• Modbus TCP.
• MIRRORED BITS® communications.
• Distributed Network Protocol (DNP3).
• IEC 61850 Generic Object-Oriented Substation Event (GOOSE) and Manufacturing
Message Specification (MMS) (optional).
• Telnet.
Among these, Modbus is popular in industrial applications because of its historical basis in
process control and programmable logic controller (PLC) systems. For details on Modbus, see
Modicon Modbus Protocol Reference Guide, PI–MBUS–300 Rev. J (available at
http://modbus.org). This application guide assumes that you have some background knowledge
regarding Modbus. New users would be well-served reading the Modicon reference guide.
A B C
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
collect data from the meter, thus lessening network congestion, increasing performance, and
potentially lowering network bandwidth fees in a cellular-based remote communications scheme.
Figure 2 shows an example of how a user map can significantly increase the simplicity of the
polling methods shown in Figure 1. In this example, Default Registers 5, 14, and 24 have been
relocated to User Map Registers 0, 1, and 2. Now, a single poll can be created to request the
complete required data set.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 1 2
This application guide contains the following sections to illustrate the Access Level E (EAC)
password process as well as explore interesting and innovative ways to make use of the SEL
RTAC and the RTAC FileIO library to streamline the process of accessing, writing, and saving
settings via Modbus:
• Part 1: converting plain-text passwords to ASCII, formatting the ASCII values of the
password into the password registers, issuing a Function Code 10h (preset multiple
registers) command, and saving the settings.
• Part 2: adding a Modbus device to ACSELERATOR RTAC, setting up the tags, and
creating Modbus polls.
• Part 3: formatting a text file containing the custom Modbus map to send to the RTAC
using the RTAC FileIO Library.
• Part 4: creating RTAC logic programs to read the contents of the text file created in
Part 3, and then using the text file to simplify password and user map write functions.
• Part 5: setting up the RTAC to send the custom user map to the Modbus device.
ASCII characters are 8-bit encodings of letters, numbers, and symbols created according to the
ASCII table (see Figure 4).
In order to spell BLONDEL two registers at a time, you need to take BL and put it into the first
password register. The ASCII value for B is 66, and the ASCII value for L is 76. You must
convert those numbers into 8-bit binary to understand how the password register works. Refer to
Figure 6 and Figure 7 for the conversion.
0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Thus, you must write the decimal number 16972 to the first password register to represent BL
via Modbus. Repeat the same process for ON, DE, and L(null) to complete the password,
BLONDEL. For third-party Modbus clients, this conversion process allows you to put together
decimal values to send to the password registers to enable EAC access. The SEL RTAC platform
simplifies this process with its IEC 61131-3 logic engine. With the logic engine, you can define a
password string (or a variable containing a password string) and have the RTAC convert the
ASCII character pairs to decimals, as shown in the code snippet in Figure 10 (refer to
Appendix A for the code).
Lines 15 through 19 contain .oper.trigger values set to TRUE, which will set up all five registers
to be populated simultaneously with the decimal values in a Modbus Function Code 10h
command. See Figure 11 for a Wireshark® capture of a successful password exchange.
Step 1
Create a new project in ACSELERATOR RTAC. Insert an SEL-735, and then select Modbus
Protocol, as shown in Figure 12.
Step 2
Complete the process of adding a new device by assigning a unique name to the device
(SEL_735 in this example) and selecting the proper Connection Type for the application, as
shown in Figure 13.
Step 3
On the Settings tab, enter the proper communications parameters to communicate with the
SEL-735 Ethernet port, and enable the Modbus setting for Write Multiple Holding Registers
Supported, as shown in Figure 14.
IP Address
Step 4
Next, you need to add a set of holding registers to the project based on the address spaces for the
password, save settings, user map address, and user map value registers. These can be found in
the Modbus Register Map section of the SEL-735 Instruction Manual. Selections from the
Modbus Register Map section are shown in Figure 15.
The User-Mapped Registers have two sections: Mapped Register and Mapped Register
Value. Mapped Register is read-write (RW), and Mapped Register Value is read-only (R). The
registers from 9100 through 9224 contain the default addresses of the data that can be polled via
the user map, while registers 9225 through 9349 contain the metering or status data values
corresponding to the data points written in addresses 9100 through 9224. By writing a custom set
of addresses to registers 9100 through 9224, you can use a single poll to retrieve a custom data set
from registers 9225 to 9349.
Step 5
In ACSELERATOR RTAC, go to the Holding Registers tab and add 300 holding registers, as
shown in Figure 16.
Step 6
In the first five light-colored INC entries shown after adding the new holding registers, enter the
values shown in Figure 17 to set up Registers 70 to 74 as 16-bit unsigned most significant byte
(MSB) registers. Also set up the save settings register at Address 76.
Step 7
For the remaining 294 tags, change the tag type to APC by using <Ctrl+C> to copy the value for
APC and <Ctrl+V> to paste it. See Figure 18.
Step 8
Save your project. Next, you need to build tag names for the Modbus device. You can easily do
this in spreadsheet software, such as Microsoft® Excel®, as shown in Figure 19, or you can refer
to Appendix B for a completed set of tag names that can be copied and pasted into the project.
Step 9
Copy the contents of the tag names in Column E of the spreadsheet, from Rows 2 through 126, by
completing the following steps:
1. Drag the Tag Type header to the top of the screen, as shown in Figure 21, to sort by tag
type; expand the APC type.
2. Use paste (<Ctrl+V>) to add the TAG NAME column (Column E) from the spreadsheet.
3. Paste the REGISTER INDEX column (Column C) from the spreadsheet into the
Register Address Start column.
4. Change the Variation to 16 bit unsigned MSB for all entries.
1. Drag to sort by tag
type; expand the
3. Paste REGISTER
APC type.
INDEX column.
Step 10
For the other 125 values, you need to edit the spreadsheet to provide new tag names
(“INDEX_XX_VALUE”) for registers 9225 through 9349, which contain the actual data
requested. Add the values 9225 through 9349 into the adjacent column, and edit the formula as
shown in Figure 22.
Step 11
The finished spreadsheet will look similar to Figure 23 and will allow you to repeat the process
for the remaining holding registers and the register values 9225 through 9349. Paste the tag
names highlighted in Figure 23 into the remaining holding registers.
Step 12
Review the results of the copy-paste process in ACSELERATOR RTAC, as shown in Figure 24.
Then, save your project.
Step 13
Next, click on the Read Holding Register Polls tab, and enter 3 in the Quantity field, as shown
in Figure 25.
Step 1
Open the provided UserMap.txt file, which correlates via Modbus addresses to the data values
found in the default DNP3 map for the SEL-735 Meter.
Step 2
Change the register numbers in the text file to match the data points for your application. It is
extremely important to maintain the same format as the provided text file. Figure 27 shows the
correct formatting for each row of exactly four numbers after MOD_XXX:=.
Step 3
Save your completed UserMap.txt file.
Step 4
Log in to the web interface of the RTAC, and select the File Manager link, as shown in
Figure 28.
Step 5
Locate your UserMap.txt file by clicking Choose File, as shown in Figure 29. Navigate to the
UserMap.txt file, and then click Open.
Step 6
Click Upload to save the file to the RTAC File Manager, as shown in Figure 30.
PART 4: SET UP THE RTAC TO READ THE CUSTOMIZED MODBUS USER MAP
This section describes a step-by-step process for creating the necessary code to read the
UserMap.txt file and add the register numbers into an array. The FileIO library provides function
blocks that simplify asynchronous file management for basic file read and write operations.
Step 1
In your ACSELERATOR RTAC project, add a Virtual Tag List by clicking Insert > Tag Lists >
Virtual Tag List, as shown in Figure 31.
Step 2
Name the virtual tag list Virtual_Tags, as shown in Figure 32, and click Insert.
Step 3
Select the Inputs tab, and click the + symbol to add tags. Enter 2, and click Add.
Step 4
Rename the tag names as follows:
• SCADA_Write_Initiate
• Read_New_Map
Step 5
Save the project to accept the new names.
Step 6
Add a global variable list by clicking Insert > IEC 61131-3 > GVL, as shown in Figure 33.
Step 7
Complete the process by providing a unique name for your global variable list and clicking
Insert. In this example, the default of GVL1 is used for the name.
Step 8
Add a register array of 0 to 124 of type REAL named RegisterArray to GVL1, as shown in
Figure 34.
Step 9
Add the FileIO library to the project by clicking Insert > IEC 61131-3 > Library.
Step 10
Select the most recent version (highest numerical version number) of the FileIO library, and click
Insert, as shown in Figure 35.
Step 11
Add a program by clicking Insert > IEC 61131-3 > Program.
Step 12
Name the program ReadTxt, and select ST (structured text) as the language, as shown in
Figure 36. Click Insert.
Step 13
Configure the variables as shown in Figure 37. The ByteArray, FileName, FileReader,
FirstScan, Copied, SecondTask, Edge1, and StepNumber variables are used in the process of
reading the text file into the byte array. The ValueA, ValueB, ValueC, ValueD, and A variables
are used in the process of manipulating the read data in the byte array into the global variable
register array. The code for the ReadTxt program is available for copying and pasting in
Appendix A.
Step 14
Use the variables created in Step 13 to read the contents of the text file from the FileIO library
into the byte array. Due to the structure of the UserMap.txt file, the exact location of the register
values are known. With this knowledge, a simple FOR loop can be created to parse the data and
convert the data from a BYTE to a REAL data type. Once the data have been converted to a
REAL data type, they are then subtracted by 48 (the decimal representation of ASCII character
0), multiplied by the placeholder (10, 100, or 1000), and placed into the register array. Use the
example in Figure 38 to write the structured text for this program.
Step 15
Save the project to accept the changes made in the ReadTxt program.
PART 5: SET UP THE RTAC TO SEND THE CUSTOMIZED MODBUS USER MAP
This section describes a step-by-step process for creating the necessary code to trigger the order
of operations that sends the password to the meter, sends the values from the register array to the
corresponding Modbus user registers, and saves the settings. Because of the limitations of the
Function Code 10h in Modbus, you are limited to only performing 100 writes at a time. The
structured text code in the program Write_Modbus_User_Map (available in Appendix C) allows
you to send the password and the first 65 registers, wait 2 seconds, and then send the remaining
60 registers. An additional delay of 2 seconds is introduced between the writing of the last
60 registers and the sending of the save settings. A completed version of this program can be
found in Appendix C for copying and pasting purposes.
Step 1
In your ACSELERATOR RTAC project, add a program by clicking Insert > IEC 61131-3 >
Program.
Step 2
Name the program Write_Modbus_User_Map, and select ST as the language. Click Insert.
Step 3
Create the password variable, and enter the EAC password for your SEL meter (BLONDEL).
Create the rising-edge and falling-edge triggers as shown in Lines 4 and 5 of Figure 39. Create
timed-pulse function blocks as shown in Line 6, and create the Boolean variables as shown in
Line 7 by configuring the new program VAR section.
Step 4
Use the previously created variables to generate code to send the desired register values to the
Modbus user registers on the SEL Meter. Figure 40 shows what this program looks like once it
has been completed.
Step 5
Save the project to accept the changes made to the Write_Modbus_User_Map program.
Step 6
Send the project to your RTAC. After determining that your SEL-735 Meter is
communicating with the RTAC, you can test the write operation by manually forcing the
SCADA_Write_Initiate bit to TRUE, as shown in Figure 41. Click in the Prepared value
column until TRUE is displayed, and then press <F6> to force and <Shift+F6> to unforce the
tag.
One final test remains: You must check that the values stored in the INDEX_XX_VALUE tags
represent the expected metering values compared with the relay’s internal values. Figure 43
shows the result of Index 63, which contains the frequency in hertz (scaled up by 100) gathered
from Register 900.
CONCLUSION
This application guide describes different Modbus register maps (default and user) and presents a
unique application for dynamically programming an SEL-735 to use a custom user map. It also
demonstrates how to set an RTAC to control various SEL-735 holding registers, allowing secure,
password-protected updates to internal settings that are not exposed to the normal settings
interface. The use of the FileIO extension library is demonstrated as well to provide easy user
map settings adjustments via a user-uploaded text file.
By using the Modbus user map on the SEL-735, you have access to powerful features, such as
programmatically updated user map registers and extremely efficient polling capabilities.
Index User Map Address Value Address IndexTag Name Value Tag Name
33 9132 9257 USERMAP_INDEX_33 INDEX_33_VALUE
34 9133 9258 USERMAP_INDEX_34 INDEX_34_VALUE
35 9134 9259 USERMAP_INDEX_35 INDEX_35_VALUE
36 9135 9260 USERMAP_INDEX_36 INDEX_36_VALUE
37 9136 9261 USERMAP_INDEX_37 INDEX_37_VALUE
38 9137 9262 USERMAP_INDEX_38 INDEX_38_VALUE
39 9138 9263 USERMAP_INDEX_39 INDEX_39_VALUE
40 9139 9264 USERMAP_INDEX_40 INDEX_40_VALUE
41 9140 9265 USERMAP_INDEX_41 INDEX_41_VALUE
42 9141 9266 USERMAP_INDEX_42 INDEX_42_VALUE
43 9142 9267 USERMAP_INDEX_43 INDEX_43_VALUE
44 9143 9268 USERMAP_INDEX_44 INDEX_44_VALUE
45 9144 9269 USERMAP_INDEX_45 INDEX_45_VALUE
46 9145 9270 USERMAP_INDEX_46 INDEX_46_VALUE
47 9146 9271 USERMAP_INDEX_47 INDEX_47_VALUE
48 9147 9272 USERMAP_INDEX_48 INDEX_48_VALUE
49 9148 9273 USERMAP_INDEX_49 INDEX_49_VALUE
50 9149 9274 USERMAP_INDEX_50 INDEX_50_VALUE
51 9150 9275 USERMAP_INDEX_51 INDEX_51_VALUE
52 9151 9276 USERMAP_INDEX_52 INDEX_52_VALUE
53 9152 9277 USERMAP_INDEX_53 INDEX_53_VALUE
54 9153 9278 USERMAP_INDEX_54 INDEX_54_VALUE
55 9154 9279 USERMAP_INDEX_55 INDEX_55_VALUE
56 9155 9280 USERMAP_INDEX_56 INDEX_56_VALUE
57 9156 9281 USERMAP_INDEX_57 INDEX_57_VALUE
58 9157 9282 USERMAP_INDEX_58 INDEX_58_VALUE
59 9158 9283 USERMAP_INDEX_59 INDEX_59_VALUE
60 9159 9284 USERMAP_INDEX_60 INDEX_60_VALUE
61 9160 9285 USERMAP_INDEX_61 INDEX_61_VALUE
62 9161 9286 USERMAP_INDEX_62 INDEX_62_VALUE
63 9162 9287 USERMAP_INDEX_63 INDEX_63_VALUE
64 9163 9288 USERMAP_INDEX_64 INDEX_64_VALUE
65 9164 9289 USERMAP_INDEX_65 INDEX_65_VALUE
66 9165 9290 USERMAP_INDEX_66 INDEX_66_VALUE
67 9166 9291 USERMAP_INDEX_67 INDEX_67_VALUE
Index User Map Address Value Address IndexTag Name Value Tag Name
68 9167 9292 USERMAP_INDEX_68 INDEX_68_VALUE
69 9168 9293 USERMAP_INDEX_69 INDEX_69_VALUE
70 9169 9294 USERMAP_INDEX_70 INDEX_70_VALUE
71 9170 9295 USERMAP_INDEX_71 INDEX_71_VALUE
72 9171 9296 USERMAP_INDEX_72 INDEX_72_VALUE
73 9172 9297 USERMAP_INDEX_73 INDEX_73_VALUE
74 9173 9298 USERMAP_INDEX_74 INDEX_74_VALUE
75 9174 9299 USERMAP_INDEX_75 INDEX_75_VALUE
76 9175 9300 USERMAP_INDEX_76 INDEX_76_VALUE
77 9176 9301 USERMAP_INDEX_77 INDEX_77_VALUE
78 9177 9302 USERMAP_INDEX_78 INDEX_78_VALUE
79 9178 9303 USERMAP_INDEX_79 INDEX_79_VALUE
80 9179 9304 USERMAP_INDEX_80 INDEX_80_VALUE
81 9180 9305 USERMAP_INDEX_81 INDEX_81_VALUE
82 9181 9306 USERMAP_INDEX_82 INDEX_82_VALUE
83 9182 9307 USERMAP_INDEX_83 INDEX_83_VALUE
84 9183 9308 USERMAP_INDEX_84 INDEX_84_VALUE
85 9184 9309 USERMAP_INDEX_85 INDEX_85_VALUE
86 9185 9310 USERMAP_INDEX_86 INDEX_86_VALUE
87 9186 9311 USERMAP_INDEX_87 INDEX_87_VALUE
88 9187 9312 USERMAP_INDEX_88 INDEX_88_VALUE
89 9188 9313 USERMAP_INDEX_89 INDEX_89_VALUE
90 9189 9314 USERMAP_INDEX_90 INDEX_90_VALUE
91 9190 9315 USERMAP_INDEX_91 INDEX_91_VALUE
92 9191 9316 USERMAP_INDEX_92 INDEX_92_VALUE
93 9192 9317 USERMAP_INDEX_93 INDEX_93_VALUE
94 9193 9318 USERMAP_INDEX_94 INDEX_94_VALUE
95 9194 9319 USERMAP_INDEX_95 INDEX_95_VALUE
96 9195 9320 USERMAP_INDEX_96 INDEX_96_VALUE
97 9196 9321 USERMAP_INDEX_97 INDEX_97_VALUE
98 9197 9322 USERMAP_INDEX_98 INDEX_98_VALUE
99 9198 9323 USERMAP_INDEX_99 INDEX_99_VALUE
100 9199 9324 USERMAP_INDEX_100 INDEX_100_VALUE
101 9200 9325 USERMAP_INDEX_101 INDEX_101_VALUE
102 9201 9326 USERMAP_INDEX_102 INDEX_102_VALUE
Index User Map Address Value Address IndexTag Name Value Tag Name
103 9202 9327 USERMAP_INDEX_103 INDEX_103_VALUE
104 9203 9328 USERMAP_INDEX_104 INDEX_104_VALUE
105 9204 9329 USERMAP_INDEX_105 INDEX_105_VALUE
106 9205 9330 USERMAP_INDEX_106 INDEX_106_VALUE
107 9206 9331 USERMAP_INDEX_107 INDEX_107_VALUE
108 9207 9332 USERMAP_INDEX_108 INDEX_108_VALUE
109 9208 9333 USERMAP_INDEX_109 INDEX_109_VALUE
110 9209 9334 USERMAP_INDEX_110 INDEX_110_VALUE
111 9210 9335 USERMAP_INDEX_111 INDEX_111_VALUE
112 9211 9336 USERMAP_INDEX_112 INDEX_112_VALUE
113 9212 9337 USERMAP_INDEX_113 INDEX_113_VALUE
114 9213 9338 USERMAP_INDEX_114 INDEX_114_VALUE
115 9214 9339 USERMAP_INDEX_115 INDEX_115_VALUE
116 9215 9340 USERMAP_INDEX_116 INDEX_116_VALUE
117 9216 9341 USERMAP_INDEX_117 INDEX_117_VALUE
118 9217 9342 USERMAP_INDEX_118 INDEX_118_VALUE
119 9218 9343 USERMAP_INDEX_119 INDEX_119_VALUE
120 9219 9344 USERMAP_INDEX_120 INDEX_120_VALUE
121 9220 9345 USERMAP_INDEX_121 INDEX_121_VALUE
122 9221 9346 USERMAP_INDEX_122 INDEX_122_VALUE
123 9222 9347 USERMAP_INDEX_123 INDEX_123_VALUE
124 9223 9348 USERMAP_INDEX_124 INDEX_124_VALUE
125 9224 9349 USERMAP_INDEX_125 INDEX_125_VALUE
///// Based on the addresses imported from the FileIO library text file into the
///// register array, write the addresses to the appropriate indices
SEL_735_MODBUS.USERMAP_INDEX_1.oper.SetMag:=RegisterArray[0];
SEL_735_MODBUS.USERMAP_INDEX_2.oper.SetMag:=RegisterArray[1];
SEL_735_MODBUS.USERMAP_INDEX_3.oper.SetMag:=RegisterArray[2];
SEL_735_MODBUS.USERMAP_INDEX_4.oper.SetMag:=RegisterArray[3];
SEL_735_MODBUS.USERMAP_INDEX_5.oper.SetMag:=RegisterArray[4];
SEL_735_MODBUS.USERMAP_INDEX_6.oper.SetMag:=RegisterArray[5];
SEL_735_MODBUS.USERMAP_INDEX_7.oper.SetMag:=RegisterArray[6];
SEL_735_MODBUS.USERMAP_INDEX_8.oper.SetMag:=RegisterArray[7];
SEL_735_MODBUS.USERMAP_INDEX_9.oper.SetMag:=RegisterArray[8];
SEL_735_MODBUS.USERMAP_INDEX_10.oper.SetMag:=RegisterArray[9];
SEL_735_MODBUS.USERMAP_INDEX_11.oper.SetMag:=RegisterArray[10];
SEL_735_MODBUS.USERMAP_INDEX_12.oper.SetMag:=RegisterArray[11];
SEL_735_MODBUS.USERMAP_INDEX_13.oper.SetMag:=RegisterArray[12];
SEL_735_MODBUS.USERMAP_INDEX_14.oper.SetMag:=RegisterArray[13];
SEL_735_MODBUS.USERMAP_INDEX_15.oper.SetMag:=RegisterArray[14];
SEL_735_MODBUS.USERMAP_INDEX_16.oper.SetMag:=RegisterArray[15];
SEL_735_MODBUS.USERMAP_INDEX_17.oper.SetMag:=RegisterArray[16];
SEL_735_MODBUS.USERMAP_INDEX_18.oper.SetMag:=RegisterArray[17];
SEL_735_MODBUS.USERMAP_INDEX_19.oper.SetMag:=RegisterArray[18];
SEL_735_MODBUS.USERMAP_INDEX_20.oper.SetMag:=RegisterArray[19];
SEL_735_MODBUS.USERMAP_INDEX_21.oper.SetMag:=RegisterArray[20];
SEL_735_MODBUS.USERMAP_INDEX_22.oper.SetMag:=RegisterArray[21];
SEL_735_MODBUS.USERMAP_INDEX_23.oper.SetMag:=RegisterArray[22];
SEL_735_MODBUS.USERMAP_INDEX_24.oper.SetMag:=RegisterArray[23];
SEL_735_MODBUS.USERMAP_INDEX_25.oper.SetMag:=RegisterArray[24];
SEL_735_MODBUS.USERMAP_INDEX_26.oper.SetMag:=RegisterArray[25];
SEL_735_MODBUS.USERMAP_INDEX_27.oper.SetMag:=RegisterArray[26];
SEL_735_MODBUS.USERMAP_INDEX_28.oper.SetMag:=RegisterArray[27];
SEL_735_MODBUS.USERMAP_INDEX_29.oper.SetMag:=RegisterArray[28];
SEL_735_MODBUS.USERMAP_INDEX_30.oper.SetMag:=RegisterArray[29];
SEL_735_MODBUS.USERMAP_INDEX_31.oper.SetMag:=RegisterArray[30];
SEL_735_MODBUS.USERMAP_INDEX_32.oper.SetMag:=RegisterArray[31];
SEL_735_MODBUS.USERMAP_INDEX_33.oper.SetMag:=RegisterArray[32];
SEL_735_MODBUS.USERMAP_INDEX_34.oper.SetMag:=RegisterArray[33];
SEL_735_MODBUS.USERMAP_INDEX_35.oper.SetMag:=RegisterArray[34];
SEL_735_MODBUS.USERMAP_INDEX_36.oper.SetMag:=RegisterArray[35];
SEL_735_MODBUS.USERMAP_INDEX_37.oper.SetMag:=RegisterArray[36];
SEL_735_MODBUS.USERMAP_INDEX_38.oper.SetMag:=RegisterArray[37];
SEL_735_MODBUS.USERMAP_INDEX_39.oper.SetMag:=RegisterArray[38];
SEL_735_MODBUS.USERMAP_INDEX_40.oper.SetMag:=RegisterArray[39];
SEL_735_MODBUS.USERMAP_INDEX_41.oper.SetMag:=RegisterArray[40];
SEL_735_MODBUS.USERMAP_INDEX_42.oper.SetMag:=RegisterArray[41];
SEL_735_MODBUS.USERMAP_INDEX_43.oper.SetMag:=RegisterArray[42];
SEL_735_MODBUS.USERMAP_INDEX_44.oper.SetMag:=RegisterArray[43];
SEL_735_MODBUS.USERMAP_INDEX_45.oper.SetMag:=RegisterArray[44];
SEL_735_MODBUS.USERMAP_INDEX_46.oper.SetMag:=RegisterArray[45];
SEL_735_MODBUS.USERMAP_INDEX_47.oper.SetMag:=RegisterArray[46];
SEL_735_MODBUS.USERMAP_INDEX_48.oper.SetMag:=RegisterArray[47];
SEL_735_MODBUS.USERMAP_INDEX_49.oper.SetMag:=RegisterArray[48];
SEL_735_MODBUS.USERMAP_INDEX_50.oper.SetMag:=RegisterArray[49];
SEL_735_MODBUS.USERMAP_INDEX_51.oper.SetMag:=RegisterArray[50];
SEL_735_MODBUS.USERMAP_INDEX_52.oper.SetMag:=RegisterArray[51];
SEL_735_MODBUS.USERMAP_INDEX_53.oper.SetMag:=RegisterArray[52];
SEL_735_MODBUS.USERMAP_INDEX_54.oper.SetMag:=RegisterArray[53];
SEL_735_MODBUS.USERMAP_INDEX_55.oper.SetMag:=RegisterArray[54];
SEL_735_MODBUS.USERMAP_INDEX_56.oper.SetMag:=RegisterArray[55];
SEL_735_MODBUS.USERMAP_INDEX_57.oper.SetMag:=RegisterArray[56];
SEL_735_MODBUS.USERMAP_INDEX_58.oper.SetMag:=RegisterArray[57];
SEL_735_MODBUS.USERMAP_INDEX_59.oper.SetMag:=RegisterArray[58];
SEL_735_MODBUS.USERMAP_INDEX_60.oper.SetMag:=RegisterArray[59];
SEL_735_MODBUS.USERMAP_INDEX_61.oper.SetMag:=RegisterArray[60];
SEL_735_MODBUS.USERMAP_INDEX_62.oper.SetMag:=RegisterArray[61];
SEL_735_MODBUS.USERMAP_INDEX_63.oper.SetMag:=RegisterArray[62];
SEL_735_MODBUS.USERMAP_INDEX_64.oper.SetMag:=RegisterArray[63];
SEL_735_MODBUS.USERMAP_INDEX_65.oper.SetMag:=RegisterArray[64];
SEL_735_MODBUS.USERMAP_INDEX_1.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_2.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_3.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_4.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_5.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_6.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_7.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_8.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_9.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_10.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_11.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_12.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_13.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_14.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_15.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_16.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_17.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_18.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_19.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_20.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_21.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_22.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_23.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_24.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_25.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_26.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_27.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_28.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_29.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_30.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_31.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_32.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_33.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_34.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_35.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_36.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_37.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_38.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_39.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_40.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_41.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_42.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_43.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_44.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_45.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_46.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_47.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_48.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_49.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_50.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_51.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_52.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_53.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_54.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_55.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_56.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_57.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_58.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_59.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_60.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_61.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_62.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_63.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_64.oper.trigger := TRUE;
Step1_Done:=TRUE;
ELSE
SEL_735_MODBUS.PASSWORD70.oper.trigger := FALSE;
SEL_735_MODBUS.PASSWORD71.oper.trigger := FALSE;
SEL_735_MODBUS.PASSWORD72.oper.trigger := FALSE;
SEL_735_MODBUS.PASSWORD73.oper.trigger := FALSE;
SEL_735_MODBUS.PASSWORD74.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_1.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_2.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_3.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_4.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_5.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_6.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_7.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_8.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_9.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_10.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_11.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_12.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_13.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_14.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_15.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_16.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_17.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_18.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_19.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_20.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_21.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_22.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_23.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_24.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_25.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_26.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_27.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_28.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_29.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_30.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_31.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_32.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_33.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_34.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_35.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_36.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_37.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_38.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_39.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_40.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_41.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_42.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_43.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_44.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_45.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_46.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_47.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_48.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_49.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_50.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_51.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_52.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_53.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_54.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_55.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_56.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_57.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_58.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_59.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_60.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_61.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_62.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_63.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_64.oper.trigger := FALSE;
END_IF
Delay1(IN:=Step1_Done,PT:=T#2S);
Edge3(CLK:=Delay1.q);
IF (Edge3.Q) THEN
SEL_735_MODBUS.USERMAP_INDEX_66.oper.SetMag:=RegisterArray[65];
SEL_735_MODBUS.USERMAP_INDEX_67.oper.SetMag:=RegisterArray[66];
SEL_735_MODBUS.USERMAP_INDEX_68.oper.SetMag:=RegisterArray[67];
SEL_735_MODBUS.USERMAP_INDEX_69.oper.SetMag:=RegisterArray[68];
SEL_735_MODBUS.USERMAP_INDEX_70.oper.SetMag:=RegisterArray[69];
SEL_735_MODBUS.USERMAP_INDEX_71.oper.SetMag:=RegisterArray[70];
SEL_735_MODBUS.USERMAP_INDEX_72.oper.SetMag:=RegisterArray[71];
SEL_735_MODBUS.USERMAP_INDEX_73.oper.SetMag:=RegisterArray[72];
SEL_735_MODBUS.USERMAP_INDEX_74.oper.SetMag:=RegisterArray[73];
SEL_735_MODBUS.USERMAP_INDEX_75.oper.SetMag:=RegisterArray[74];
SEL_735_MODBUS.USERMAP_INDEX_76.oper.SetMag:=RegisterArray[75];
SEL_735_MODBUS.USERMAP_INDEX_77.oper.SetMag:=RegisterArray[76];
SEL_735_MODBUS.USERMAP_INDEX_78.oper.SetMag:=RegisterArray[77];
SEL_735_MODBUS.USERMAP_INDEX_79.oper.SetMag:=RegisterArray[78];
SEL_735_MODBUS.USERMAP_INDEX_80.oper.SetMag:=RegisterArray[79];
SEL_735_MODBUS.USERMAP_INDEX_81.oper.SetMag:=RegisterArray[80];
SEL_735_MODBUS.USERMAP_INDEX_82.oper.SetMag:=RegisterArray[81];
SEL_735_MODBUS.USERMAP_INDEX_83.oper.SetMag:=RegisterArray[82];
SEL_735_MODBUS.USERMAP_INDEX_84.oper.SetMag:=RegisterArray[83];
SEL_735_MODBUS.USERMAP_INDEX_85.oper.SetMag:=RegisterArray[84];
SEL_735_MODBUS.USERMAP_INDEX_86.oper.SetMag:=RegisterArray[85];
SEL_735_MODBUS.USERMAP_INDEX_87.oper.SetMag:=RegisterArray[86];
SEL_735_MODBUS.USERMAP_INDEX_88.oper.SetMag:=RegisterArray[87];
SEL_735_MODBUS.USERMAP_INDEX_89.oper.SetMag:=RegisterArray[88];
SEL_735_MODBUS.USERMAP_INDEX_90.oper.SetMag:=RegisterArray[89];
SEL_735_MODBUS.USERMAP_INDEX_91.oper.SetMag:=RegisterArray[90];
SEL_735_MODBUS.USERMAP_INDEX_92.oper.SetMag:=RegisterArray[91];
SEL_735_MODBUS.USERMAP_INDEX_93.oper.SetMag:=RegisterArray[92];
SEL_735_MODBUS.USERMAP_INDEX_94.oper.SetMag:=RegisterArray[93];
SEL_735_MODBUS.USERMAP_INDEX_95.oper.SetMag:=RegisterArray[94];
SEL_735_MODBUS.USERMAP_INDEX_96.oper.SetMag:=RegisterArray[95];
SEL_735_MODBUS.USERMAP_INDEX_97.oper.SetMag:=RegisterArray[96];
SEL_735_MODBUS.USERMAP_INDEX_98.oper.SetMag:=RegisterArray[97];
SEL_735_MODBUS.USERMAP_INDEX_99.oper.SetMag:=RegisterArray[98];
SEL_735_MODBUS.USERMAP_INDEX_100.oper.SetMag:=RegisterArray[99];
SEL_735_MODBUS.USERMAP_INDEX_101.oper.SetMag:=RegisterArray[100];
SEL_735_MODBUS.USERMAP_INDEX_102.oper.SetMag:=RegisterArray[101];
SEL_735_MODBUS.USERMAP_INDEX_103.oper.SetMag:=RegisterArray[102];
SEL_735_MODBUS.USERMAP_INDEX_104.oper.SetMag:=RegisterArray[103];
SEL_735_MODBUS.USERMAP_INDEX_105.oper.SetMag:=RegisterArray[104];
SEL_735_MODBUS.USERMAP_INDEX_106.oper.SetMag:=RegisterArray[105];
SEL_735_MODBUS.USERMAP_INDEX_107.oper.SetMag:=RegisterArray[106];
SEL_735_MODBUS.USERMAP_INDEX_108.oper.SetMag:=RegisterArray[107];
SEL_735_MODBUS.USERMAP_INDEX_109.oper.SetMag:=RegisterArray[108];
SEL_735_MODBUS.USERMAP_INDEX_110.oper.SetMag:=RegisterArray[109];
SEL_735_MODBUS.USERMAP_INDEX_111.oper.SetMag:=RegisterArray[110];
SEL_735_MODBUS.USERMAP_INDEX_112.oper.SetMag:=RegisterArray[111];
SEL_735_MODBUS.USERMAP_INDEX_113.oper.SetMag:=RegisterArray[112];
SEL_735_MODBUS.USERMAP_INDEX_114.oper.SetMag:=RegisterArray[113];
SEL_735_MODBUS.USERMAP_INDEX_115.oper.SetMag:=RegisterArray[114];
SEL_735_MODBUS.USERMAP_INDEX_116.oper.SetMag:=RegisterArray[115];
SEL_735_MODBUS.USERMAP_INDEX_117.oper.SetMag:=RegisterArray[116];
SEL_735_MODBUS.USERMAP_INDEX_118.oper.SetMag:=RegisterArray[117];
SEL_735_MODBUS.USERMAP_INDEX_119.oper.SetMag:=RegisterArray[118];
SEL_735_MODBUS.USERMAP_INDEX_120.oper.SetMag:=RegisterArray[119];
SEL_735_MODBUS.USERMAP_INDEX_121.oper.SetMag:=RegisterArray[120];
SEL_735_MODBUS.USERMAP_INDEX_122.oper.SetMag:=RegisterArray[121];
SEL_735_MODBUS.USERMAP_INDEX_123.oper.SetMag:=RegisterArray[122];
SEL_735_MODBUS.USERMAP_INDEX_124.oper.SetMag:=RegisterArray[123];
SEL_735_MODBUS.USERMAP_INDEX_125.oper.SetMag:=RegisterArray[124];
SEL_735_MODBUS.USERMAP_INDEX_65.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_66.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_67.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_68.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_69.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_70.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_71.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_72.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_73.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_74.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_75.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_76.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_77.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_78.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_79.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_80.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_81.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_82.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_83.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_84.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_85.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_86.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_87.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_88.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_89.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_90.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_91.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_92.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_93.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_94.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_95.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_96.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_97.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_98.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_99.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_100.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_101.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_102.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_103.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_104.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_105.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_106.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_107.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_108.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_109.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_110.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_111.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_112.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_113.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_114.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_115.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_116.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_117.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_118.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_119.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_120.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_121.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_122.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_123.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_124.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_125.oper.trigger := TRUE;
SEL_735_MODBUS.USERMAP_INDEX_65.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_66.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_67.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_68.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_69.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_70.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_71.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_72.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_73.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_74.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_75.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_76.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_77.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_78.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_79.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_80.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_81.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_82.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_83.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_84.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_85.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_86.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_87.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_88.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_89.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_90.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_91.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_92.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_93.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_94.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_95.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_96.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_97.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_98.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_99.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_100.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_101.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_102.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_103.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_104.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_105.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_106.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_107.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_108.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_109.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_110.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_111.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_112.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_113.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_114.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_115.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_116.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_117.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_118.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_119.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_120.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_121.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_122.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_123.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_124.oper.trigger := FALSE;
SEL_735_MODBUS.USERMAP_INDEX_125.oper.trigger := FALSE;
END_IF
Delay2(IN:=Step2_Done,PT:=T#2S);
Edge4(CLK:=Delay2.q);
IF(Edge4.Q)THEN
SEL_735_MODBUS.SAVE_SETTINGS_SEND.oper.trigger:=TRUE;
ELSE
SEL_735_MODBUS.SAVE_SETTINGS_SEND.oper.trigger:=FALSE;
END_IF
FACTORY ASSISTANCE
We appreciate your interest in SEL products and services. If you have questions or comments,
please contact us at:
Schweitzer Engineering Laboratories, Inc.
2350 NE Hopkins Court
Pullman, WA 99163-5603 USA
Telephone: +1.509.332.1890
Fax: +1.509.332.7990
www.selinc.com • [email protected]