Wiki source code of User Defined Protocol

Version 6.1 by Hunter on 2023/08/24 18:12

Show last authors
1 = {{id name="HUserDefinedProtocol"/}}**User Defined Protocol** =
2
3 If the device does not support MODBUS standard, and the protocol is not list in PIStudio, then user can define the protocol by following instruction to realize simply communication functions like sending and receiving commands.
4
5 **HMI Settings**
6
7 |**Items**|**Settings**|**Note**
8 |Protocol|User defined protocol|
9 |Connection|RS485/RS232|
10 |Baud rate|2400~~187500|
11 |Stop bits|1/ 2|
12 |Data bits|7/ 8|
13 |Parity|None/ Even/ ODD|
14
15 **Operating Procedures**
16
17 Select [User defined protocol];
18
19 Click [User defined protocol] button to open setting window as below;
20
21 {{id name="I12.PLCProtocol_html_5ca13817ac812cf0.png"/}}[[image:xwiki_PIStudio_12.PLC+protocols_WebHome_b408ba9d902ab74.png||alt="12.PLC Protocol_html_5ca13817ac812cf0.png" height="367" width="437"]]
22
23 Configure user defined command;
24
25 {{id name="I12.PLCProtocol_html_11441e69f21e243d.png"/}}[[image:xwiki_PIStudio_12.PLC+protocols_WebHome_787974769a868b02.png||alt="12.PLC Protocol_html_11441e69f21e243d.png" height="525" width="553"]]
26
27 |**No**|**Item**|**Description**
28 |1|Instruction edit|The required command.
29 |2|Mode|Write to address or read from the address.
30 |3|Format|Encode format: HEX or ASCII.
31 |4|Other|(((
32 **No receiving: **HMI does not respond to the receiving command.
33
34 **Send after receiving:** HMI responds to the receiving command.
35 )))
36 |5|Manually send|(((
37 Respond once after trigger the address.
38
39 Address: set the trigger address.
40 )))
41 |6|Add|Save this setting.
42 |7|Cancel|Cancel current settings.
43 |(% rowspan="4" %)8|Add|Add a new command.
44 |Edit|Edit the selected command.
45 |Delete|Delete the selected command.
46 |Clear|Clear all the commands.
47 |9|Instruction list|Display all current commands.
48 |10|Address List|Display all the addresses added.
49 |(% rowspan="5" %)11|Import|Import the command files to the instruction list.
50 |Export|Export current command settings to local storage.
51 |Browse|Browse local command files.
52 |Advanced|Combine two commands.
53 |Exit|Complete editing and exit setting.
54
55 **Operating Procedures**
56
57 Click [Add] to create a new command, as below shows;
58
59 {{id name="I12.PLCProtocol_html_463f2cd3a8c338fc.png"/}}[[image:xwiki_PIStudio_12.PLC+protocols_WebHome_3f4e5937750417cf.png||alt="12.PLC Protocol_html_463f2cd3a8c338fc.png" height="116" width="88"]]
60
61 Select mode, [Read] or [Write], and then select Format, there are two options [Hex] and [ASCII]. As below shows;
62
63 {{id name="I12.PLCProtocol_html_a48eba3aa30b612d.png"/}}[[image:xwiki_PIStudio_12.PLC+protocols_WebHome_3d8ff56cf7f82736.png||alt="12.PLC Protocol_html_a48eba3aa30b612d.png" height="80" width="121"]]
64
65 Other settings: [No receiving] means HMI only sends command, and it would not process the reply command which from device. [Send after receiving] means HMI will be receiving the command which from device firstly, and then sending the command to device. From example, when HMI receiving [00 FF 00] firstly and then send command, as below shows
66
67 {{id name="I12.PLCProtocol_html_b36d990e126365d.png"/}}[[image:xwiki_PIStudio_12.PLC+protocols_WebHome_b0d07ae3a3253210.png||alt="12.PLC Protocol_html_b36d990e126365d.png" height="77" width="179"]]
68
69 Check [Manually send], and then please set the address for trigging, the setting range is 1~~10, and please put Bit switch in project screen for it, and [OneCtrlBit] register is for [Manually send].
70
71 Instruction edit, when the data format is HEX, please use two numbers to represent one 16-bit number. ASCII format using characters to input;
72
73 Check settings;
74
75 {{id name="I12.PLCProtocol_html_5ac7075d9e8dad8d.png"/}}[[image:xwiki_PIStudio_12.PLC+protocols_WebHome_5add9461ee12cf20.png||alt="12.PLC Protocol_html_5ac7075d9e8dad8d.png" height="185" width="554"]]
76
77 |**No**|**Items**|**Description**
78 |1|Add checking|Add checking command when receiving the data.
79 |(% rowspan="2" %)2|Back checking|Add control character in ASCII format.
80 |Differ with send check|Set return checking.
81 |(% rowspan="2" %)3|(% rowspan="2" %)Add control character|Start position: select the start position of the data which need to check.
82 |Length: The data length need to be checked.
83
84 Object settings;
85
86 {{id name="I12.PLCProtocol_html_1e776a838316fb5.png"/}}[[image:xwiki_PIStudio_12.PLC+protocols_WebHome_182442d06f670f79.png||alt="12.PLC Protocol_html_1e776a838316fb5.png" height="185" width="554"]]
87
88 |**No**|**Items**|**Description**
89 |(% rowspan="3" %)1|(% rowspan="3" %)Object settings|Object type: bit or word address;
90 |Address: the triggering address;
91 |Note: description to object;
92 |2|Byte order|The numerical display order;
93
94 Data length settings;
95
96 {{id name="I12.PLCProtocol_html_6959664a46b03b69.png"/}}[[image:xwiki_PIStudio_12.PLC+protocols_WebHome_1b920545a3d0cacd.png||alt="12.PLC Protocol_html_6959664a46b03b69.png" height="185" width="554"]]
97
98 |**No**|**Item**|**Description**
99 |(% rowspan="2" %)1|(% rowspan="2" %)Return data|Position: the start position of the return data.
100 |Length: the return data length.
101 |(% rowspan="2" %)2|(% rowspan="2" %)Write data|Position: the start position of the write data.
102 |Length: the write data length.
103
104 Instruction length settings
105
106 {{id name="I12.PLCProtocol_html_7e0d8613c5e12f7b.png"/}}[[image:xwiki_PIStudio_12.PLC+protocols_WebHome_475565227a48a777.png||alt="12.PLC Protocol_html_7e0d8613c5e12f7b.png" height="185" width="554"]]
107
108 |**No**|**Item**|**Description**
109 |1|Send length|The instruction data will only send designated data length.
110 |2|Return length|The responds data length.
111 |3|End code|Instruction will not be terminated until receiving [End code];
112
113 **Cable Wiring**
114
115 * **RS485**
116
117 {{id name="I12.PLCProtocol_html_5e9a81a14106da9e.png-5"/}}[[image:xwiki_PIStudio_12.PLC+protocols_WebHome_7b2556c42d43a768.png||alt="12.PLC Protocol_html_5e9a81a14106da9e.png" height="223" width="392"]]
118
119 {{id name="I12.PLCProtocol_html_1897d92be6948d58.png-6"/}}[[image:xwiki_PIStudio_12.PLC+protocols_WebHome_c6d16b5adff76549.png||alt="12.PLC Protocol_html_1897d92be6948d58.png" height="223" width="393"]]
120
121 * **RS232**
122
123 {{id name="I12.PLCProtocol_html_5de71638aab8e40d.png"/}}[[image:xwiki_PIStudio_12.PLC+protocols_WebHome_14237554685f9f87.png||alt="12.PLC Protocol_html_5de71638aab8e40d.png" height="205" width="385"]]
124
125 **✎Note:** COM3 only available in PI8000/PI9000 series.