0


汇川技术|PLC地址空间、结构化文本语言ST

哈喽,你好啊,我是雷工!

日拱一卒,进一寸有进一寸的欢喜。

本节了解汇川PLC的地址空间与结构化文本语言相关内容。

以下为学习笔记。

01 PLC的地址空间

汇川PLC不同型号的PLC提供的直接存储空间是不同的,

在PLC数据中,%I、%Q区地址不能掉电保存,%M区可以掉电保存。

汇川PLC存储区域定义及使用的地址范围表:

  编程系统 


  区域 


  用途 


  大小 


  地址范围 


  AM600、AM610、AM401、AM402、AC800系列 


  输入区I区(%I) 


  128KB 


  用户使用区域 


  64KWords 


  %IW0-%IW65535 


  输出区域Q区(%Q) 


  128KB 


  用户使用区域 


  64KWords 


  %QW0-%QW65535 


  AM600、AM610、AM401、AM402 


  存储区域M区(%M)512KB 


  用户使用区域 


  240KWords 


  %MW0-%MW245759 


  SD元件 


  10000Words 


  %MW245760-%MW255759 


  SM元件 


  10000Bytes 


  %MW511520-%MW521519 


  保留 


  2768Bytes 


  %MW521520-%MW524287 


  AC800系列 


  存储区域M区(%M)5MB 


  用户使用区域 


  2.5MWords 


  %MW0-%MW2321439 

注意事项:

①:其中用作软元件(SD元件、SM元件)的区域用户不要直接使用。

②:用途为用户使用区域的地址区,用户可以直接访问地址,也可以定义变量后把变量映射到地址间接访问。

③:AC800系列不支持SD和SM软元件,存储区域的地址可以随意使用。

02 结构化文本语言

概述:结构化文本是一种文本化的高级语言,跟PASCAL或C语言差不多,程序代码由指令组成,指令由关键字和表达式构成。

与IL语言不同的是,ST语言在语句循环中可以包含众多的语句,因此允许开发复杂的程序结构。

ST语言常见操作符见下表:

  序号 


  操作 


  符号 


  1 


  括号 


  (表达式) 


  2 


  函数调用 


  函数名(参数列表,由逗号分割) 


  3 


  求幂 


  EXPT 


  4 


  求负值 


  求补 


  - 


  NOT 


  5 


  乘 


  除 


  取余 


  * 


  / 


  MOD 


  6 


  加 


  减 


  + 


  - 


  7 


  比较 


  <,>,<=,>= 


  8 


  等于 


  不等于 


  = 


  <> 


  9 


  逻辑与 


  AND 


  10 


  逻辑异或 


  XOR 


  11 


  逻辑或 


  OR 

注意:操作符具有优先级,按表格从上向下依次降低。

整个ST文本程序由指令构成,指令由分号“;”分割(这点和C#挺像,末尾加“;”)。

指令由关键字和表达式组成。

  序号 

关键字

说明

示例

  1 


  :=,S=,R= 


  赋值,置位,复位 


  A:=B; C:=SIN(X); b1 R=cond1; 


  2 


  功能块调用和输出 


  CMD_TMR(IN := %IX5, PT := 300); A:=CMD_TMR.Q 


  3 


  RETURN 


  返回(退出当前POU) 


  RETURN; 


  4 


  IF 


  选择 


  D:=B*B; 


  IF D<0.0 THEN 


  C:=A;  


  ELSIF D=0.0 THEN 


  C:=B;  


  ELSE 


  C:=D; 


  END_IF; 


  5 


  CASE 


  多重选择 


  CASE INT1 OF 


  1: BOOL1 := TRUE; 


  2: BOOL2 := TRUE; 


  ELSE 


   BOOL1 := FALSE; 


   BOOL2 := FALSE; 


  END_CASE; 


  6 


  FOR 


  FOR循环 


  J:=101; 


  FOR I:=1 TO 100 BY 2 DO 


  IF ARR[I] = 70 THEN  


  J:=I; 


  EXIT; 


  END_IF;  


  END_FOR; 


  7 


  WHILE 


  WHILE循环 


  J:=1; 


  WHILE J<= 100 AND ARR[J] <> 70 DO 


  J:=J+2; 


  END_WHILE; 


  8 


  REPEAT 


  REPEAT循环 


  J:=-1; 


  REPEAT 


  J:=J+2;  


  UNTIL J= 101 OR ARR[J] = 70 


  END_REPEAT; 


  9 


  EXIT 


  退出循环 


  EXIT; 


  10 


  CONTINUE 


  继续循环下次执行 


  CONTINUE; 


  11 


  JMP 


  跳转 


  label: i:=i+1; 


  JMP label; 


  12 


  ; 


  空语句 


  ; 

03 后记

以上为汇川PLC地址空间与ST语言的相关笔记,

有记录不当之处欢迎大佬在留言区留言指正,更多内容也可以在交流群探讨。

标签: java 前端 数据库

本文转载自: https://blog.csdn.net/u013097500/article/details/141128807
版权归原作者 雷工笔记 所有, 如有侵权,请联系我们删除。

“汇川技术|PLC地址空间、结构化文本语言ST”的评论:

还没有评论