6,504 bytes added
, 10:38, 27 March 2023
__TOC__
==Manual CAN Commands==
[[Image:Manual CAN Commands.png|right]]
To use Manual CAN Commands functionality, the user can select any of listed available CAN protocols in CAN I/O tab apart from "None". Afterwards, Manual CAN Commands functionality can be found at the bottom of Manual CAN Settings tab in configurator.
{| class="wikitable" style="border-style: solid; border-width: 0px;"
|+
| style="width: auto; text-align: left; background: #F6F6FB;" |'''NOTE!'''
| style="width: auto; text-align: left; background: #F6F6FB;" |Manual CAN Commands can be tested on FW 55.00.09.rev.08 or newer
|}
Manual CAN Commands functionality allows user to send configurable commands in CAN network. Up to 10 Manual CAN Commands could be configured by setting parameters using SMS/GPRS commands or in configurator at the bottom of Manual CAN Settings tab.<br><br>
The main benefit, of using Manual CAN Commands functionality is that the user is able to control the transport via CAN BUS without requiring additional specific commands implementation from the device's firmware side to perform certain action. To use this functionality, the user must have:
*TFT100 device with CAN interface;
*55.00.09.Rev.08 or newer firmware;
*Transport with CAN interface;
*Transport's CAN communication protocol (with information about frames, parameters, ID's, baud rate '''<u>and commands</u>''').
<br />[[Image:Manual CAN Commands Settings.png|center]]
==Manual CAN Commands Settings==
User can configure up to 10 Manual CAN Commands by setting CAN Type, CAN ID, Data, Data length, Send Type, Send Period, Send Count parameters.
[[Image:Manual CAN Send Type.gif]]
*<b>CAN Type</b> - Enables command and selects CAN ID Type which will be used in command.
*<b>CAN ID</b> - Defines command CAN ID.
*<b>Data</b> - Defines command data.
*<b>Data length</b> - Defines command data length in bytes.
*<b>Send Type</b> - Selects command send type:<br> - If ''Once'' is selected - command will be send one time after it is triggered.<br> - If ''Periodic'' is selected - command will be send periodically after it is triggered.<br> - If ''Response'' is selected - command will be send once as response to received manual can message.
*<b>Send Period</b> - Defines command send period in ms <u>if Periodic send type is selected</u>.
*<b>Response</b> - Defines Manual CAN message which will trigger command.
*<b>Send Count</b> - Defines command sending count <u>if Periodic send type is selected</u>:<br> - If set to 0 - command will be send infinitely until it is turned off by user.
{| class="wikitable"
! rowspan="2" |Parameter Id
! rowspan="2" |Name
! colspan="3" |Value
! rowspan="2" |Description
|-
!Min
!Max
!Default
|-
|16000 + 10 * Command number
|CAN Type
|0 - Disabled
|2 - Extended
|0 - Disabled
|0 - Disabled
1 - Standard
2 - Extended
|-
|16001 + 10 * Command number
|CAN ID
|00000000
|FFFFFFFF
|FFFFFFFF
|CAN ID Range
|-
|16002 + 10 * Command number
|Data
|0000000000000000
|FFFFFFFFFFFFFFFF
|FFFFFFFFFFFFFFFF
|CAN Data Range
|-
|16003 + 10 * Command number
|Data length
|0
|8
|0
|Length Bytes
|-
|16004 + 10 * Command number
|Send Type
|0 - Once
|2 - Response
|0 - Once
|0 - Once
1 - Periodic
2 - Response
|-
|16005 + 10 * Command number
|Send Period
|0
|2147483640
|0
|Period ms
|-
|16006 + 10 * Command number
|Response
|0
|29
|0
|Manual CAN No.
|-
|16007 + 10 * Command number
|Send Count
|0
|1000
|0
|Send Count
|}
==Important note!==
<b>Send Period details</b>
#If only CAN commands are being used:
#*Each command <i>period increases</i> approximately by <b>50 ms</b>.
#*Enabling all messages with the same period <i>adds delay</i> of <b>500-550 ms</b><br><code>Example: 100 ms Period selected for all commands - each command sending could take up to 550 ms.</code>
#If CAN Commands will be used together with CAN data reading:
#*CAN DATA reading <i>increase CAN commands period</i> approximately by <b>50 ms</b>.<br><code>Example: One command configured with 200 ms period - command sending could take up to 250 ms.</code>
#*Using all CAN commands <i>period increase</i> approximately by <b>150 ms</b>.
#CAN Commands will be used together with frequent (less than 5 seconds) records saving/sending:
#*One command <i>period increases</i> approximately by <b>100 ms</b>.
#*If all are commands used - <i>period increases</i> approximately by <b>200 ms</b>.
#CAN Commands will be used together with CAN reading and frequent (less than 5 seconds) records saving/sending:
#*Using one command <i>increases period</i> by approximately <b>250 ms</b><br><code>Example: One command configured with 50 ms period could have delay up to 300 ms.</code>
#*Enabling all commands could drastically <i>increase delay</i> - sending could take up to <b>1.5 s</b> (All commands configured with 100 ms period).
<font color="#0054A6"><b>We strongly advise:</b></font>
#If all commands are necessary with certain period - keep all commands with same sending period.
#If one particular command (ex. Heartbeat) is necessary to be sent with specific period - increase particular command period and increase other commands period as high as possible.<br><br><code>For example: Heartbeat 50 ms, all other commands 1000 ms.</code><br>That will give particular command priority, but other commands will be sent with a bigger delay than configured.<br><br>
#Do not leave any enabled CAN reading parameters if CAN reading is not used.
#Keep Data Acquisition settings with higher than 15 seconds.
{| class="wikitable" style="border-style: solid; border-width: 0px;"
|+
|-
| style="width: auto; text-align: left; background: #F6F6FB;" | '''NOTE!'''
| style="width: auto; text-align: left; background: #F6F6FB;" | <b>Send Period details</b><br>Records could drastically increase CAN command sending period as records could be generated every second by configured Features records, Data Acquisition settings or IO elements operands.<br>Each particular case has different affect for CAN Command delay, that depends on configuration and in case of issue should be investigated individually.
|}
==SMS/GPRS Commands for Manual CAN Commands functionality==
*<code>'''mcan_cmd:<Command No.>'''</code> - Used to trigger Manual CAN Command.
*<code>'''mcan_stop:<Command No.>'''</code> - Used to turn off periodic Manual CAN Command.
==Examples==
*<code>Example on '''how to configure Manual CAN Commands''' functionality can be found in [[How to configure Manual CAN Commands?|here]].</code>
[[Category:TFT100 Configuration]]