ST大致支持什么:
1.控制语法
2.运算式
3.功能块(FB)
4.功能(FUN)
例子
1.条件语句
(*在生产线A~C中进行控制*)
CASE 生产线 OF
1: 开始开关 := TRUE; (*传送带开始移动*)
2: 开始开关 := FALSE; (*传送带停止移动*)
3: 开始开关 := TRUE; (*传送带停止 警告*)
ELSE 警告指示灯 := TRUE;
END_CASE;
IF 开始开关 = TRUE THEN (*传送带运转 处理100次*)
FOR 处理次数 := 0
TO 100
BY 1 DO
处理数 := 处理数 +1;
END_FOR;
END_IF;
上面的例子介绍了
CASE语句
CASE 操作变量 OF
值: 分支语句
值: 分支语句
值: 分支语句
ELSE 默认处理分支语句
END_CASE;
IF语句
IF 判断语句 THEN
执行语句
END_IF;
FOR循环语句
FOR 操作变量初始化赋值语句
TO 终止条件
BY 累加值 DO
执行语句
END_FOR;
注意在三菱ST语句中
:= 是赋值
= 是判断是否相等
定义的功能块的调用
//FB数据名 : LINE1_FB
//时输入变量 : I_Test
//输出变量 : O_Test
//输入输出变量 : IO_Test
//FB标签名 : FB1
FB1(I_Test := D0, O_Test => D1, IO_Test := D100);
注意看一下 =>是什么意思
输入输出变量不需要引用吗???
通用功能的调用
(*将BOOL型数据转换为INT型/DINT型数据*)
wLabel2 := BOOL_TO_INT (bLabel1);
注意FUNC是否有返回值?????
ST程序的结构要素(感觉好像比较重要)
段落符 ; , ()
运算符 + - < > =
保留字 语句 IF CASE WHILE RETURN 等
软元件 X0 Y0 M100
数据类型 BOOL DWORD
函数 ADD REAL_TO_STRING_E
常数 123 'abc'
标签 Switch_A
注释 (*置为ON*) //置为ON /*置为ON*/
其他符号 半角空格 换行代码 TAB代码
所有段落符号的介绍
()
[] 数组要素的指定
. 结构体、功能块构建的指定????
,
: 软元件型指定符????
;
'
.. 整数范围指定????
所有运算符的介绍
* / + - ANY_NUM
< > <= >= = <> ANY_SIMPLE
MOD ANY_INT
AND & XOR OR NOT ANY_BIT
** ANY_REAL(底数)
ANY_NUM(指数)
注意上面的数据类型指的什么意思
所有类型的介绍
全局标签
分类 内容
VAR_GLOBAL 是可以在程序块与功能块中使用的通用标签
VAR_GLOBAL_CONSTANT 同上
VAR_GLOBAL_RETAIN 是可以用在程序块和功能块的锁存型标签
局部标签
VAR
VAR_CONSTANT
VAR_RERAIN
VAR_INPUT
VAR_OUTPUT
VAR_OUTPUT
VAR_OUTPUT_RATAIN
VAR_IN_OUT
VAR_PUBLIC
VAR_PUBLIC_RETAIN
数据类型 暂不介绍