quote:以下是引用LIN在2013-09-04 22:27:16的发言:
最近正在学习SCL, 原计划是想编一个继电自整定的PID; 用STL写了增量PID,觉的太烦了,就改为SCL写; 认为SCL写起来方便;我是用S75.5的; 学习中发现这几个问题:
1,因输入法的关系,:与:难区别, 可在设置中加深:=的颜色;
2,注意变量建立,多用插入;
3, 书写代码时注意缩近,要手工调整, 这样能看清程序脉络;
4,写完一段要注意编译一次,不要写上一大段才编译;(SCL的提示较差, 格式上的问题不会指出具体位置)
现在很喜欢用SCL写条件逻辑; 不象STL你要注意JC位置,
IF -- then
---
END_IF
很简单;
AN M1,0
JC M110
---
M110: ...
---
另外,数学处理上面讲了很多了,就不多讲了;
是啊,通过IF,ELSIF,ELSE可以实现很复杂的类似STL语言里的跳转功能,并且SCL接近自然语言,很好理解:
IF m0.0 = true THEN
IF m0.1=true THEN
mw100:=0;
ELSIF m0.2= true THEN
mw100:=1;
END_IF;
ELSIF m0.3 = true THEN
mw100:=2;
ELSE
mw100:=3;
END_IF;
编译后的STL:
A M 0.0
JCN A7d0
A M 0.1
JCN A7d1
L W#16#0
T MW 100
JU A7d2
A7d1: CLR
A M 0.2
JCN A7d4
L W#16#1
T MW 100
A7d2: JU A7d4
A7d0: CLR
A M 0.3
JCN A7d5
L W#16#2
T MW 100
JU A7d4
A7d5: L W#16#3
T MW 100
A7d4: CLR
尤其是在TIA Portal环境下,自动排版更易于编写和理解程序。