Actions

Difference between revisions of "External Data Input"

From Zenitel Wiki

(Event description)
(Additional information)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{A}}  
+
{{AI}}  
 
The EDI ports are defined in AlphaPro: [[Exchange_%26_System_%28AlphaPro%29#Serial_Ports|Exchange & System -> Serial Ports]].
 
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  
 
* The input message must have a termination character  
Line 26: Line 26:
 
==Additional information==
 
==Additional information==
 
*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 32: 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 37: 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.
+
{{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