Actions

Difference between revisions of "External Data Input"

From Zenitel Wiki

(Example)
(Additional information)
 
(21 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
{{AI}}
 +
The EDI ports are defined in AlphaPro: [[Exchange_%26_System_%28AlphaPro%29#Serial_Ports|Exchange & System -> Serial Ports]].
 +
* The input message must have a termination character
 +
* Maximum 128 characters. If longer strings, the first 128 characters will be returned, the rest will be ignored.
 +
* Parsing the content is done in the action string in the Event Handler
 +
 
==Event description==
 
==Event description==
 
{|  
 
{|  
 
|-
 
|-
|width="100pt"|'''Event Owner''':
+
|width="200pt"|'''Event Owner''':
 
|width="300pt"|EDI Text Config
 
|width="300pt"|EDI Text Config
 
|-
 
|-
 
|'''Event type''': || 28 - External Data Input
 
|'''Event type''': || 28 - External Data Input
 
|-
 
|-
|'''Subevent''': || 1 – 4: specifies which EDI port<br>0: matches all ports
+
|'''Subevent''': || 1 – 10: specifies which EDI port<br>0: matches all ports
 
|-
 
|-
 
|'''When change to ON''': || When valid data is received on EDI port
 
|'''When change to ON''': || When valid data is received on EDI port
Line 19: Line 25:
  
 
==Additional information==
 
==Additional information==
*Input message
 
:- The EDI port is defined in the ‘Serial Ports’ Setup
 
:- The input message must have a termination character. Max 128 char.
 
:- Parsing the content is done in the action string in the Event Handler
 
 
 
*Context parameters
 
*Context parameters
:- [[Edi (macro)|%edi]] is the input text where termination character is excluded
+
:- [[edi (macro)|%edi]] is the input text where termination character is excluded
 
:- [[%sev]] is the EDI port (sub-event)
 
:- [[%sev]] is the EDI port (sub-event)
  
Line 31: Line 32:
 
:* [[%scutc]] - Extract substring by byte (character) position
 
:* [[%scutc]] - Extract substring by byte (character) position
 
:* [[%scutf]] - Extract field, fields defined by delimiter character
 
:* [[%scutf]] - Extract field, fields defined by delimiter character
 +
:* [[%strlen]] - Return length of string
 
:* [[%sscan]] - Scan for string, extract rest of string after first match
 
:* [[%sscan]] - Scan for string, extract rest of string after first match
 
:* [[%scmp]]  - Compare strings
 
:* [[%scmp]]  - Compare strings
Line 36: Line 38:
 
:* [[%tmp]]  - Read temporary variable
 
:* [[%tmp]]  - Read temporary variable
  
 +
{{note| The NUL character (ASCII 0x00) cannot be used in the EDI string. The processing of the string will be terminated when receiving NUL.}}
  
 
== Example ==
 
== Example ==
 +
When receiving the text string "Start alarm 3", terminated by Line Feed character, play alarm message 3 (8193) to group 85:
  
[[Image:EDI - External Data Input (3).jpg|thumb|right|500px]]
+
[[Image:EDI example.PNG|thumb|left|1200px|Trigger event by text string from external device]]
 
+
<br style="clear:both;" />
The rule below  will allow you to issue commands to EDI port like this: 
 
* Input command on EDI serial port: '''connect,101,103'''
 
:- Generates internal command '''$CALL L101 L103'''
 
 
 
*Input command on EDI serial port: '''disconnect,101,103'''
 
:- Generates internal commands '''$C L101'''
 
  
tmp 0 "%scutf(%edi,\,,0)"
 
tmp 1 "%scutf(%edi,\,,1)"
 
tmp 2 "%scutf(%edi,\,,2)"
 
if %scmp(%tmp(0),connect)
 
  $CALL L%tmp(1) L%tmp(2)
 
  stop
 
endif
 
if %scmp(%tmp(0),disconnect)
 
  $C L%tmp(1)
 
endif
 
  
 
[[Category:Event Handler]]
 
[[Category:Event Handler]]
 
[[Category:Event types]]
 
[[Category:Event types]]

Latest revision as of 09:39, 10 October 2023

AI.png

The EDI ports are defined in AlphaPro: Exchange & System -> Serial Ports.

  • The input message must have a termination character
  • Maximum 128 characters. If longer strings, the first 128 characters will be returned, the rest will be ignored.
  • Parsing the content is done in the action string in the Event Handler

Event description

Event Owner: EDI Text Config
Event type: 28 - External Data Input
Subevent: 1 – 10: specifies which EDI port
0: matches all ports
When change to ON: When valid data is received on EDI port
When change to OFF: N/A
When related to: N/A


Additional information

  • Context parameters
- %edi is the input text where termination character is excluded
- %sev is the EDI port (sub-event)
  • Useful macros and statements
  • %scutc - Extract substring by byte (character) position
  • %scutf - Extract field, fields defined by delimiter character
  • %strlen - Return length of string
  • %sscan - Scan for string, extract rest of string after first match
  • %scmp - Compare strings
  • TMP - Set temporary variable
  • %tmp - Read temporary variable
Note icon The NUL character (ASCII 0x00) cannot be used in the EDI string. The processing of the string will be terminated when receiving NUL.


Example

When receiving the text string "Start alarm 3", terminated by Line Feed character, play alarm message 3 (8193) to group 85:

Trigger event by text string from external device