您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 欧姆龙数据类型及结构化文本编程
155附录A数据类型基本数据类型注TIMER和COUNTER数据类型不能用于结构化文本功能块中。导数数据类型数据类型内容大小数值范围BOOL位数据10(FALSE),1(TRUE)INT整数16-32,768~+32,767DINT双整数32-2,147,483,648~+2,147,483,647LINT长(8个字节)整数64-9,223,372,036,854,775,808~+9,223,372,036,854,775,807UINT无符号整数16&0~65,535UDINT无符号双整数32&0~4,294,967,295ULINT无符号长(8个字节)整数64&0~18,446,744,073,709,551,615REAL实数32-3.402823×1038~-1.175494×10-38,0,+1.175494×10-38~+3.402823×1038LREAL长实数64-1.79769313486232×10308~-2.22507385850720×10-308,0,2.22507385850720×10-308~1.79769313486232×10308WORD16位数据16#0000~FFFF或&0~65,535DWORD32位数据32#00000000~FFFFFFFFor&0~4,294,967,295LWORD64位数据64#0000000000000000~FFFFFFFFFFFFFFFF或&0~18,446,744,073,709,551,615TIMER(见注释)定时器(见注1)标记:1位PV:16位定时器数:0~4095完成标记:0或1定时器PV:0~9999(BCD);0~65535(二进制)COUNTER(见注释)计数器(见注2)标记:1位PV:16位定时器数:0~4095完成标记:0或1定时器PV:0~9999(BCD);0~65535(二进制)FUNCTIONBLOCK功能块实例------数组1维数组;最多32000元素156数据类型附录A157附录B结构化文本(ST语言)结构化文本结构化文本(也称作ST语言)是一个与PASCAL相类似的高级编程语言。PASCAL使用诸如选择语句和迭代语句的语言结构。使用语句来配置用结构化文本写的程序。用变量和方程式来配置语句。•方程式是包含运算符和操作数(变量或常数)的程序。运算符包括算术运算符、比较运算符和逻辑运算符。•语句既可是赋值语句也可是控制语句。赋值语句将方程式中的计算结果保存于变量中。控制语句包括选择语句和迭代语句。结构化文本范例限制语句分隔符•语句(赋值语句和控制语句)必须以分号(;)结束。按回车不能完成语句。•不得将分号(;)用作带保留字、数值或方程式的语句分隔符。除了在语句终端之外,分隔符插入语句中会导致句法发生错误。注释•注释封闭在扩号和星号内。例如(*注释*)。除了扩号和星号之外的任何字符均可用于注释中。不支持注释嵌套。记号范例(*注释*)(*这是注释*)注:不可以注释嵌套。例如,(*(*不支持这种嵌套*)*)158结构化文本(ST语言)附录B空格、回车和制表符•任何数量的空格、回车和制表符或其组合均可用于语句中任何地方。因此,在保留字和方程式之间使用空格、回车和制表符以便读取。•在以下标识(用于编辑的最小意义单位)之间不能使用空格、回车和制表符。在这种情况下,它们作为标识分隔符。标识:保留字、变量名、特殊字符、常数(数值)保留字(大写或小写:AND,CASE,DO,ELSE,FOR,IT,NOT,OF,OR,REPEAT,THEN,TO,UNTIL,WHILE,XOR,TRUE,FALSE,ELSIF,BY,EXIT,RETURN变量名:不是保留字的任何文本均识别为变量名。特殊字符:<=,>=,<>,:=,..,&,(*,*)常数(数值):仅用于十进制数的数值16#跟十六进制数的数值2#跟二进制数的数值8#跟八进制数的数值如果在上述标识(用于编辑的最小意义单位)之间使用空格、回车和制表符,任一侧处的标识部分作为分隔标识来处理。因此,确保空格、回车和制表符不用于单个标识中。•在保留字和变量名之间始终使用空格、回车和制表符或其他标识分隔符。在下例中,框(□)表示要求有空格、回车和制表符或其他标识分隔符的地方。IF□A>0THEN□X=10;ELSE□X:=0;END_IF;大写和小写•保留字和变量名不分大小写(两者均可使用)。变量名禁止字符•以下方扩号内的字符不能用于变量名。[!],[[#],[$],[%],[&],[注,[(],,[)],[-],[=],[^],[~],[\],[|],[@],[注,[[],[{],[;],[+],[:],[*],[]],[}],[,],[<],[.],[>],[/],[?]•数字0到9不能用作变量名的第一个字符。•在变量名中,下划线不能紧跟着另一根下划线•空格不能用于变量名中。如果这些字符中任何一个在使用,则会出现错误信息。输入常数(数值)•如下例所示,数值可以通过十进制、十六进制、八进制或二进制来表示。表示方法范例(用于十进制值12)十进制:仅数值12十六进制:16#后面跟数值16#C八进制:8#后面跟数值8#14二进制:2#后面跟数值2#1100运算符优先度•考虑到结构化文本语法中的运算符优先度或扩号内需要优先度的运算,159结构化文本(ST语言)附录B例:AND比OR优先。因此,在XORYANDZ范例中,YANDZ具有优先度。CX-Programmer的ST输入屏显示文本显示颜色当输入或粘贴于ST输入屏中时,CX-Programmer自动以以下颜色显示文本。•文本关键字(反白显示):蓝色•注释:绿色•错误:红色•其他:黑色更改字体选择Tools-Options,点击Appearance条。然后,点击STFont按钮来修改字体大小或显示颜色。字体名称、字体大小(默认为8点)以及颜色也可以修改。语句语句功能范例语句结束结束语句;赋值(*和*)之间的所有文本作为注释来处理(*注释*)分配替换表达式结果、变量或左面变量的右面值A:=B;IF,THEN,ELSIF,ELSE,END_IF当条件正确时,评估表达式。IF(条件_1)THEN(表达1);ELSIF(条件_2)THEN(表达2);ELSE(表达3);END_IF;CASE,ELSE,END_CASE在变量值基础上评估表达式。CASE(变量)OF1:(表达1);2:(表达2);3:(表达3);ELSE(表达4);END_CASE;FOR,TO,BY,DO,END_FOR根据初始值、最终值和增量来反复评估表达式。FOR(标识):=(初始值)TO(最终值)BY(递增)DO(表达);END_FOR;WHILE,DO,END_WHILE一旦条件正确,则反复评估表达式。WHILE(条件)DO(表达);END_WHILE;REPEAT,UNTIL,END_REPEAT反复评估表达式直到条件正确。REPEAT(表达);UNTIL(条件)END_REPEAT;EXIT停止重复处理。EXIT;160结构化文本(ST语言)附录B运算符注根据数据类型运算。因此,INT数据加法结果必须是使用INT数据类型的变量。当整数型变量运算时出现进位或借位,需特别小心。例如,使用整数型变量A=3和B=2时,如果执行运算(A/B)*2,则A/B结果为1(1.5–小数点后面的数值忽略不计),因此(A/B)*2=2。函数RETURN返回至调用功能块程序中RETURN;功能块实例调用调用另一功能块定义带FUNCTIONBLOCK数据类型的变量名(被调用功能块定义输入变量名:=调用功能块定义变量名或常数,。。。被调用功能块定义输出变量名=>调用功能块定义输出变量名...);运算符号运算符支持的数据类型优先度1:最低11:最高括弧和括号(表达式),数组(变址)1功能评估标识符取决于功能块(参阅2-6指令支持和操作数限制)2指数**REAL,LREAL3补码NOTBOOL,WORD,DWORD,LWORD4乘法*INT,DINT,UINT,UDINT,ULINT,REAL,LREAL5除法/INT,DINT,LINT,UINT,UDINT,ULINT,REAL,LREAL5加法+INT,DINT,LINT,UINT,UDINT,ULINT,REAL,LREAL6减法-INT,DINT,LINT,UINT,UDINT,ULINT,REAL,LREAL6比较<,>,<=,>=BOOL,INT,DINT,LINT,UINT,UDINT,ULINT,WORD,DWORD,LWORD,REAL,LREAL7等式=BOOL,INT,DINT,LINT,UINT,UDINT,ULINT,WORD,DWORD,LWORD,REAL,LREAL8不等式<>BOOL,INT,DINT,LINT,UINT,UDINT,ULINT,WORD,DWORD,LWORD,REAL,LREAL8布尔AND&BOOL,WORD,DWORD,LWORD9布尔ANDANDBOOL,WORD,DWORD,LWORD9布尔专有ORXORBOOL,WORD,DWORD,LWORD10布尔ORORBOOL,WORD,DWORD,LWORD11功能语法数函词绝对值、三角函数等算术函数指数(EXPT)数据类型转换函数源数据类型_TO_新数据类型(变量名)语句功能范例161结构化文本(ST语言)附录B数函词以下数函词可以用于结构化文本中。注数函词返回的数据类型与指数中所用的数据类型一样。因此,功能返回抵替换的变量数据类型必须与指数数据类型一致。算术函数以下一般指数函数可以用于结构化文本中。注数函词返回的数据类型与指数中所用的数据类型一样。因此,功能返回抵替换的变量数据类型必须与指数数据类型一致。数函词自变量数据类型返回值数据类型内容范例ABS(自变量)INT,DINT,LINT,UINT,UDINT,ULINT,REAL,LREALINT,DINT,LINT,UINT,UDINT,ULINT,REAL,LREAL绝对值(自变量)a:=ABS(b)(*存储于变量a中的变量b绝对值*)SQRT(自变量)REAL,LREALREAL,LREAL平方根:√自变量a:=SQRT(b)(*存储于变量a中的变量b平方根*)LN(自变量)REAL,LREALREAL,LREAL自然对数:LOGe自变量a:=LN(b)(*存储于变量a中的变量b自然对数*)LOG(自变量)REAL,LREALREAL,LREAL常用对数:LOG10自变量a:=LOG(b)(*存储于变量a中的变量b常用对数*)EXP(自变量)REAL,LREALREAL,LREAL自然指数:e自变量a:=EXP(b)(*存储于变量a中的变量b自然指数*)SIN(自变量)REAL,LREALREAL,LREAL正弦:自变量a:=SIN(b)(*存储于变量a中的变量b正弦*)COS(自变量)REAL,LREALREAL,LREAL余弦:自变量a:=COS(b)(*存储于变量a中的变量b余弦*)TAN(自变量)REAL,LREALREAL,LREAL正切:自变量a:=TAN(b)(*存储于变量a中的变量b正切*)ASIN(自变量)REAL,LREALREAL,LREAL反正弦:自变量a:=ASIN(b)(*存储于变量a中的变量b反正弦*)ACOS(自变量)REAL,LREALREAL,LREAL反余弦:自变量a:=ACOS(b)(*存储于变量a中的变量b反余弦*)ATAN(自变量)REAL,LREALREAL,LREAL反正切:自变量a:=ATAN(b)(*存储于变量a中的变量b反正切*)指数函数自变量数据类型返回值数据类型内容范例EXPT(底数,指数)底数:REAL,LREAL指数:INT,DINT,LINT,UINT,UDINT,ULINTREAL,LREAL指数:底数指数(*作为基数的变量b和作为指数的变量c的指数存储于变量a中*)162结构化文本(ST语言)附录B数据类型转
本文标题:欧姆龙数据类型及结构化文本编程
链接地址:https://www.777doc.com/doc-5917248 .html