Main Справочник - Schneider Electric Unity Pro

Справочник - Schneider Electric Unity Pro

0 / 0
How much do you like this book?
What’s the quality of the file?
Download the book for quality assessment
What’s the quality of the downloaded files?
HELP на русском языке по программному обеспечению Unity Pro.
Unity Pro - программное обеспечение для программирования ПЛК высокого уровня MODICON фирмы Schneider Electric.
Language:
russian
File:
RAR, 8.93 MB
Download (rar, 8.93 MB)
0 comments
 

You can write a book review and share your experiences. Other readers will always be interested in your opinion of the books you've read. Whether you've loved the book or not, if you give your honest and detailed thoughts then people will find new books that are right for them.
 

Manuals_Unity/baselib_rus.chm[bookmark: IDH_CONTENTS]		Стандартная библиотека





		 		[image: ]





[bookmark: IDH_HTMLHELP_BUG_BAIT][bookmark: D-SG-0006349.8]

В этом документе описаны функции и функциональные блоки стандартной библиотеки.

Этот документ действителен для Unity Pro версии 2.1.


[bookmark: D-SA-0007503.4]		[bookmark: IDH_KW708952][bookmark: IDH_KW709036][bookmark: IDH_KW709120]AND_***_***: Логическое И между таблицами и переменными

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0007409.1]

		[bookmark: D-SA-0007409.2]Описание функции
 

				Функция AND_***_*** выполняет логическое И (побитовое) между:

		[image: ]
		 
		элементами двух таблиц,



		[image: ]
		 
		переменной и элементами таблицы,



		[image: ]
		 
		элементами таблицы и переменной. 






		Примечание: Результатом всегда является таблица.





 

Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0007409.3]Доступные функции
 

				В основной библиотеке доступны следующие функции:

		[image: ]
		 
		AND_AREBOOL (логическое И двух таблиц EBOOL).



		[image: ]
		 
		AND_ARWORD (логическое И двух таблиц WORD).



		[image: ]
		 
		AND_ARWORD_WORD (логическое И каждого элемента таблицы WORD и переменной WORD).



		[image: ]
		 
		AND_ARDWORD_DWORD (логическое И каждого элемента таблицы DWORD и переменной DWORD).



		[image: ]
		 
		AND_ARDWORD (логическое И двух таблиц DWORD).





 
 Следующие функции доступны в библиотеке Obsolete :

		[image: ]
		 
		AND_ARINT_INT (логическое И каждого элемента таблицы INT и переменной INT).



		[image: ]
		 
		AND_ARDINT_DINT (логическое И каждого элемента таблицы DINT и переменной DINT).



		[image: ]
		 
		AND_ARINT (логическое И каждого элемента таблицы INT и соответствующих элементов другой таблицы INT).



		[image: ]
		 
		AND_ARDINT (логическое И каждого элемента таблицы INT и соответствующих элементов другой таблицы DINT).





 


 



		[bookmark: D-SA-0007409.4]Представление в FBD
 

				Представление отн; осится к 16-битной строке и таблице 16-битных строк:
 [image: ]
 


 



		[bookmark: D-SA-0007409.5]Представление в LD
 

				Представление относится к 16-битной строке и таблице 16-битных строк:
 [image: ]
 


 



		[bookmark: D-SA-0007409.6]Представление в IL
 

				Представление относится к 16-битной строке и таблице 16-битных строк:
 

LD Input_IN1



AND_ARWORD_WORD Input_IN2



ST Array1




 



		[bookmark: D-SA-0007409.7]Представление в ST
 

				Представление относится к 16-битной строке и таблице 16-битных строк:
 

Array1:= AND_ARWORD_WORD(Input_IN1,Input_IN2);




 



		[bookmark: D-SA-0007409.8]Описание параметров
 

				В следующей таблице описаны входные параметры:

		Параметр

		Тип

		Комментарий



		Input_IN1

		ARRAY [n..m] OF EBOOL, 
 WORD,
 ARRAY [n..m] OF WORD, 
 DWORD,
 ARRAY [n..m] OF DWORD, 
 INT,
 ARRAY [n..m] OF INT, 
 DINT,
 ARRAY [n..m] OF DINT 

		n и m - максимальный и минимальный пределы.



		Input_IN2

		ARRAY [n..m] OF EBOOL, 
 WORD,
 ARRAY [n..m] OF WORD, 
 DWORD,
 ARRAY [n..m] OF DWORD, 
 INT,
 ARRAY [n..m] OF INT, 
 DINT,
 ARRAY [n..m] OF DINT 

		n и m - положительные или отрицательные целые или ноль.





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Array1

		ARRAY [n..m] OF EBOOL, 
 ARRAY [n..m] OF WORD, 
 ARRAY [n..m] OF DWORD, 
 ARRAY [n..m] OF INT, 
 ARRAY [n..m] OF DINT 

		Элементы Array1 являются результатом логического побитового И между Input_IN1 и Input_IN2, которые могут быть соответственно:

		[image: ]
		 
		таблицей и одиночной переменной,



		[image: ]
		 
		таблицей и таблицей.















 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				BOOL

BOOL - это аббревиатура логического типа. Это элементарная единица данных в вычислениях. Переменная типа BOOL имеет значение: 0 (FALSE) или 1 (TRUE).
 Бит извлеченный из слова BOOL , например: %MW10.4.





		[image: ]

		

		[image: ]				




				WORD

Тип WORD кодируется в 16-битном формате и используется для выполнения обработки битовых строк.
 В этой таблице показаны нижние/верхние пределы для оснований, которые могут использоваться:
  

		Основание

		Нижний предел

		Верхний предел



		Шестнадцатеричное

		16#0

		16#FFFF



		Восьмеричное

		8#0

		8#177777



		Двоичное

		2#0

		2#1111111111111111





 Примеры представления
  

		Содержимое данных

		Представление по одному из оснований



		0000000011010011

		16#D3



		1010101010101010

		8#125252



		0000000011010011

		2#11010011










		[image: ]

		

		[image: ]				




				DWORD

DWORD - это аббревиатура двойного слова.
 Тип DWORD кодируется в 32-битном формате.
 В этой таблице показаны нижние/верхние пределы для оснований, которые могут использоваться:
  

		Основание

		Нижний предел

		Верхний предел



		Шестнадцатеричное

		16#0

		16#FFFFFFFF



		Восьмеричное

		8#0

		8#37777777777



		Двоичное

		2#0

		2#11111111111111111111111111111111





 Примеры представления:
  

		Содержимое данных

		Представление по одному из оснований



		00000000000010101101110011011110

		16#ADCDE



		00000000000000010000000000000000

		8#200000



		00000000000010101011110011011110

		2#10101011110011011110










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				DINT

DINT - это аббревиатура двойного целого формата (кодируется в 32 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 31) до (2 в степени 31) - 1.
 Прмер:

-2147483648, 2147483647, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				





[bookmark: D-SG-0011833.1]		[bookmark: IDH_KW2881816][bookmark: IDH_KW2881900][bookmark: IDH_KW2881984]SUB: Вычитание

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: IDH_IEC_SUB][bookmark: D-SG-0011834.1]

		[bookmark: D-SG-0011834.2]Описание функции
 

				Функция вычитает значение на входе Value2 из значения на входе Value1 и присваивает результат выходу.
 Типы данных значений входов и выходов должны быть идентичны.
 Для вычитания значений типа TIME Вы можете использовать блок SUB_TIME.
 EN и ENO могут быть сконфигурированы как дополнительные параметры.
 


 



		[bookmark: D-SG-0011834.3]Формула
 

				Difference = Value1 - Value2
 


 



		[bookmark: D-SG-0011834.4]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011834.5]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011834.6]Представление в IL
 

				Представление:
 

LD Value1
SUB Value2
ST Difference




 



		[bookmark: D-SG-0011834.7]Представление в ST
 

				Представление:
 

Difference := SUB (Value1, Value2) ;




 



		[bookmark: D-SG-0011834.8]Описание параметров
 

				Описание входных параметров:

		Параметр

		Тип данных

		Значение



		Value1

		INT, DINT, UINT, UDINT, REAL

		Уменьшаемое



		Value2

		INT, DINT, UINT, UDINT, REAL

		Вычитаемое





 Описание выходного параметра:

		Параметр

		Тип данных

		Значение



		Difference

		INT, DINT, UINT, UDINT, REAL

		Разность





 


 



		[bookmark: D-SG-0011834.15]Ошибка во время выполнения
 

				Системный бит %S18 устанавливается в 1, если

		[image: ]
		 
		был превышен диапазон на выходе (все допустимые типы данных)
 или






		[image: ]
		 
		установлено неавторизированное число с плавающей точкой для входного параметра типа REAL. В этом случае, состояние также помещается в %SW17.










 


				TIME

Тип TIME выражает продолжительность в миллисекундах. Кодированный в 32 битах, этот тип позволяет получить периоды от 0 до 2. 32-1 миллисекунд.
 Элементы типа TIME следующие: дни (d), часы (h), минуты (m), секунды (s) и миллисекунды (ms). Литеральное значение типа TIME представляется комбинацией вышеупомянутых типов с предшествующими символами T#, t#, TIME# или time#.
 Примеры: T#25h15m, t#14.7S, TIME#5d10h23m45s3ms





		[image: ]

		

		[image: ]				




				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				DINT

DINT - это аббревиатура двойного целого формата (кодируется в 32 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 31) до (2 в степени 31) - 1.
 Пример:
 -2147483648, 2147483647, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				UINT

UINT - это аббревиатура беззнакового целого формата (кодируется в 16 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 16) - 1.
 Пример:
 0, 65535, 2#1111111111111111, 8#177777, 16#FFFF.





		[image: ]

		

		[image: ]				




				UDINT

UDINT - это аббревиатура беззнакового двойного целого формата (кодируется в 32 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 32) - 1.
 Пример:
 0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				REAL

Вещественный тип кодируется в 32 битах.
 Диапазоны возможных значений выделены серым на следующем рисунке:
 [image: ]
 Когда результат вычислений: 

		[image: ]
		 
		между -1.175494e-38 и 1.175494e-38, он считается DEN,



		[image: ]
		 
		меньше -3.402824e+38, отображается символ -INF (для -бесконечности),



		[image: ]
		 
		больше +3.402824e+38, отображается символ INF (для +бесконечности),



		[image: ]
		 
		не определен (квадратный корень отрицательного числа), отображается символ NAN или NAN .








Примечание: Стандарт IEC 559 определяет два класса NAN: тихий NAN (QNAN) и сигнальный NaN (SNaN) QNAN - это NAN с установленным старшим битом мантиссы, а SNAN - это NAN со сброшенным старшим битом мантиссы (Бит номер 22). QNAN разрешены в большинстве арифметических операций без сигнала об исключении. SNAN обычно сигнализирует о неправильной операции, когда она применяется в качестве операнда арифметической операции (См. %SW17 и %S18).



Примечание: когда операнд DEN (ненормализованное число), результат не значим.





		[image: ]

		

		[image: ]				





[bookmark: D-SG-0015297.1]		[bookmark: IDH_KW2907908][bookmark: IDH_KW2907992][bookmark: IDH_KW2908076]SUB_TIME: Вычитание

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: IDH_IEC_SUB][bookmark: D-SG-0015298.3]

		[bookmark: D-SG-0015298.4]Описание функции
 

				Функция вычитает значение на входе TimeValue2 из значения на входе TimeValue1 и присваивает результат выходу.
 Типы данных всех входов и выхода должны быть идентичны. TIME.
 EN и ENO могут быть сконфигурированы как дополнительные параметры.
 


 



		[bookmark: D-SG-0015298.5]Формула
 

				Difference = TimeValue1 - TimeValue2
 


 



		[bookmark: D-SG-0015298.6]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0015298.7]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0015298.8]Представление в IL
 

				Представление:
 

LD TimeValue1
SUB TimeValue2
ST Difference




 



		[bookmark: D-SG-0015298.9]Представление в ST
 

				Представление:
 

Difference := SUB (TimeValue1, TimeValue2) ;




 



		[bookmark: D-SG-0015298.10]Описание параметров
 

				Описание входных параметров:

		Параметр

		Тип данных

		Значение



		TimeValue1

		TIME

		Уменьшаемое



		TimeValue2

		TIME

		Вычитаемое





 Описание выходного параметра:

		Параметр

		Тип данных

		Значение



		Difference

		TIME

		Разность





 


 



		[bookmark: D-SG-0015298.16]Ошибка во время выполнения
 

				Системный бит %S18 устанавливается в 1, если

		[image: ]
		 
		был превышен диапазон на выходе










 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				TIME

Тип TIME выражает продолжительность в миллисекундах. Кодированный в 32 битах, этот тип позволяет получить периоды от 0 до 2. 32-1 миллисекунд.
 Элементы типа TIME следующие: дни (d), часы (h), минуты (m), секунды (s) и миллисекунды (ms). Литеральное значение типа TIME представляется комбинацией вышеупомянутых типов с предшествующими символами T#, t#, TIME# или time#.

Примеры: T#25h15m, t#14.7S, TIME#5d10h23m45s3ms





		[image: ]

		

		[image: ]				





[bookmark: D-SA-0007207.1]		[bookmark: IDH_KW2930128][bookmark: IDH_KW2930212][bookmark: IDH_KW2930296]SQRT_*** : Квадратный корень

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0007208.1]

		[bookmark: D-SA-0007208.2]Описание функции
 

				Функция SQRT_*** извлекает квадратный корень из переменной. Эта функция может быть вызвана, используя ее родовое имя, или одно из приведенных ниже имен.
 
 Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0007208.14]Доступные функции
 

				Доступны следующие функции:

		[image: ]
		 
		SQRT_INT,



		[image: ]
		 
		SQRT_DINT,



		[image: ]
		 
		SQRT_REAL.





 


 



		[bookmark: D-SA-0007208.3]Представление в FBD
 

				Представление относится к целому числу:
 [image: ]
 


 



		[bookmark: D-SA-0007208.4]Представление в LD
 

				Представление относится к целому числу:
 [image: ]
 


 



		[bookmark: D-SA-0007208.5]Представление в IL
 

				Представление относится к целому числу:
 

LD Value1



SQRT_REAL



ST Sqrt_Value1




 



		[bookmark: D-SA-0007208.6]Представление в ST
 

				Представление относится к целому числу:
 

Sqrt_Value1 := SQRT_REAL(Value1);




 



		[bookmark: D-SA-0007208.7]Описание параметров
 

				В следующей таблице описан входной параметр:

		Параметр

		Тип

		Комментарий



		Value1

		INT, DINT, REAL.

		Переменная, из которой извлекается корень.
 0 Ј Value1





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Sqrt_Value1

		INT, DINT, REAL.

		Sqrt_Value1 содержит квадратный корень Value1. Sqrt_Value1 имеет тот же тип, что и Value1.
 Когда тип INT, Sqrt_Value1 округляется к меньшему значению, для Value1 = 15, Sqrt_Value1 = 3.





 


 



		[bookmark: D-SA-0007208.12]Ошибки во время выполнения
 

				Когда Value1 имеет тип REAL и отрицательно, результат функции содержит -1.#NAN , и бит %S18 = 1.
 Когда Value1 имеет тип INT или DINT и отрицательно, результат функции содержит отрицательное значение Value1 , и бит %S18 = 1.





 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				DINT

DINT - это аббревиатура двойного целого формата (кодируется в 32 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 31) до (2 в степени 31) - 1.
 Пример:
 -2147483648, 2147483647, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				UDINT

UDINT - это аббревиатура беззнакового двойного целого формата (кодируется в 32 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 32) - 1.
 Пример:
 0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				NAN

Используется для указания того, что результат операции не является числом (NAN = Not A Number).
 Пример: вычисление квадратного корня из отрицательного числа. 



Примечание: Стандарт IEC 559 определяет два класса NAN: тихий NAN (QNAN) и сигнальный NaN (SNaN) QNAN - это NAN с установленным старшим битом мантиссы, а SNAN - это NAN со сброшенным старшим битом мантиссы (Бит номер 22). QNAN разрешены в большинстве арифметических операций без сигнала об исключении. SNAN обычно сигнализирует о неправильной операции, когда она применяется в качестве операнда арифметической операции (См. %SW17 и %S18).





		[image: ]

		

		[image: ]				





[bookmark: D-SA-0006930.4]		[bookmark: IDH_KW2955716][bookmark: IDH_KW2955800][bookmark: IDH_KW2955884][bookmark: IDH_KW2955968][bookmark: IDH_KW2956052][bookmark: IDH_KW2956136]TAN: Тангенс

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0006928.3]

		[bookmark: D-SA-0006928.4]Описание функции
 

				Функция TAN вычисляет тангенс угла.
 
 Вызов функции также может быть произведен при помощи TAN_REAL.
 
 Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0006928.5]Формула
 

				Используется следующая формула: [image: ]
 


 



		[bookmark: D-SA-0006928.6]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0006928.7]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0006928.8]Представление в IL
 

				Представление:
 

LD Angle



TAN_REAL



ST Tan_Value




 



		[bookmark: D-SA-0006928.9]Представление в ST
 

				Представление:
 

Tan_Value:= TAN_REAL(Angle);




 



		[bookmark: D-SA-0006928.10]Описание параметров
 

				В следующей таблице описан входной параметр:

		Параметр

		Тип

		Комментарий



		Angle

		REAL

		Угол, выраженный в радианах.
 -2 63  ЈAngle Ј +2 63 





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Tan_Value

		REAL

		Тангенс Angle 
  -1.#INF < Tan_Value  < +1.#INF





 


 



		[bookmark: D-SA-0006928.15]Ошибки во время выполнения
 

				Когда абсолютное значение Angle больше 2 63, системный бит %S18 изменяется в 1, и системное слово %SW17 указывает тип ошибки.





 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				REAL

Вещественный тип кодируется в 32 битах.
 Диапазоны возможных значений выделены серым на следующем рисунке:
 [image: ]
 Когда результат вычислений: 

		[image: ]
		 
		между -1.175494e-38 и 1.175494e-38, он считается DEN,



		[image: ]
		 
		меньше -3.402824e+38, отображается символ -INF (для -бесконечности),



		[image: ]
		 
		больше +3.402824e+38, отображается символ INF (для +бесконечности),



		[image: ]
		 
		не определен (квадратный корень отрицательного числа), отображается символ NAN или NAN .








Примечание: Стандарт IEC 559 определяет два класса NAN: тихий NAN (QNAN) и сигнальный NaN (SNaN) QNAN - это NAN с установленным старшим битом мантиссы, а SNAN - это NAN со сброшенным старшим битом мантиссы (Бит номер 22). QNAN разрешены в большинстве арифметических операций без сигнала об исключении. SNAN обычно сигнализирует о неправильной операции, когда она применяется в качестве операнда арифметической операции (См. %SW17 и %S18).



Примечание: когда операнд DEN (ненормализованное число), результат не значим.





		[image: ]

		

		[image: ]				




				INF

Используется для указания, что число вышло за допустимые пределы. 
 Для чисел диапазоны значений (выделены серым) следующие:
 [image: ]
 Когда результат вычислений: 

		[image: ]
		 
		меньше -3.402824e+38, отображается символ -INF (для -бесконечности),



		[image: ]
		 
		больше +3.402824e+38, отображается символ INF (для +бесконечности).










		[image: ]

		

		[image: ]				





[bookmark: D-SG-0006366.1]		Statistical





		[image: ]		[image: ]





		[image: ]		

		[bookmark: D-SG-0006366.2]Введение
 

		[bookmark: D-SG-0006366.3]Обзор
 

				В этой части описаны элементарные функции и элементарные функциональные блоки семейства Statistical .
 


 



		Содержание этой части
 

				Эта часть содержит следующие главы:

		[image: ]
		 
		AVE: Вычисление среднего значения



		[image: ]
		 
		LIMIT: Ограничение



		[image: ]
		 
		LIMIT_IND: Ограничение с индикатором



		[image: ]
		 
		MAX: Максимальное значение



		[image: ]
		 
		MIN: Минимальное значение



		[image: ]
		 
		MUX: Мультиплексор



		[image: ]
		 
		SEL: Двоичная выборка














[bookmark: D-SG-0011468.1]		[bookmark: IDH_KW2985212][bookmark: IDH_KW2985296][bookmark: IDH_KW2985380]AVE: Вычисление среднего значения

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: IDH_EXT_AVE][bookmark: D-SG-0011469.1]

		[bookmark: D-SG-0011469.2]Описание функции
 

				Функция вычисляет среднее значение взвешенных входных значений и выдает результат на выходе.
 Два последовательных входа (K_Xn) представляют одну пару значений. Первый вход K_Xn соответствует K1, следующий X1, следующий K2 и т.д.
 Количество входов K_Xn может быть увеличено до 32 при помощи вертикального изменения размера блока. Это соответствует максимальному количеству пар = 16.
 Количество входов должно быть четным. 
 Типы данных значений входов и выхода должны быть идентичны. 
 
 EN и ENO могут быть сконфигурированы как дополнительные параметры.
 


 



		[bookmark: D-SG-0011469.3]Формула
 

				Формула:
 [image: ]
 


 



		[bookmark: D-SG-0011469.4]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011469.5]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011469.6]Представление в IL
 

				Представление:
 

LD FactorFirstValue
AVE FirstValue, FactorSecondValue, SecondValue
ST Result




 



		[bookmark: D-SG-0011469.7]Представление в ST
 

				Представление:
 

Result := AVE (FactorFirstValue, FirstValue,
          FactorSecondValue, SecondValue) ;




 



		[bookmark: D-SG-0011469.8]Описание параметров
 

				Описание входных параметров:

		Параметр	

		Тип данных

		Значение



		FactorFirstValue

		INT, DINT, UINT, UDINT, REAL

		Коэффициент (K1) для первого значения



		FirstValue

		INT, DINT, UINT, UDINT, REAL

		Первое значение (X1)



		FactorSecondValue

		INT, DINT, UINT, UDINT, REAL

		Коэффициент (K2) для второго значения



		FactorSecondValue

		INT, DINT, UINT, UDINT, REAL

		Второе значение (X2)



		:

		
  		
  

		FactorHalfnValue

		INT, DINT, UINT, UDINT, REAL

		Коэффициент для значения [image: ] (K_X(n-1))



		HalfnValue

		INT, DINT, UINT, UDINT, REAL

		Значение [image: ] of (K_X(n)
 n = макс. 32





 Описание выходного параметра:

		Параметр	

		Тип данных

		Значение



		Result

		INT, DINT, UINT, UDINT, REAL

		Среднее значение





 


 



		[bookmark: D-SG-0011469.19]Ошибка во время выполнения
 

				Системный бит %S18 устанавливается в 1, если 

		[image: ]
		 
		был превышен диапазон на выходе (все допустимые типы данных)
 или



		[image: ]
		 
		выполняется деление на 0 (все типы данных)
 или



		[image: ]
		 
		установлено неавторизированное число с плавающей точкой для входного параметра типа REAL. В этом случае, состояние также помещается в %SW17.






		Примечание: Список кодов ошибок см. в Statistical.












 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				DINT

DINT - это аббревиатура двойного целого формата (кодируется в 32 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 31) до (2 в степени 31) - 1.
 Пример:
 -2147483648, 2147483647, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				UINT

UINT - это аббревиатура беззнакового целого формата (кодируется в 16 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 16) - 1.
 Пример:
 0, 65535, 2#1111111111111111, 8#177777, 16#FFFF.





		[image: ]

		

		[image: ]				




				UDINT

UDINT - это аббревиатура беззнакового двойного целого формата (кодируется в 32 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 32) - 1.
 Пример:
 0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				REAL

Вещественный тип кодируется в 32 битах.
 Диапазоны возможных значений выделены серым на следующем рисунке:
 [image: ]
 Когда результат вычислений: 

		[image: ]
		 
		между -1.175494e-38 и 1.175494e-38, он считается DEN,



		[image: ]
		 
		меньше -3.402824e+38, отображается символ -INF (для -бесконечности),



		[image: ]
		 
		больше +3.402824e+38, отображается символ INF (для +бесконечности),



		[image: ]
		 
		не определен (квадратный корень отрицательного числа), отображается символ NAN или NAN .








Примечание: Стандарт IEC 559 определяет два класса NAN: тихий NAN (QNAN) и сигнальный NaN (SNaN) QNAN - это NAN с установленным старшим битом мантиссы, а SNAN - это NAN со сброшенным старшим битом мантиссы (Бит номер 22). QNAN разрешены в большинстве арифметических операций без сигнала об исключении. SNAN обычно сигнализирует о неправильной операции, когда она применяется в качестве операнда арифметической операции (См. %SW17 и %S18).



Примечание: когда операнд DEN (ненормализованное число), результат не значим.





		[image: ]

		

		[image: ]				





[bookmark: D-SG-0011781.1]		[bookmark: IDH_KW3022500][bookmark: IDH_KW3022584][bookmark: IDH_KW3022668]LIMIT: Ограничение

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: IDH_IEC_LIMIT][bookmark: D-SG-0011782.1]

		[bookmark: D-SG-0011782.2]Описание функции
 

				Эта функция передает неизмененное входное значение (Input) на выход, если входное значение не меньше минимального значения (LowerLimit) и не превышает максимальное значение (UpperLimit). Если входное значение (Input) меньше минимального значения (LowerLimit), на выход будет передано минимальное значение. Если входное значение (Input) превышает максимальное значение (UpperLimit), на выход будет передано максимальное значение.
 Типы данных всех входов и выхода должны быть идентичны.
 EN и ENO могут быть сконфигурированы как дополнительные параметры.
 


 



		[bookmark: D-SG-0011782.3]Формула
 

				OUT = IN, если (IN і MN) & (IN Ј MX)
 
 OUT = MN, если (IN < MN)
 
 OUT = MX, если (IN > MX)
 
 


 



		[bookmark: D-SG-0011782.4]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011782.5]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011782.6]Представление в IL
 

				Представление:
 

LD UpperLimit
LIMIT Input, LowerLimit
ST Output




 



		[bookmark: D-SG-0011782.7]Представление в ST
 

				Представление:
 

Output := LIMIT (UpperLimit, Input, LowerLimit) ;




 



		[bookmark: D-SG-0011782.8]Описание параметров
 

				Описание входных параметров:

		Параметр

		Тип данных

		Значение



		LowerLimit

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL, TIME

		нижний предел



		Input

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL, TIME

		Вход



		UpperLimit

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL, TIME

		верхний предел





 Описание выходного параметра:

		Параметр

		Тип данных

		Значение



		Output

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL, TIME

		Выход





 


 



		[bookmark: D-SG-0011782.15]Ошибка во время выполнения
 

				Если на входе неавторизированное число с плавающей точкой, возвращается сообщение об ошибке.





 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				BOOL

BOOL - это аббревиатура логического типа. Это элементарная единица данных в вычислениях. Переменная типа BOOL имеет значение: 0 (FALSE) или 1 (TRUE).
 Извлеченный из слова бит BOOL , например: %MW10.4.





		[image: ]

		

		[image: ]				




				BYTE

Когда 8 битов размещены вместе, это называется BYTE.  BYTE вводится либо в двоичном, либо в восьмеричном формате.
 Тип BYTE кодируется в 8 битном формате, который, в шестнадцатеричном формате, варьируется от 16#00 в 16#FF





		[image: ]

		

		[image: ]				




				WORD

Тип WORD кодируется в 16-битном формате и используется для выполнения обработки битовых строк.
 В этой таблице показаны нижние/верхние пределы для оснований, которые могут использоваться:
  

		Основание

		Нижний предел

		Верхний предел



		Шестнадцатеричное

		16#0

		16#FFFF



		Восьмеричное

		8#0

		8#177777



		Двоичное

		2#0

		2#1111111111111111





 Примеры представления
  

		Содержимое данных

		Представление по одному из оснований



		0000000011010011

		16#D3



		1010101010101010

		8#125252



		0000000011010011

		2#11010011










		[image: ]

		

		[image: ]				




				DWORD

DWORD - это аббревиатура двойного слова.
 Тип DWORD кодируется в 32-битном формате.
 В этой таблице показаны нижние/верхние пределы для оснований, которые могут использоваться:
  

		Основание

		Нижний предел

		Верхний предел



		Шестнадцатеричное

		16#0

		16#FFFFFFFF



		Восьмеричное

		8#0

		8#37777777777



		Двоичное

		2#0

		2#11111111111111111111111111111111





 Примеры представления:
  

		Содержимое данных

		Представление по одному из оснований



		00000000000010101101110011011110

		16#ADCDE



		00000000000000010000000000000000

		8#200000



		00000000000010101011110011011110

		2#10101011110011011110










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				DINT

DINT - это аббревиатура двойного целого формата (кодируется в 32 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 31) до (2 в степени 31) - 1.
 Пример:
 -2147483648, 2147483647, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				UINT

UINT - это аббревиатура беззнакового целого формата (кодируется в 16 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 16) - 1.
 Пример:
 0, 65535, 2#1111111111111111, 8#177777, 16#FFFF.





		[image: ]

		

		[image: ]				




				UDINT

UDINT - это аббревиатура беззнакового двойного целого формата (кодируется в 32 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 32) - 1.
 Пример:
 0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				REAL

Вещественный тип кодируется в 32 битах.
 Диапазоны возможных значений выделены серым на следующем рисунке:
 [image: ]
 Когда результат вычислений: 

		[image: ]
		 
		между -1.175494e-38 и 1.175494e-38, он считается DEN,



		[image: ]
		 
		меньше -3.402824e+38, отображается символ -INF (для -бесконечности),



		[image: ]
		 
		больше +3.402824e+38, отображается символ INF (для +бесконечности),



		[image: ]
		 
		не определен (квадратный корень отрицательного числа), отображается символ NAN или NAN .








Примечание: Стандарт IEC 559 определяет два класса NAN: тихий NAN (QNAN) и сигнальный NaN (SNaN) QNAN - это NAN с установленным старшим битом мантиссы, а SNAN - это NAN со сброшенным старшим битом мантиссы (Бит номер 22). QNAN разрешены в большинстве арифметических операций без сигнала об исключении. SNAN обычно сигнализирует о неправильной операции, когда она применяется в качестве операнда арифметической операции (См. %SW17 и %S18).



Примечание: когда операнд DEN (ненормализованное число), результат не значим.





		[image: ]

		

		[image: ]				




				TIME

Тип TIME выражает продолжительность в миллисекундах. Кодированный в 32 битах, этот тип позволяет получить периоды от 0 до 2. 32-1 миллисекунд.
 Элементы типа TIME следующие: дни (d), часы (h), минуты (m), секунды (s) и миллисекунды (ms). Литеральное значение типа TIME представляется комбинацией вышеупомянутых типов с предшествующими символами T#, t#, TIME# или time#.

Примеры: T#25h15m, t#14.7S, TIME#5d10h23m45s3ms





		[image: ]

		

		[image: ]				





[bookmark: D-SG-0011503.1]		[bookmark: IDH_KW3055132][bookmark: IDH_KW3055216][bookmark: IDH_KW3055300]LIMIT_IND: Ограничение с индикатором

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: IDH_EXT_LIMIT_IND][bookmark: D-SG-0011504.1]

		[bookmark: D-SG-0011504.2]Описание функции
 

				Эта процедура передает неизмененное входное значение (Input) на выход (Output), если входное значение не меньше минимального значения (LimitMinimum) и не превышает максимальное значение (LimitMaximum). Если входное значение (Input) меньше минимального значения (LimitMinimum), на выход будет передано минимальное значение. Если входное значение (Input) превышает максимальное значение (LimitMaximum), на выход будет передано максимальное значение.
 Кроме того, производится индикация выхода за границы. Если значение на входе (Input) меньше значения на входе (LimitMinimum), выход (MinimumViolation) становится "1". Если значение на входе (Input) больше значения на входе (LimitMaximum), выход (MaximumViolation) становится "1".
 Типы данных входных значений (LimitMinimum, Input, LimitMaximum) и выходного значения (Output) должны быть идентичны.
 EN и ENO могут быть сконфигурированы как дополнительные параметры.
 


 



		[bookmark: D-SG-0011504.3]Формула
 

				Формула:
 OUT = IN, если (IN Ј MX) & IN і MN
 OUT = MN, если (IN < MN)
 OUT = MX, если (IN > MX)
 
 MN_IND = 0, если IN і MN
 MN_IND = 1, если IN < MN
 
 MX_IND = 0, если IN Ј MX
 MX_IND = 1, если IN > MX
 


 



		[bookmark: D-SG-0011504.4]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011504.5]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011504.6]Представление в IL
 

				Представление:
 

LD LimitMinimum
LIMIT_IND Input, LimitMaximum, MinimumViolation,
          Output, MaximumViolation




 



		[bookmark: D-SG-0011504.7]Представление в ST
 

				Представление:
 

LIMIT_IND (LimitMinimum, Input, LimitMaximum,
           MinimumViolation, Output, MaximumViolation);




 



		[bookmark: D-SG-0011504.8]Описание параметров
 

				Описание входных параметров:

		Параметр	

		Тип данных

		Значение



		LimitMinimum

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL, TIME

		Минимальное значение



		Input

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL, TIME

		Вход



		LimitMaximum

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL, TIME

		Максимальное значение





 Описание выходных параметров:

		Параметр	

		Тип данных

		Значение



		MinimumViolation

		BOOL

		Меньше минимального значения



		Output

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL, TIME

		Выход



		MaximumViolation

		BOOL

		Больше максимального значения










 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				BOOL

BOOL - это аббревиатура логического типа. Это элементарная единица данных в вычислениях. Переменная типа BOOL имеет значение: 0 (FALSE) или 1 (TRUE).
 Извлеченный из слова бит BOOL , например: %MW10.4.





		[image: ]

		

		[image: ]				




				BYTE

Когда 8 битов размещены вместе, это называется BYTE.  BYTE вводится либо в двоичном, либо в восьмеричном формате.
 Тип BYTE кодируется в 8 битном формате, который, в шестнадцатеричном формате, варьируется от 16#00 до 16#FF





		[image: ]

		

		[image: ]				




				WORD

Тип WORD кодируется в 16-битном формате и используется для выполнения обработки битовых строк.
 В этой таблице показаны нижние/верхние пределы для оснований, которые могут использоваться:
  

		Основание

		Нижний предел

		Верхний предел



		Шестнадцатеричное

		16#0

		16#FFFF



		Восьмеричное

		8#0

		8#177777



		Двоичное

		2#0

		2#1111111111111111





 Примеры представления
  

		Содержимое данных

		Представление по одному из оснований



		0000000011010011

		16#D3



		1010101010101010

		8#125252



		0000000011010011

		2#11010011










		[image: ]

		

		[image: ]				




				DWORD

DWORD - это аббревиатура двойного слова.
 Тип DWORD кодируется в 32-битном формате.
 В этой таблице показаны нижние/верхние пределы для оснований, которые могут использоваться:
  

		Основание

		Нижний предел

		Верхний предел



		Шестнадцатеричное

		16#0

		16#FFFFFFFF



		Восьмеричное

		8#0

		8#37777777777



		Двоичное

		2#0

		2#11111111111111111111111111111111





 Примеры представления:
  

		Содержимое данных

		Представление по одному из оснований



		00000000000010101101110011011110

		16#ADCDE



		00000000000000010000000000000000

		8#200000



		00000000000010101011110011011110

		2#10101011110011011110










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				DINT

DINT - это аббревиатура двойного целого формата (кодируется в 32 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 31) до (2 в степени 31) - 1.
 Пример:
 -2147483648, 2147483647, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				UINT

UINT - это аббревиатура беззнакового целого формата (кодируется в 16 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 16) - 1.
 Пример:
 0, 65535, 2#1111111111111111, 8#177777, 16#FFFF.





		[image: ]

		

		[image: ]				




				UDINT

UDINT - это аббревиатура беззнакового двойного целого формата (кодируется в 32 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 32) - 1.
 Пример:
 0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				REAL

Вещественный тип кодируется в 32 битах.
 Диапазоны возможных значений выделены серым на следующем рисунке:
 [image: ]
 Когда результат вычислений: 

		[image: ]
		 
		между -1.175494e-38 и 1.175494e-38, он считается DEN,



		[image: ]
		 
		меньше -3.402824e+38, отображается символ -INF (для -бесконечности),



		[image: ]
		 
		больше +3.402824e+38, отображается символ INF (для +бесконечности),



		[image: ]
		 
		не определен (квадратный корень отрицательного числа), отображается символ NAN или NAN .








Примечание: Стандарт IEC 559 определяет два класса NAN: тихий NAN (QNAN) и сигнальный NaN (SNaN) QNAN - это NAN с установленным старшим битом мантиссы, а SNAN - это NAN со сброшенным старшим битом мантиссы (Бит номер 22). QNAN разрешены в большинстве арифметических операций без сигнала об исключении. SNAN обычно сигнализирует о неправильной операции, когда она применяется в качестве операнда арифметической операции (См. %SW17 и %S18).



Примечание: когда операнд DEN (ненормализованное число), результат не значим.





		[image: ]

		

		[image: ]				




				TIME

Тип TIME выражает продолжительность в миллисекундах. Кодированный в 32 битах, этот тип позволяет получить периоды от 0 до 2. 32-1 миллисекунд.
 Элементы типа TIME следующие: дни (d), часы (h), минуты (m), секунды (s) и миллисекунды (ms). Литеральное значение типа TIME представляется комбинацией вышеупомянутых типов с предшествующими символами T#, t#, TIME# или time#.

Примеры: T#25h15m, t#14.7S, TIME#5d10h23m45s3ms





		[image: ]

		

		[image: ]				





[bookmark: D-SG-0011789.1]		[bookmark: IDH_KW3095428][bookmark: IDH_KW3095512][bookmark: IDH_KW3095596]MAX: Максимальное значение

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: IDH_IEC_MAX][bookmark: D-SG-0011790.1]

		[bookmark: D-SG-0011790.2]Описание функции
 

				Функция присваивает наибольшее значение на входе выходу.
 Типы данных всех входов и выходов должны быть идентичны.
 Количество входов может быть увеличено
 EN и ENO могут быть сконфигурированы как дополнительные параметры.
 


 



		[bookmark: D-SG-0011790.3]Формула
 

				OUT = MAX {IN1, IN2, .., INn}
 


 



		[bookmark: D-SG-0011790.4]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011790.5]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011790.6]Представление в IL
 

				Представление:
 

LD Value1
MAX Value2
ST Maximum




 



		[bookmark: D-SG-0011790.7]Представление в ST
 

				Представление:
 

Maximum := MAX (Value1, Value2) ;




 



		[bookmark: D-SG-0011790.8]Описание параметров
 

				Описание входных параметров:

		Параметр

		Тип данных

		Значение



		Value1	

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL,  TIME

		1. Входное значение



		Value2	

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL,  TIME

		2. Входное значение



		Valuen	

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL,  TIME

		n. Входное значение
 n = максимум 32





 Описание выходного параметра:

		Параметр

		Тип данных

		Значение



		Maximum

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL,  TIME

		Максимальное значение





 


 



		[bookmark: D-SG-0011790.16]Ошибка во время выполнения
 

				Если создано неавторизированное число с плавающей точкой для входного параметра типа REAL, системный бит %S18 устанавливается в 1, и состояние помещается в %SW17.

		Примечание: Список сообщений об ошибках см. в Основные ошибки при работе с плавающей точкой.












 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				BOOL

BOOL - это аббревиатура логического типа. Это элементарная единица данных в вычислениях. Переменная типа BOOL имеет значение: 0 (FALSE) или 1 (TRUE).
 Извлеченный из слова бит BOOL , например: %MW10.4.





		[image: ]

		

		[image: ]				




				BYTE

Когда 8 битов размещены вместе, это называется BYTE.  BYTE вводится либо в двоичном, либо в восьмеричном формате.
 Тип BYTE кодируется в 8 битном формате, который, в шестнадцатеричном формате, варьируется от 16#00 до 16#FF





		[image: ]

		

		[image: ]				




				WORD

Тип WORD кодируется в 16-битном формате и используется для выполнения обработки битовых строк.
 В этой таблице показаны нижние/верхние пределы для оснований, которые могут использоваться:
  

		Основание

		Нижний предел

		Верхний предел



		Шестнадцатеричное

		16#0

		16#FFFF



		Восьмеричное

		8#0

		8#177777



		Двоичное

		2#0

		2#1111111111111111





 Примеры представления
  

		Содержимое данных

		Представление по одному из оснований



		0000000011010011

		16#D3



		1010101010101010

		8#125252



		0000000011010011

		2#11010011










		[image: ]

		

		[image: ]				




				DWORD

DWORD - это аббревиатура двойного слова.
 Тип DWORD кодируется в 32-битном формате.
 В этой таблице показаны нижние/верхние пределы для оснований, которые могут использоваться:
  

		Основание

		Нижний предел

		Верхний предел



		Шестнадцатеричное

		16#0

		16#FFFFFFFF



		Восьмеричное

		8#0

		8#37777777777



		Двоичное

		2#0

		2#11111111111111111111111111111111





 Примеры представления:
  

		Содержимое данных

		Представление по одному из оснований



		00000000000010101101110011011110

		16#ADCDE



		00000000000000010000000000000000

		8#200000



		00000000000010101011110011011110

		2#10101011110011011110










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				DINT

DINT - это аббревиатура двойного целого формата (кодируется в 32 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 31) до (2 в степени 31) - 1.
 Пример:
 -2147483648, 2147483647, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				UINT

UINT - это аббревиатура беззнакового целого формата (кодируется в 16 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 16) - 1.
 Пример:
 0, 65535, 2#1111111111111111, 8#177777, 16#FFFF.





		[image: ]

		

		[image: ]				




				UDINT

UDINT - это аббревиатура беззнакового двойного целого формата (кодируется в 32 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 32) - 1.
 Пример:
 0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				TIME

Тип TIME выражает продолжительность в миллисекундах. Кодированный в 32 битах, этот тип позволяет получить периоды от 0 до 2. 32-1 миллисекунд.
 Элементы типа TIME следующие: дни (d), часы (h), минуты (m), секунды (s) и миллисекунды (ms). Литеральное значение типа TIME представляется комбинацией вышеупомянутых типов с предшествующими символами T#, t#, TIME# или time#.
 Примеры: T#25h15m, t#14.7S, TIME#5d10h23m45s3ms





		[image: ]

		

		[image: ]				




				REAL

Вещественный тип кодируется в 32 битах.
 Диапазоны возможных значений выделены серым на следующем рисунке:
 [image: ]
 Когда результат вычислений: 

		[image: ]
		 
		между -1.175494e-38 и 1.175494e-38, он считается DEN,



		[image: ]
		 
		меньше -3.402824e+38, отображается символ -INF (для -бесконечности),



		[image: ]
		 
		больше +3.402824e+38, отображается символ INF (для +бесконечности),



		[image: ]
		 
		не определен (квадратный корень отрицательного числа), отображается символ NAN или NAN .








Примечание: Стандарт IEC 559 определяет два класса NAN: тихий NAN (QNAN) и сигнальный NaN (SNaN) QNAN - это NAN с установленным старшим битом мантиссы, а SNAN - это NAN со сброшенным старшим битом мантиссы (Бит номер 22). QNAN разрешены в большинстве арифметических операций без сигнала об исключении. SNAN обычно сигнализирует о неправильной операции, когда она применяется в качестве операнда арифметической операции (См. %SW17 и %S18).



Примечание: когда операнд DEN (ненормализованное число), результат не значим.





		[image: ]

		

		[image: ]				





[bookmark: D-SG-0011791.1]		[bookmark: IDH_KW3127172][bookmark: IDH_KW3127256][bookmark: IDH_KW3127340]MIN: Минимальное значение

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: IDH_IEC_MIN][bookmark: D-SG-0011792.1]

		[bookmark: D-SG-0011792.2]Описание функции
 

				Функция присваивает наименьшее значение на входе выходу.
 Типы данных всех входов и выхода должны быть идентичны.
 Количество входов может быть увеличено
 EN и ENO могут быть сконфигурированы как дополнительные параметры.
 


 



		[bookmark: D-SG-0011792.3]Формула
 

				OUT = MIN {IN1, IN2, .., INn}
 


 



		[bookmark: D-SG-0011792.4]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011792.5]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011792.6]Представление в IL
 

				Представление:
 

LD Value1
MIN Value2
ST Minimum




 



		[bookmark: D-SG-0011792.7]Представление в ST
 

				Представление:
 

Minimum := MIN (Value1, Value2) ;




 



		[bookmark: D-SG-0011792.8]Описание параметров
 

				Описание входных параметров:

		Параметр

		Тип данных

		Значение



		Value1	

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL,  TIME 

		1. Входное значение



		Value2	

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL, TIME

		2. Входное значение



		Valuen	

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL, TIME

		n. Входное значение
 n = максимум 32





 Описание выходного параметра:

		Параметр

		Тип данных

		Значение



		Minimum	

		BOOL,  BYTE, WORD, DWORD,  INT, DINT, UINT, UDINT, REAL, TIME

		Минимальное значение





 


 



		[bookmark: D-SG-0011792.16]Ошибка во время выполнения
 

				Если создано неавторизированное число с плавающей точкой для входного параметра типа REAL, системный бит %S18 устанавливается в 1, и состояние помещается в %SW17.

		Примечание: Список сообщений об ошибках см. в Основные ошибки при работе с плавающей точкой.












 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				BOOL

BOOL - это аббревиатура логического типа. Это элементарная единица данных в вычислениях. Переменная типа BOOL переменной имеет значение: 0 (FALSE) или 1 (TRUE).
 Извлеченный из слова бит BOOL , например: %MW10.4.





		[image: ]

		

		[image: ]				




				BYTE

Когда 8 битов размещены вместе, это называется BYTE.  BYTE вводится либо в двоичном, либо в восьмеричном формате.
 Тип BYTE кодируется в 8 битном формате, который, в шестнадцатеричном формате, варьируется от 16#00 до 16#FF





		[image: ]

		

		[image: ]				




				WORD

Тип WORD кодируется в 16-битном формате и используется для выполнения обработки битовых строк.
 В этой таблице показаны нижние/верхние пределы для оснований, которые могут использоваться:
  

		Основание

		Нижний предел

		Верхний предел



		Шестнадцатеричное

		16#0

		16#FFFF



		Восьмеричное

		8#0

		8#177777



		Двоичное

		2#0

		2#1111111111111111





 Примеры представления
  

		Содержимое данных

		Представление по одному из оснований



		0000000011010011

		16#D3



		1010101010101010

		8#125252



		0000000011010011

		2#11010011










		[image: ]

		

		[image: ]				




				DWORD

DWORD - это аббревиатура двойного слова.
 Тип DWORD кодируется в 32-битном формате.
 В этой таблице показаны нижние/верхние пределы для оснований, которые могут использоваться:
  

		Основание

		Нижний предел

		Верхний предел



		Шестнадцатеричное

		16#0

		16#FFFFFFFF



		Восьмеричное

		8#0

		8#37777777777



		Двоичное

		2#0

		2#11111111111111111111111111111111





 Примеры представления:
  

		Содержимое данных

		Представление по одному из оснований



		00000000000010101101110011011110

		16#ADCDE



		00000000000000010000000000000000

		8#200000



		00000000000010101011110011011110

		2#10101011110011011110










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				DINT

DINT - это аббревиатура двойного целого формата (кодируется в 32 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 31) до (2 в степени 31) - 1.
 Пример:
 -2147483648, 2147483647, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				UINT

UINT - это аббревиатура беззнакового целого формата (кодируется в 16 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 16) - 1.
 Пример:
 0, 65535, 2#1111111111111111, 8#177777, 16#FFFF.





		[image: ]

		

		[image: ]				




				UDINT

UDINT - это аббревиатура беззнакового двойного целого формата (кодируется в 32 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 32) - 1.
 Пример:
 0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				TIME

Тип TIME выражает продолжительность в миллисекундах. Кодированный в 32 битах, этот тип позволяет получить периоды от 0 до 2. 32-1 миллисекунд.
 Элементы типа TIME следующие: дни (d), часы (h), минуты (m), секунды (s) и миллисекунды (ms). Литеральное значение типа TIME представляется комбинацией вышеупомянутых типов с предшествующими символами T#, t#, TIME# или time#.
 Примеры: T#25h15m, t#14.7S, TIME#5d10h23m45s3ms





		[image: ]

		

		[image: ]				




				REAL

Вещественный тип кодируется в 32 битах.
 Диапазоны возможных значений выделены серым на следующем рисунке:
 [image: ]
 Когда результат вычислений: 

		[image: ]
		 
		между -1.175494e-38 и 1.175494e-38, он считается DEN,



		[image: ]
		 
		меньше -3.402824e+38, отображается символ -INF (для -бесконечности),



		[image: ]
		 
		больше +3.402824e+38, отображается символ INF (для +бесконечности),



		[image: ]
		 
		не определен (квадратный корень отрицательного числа), отображается символ NAN или NAN .








Примечание: Стандарт IEC 559 определяет два класса NAN: тихий NAN (QNAN) и сигнальный NaN (SNaN) QNAN - это NAN с установленным старшим битом мантиссы, а SNAN - это NAN со сброшенным старшим битом мантиссы (Бит номер 22). QNAN разрешены в большинстве арифметических операций без сигнала об исключении. SNAN обычно сигнализирует о неправильной операции, когда она применяется в качестве операнда арифметической операции (См. %SW17 и %S18).



Примечание: когда операнд DEN (ненормализованное число), результат не значим.





		[image: ]

		

		[image: ]				





[bookmark: D-SA-0007523.4]		[bookmark: IDH_KW745836][bookmark: IDH_KW745920][bookmark: IDH_KW746004]COPY_***_***: Копирование таблиц

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0007388.1]

		[bookmark: D-SA-0007388.2]Описание функции
 

				Функция COPY_***_*** копирует набор последовательных элементов из одной таблицы в другую. Таблицы могут иметь различные или одинаковые типы, целевая область фиксируется параметрами функции.
 
 Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0007388.3]Доступные функции
 

				Доступны следующие функции:

		[image: ]
		 
		COPY_AREBOOL_ARINT,



		[image: ]
		 
		COPY_AREBOOL_AREBOOL,



		[image: ]
		 
		COPY_AREBOOL_ARDINT,



		[image: ]
		 
		COPY_ARINT_AREBOOL,



		[image: ]
		 
		COPY_ARDINT_AREBOOL.





 


 



		[bookmark: D-SA-0007388.4]Представление в FBD
 

				Представление относится к присваиванию области таблицы целых элементам области таблицы битов
 [image: ]
 


 



		[bookmark: D-SA-0007388.5]Представление в LD
 

				Представление относится к присваиванию области таблицы целых элементам области таблицы битов
 [image: ]
 


 



		[bookmark: D-SA-0007388.6]Представление в IL
 

				Представление относится к присваиванию области таблицы целых элементам области таблицы битов
 

LD Array1



COPY_ARINT_AREBOOL Begin_Row, Element_Number, Destination_Row



ST Result_Array




 



		[bookmark: D-SA-0007388.7]Представление в ST
 

				Представление относится к присваиванию области таблицы целых элементам области таблицы битов
 

Result_Array := COPY_ARINT_AREBOOL(Array1, Begin_Row, Element_Number, Destination_Row);




 



		[bookmark: D-SA-0007388.8]Описание параметров
 

				В следующей таблице описаны входные параметры:

		Параметр

		Тип

		Комментарий



		Array1

		ARRAY [n..m] OF EBOOL, 
 ARRAY [n..m] OF INT, 
 ARRAY [n..m] OF DINT 

		n и m - положительные или отрицательные целые или ноль.



		Begin_Row

		INT 

		Ранг первого элемента, который будет копироваться из таблицы Array1.
 
 Примечание: Первый элемент таблицы имеет ранг 0.



		Element_Number

		INT 

		Число элементов, которые будут копироваться из таблицы Array1.



		Destination_Row

		INT 

		Целевой ранг в таблице Result_Array.





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Result_Array

		ARRAY [n..m] OF EBOOL, 
 ARRAY [n..m] OF INT, 
 ARRAY [n..m] OF DINT 

		n и m - положительные или отрицательные целые или ноль.
 Целевая таблица, которая содержит элементы, выбранные из Array1.






		Примечание: если количество элементов для извлечения больше, чем осталось, начиная с ранга Begin_Row, функция извлечет все элементы от Begin_Row до последнего элемента таблицы.
 Если количество элементов для извлечения больше, чем доступного места, начиная с ранга Destination_Row, функция копирования дойдет до последнего элемента таблицы.
 Отрицательное значение Begin_Row, Element_Number и Destination_Row интерпретируется как ноль.












 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				EBOOL

EBOOL - это аббревиатура расширенного логического типа. Он может использоваться для управления фронтами и спадами, а также форсированием.
 Переменная типа EBOOL занимает один байт в памяти.





		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				DINT

DINT - это аббревиатура двойного целого формата (кодируется в 32 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 31) до (2 в степени 31) - 1.
 Пример:

-2147483648, 2147483647, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				





[bookmark: D-SG-0011799.1]		[bookmark: IDH_KW3158988][bookmark: IDH_KW3159072][bookmark: IDH_KW3159156]MUX: Мультиплексор

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: IDH_IEC_MUX][bookmark: D-SG-0011800.1]

		[bookmark: D-SG-0011800.2]Описание функции
 

				Эта функция передает значение соответствующего входа на выход в зависимости от значения на входе K .
 Количество входов может быть увеличено
 EN и ENO могут быть сконфигурированы как дополнительные параметры.
 


 



		[bookmark: D-SG-0011800.3]Пример
 

				K = 0: Вход IN0 передается на выход
 K = 1: Вход IN1 передается на выход
 K = 5: Вход IN5 передается на выход
 K= n: Вход INn передается на выход
 


 



		[bookmark: D-SG-0011800.4]Типы данных
 

				Типы данных входов с Input0 по Inputn и выхода должны быть идентичны.
 


 



		[bookmark: D-SG-0011800.5]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011800.6]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011800.7]Представление в IL
 

				Представление:
 

LD Selection
MUX Input0, Input1
ST Output




 



		[bookmark: D-SG-0011800.8]Представление в ST
 

				Представление:
 

Output := MUX (Selection, Input0, Input1) ;




 



		[bookmark: D-SG-0011800.9]Описание параметров
 

				Описание входных параметров:

		Параметр

		Тип данных

		Значение



		K

		INT, DINT, UINT, UDINT

		Вход выбора
 K = 0...30



		IN0

		ANY

		1. Вход



		IN1	

		ANY

		2. Вход



		IN2	

		ANY

		3. Вход



		INn	

		ANY

		n+1. вход,   n = макс. 30





 Описание выходного параметра:

		Параметр

		Тип данных

		Значение



		OUT

		ANY

		Выход





 


 



		[bookmark: D-SG-0011800.18]Ошибка во время выполнения
 

				Возвращается сообщение об ошибке, если превышен допустимый диапазон значения входа K(селектор).

		Примечание: Список кодов ошибок см. в Statistical.












 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				DINT

DINT - это аббревиатура двойного целого формата (кодируется в 32 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 31) до (2 в степени 31) - 1.
 Пример:
 -2147483648, 2147483647, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				UINT

UINT - это аббревиатура беззнакового целого формата (кодируется в 16 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 16) - 1.
 Пример:
 0, 65535, 2#1111111111111111, 8#177777, 16#FFFF.





		[image: ]

		

		[image: ]				




				UDINT

UDINT - это аббревиатура беззнакового двойного целого формата (кодируется в 32 битах). Нижние и верхние пределы следующие: 0 до (2 в степени 32) - 1.
 Пример:
 0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				




				ANY

Между различными типами данных есть иерархия. В DFB иногда возможно определять, какие переменные могут содержать несколько типов значений. Здесь мы используем ANY_xxx типы. 
 На следующем рисунке показана структура в иерархическом порядке:

[image: ]





		[image: ]

		

		[image: ]				





[bookmark: D-SG-0011821.1]		[bookmark: IDH_KW3189012][bookmark: IDH_KW3189096][bookmark: IDH_KW3189180]SEL: Двоичная выборка

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: IDH_IEC_SEL][bookmark: D-SG-0011822.1]

		[bookmark: D-SG-0011822.2]Описание функции
 

				Функция используется для двоичной выборки между двумя входными значениями.
 В зависимости от состояния входа Selection , вход Input0, или вход Input1 передается на выход Output .
 Selection = 0 -> Output = Input0
 Selection = 1 -> Output = Input1
 Типы данных входов Input0 и Input1 и выхода Output должны быть идентичны. 
 EN и ENO могут быть сконфигурированы как дополнительные параметры.
 


 



		[bookmark: D-SG-0011822.3]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011822.4]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SG-0011822.5]Представление в IL
 

				Представление:
 

LD Selection
SEL Input0, Input1
ST Output




 



		[bookmark: D-SG-0011822.6]Представление в ST
 

				Представление:
 

Output := SEL (Selection, Input0, Input1) ;




 



		[bookmark: D-SG-0011822.7]Описание параметров
 

				Описание входных параметров:

		Параметр

		Тип данных

		Значение



		Selection

		BOOL

		Вход выбора



		Input0

		ANY

		Вход 0



		Input1

		ANY

		Вход 1





 Описание выходного параметра:

		Параметр

		Тип данных

		Значение



		Output

		ANY

		Выход










 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				BOOL

BOOL - это аббревиатура логического типа. Это элементарная единица данных в вычислениях. Переменная типа BOOL имеет значение: 0 (FALSE) или 1 (TRUE).
 Извлеченный из слова бит BOOL , например: %MW10.4.





		[image: ]

		

		[image: ]				




				ANY

Между различными типами данных есть иерархия. В DFB иногда возможно определять, какие переменные могут содержать несколько типов значений. Здесь мы используем ANY_xxx типы. 
 На следующем рисунке показана структура в иерархическом порядке:

[image: ]





		[image: ]

		

		[image: ]				





[bookmark: D-SG-0006925.1]		Strings





		[image: ]		[image: ]





		[image: ]		

		[bookmark: D-SG-0006925.2]Введение
 

		[bookmark: D-SG-0006925.3]Обзор
 

				В этой части описаны элементарные функции и элементарные функциональные блоки семейства Strings .
 


 



		Содержание этой части
 

				Эта часть содержит следующие главы:

		[image: ]
		 
		CONCAT_STR: Сцепление двух строк символов



		[image: ]
		 
		DELETE_INT: Удаление подстроки символов



		[image: ]
		 
		EQUAL_STR: Сравнение двух строк символов



		[image: ]
		 
		FIND_INT: Поиск подстроки символов



		[image: ]
		 
		INSERT_INT: Вставка подстроки символов



		[image: ]
		 
		LEFT_INT: Извлечение символов слева



		[image: ]
		 
		LEN_INT: Длина строки символов



		[image: ]
		 
		MID_INT: Извлечение подстроки символов



		[image: ]
		 
		REPLACE_INT: Замена подстроки символов



		[image: ]
		 
		RIGHT_INT: Извлечение символов справа














[bookmark: D-SA-0007403.4]		[bookmark: IDH_KW3220012][bookmark: IDH_KW3220096][bookmark: IDH_KW3220180]CONCAT_STR: Сцепление двух строк символов

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0007226.1]

		[bookmark: D-SA-0007226.2]Описание функции
 

				Функция CONCAT_STR сцепляет две строки символов.
 
 Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0007226.4]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007226.5]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007226.6]Представление в IL
 

				Представление:
 

LD String1



CONCAT_STR String2



ST Result_String




 



		[bookmark: D-SA-0007226.7]Представление в ST
 

				Представление:
 

Result_String:= CONCAT_STR(String1, String2);




 



		[bookmark: D-SA-0007226.8]Описание параметров
 

				В следующей таблице описаны входные параметры:

		Параметр

		Тип

		Комментарий



		String1

		STRING

		Первая строка символов для сцепления.
 
 Пример: String1 содержит "SWITCH TO"



		String2

		STRING

		Вторая строка символов для сцепления.
 
 Пример: String2 содержит "RUN"





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Result_String

		STRING

		Результирующая строка включает содержимое строк String1 и String2.
 
 Пример: для значений в примере из предыдущей таблицы Result_String содержит ‘SWITCH TO RUN’





 


 



		[bookmark: D-SA-0007226.13]Ошибки во время выполнения
 

				Если строка  Result_String слишком короткая, чтобы содержать результат, системный бит %S15 изменяется в 1, и результат обрезается. Иначе, строка Result_String завершается символами NUL (16#00).





 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				STRING

Переменная типа STRING - это стандартная строка символов ASCII. Строка символов имеет максимальную длину 65534 символов. 





		[image: ]

		

		[image: ]				





[bookmark: D-SA-0007533.4]		[bookmark: IDH_KW3242992][bookmark: IDH_KW3243076][bookmark: IDH_KW3243160]DELETE_INT: Удаление подстроки символов

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0007244.1]

		[bookmark: D-SA-0007244.2]Описание функции
 

				Функция DELETE_INT удаляет определенное количество символов, начиная с определенной позиции. Результатом является строка символов.
 
 Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0007244.3]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007244.4]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007244.5]Представление в IL
 

				Представление:
 

LD String1



DELETE_INT Length_Str, Position



ST Result_String




 



		[bookmark: D-SA-0007244.6]Представление в ST
 

				Представление:
 

Result_String:= DELETE_INT(String1, Length_Str, Position);




 



		[bookmark: D-SA-0007244.7]Описание параметров
 

				В следующей таблице описаны входные параметры:

		Параметр

		Тип

		Комментарий



		String1

		STRING

		Исходная строка символов, из которой мы хотим удалить определенные элементы.
 
 Пример: String1 содержит "SWITCH TO STOP"



		Length_Str

		INT

		Длина строки, которая будет удалена.
 
 Пример: Length_Str =10



		Position

		INT

		Положение первого символа строки, которая будет удалена.
 
 Пример: Position =1





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Result_String

		STRING

		Результирующая трока равна содержимому String1 , из которой было удалено Length_Str символов, начиная с позиции Position.
 
 Пример: для значений в примере из предыдущей таблицы Result_String содержит ‘STOP’ (10 символов удалены, начиная с позиции 1).










 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				STRING

Переменная типа STRING - это стандартная строка символов ASCII. Строка символов имеет максимальную длину 65534 символов. 





		[image: ]

		

		[image: ]				





[bookmark: D-SA-0007534.4]		[bookmark: IDH_KW3267124][bookmark: IDH_KW3267208][bookmark: IDH_KW3267292]EQUAL_STR: Сравнение двух строк символов

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0007228.1]

		[bookmark: D-SA-0007228.2]Описание функции
 

				Функция EQUAL_STR сравнивает две строки символов.
 
 Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0007228.3]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007228.4]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007228.5]Представление в IL
 

				Представление:
 

LD String1



EQUAL_STR String2



ST Position




 



		[bookmark: D-SA-0007228.6]Представление в ST
 

				Представление:
 

Position:= EQUAL_STR(String1, String2);




 



		[bookmark: D-SA-0007228.7]Описание параметров
 

				В следующей таблице описаны входные параметры:

		Параметр

		Тип

		Комментарий



		String1

		STRING

		Первая строка символов для сравнения.
 
 Пример: String1 содержит "SWITCH TO STOP"



		String2

		STRING

		Вторая строка символов для сравнения.
 
 Пример: String2 содержит "SWITCH TO RUN"





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Position

		INT

		Положение первого отличающегося символа в двух строках String1 и String2. 
 Когда две строки идентичны,
 Position = -1.
 
 Пример: для значений в примере из предыдущей таблицы Position = 11
 
 Примечание: символы верхнего и нижнего регистров интерпретируются как разные символы.










 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				STRING

Переменная типа STRING - это стандартная строка символов ASCII. Строка символов имеет максимальную длину 65534 символов. 





		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:

-32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				





[bookmark: D-SA-0007537.4]		[bookmark: IDH_KW3289264][bookmark: IDH_KW3289348][bookmark: IDH_KW3289432]FIND_INT: Поиск подстроки символов

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0007252.1]

		[bookmark: D-SA-0007252.2]Описание функции
 

				Функция FIND_INT отыскивает вхождение строки символов в другую строку символов.
 
 Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0007252.3]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007252.4]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007252.5]Представление в IL
 

				Представление:
 

LD String1



FIND_INT String2



ST Position




 



		[bookmark: D-SA-0007252.6]Представление в ST
 

				Представление:
 

Position:= FIND_INT(String1, String2);




 



		[bookmark: D-SA-0007252.7]Описание параметров
 

				В следующей таблице описаны входные параметры:

		Параметр

		Тип

		Комментарий



		String1

		STRING

		Строка символов, в которой будет выполняться поиск.
 
 Пример: String1 содержит "SWITCH TO STOP"



		String2

		STRING

		Строка символов, содержащая текст для поиска
 
 Пример: String2 содержит ‘STOP’





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Position

		INT

		Если String2 содержится в String1, Position содержит ранг первого символа String2 , найденного в String1. 
 Когда String2 не содержится в String1, Position = -1.
 
 Пример: для значений в примере из предыдущей таблицы Position = 11










 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				STRING

Переменная типа STRING - это стандартная строка символов ASCII. Строка символов имеет максимальную длину 65534 символов. 





		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:

-32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				





[bookmark: D-SA-0007539.4]		[bookmark: IDH_KW3312032][bookmark: IDH_KW3312116][bookmark: IDH_KW3312200]INSERT_INT: Вставка подстроки символов

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0007245.1]

		[bookmark: D-SA-0007245.2]Описание функции
 

				Функция INSERT_INT вставляет строку символов в другую строку символов, начиная с заданной позиции. Результатом является строка символов.
 
 Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0007245.3]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007245.4]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007245.5]Представление в IL
 

				Представление:
 

LD String1



INSERT_INT String2, Position



ST Result_String




 



		[bookmark: D-SA-0007245.6]Представление в ST
 

				Представление:
 

Result_String:= DELETE_INT(String1, Length_Str, Position);




 



		[bookmark: D-SA-0007245.7]Описание параметров
 

				В следующей таблице описаны входные параметры:

		Параметр

		Тип

		Комментарий



		String1

		STRING

		Исходная символьная строка, в которую будет вставлена другая символьная строка, начиная с заданной позиции.
 
 Пример: String1 содержит ‘START CYCLE’



		String2

		STRING

		Строка символов, которая будет вставлена в String1.
 
 Пример: String2 содержит ‘ AUTO’



		Position

		INT

		Положение символа, после которого будет вставлена String2 .
 
 Пример: Position =5





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Result_String

		STRING

		Строка String2 была вставлена в строку String1 после позиции Position , чтобы сформировать Result_String.
 
 Пример: для значений в примере из предыдущей таблицы Result_String содержит ‘START AUTO CYCLE’.
 
 Примечание: невозможно вставить строку в начало строки при помощи этой функции (используйте функцию CONCAT_STR ). 





 


 



		[bookmark: D-SA-0007245.15]Ошибки во время выполнения
 

				Бит %S15 устанавливается в 1 в следующих случаях:

		[image: ]
		 
		Position Ј 0, Result_String содержит символы конца строки  (16#00).



		[image: ]
		 
		Максимальный размер строки Result_String слишком мал, чтобы вставить String2. Result_String обрезается.










 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				STRING

Переменная типа STRING - это стандартная строка символов ASCII. Строка символов имеет максимальную длину 65534 символов. 





		[image: ]

		

		[image: ]				





[bookmark: D-SA-0007540.4]		[bookmark: IDH_KW3340136][bookmark: IDH_KW3340220][bookmark: IDH_KW3340304]LEFT_INT: Извлечение символов слева

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0007248.1]

		[bookmark: D-SA-0007248.2]Описание функции
 

				Функция LEFT_INT извлекает определенное количество символов, расположенных в левой части строки. Результатом является строка символов.
 
 Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0007248.3]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007248.4]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007248.5]Представление в IL
 

				Представление:
 

LD String1



LEFT_INT Length_Str



ST Result_String




 



		[bookmark: D-SA-0007248.6]Представление в ST
 

				Представление:
 

Result_String:= LEFT_INT(String1, Length_Str);




 



		[bookmark: D-SA-0007248.7]Описание параметров
 

				В следующей таблице описаны входные параметры:

		Параметр

		Тип

		Комментарий



		String1

		STRING

		Строка символов, из которой мы хотим извлечь Length_Str левых символов.
 
 Пример: String1 содержит "SWITCH TO STOP"



		Length_Str

		INT

		Количество извлекаемых символов.
 
 Пример: Length_Str =10.





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Result_String

		STRING

		Строка, которая содержит Length_Str левых символов String1.
 
 Пример: для значений в примере из предыдущей таблицы Result_String содержит ‘SWITCH TO’ (9 левых символов String1).





 


 



		[bookmark: D-SA-0007248.14]Ошибки во время выполнения
 

				Бит %S15 устанавливается в 1 в следующих случаях:

		[image: ]
		 
		Length_Str Ј 0, Result_String содержит символы конца строки  (16#00).



		[image: ]
		 
		Максимальный размер строки Result_String меньше Length_Str, Result_String обрезается.










 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				STRING

Переменная типа STRING - это стандартная строка символов ASCII. Строка символов имеет максимальную длину 65534 символов. 





		[image: ]

		

		[image: ]				





[bookmark: D-SA-0007538.4]		[bookmark: IDH_KW3364604][bookmark: IDH_KW3364688][bookmark: IDH_KW3364772]LEN_INT: Длина строки символов

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0007253.1]

		[bookmark: D-SA-0007253.2]Описание функции
 

				Функция LEN_INT подсчитывает количество символов в строке.
 
 Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0007253.3]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007253.4]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007253.5]Представление в IL
 

				Представление:
 

LD String1



LEN_INT



ST Length_Str




 



		[bookmark: D-SA-0007253.6]Представление в ST
 

				Представление:
 

Length_Str:= LEN_INT(String1);




 



		[bookmark: D-SA-0007253.7]Описание параметров
 

				В следующей таблице описан входной параметр:

		Параметр

		Тип

		Комментарий



		String1

		STRING

		Строка символов, для которой определяется длина.
 
 Пример: String1 содержит "SWITCH TO STOP"





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Length_Str

		INT

		Length_Str содержит длину строки символов String1.
 
 Пример: для значений в примере из предыдущей таблицы Length_Str = 14










 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				STRING

Переменная типа STRING - это стандартная строка символов ASCII. Строка символов имеет максимальную длину 65534 символов. 





		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:

-32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				





[bookmark: D-SA-0007504.4]		[bookmark: IDH_KW777456][bookmark: IDH_KW777540][bookmark: IDH_KW777624]DIV_***_***: Деление таблиц

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0007361.1]

		[bookmark: D-SA-0007361.2]Описание функции
 

				Функция DIV_***_*** выполняет деление: 

		[image: ]
		 
		числа на элементы таблицы,



		[image: ]
		 
		элементов таблицы на число,






		[image: ]
		 
		элементов таблицы на соответствующие элементы другой таблицы,





 
 Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0007361.3]Доступные функции
 

				Доступны следующие функции для деления числа на элементы таблицы:

		[image: ]
		 
		DIV_INT_ARINT,



		[image: ]
		 
		DIV_DINT_ARDINT.





 
 Доступны следующие функции для деления элементов таблицы на число:

		[image: ]
		 
		DIV_ARINT_INT,



		[image: ]
		 
		DIV_ARDINT_DINT.





 
 Доступны следующие функции для деления элементов таблицы на соответствующие элементы другой таблицы:

		[image: ]
		 
		DIV_ARINT,



		[image: ]
		 
		DIV_ARDINT.





 


 



		[bookmark: D-SA-0007361.4]Представление в FBD
 

				Представление относится к делению целого числа на элементы таблицы целых чисел:
 [image: ]
 


 



		[bookmark: D-SA-0007361.5]Представление в LD
 

				Представление относится к делению целого числа на элементы таблицы целых чисел:
 [image: ]
 


 



		[bookmark: D-SA-0007361.6]Представление в IL
 

				Представление относится к делению целого числа на элементы таблицы целых чисел:
 

LD Input_IN1



DIV_INT_ARINT Input_IN2



ST Array1




 



		[bookmark: D-SA-0007361.7]Представление в ST
 

				Представление относится к делению целого числа на элементы таблицы целых чисел:
 

Array1:= DIV_INT_ARINT(Input_IN1,Input_IN2);




 



		[bookmark: D-SA-0007361.8]Описание параметров
 

				В следующей таблице описаны входные параметры:

		Параметр

		Тип

		Комментарий



		Input_IN1

		INT,
 DINT,
 ARRAY [n..m] OF INT, 
 ARRAY [n..m] OF DINT 

		Input_IN1 - это одиночное либо двойное целое, или таблица одиночных или двойных целых, n и m - это положительные или отрицательные целые, либо ноль.



		Input_IN2

		INT, 
 DINT,
 ARRAY [n..m] OF INT,
 ARRAY [n..m] OF DINT

		Input_IN2 - это одиночное либо двойное целое, или таблица одиночных или двойных целых, n и m - это положительные или отрицательные целые, либо ноль.





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Array1

		ARRAY [n..m] OF INT
 ARRAY [n..m] OF DINT

		В соответствии с типом Input_IN1 и Input_IN2, каждый элемент Array1 является результатом деления:

		[image: ]
		 
		одинарного или двойного целого Input_IN1 на соответствующий элемент таблицы Input_IN2 ,



		[image: ]
		 
		элементов таблицы Input_IN1 на одинарные или двойные целые Input_IN2 ,



		[image: ]
		 
		элементов таблицы Input_IN1 на соответствующие элементы таблицы Input_IN2.










 


 



		[bookmark: D-SA-0007361.14]Ошибки во время выполнения
 

				Управление системным битом %S18 идентично управлению для операций над словами или двойными словами. В случае деления на ноль, значение результата равно значению числителя.
 
 Если операция над двумя элементами устанавливает бит %S18 (переполнение или деление на ноль), результат этой операции некорректен, но операция над следующими элементами выполняется корректно. 





 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]

		

		[image: ]				




				DINT

DINT - это аббревиатура двойного целого формата (кодируется в 32 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 31) до (2 в степени 31) - 1.
 Пример:

-2147483648, 2147483647, 16#FFFFFFFF.





		[image: ]

		

		[image: ]				





[bookmark: D-SA-0007541.4]		[bookmark: IDH_KW3383756][bookmark: IDH_KW3383840][bookmark: IDH_KW3383924]MID_INT: Извлечение подстроки символов

		[image: ]



		[image: ]		[image: ]





		[image: ]		[bookmark: D-SA-0007247.1]

		[bookmark: D-SA-0007247.2]Описание функции
 

				Функция MID_INT извлекает подстроку символов, начиная с определенного положения. Результатом является строка символов.
 
 Дополнительные параметры EN и ENO могут быть сконфигурированы.
 


 



		[bookmark: D-SA-0007247.3]Представление в FBD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007247.4]Представление в LD
 

				Представление:
 [image: ]
 


 



		[bookmark: D-SA-0007247.5]Представление в IL
 

				Представление:
 

LD String1



MID_INT Length_Str, Position



ST Result_String




 



		[bookmark: D-SA-0007247.6]Представление в ST
 

				Представление:
 

Result_String:= MID_INT(String1, Length_Str, Position);




 



		[bookmark: D-SA-0007247.7]Описание параметров
 

				В следующей таблице описаны входные параметры:

		Параметр

		Тип

		Комментарий



		String1

		STRING

		Исходная строка, которая содержит строку для извлечения.
 
 Пример: String1 содержит "SWITCH TO STOP"



		Length_Str

		INT

		Длина извлекаемой строки.
 
 Пример: Length_Str =4



		Position

		INT

		Положение первого символа подстроки, которая будет извлечена.
 
 Пример: Position =11





 В следующей таблице описан выходной параметр:

		Параметр

		Тип

		Комментарий



		Result_String

		STRING

		Подстрока String1 , начиная с положения Position , с длиной Length_Str.
 
 Пример: для значений в примере из предыдущей таблицы Result_String contains ‘STOP’.










 


				EN

EN означает ENable (разрешение), это необязательный вход блока. Когда EN активируется, выход ENO автоматически появляется. 
 Если EN = 0, блок не активируется, его внутренняя программа не выполняется, и ENO устанавливается в 0.
 Если EN = 1, внутренняя программа блока выполняется, и ENO устанавливается в 1 системой. Если ошибка происходит, ENO устанавливается в 0.
 Если EN не соединен, он автоматически устанавливается в 1.





		[image: ]

		

		[image: ]				




				ENO

ENO означает Error NOtification (Оповещение об ошибке), это выход, связанный с необязательным входом EN. 
 Если ENO установлен в 0 (вызывается EN=0 или в случае ошибки выполнения),

		[image: ]
		 
		выходы функционального блока остаются в состоянии, в котором они были во время последнего правильного цикла сканирования, и



		[image: ]
		 
		выход(ы) функций и процедур устанавливаются в "0".










		[image: ]

		

		[image: ]				




				INT

INT - это аббревиатура одиночного целого формата (кодируется в 16 битах). 
 Нижние и верхние пределы следующие: -(2 в степени 15) до (2 в степени 15) - 1.
 Пример:
 -32768, 32767, 2#1111110001001001, 16#9FA4.





		[image: ]