分享

【学习经验分享】Siemens SCL 学习心得

 PLC发烧友 2021-07-13

学习经历

如果我将自己详细的学习经历都写出来恐怕要很久,所以我只介绍我的诸多个第一次(我第一学历初中毕业详细经历各位脑补)。

2016年4月我第一次真正的接触到电工(以学会正反装电路为标志)。

2016年5月我第一有了一份专职的电工工作。

2018年2月第一次使用电脑连接监控三菱PLC。

2019年5月我第一次用电脑连接欧姆龙plc,开始了解modbus通讯。

2019年10月我第一次登录技成平台学习,用200smart编程(程序包含modbus通讯)。

2020年2月第一次接触SCL,跟着张老师学习。

2020年6月我终于坐上了电器工程师的职位,有了第一个自己的项目(台达PLC 输出点50多个输入点40个,有串口通讯,有模拟量处理)。


SCL学习经验分享

我们在学习过程中经常遇到两个问题:

1、老师讲的课听不懂

对于这个问题我没有什么太好的办法,以我个人的学习经验而言,如果一件事情我们实在理解不了的时候那我们不妨给自己换个思路。去学点其他的东西什么都好。比如我刚开始学习的时候大多数的资料我都看不懂,资料越看越困,我会去看《道德经》,还会在网上听一下高数的课。首先我解释一下为什么要看《道德经》。1《道德经》讲的是哲学我们很容易在其中得到启发。2《道德经》可以陶冶情操,开阔我们的胸襟。至于为什么要听高数的课程,那是因为编程的本质就是数学,我们更容易从中得到启发。

2、老师的课我听懂了,但是不知道怎么用指令一下课就忘了

对于这个问题我是有好办法的。抄写程序,每节课老师讲的例子自己都要抄写一遍,不要我觉得我听懂了就不用抄写了,以我的学习经验而言每一次抄写都会遇到新的问题,这是一件好事,因为每一次解决问题的过程都是一次自我提升的过程,有的童鞋说单词记不住不认识,这件事通过程序抄写也能解决,连续抄写一个月小白变高手!
基于我对SCL和for循环理解运用的巅峰
目标:

3条传送带一键启动,无货睡眠,卡件报警,急停应用。

分析:

      一键启动;建立motor数组。
IF #start THEN FOR #i := 0 TO 2 DO #motor[#i] := true; END_FOR;END_IF;

无货睡眠,卡件:睡眠逻辑传送带两端的传感器都为假并且持续一段时间则为睡眠,卡件逻辑,传送带上端为真下端为假持续保持一段时间说明上游传送带卡件。

首先建立数组并将相应的I点映射到数组:
FOR #i := 0 TO 3 DO #sensor[#i] := PEEK_BOOL(area := 16#81, dbNumber := 0, byteOffset := 0, bitOffset := #i);END_FOR;


然后再将#sensor【#i】做相应的延时逻辑运算:
IF #run THEN FOR #i := 0 TO 2 DO #sleep[#i](IN := #sensor[#i] AND #sensor[#i + 1], PT := t#5s); #kajian[#i](IN := #sensor[#i] AND NOT #sensor[#i + 1], PT := t#60s); IF #E_stop[#i] OR #fault[#i] OR #sleep[#i].Q OR #kajian[#i].Q THEN #motor[#i] := false; END_IF; END_FOR;END_IF;


最后在将motor[#i]数组映射到输出点;
FOR #i := 0 TO 2 DO #fault[#i] := PEEK_BOOL(area := 16#81, dbNumber := 0, byteOffset := 0, bitOffset := #i + 4); POKE_BOOL(area := 16#82, dbNumber := 0, byteOffset := 0, bitOffset := #i, value := #motor[#i]);END_FOR;


以上便是我对SCL和for循环的全部理解和运用。

来源:PLC发烧友,作者:技成学员-任志佳。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约