Факторы для невнутренних математических функций

Когда Simulink® PLC Coder™ сталкивается с математической функцией, которая не является внутренней, он генерирует Структурированный текст, заменяя невстроенную функцию на эквивалентный IEC-61131 совместимая встроенная функция. Для таких случаев входное значение, которое больше, чем позволенный входной диапазон, вызывает переполнение и генерирует значение NaN.

Например, гиперболический tan не является встроенной функцией. Simulink PLC Coder использует exp в сгенерированном коде, чтобы представлять tanh. А именно, это использует (exp(2*x)-1)/(exp(2*x)+1). Для больших значений x, эта функция переполнение. Проблема может быть решена путем добавления кода доступа или использования блоков прежде, чем вызвать функцию tanh, чтобы проверять, что область значений входа в приемлемых значениях. В MATLAB® tanh(x) для x>19 1.0000. Таким образом, если x>19, возвратите значение 1,0000.