Applies To:
  • CitectSCADA 1.00 1.01 1.10 1.11 1.20 2.00 2.01 3.00

Summary:
Question: I am writing my own protocol driver for Citect. What address template formats are avalible for compiling my IO device tag addresses? 

Solution:
Occasionally support for a new address template format is added to the Citect compiler. Currently the following formats are supported.

Template Format string

%M UnitType += decimal value << 24
%fN UnitType += decimal N
%F UnitType += decimal value
%E UnitType += hexadecimal value
%U UnitAddress = decimal value
%O UnitAddress = octal value
%X UnitAddress = hexadecimal value
%o UnitAddress = (UnitAddress * bitwidth) + octal value
%u UnitAddress = (UnitAddress * bitwidth) + decimal value
%*N UnitAddress *= N
%+N UnitAddress += N
%sN UnitType += UnitAddress / N; UnitAddress %= N
%B UnitAddress = (UnitAddress / 100) * 16 + UnitAddress % 100
%H UnitAddress = decimal and 1 hex value
%h UnitAddress = decimal and 1 octal value
%LN UnitType += decimal value; UnitAddress = hexadecimal N
%0 if char is '0' then UnitType++;
%<N UnitType += decimal value << N
%! Ignore the rest, or ignore stuff in quotes, allow ^"
%R UnitType += current record number
%N UnitAddress = current record number
%lN UnitType += 1 hex value << N (0-F)
%dN UnitType += 1 alpha value << N (0-9, A-Z)
%QN set Address boundary to N
[..] Optional field
{..|..|..} Choose one field
! Ignore rest of field
 

Keywords:
 

Attachments